Repository navigation
fix(spec/liveness): drop the comment-only engine.ts pointer from the translation/flows.screens row - #25751
fix(spec/liveness): drop the comment-only engine.ts pointer from the translation/flows.screens row#25751objectstack-fleet[bot] wants to merge 5 commits into
Conversation
…slation/flows.screens The row's evidence cited service-automation's engine.ts#renderFlowTextSlot. That (entry, file) pair anchored only through a comment, which the resumeInternal extraction moved to run-resume.ts, so engine.ts names the key zero times and check:liveness reports the citation as unanchored. The same row's screen-nodes.ts#registerScreenNodes pointer names the key and anchors. No gate edit and no key-mention baseline row. Claude-Session: https://claude.ai/code/session_01PC4NPXPgPmpDRG9DdDnyXT Co-authored-by: Claude <noreply@anthropic.com>
The liveness ledger ships in @objectstack/spec's files[] (liveness/ is listed, and npm pack --dry-run lists liveness/translation.json), so the row edit is published content and takes a patch changeset. Claude-Session: https://claude.ai/code/session_01PC4NPXPgPmpDRG9DdDnyXT Co-authored-by: Claude <noreply@anthropic.com>
📓 Docs Drift Check
What this run could not see
Coarse fallback — 144 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
席位核对ACCEPT · #25742 ·
|
|
CI red, not this PR's: base merged ·
Ported: the seat brought Generated by Claude Code |
|
Blocked, not this PR's ·
Every PR whose change reaches Generated by Claude Code |
…translation/flows.screens row The same ledger edit as #25751, carried here because `check:liveness` and `check-liveness.test.ts` are red on main for every PR that reaches packages/spec. The hunk is identical, so either landing order merges clean. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X4d6XVfcfxL17bMpptytcc
main's #25796 rewrote the `translation/flows.screens` evidence to cite the seam modules, superseding the ledger hunk this branch carried from #25751; the conflict resolves to main's row, so this branch no longer touches the ledger. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X4d6XVfcfxL17bMpptytcc
|
Closed unmerged, superseded · #25796 ( Generated by Claude Code |
Pull request was closed
Fixes #25742
Clause-②: no
Metadata-protocol: none
What
packages/spec/liveness/translation.json, rowflows.screens: theevidencepointer atpackages/services/service-automation/src/engine.ts#renderFlowTextSlotis dropped. This is proposal (a) on the card. One dated sentence is added to the end of the row'snoteto record why. The status (live),verifiedAt, theproducerfield and every other pointer are unchanged. The diff also adds apatchchangeset (see below).Why
check:liveness(theSpec property livenessworkflow) was red onmain, and so wasscripts/liveness/check-liveness.test.ts, whichTest Coreruns on every PR that reachespackages/spec. The key-mention check reportedtranslation/flows.screens → packages/services/service-automation/src/engine.ts: a cited file that never namesscreens. That pair only ever anchored through a comment ("states two screens down"). #25734 moved that comment intorun-resume.tswhen it extracted the body ofresumeInternal.engine.tsnow keeps only arenderFlowTextSlotmethod that delegates tonode-text-rendering.ts, so the pointer told a reader nothing about the key.The row's other in-repo pointer,
builtin/screen-nodes.ts#registerScreenNodes, names the key and anchors: the gate counts that pair as anchored, and its#registerScreenNodessymbol anchor resolves. There is no gate edit and nokey-mention.baseline.jsonrow.Verification
Red first, on
origin/mainc61f75d, before the edit:pnpm --filter @objectstack/spec check:livenessexited 1 withkey-mention anchoring: 762 (entry, cited file) pair(s) asked, 760 anchored, 1 exempt, 1 UNANCHORED., namingtranslation/flows.screens → packages/services/service-automation/src/engine.ts.pnpm --filter @objectstack/spec exec vitest run --project local --maxWorkers=2 scripts/liveness/check-liveness.test.tsgaveTests 23 failed | 48 passed (71), with the lock printingVERDICT command-exit 1.Green on the final head fcee225, which is the branch merged with
origin/maind1e329e:check:livenessexited 0 with761 (entry, cited file) pair(s) asked, 760 anchored, 1 exempt.It also printedstate-counts/ is current. No shard was regenerated because no status moved:1049 live · 1 experimental · 1 live-elsewhere · 113 dead · 23 planned = 1187 classified.check-liveness.test.tsgaveTests 71 passed (71),VERDICT command-exit 0.pnpm --filter @objectstack/spec testgaveTest Files 720 passed | 1 skipped (721)andTests 21831 passed | 1 skipped | 1 todo (21833),VERDICT command-exit 0.pnpm --filter @objectstack/spec test:repogaveTest Files 79 passed (79)andTests 1269 passed (1269),VERDICT command-exit 0.node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderived 65 commands, and all 65 were run. 61 exited 0. 4 exited 3 with PREREQUISITE NOT MET:check:dts-closure,check:dual-build-cjs-loads,check:lean-entry-closureandcheck:sourcemap-no-sources-content. Each of those needs every package'sdist/. No build reads the ledger JSON (only code comments mention it), so these four are NOT MEASURED locally and are left to CI. The--rancheck printed65 derived famil(ies) accounted for — 61 run, 4 NOT-MEASURED.packages/(check:authz-resolver,check:error-code-casing,check:filter-alias-parity) each exited 0.pnpm --filter @objectstack/spec typecheck. The diff is one JSON ledger and one changeset, and no tsc program in the package includes either (tsconfig.jsonincludes onlysrc/**/*). CI'sTypeScript Type Checkcovers it. There is no ablation because the diff changes ledger data, not a tested behaviour.Changeset
This PR adds a
patchchangeset for@objectstack/spec. The dispatch planned askip-changesetlabel, on the reading that a ledger-only change publishes nothing. Measured, it does publish.livenessis in thefiles[]of@objectstack/spec, andnpm pack --dry-runlistsliveness/translation.json(positive control:README.mdis listed too). Ledger-only changes since 2026-08-24 carry apatchchangeset for the same reason, for example 2ee5861 and 3fed1eb. So this PR has noskip-changesetlabel.Acceptance notes
screen-nodes.tsnamesscreensonce, in the comment at line 202 that spells the key asflows.FLOW.screens.NODE_ID.{title,description}. The code builds the key throughflowScreenCopyKey(packages/spec/src/system/i18n-resolver.ts), so a later rewording of that comment would turn this row red in the same way. This is an observation only and is not filed. Carrier: none.Generated by Claude Code