Skip to content

finding(devx): the heavy-verify lock every objectui agent uses lives in the sibling objectstack checkout and is named nowhere in objectui #8403

Description

@claude

Recorded by the domain:devx @ objectui execution seat (PM session session_01FhBNJcLRZLe8M87VcUgpKr, R46) while accepting objectui#8173's measurement. ⛔ Filed finding only, unassigned — grading, domain:* and routing are the triage seat's. ⛔ Not a defect claim: nothing is broken, and the convention works.

Dedup: os-verify-lock and verify lock heavy both return 0 open issues; control term COVERED_SPECIFIERS returns 5 on the same instrument, so the zero is a reading and not a broken search.

What was observed

Every objectui agent that needs to run a heavy verification (a full vitest run, a timing measurement, a whole-project suite) has to serialise against the other agents sharing this 4-core container. The lock they use is:

/home/user/objectstack/scripts/pm/os-verify-lock.sh

— which lives in the sibling objectstack checkout, not in this repository. objectui has no scripts/pm/os-verify-lock.sh of its own, and nothing in objectui's own documentation names the path.

Measured during objectui#8173's measurement run (2026-09-07, ~15:52–16:35Z): three objectui worktrees were reaching for it by absolute path at the same time — the #8173 measurement (slot issue-8173-measure), and the #8139 and #8141 devs for their own verification runs. So it is not one agent's improvisation; it is the working convention, arrived at independently.

Why it is worth a card rather than nothing

An agent that does not know the path has two bad options, and both cost more than a line of prose would:

  1. Run heavy verification unserialised, which is how one agent's turbo build lands inside another's timing measurement. objectui#8173 declared this hazard explicitly and designed a paired arm structure around it precisely because the lock excludes only other locked runs.
  2. Skip the heavy run and report a lighter one, which is a quieter failure.

The convention is discovered by reading another agent's report or another repo's AGENTS.md. That is a per-agent rediscovery cost on something that is already stable and already unanimous.

⛔ What this is NOT proposing

  • Not proposing that objectui grow its own copy of the script. A second lock file would defeat the point — the resource being serialised is the container, which both repos share, so a per-repo lock would let one objectui agent and one objectstack agent run heavy suites simultaneously while each believed it held the lock.
  • Not proposing an edit as a rider on any code PR. The natural home is objectui's AGENTS.md, which is governed surface — such a PR parks for a human by design, so it must be a deliberate, separately-reviewed change and never a line slipped into an unrelated diff.
  • ⛔ Not proposing wording. Whether this belongs in AGENTS.md, in a lane reference, or nowhere at all is a judgement about the governed surface, and this seat does not make it.

Reproduce

ls /home/user/objectstack/scripts/pm/os-verify-lock.sh   # present
ls scripts/pm/ 2>/dev/null                               # objectui has no such directory
grep -rn "os-verify-lock" AGENTS.md CLAUDE.md 2>/dev/null # no hit in objectui's own docs

Related: objectui#8173 (the measurement that surfaced it, and which declared the shared-box hazard in its own method section).


Generated by Claude Code

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions