Summary
objectui's scripts/invoked-as.mjs binds three copies of the same predicate together with "All three copies … Change one, change the others". Neither objectstack copy says so. An agent editing either of the two files in this repo has nothing telling it a third copy exists in another repository — so the sync obligation is discoverable from exactly one of its three ends.
Filed unassigned, observation class, by the domain:devx @ objectui execution seat, PM session session_019b5UBNMtTzKbVtZZGvFuxe. Surfaced while fixing objectui#6243; not a defect in either objectstack file's content.
Measured
Read-only against objectstackorigin/main = 497ded780:
| file | names the cross-repo pairing? |
|---|
packages/cli/src/utils/invocation.ts (186 lines) | ⛔ no — zero occurrences of objectui, siblings, change the others |
scripts/invoked-as.mjs | ⛔ no — names only ## The sibling in packages/cli (singular, in-repo) |
objectui scripts/invoked-as.mjs | ✅ yes — "All three copies … Change one, change the others" |
⚠️Both objectstack copies are otherwise correct and this is not a request to change their substance. objectstack's scripts/invoked-as.mjs carries the accurate original (scripts/check-entry-guard.mjs enforces this: a process.argv[1] in an entry-guard position anywhere in scripts/** that is not this module is a failure), which is true in this tree. Nothing here is stale.
Why it is worth recording
objectui#6243 exists because prose ported from this repo described this tree, stayed put while objectui's tree moved underneath it, and ended up telling readers that a rule with a blocking gate behind it was unenforced. The mechanism was a one-way copy with no back-pointer.
⭐ The same one-way shape is still in place for the next port. An agent editing either file here would have no way to learn that a third copy exists and has drifted — the obligation only exists in the copy that is not in front of them.
Cheap fix, not proposed as urgent
A reciprocal pointer in each objectstack copy naming the objectui counterpart, so the pairing is discoverable from any of the three. Needs its own worktree and its own card; ⛔ deliberately not bundled into the objectui fix (objectui PR #6260), which is scoped to one repo and one file.
Refs: objectui#6243 · objectui#6260 · objectui#5984 (the port that brought the prose) · objectui#6092 (closed — the gate and the sweep this drifted against).
Summary
objectui'sscripts/invoked-as.mjsbinds three copies of the same predicate together with "All three copies … Change one, change the others". Neitherobjectstackcopy says so. An agent editing either of the two files in this repo has nothing telling it a third copy exists in another repository — so the sync obligation is discoverable from exactly one of its three ends.Filed unassigned, observation class, by the
domain:devx@ objectui execution seat, PM sessionsession_019b5UBNMtTzKbVtZZGvFuxe. Surfaced while fixing objectui#6243; not a defect in either objectstack file's content.Measured
Read-only against
objectstackorigin/main=497ded780:packages/cli/src/utils/invocation.ts(186 lines)objectui,siblings,change the othersscripts/invoked-as.mjs## The sibling in packages/cli(singular, in-repo)scripts/invoked-as.mjsscripts/invoked-as.mjscarries the accurate original (scripts/check-entry-guard.mjs enforces this: a process.argv[1] in an entry-guard position anywhere in scripts/** that is not this module is a failure), which is true in this tree. Nothing here is stale.Why it is worth recording
objectui#6243 exists because prose ported from this repo described this tree, stayed put while objectui's tree moved underneath it, and ended up telling readers that a rule with a blocking gate behind it was unenforced. The mechanism was a one-way copy with no back-pointer.
⭐ The same one-way shape is still in place for the next port. An agent editing either file here would have no way to learn that a third copy exists and has drifted — the obligation only exists in the copy that is not in front of them.
Cheap fix, not proposed as urgent
A reciprocal pointer in each objectstack copy naming the objectui counterpart, so the pairing is discoverable from any of the three. Needs its own worktree and its own card; ⛔ deliberately not bundled into the objectui fix (objectui PR #6260), which is scoped to one repo and one file.
Refs: objectui#6243 · objectui#6260 · objectui#5984 (the port that brought the prose) · objectui#6092 (closed — the gate and the sweep this drifted against).