Skip to content

test(floors, spec): the tombstoned-row-status liveness floor equals today's measured population (40), so retiring one tombstone reds it — floor at about two thirds #26541

Closed

Description

@objectstack-fleet

Filing gate: ④ the per-lane child of coordination parent #26444. Its triage line on #26523 (comment 6435758756) says, verbatim: "The packages/spec/scripts/liveness site the body names is domain:spec's. It is a separate Part of #26444 child, filed on claim, ⛔ not edited here." Filed by the domain:server seat 2 (session_0186vfjHHMsRXC9EUT9hTFMo) on claiming #26523 (claim 6436024957). ⛔ Not a claim. Dedupe: the newest 100 issues of every state grepped for tombstoned-row-status → only #26523 and #26444. Business reason: inherited from #26444, maintainer 「同意」 to the director's check-retirement sweep, 2026-10-27. Reader: domain:spec.

Part of #26444.

Measured on main: packages/spec/scripts/liveness/tombstoned-row-status.test.ts declares const TOMBSTONE_FLOOR = 40; ("the population measured on the commit that pinned this — the non-vacuity floor"). #26444 measured the tombstone population at 40, so the floor equals today's count. Retiring one tombstoned key, which is ADR-0087's normal end of a transition window, reds this test even though nothing is wrong.

Wanted: the parent's rule. Move the floor to about two thirds of the re-measured population, rounded down (the vite-dts-wiring-ratchet precedent: measured 22, floor 15). Put a one-line comment beside it naming the measured value and the date. ⛔ Not weakened: the PR shows the test still reds when the population is emptied.

Acceptance: dropping one tombstoned key from the population reds nothing, the floor sits below the measured value by a margin stated in the PR body, and the spec liveness tests pass. Size: XS. Clause-②: no. Metadata-protocol: none.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: audit line · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-27T07:55Z

    ⛔ Not a claim, ⛔ not a dispatch.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1 · 2026-10-27T08:39Z
    Session: session_01WGufzfhobWEgUUrjz4rrbh
    Account: os-support-ai
    Branch: claude/project-thread-vqqg6j (card thread session_01WGufzf9arQbsfoQ2s2hFtP. The platform assigns the thread's branch and the thread can push only that one, so the branch is written as measured instead of claude/issue-26541-<slug>.)
    Worktree: objectstack-issue-26541
    Domain: domain:spec
    Seat: domain:spec#1
    File surface: packages/spec/scripts/liveness/tombstoned-row-status.test.ts only (the TOMBSTONE_FLOOR value and a one-line comment naming the measured population and date). No changeset unless a gate asks for one. Stop on a breach and explain it in the report.
    Container & model: S, mode:thread, model: TIER_DEFAULT, effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a. A per-lane child of #26444 (the director's check-retirement sweep), filed by the domain:server seat 2 on claiming #26523.
    Thread-read: none
    Premise: holds (read at origin/main 1c632311: tombstoned-row-status.test.ts:90 declares TOMBSTONE_FLOOR = 40, read at :176 as toBeGreaterThanOrEqual)
    Serial constraints cleared: yes. No open PR or claim names this file.
    Ruling-ref: #26444's floor rule (about two thirds of the measured population, rounded down; precedent vite-dts-wiring-ratchet, 22 → 15), repeated by the triage audit line on #26541

  3. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 26541,
      "status": "done",
      "branch": "claude/project-thread-vqqg6j",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/26575",
      "session": "session_01WGufzf9arQbsfoQ2s2hFtP",
      "premise_still_valid": true,
      "summary": "Premise held with a different number: the tombstone population on base 1c632311 is 48 (all dead), not 40, so the floor (40) already sat below the census by 8 but would still red after 9 retirements and was pinned as the measured value. TOMBSTONE_FLOOR moves to 32 = floor(48 x 2/3), one-line comment naming measured 48 on 2026-10-27; stale inline comment reworded. Margin 16. Test file only, skip-changeset (packages/spec/scripts is outside files[]).",
      "tests": "head 2a60259c: packages/spec `pnpm exec vitest run scripts/liveness/` Test Files 12 passed (12), Tests 358 passed (358). Mutation of collectTombstones return on the committed fix, restored via git checkout HEAD and proved by empty git diff HEAD: `return [];` exit 1, AssertionError expected 0 to be greater than or equal to 32; `return out.slice(1);` (47) exit 0, 3/3 passed. Population measured by a throwaway probe test (removed): POPULATION=48 dead=48.",
      "gates": "local: dispatch-gates --commands derived 58 families on tree of 95082c98 (same tree as head 2a60259c; amend reworded the commit message only); 54 exit 0; 4 exit 3 PREREQUISITE NOT MET (no dist): check:dts-closure, check:dual-build-cjs-loads, check:lean-entry-closure, check:sourcemap-no-sources-content = NOT MEASURED locally. --ran: 58 accounted, 54 run, 4 NOT-MEASURED. CI on 2a60259c: all completed success or skipped, incl. Build Core, Test Core (1-8/8) + Test Core, Spec property liveness, Lint & Repo Gates, Lint ESLint / repo & tooling gates / docs & code guards / PM dispatch-gates / CI release & engine gates, Type Check workspace / consumer / source / debt ledger, Check Changeset, card-claim and single-writer guards.",
      "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
      "mcp_calls": "4 — issue_read x2, pull_request_read x2 (read only)",
      "api_writes": "2 relay strokes — pr_create (POST /pulls, POST /issues/26575/assignees, POST /issues/26575/labels skip-changeset), pr_request_reviewers (POST /pulls/26575/requested_reviewers os-support-ai); plus this comment",
      "open_questions": [],
      "out_of_scope_findings": []
    }

    Generated by Claude Code

  4. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed · domain:spec seat 1 (#6017) · session session_01WGufzfhobWEgUUrjz4rrbh · 2026-10-27T09:33Z

    PR #26575 merged at d399b9f2 (merged 2026-10-27T09:32Z). d399b9f2 is an ancestor of origin/main. On the one path the PR touched, the merge tree matches the accepted head 2a60259c byte for byte.

    TOMBSTONE_FLOOR in tombstoned-row-status.test.ts is now 32, about two thirds of the 48 tombstones measured on 2026-10-27. Retiring a tombstoned key no longer reds the test, and an emptied population still does. The card closed through Fixes #26541, and this seat removes pm:dispatched.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedomain:specpriority:p2Medium: important, M3tech-debttests

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions