fix(spec): repoint the agent, skill and action liveness citations at the real cloud path - #13309
Merged
Merged
Conversation
…cloud path The 22 citations in these three ledgers named packages/services/service-ai/..., a path that exists in neither repository, and each _note repeated a claim that is false in this checkout. Repointed onto cloud's real layout with an explicit cloud realm marker, and repaired the note.
Contributor
📓 Docs Drift Check
What this run could not see
Coarse fallback — 126 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
os-project-manager
marked this pull request as ready for review
August 30, 2026 03:09
os-project-manager
enabled auto-merge
August 30, 2026 03:09
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #13272.
Deliberately
Part ofrather than a closing keyword: this PR lands the half thatrecorded evidence can justify, and the card's re-verification half is still open.
See "Scope boundary" below.
What was wrong
Twenty-two
evidencecitations across three liveness ledgers namedpackages/services/service-ai/..., a path that exists in neither repository:_noterepeated the falsified sentencepackages/spec/liveness/agent.jsonpackages/spec/liveness/skill.jsonpackages/spec/liveness/action.jsonBoth halves of the recorded claim were false, each in its own direction:
_notecalled theframework's own service-ai tree "a stale build artifact with no
src/".Measured in this checkout:
git ls-files | grep -ic service-aireturns0,and
packages/services/holds every sibling service except service-ai.There is no artifact to be stale.
cloud@
15f55dfand recorded on [worklist] Re-close the tool.json liveness ledger — every citation points into the cloud runtime's service-ai, which this repo's checkout does not contain #13042, ispackages/service-ai/...— neverpackages/services/service-ai/....Why they sat green, and why the repair is not a plain re-spelling
FOREIGN_PATH_PREFIXESinpackages/spec/scripts/liveness/evidence.mtsliststhe stale spelling, so those citations were silently classified foreign and
never resolved. They did not survive scrutiny — they were exempt from it.
The real cloud path is repo-rooted in shape and is not in that list, so a
naive repoint resolves as LOCAL and fails CI. Every repointed citation therefore
carries the explicit
cloudrealm marker, which is the attributionscanEvidencereads directly rather than a special case for one prefix.Measured by ablation on this branch (fix committed first, mutation confirmed
on disk by anchored grep counts, restored to byte-identity against the HEAD
blobs afterwards):
cloudmarkers467 repo-local ... 467 resolved; 154 attributed to another repo489 repo-local ... 467 resolved, 22 MISSING; 132 attributed132 + 22 = 154, so the markers move exactly the twenty-two citations into theforeign bucket and nothing else. The change is gate-neutral against
main(both spellings classify foreign) while removing a provably wrong path.
The constant is deliberately left untouched, per the card and its triage: adding
the real path to it would let an unmarked citation pass silently, trading one
unfalsifiable spelling for another.
Scope boundary — recorded in each
_note, not only hereThis corrects the package root from the recorded measurement only. The cited
consumers were not re-read against a cloud checkout (this session has no
cloud access), so:
verifiedAtis stamped, and#symbolanchor is added — the gate never resolves a foreign anchor, so anunverified one would re-create the very unfalsifiable pointer this repair
removes.
No
statusverdict is altered. Re-verifying these 22 consumers against a livecloud checkout remains the open half of #13272 and needs a container that has the
cloud repo.
Verification
Run at
7e1580b9(the final commit on this branch):check:liveness— exit 0; its own verdict line: "every 'live' / 'planned' /'experimental' entry's repo-local evidence path resolves".
check:empty-state,check:strictness-ledger,check:variant-docs(the restof
spec-liveness-check.yml) — exit 0.packages/specliveness suite —evidence.test.ts,check-liveness.test.ts,verification.test.ts,key-mention.test.ts: 4 files, 113 tests passed.These matter because
evidence.test.tswalks the real ledger directory.check:published-files,check:merge-driver,check:nul-bytes, and thechangeset family — exit 0.
scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstackare green. Two are NOT MEASURED by their owndeclaration, neither a red:
check-half-states(needs a GitHub credential;PREREQUISITE NOT MET) andcheck-test-completeness(needs a saved test-runlog, unreachable locally). Two more —
check:dev-prereqsandcheck:dual-build-cjs-loads— are left to CI: both need a full build and thisdiff adds no build input, being JSON data plus a changeset.
The ledgers ship inside this package's npm tarball (
livenessis named infiles), so this is a published-data change and carries a changeset, followingthe precedent of the symbol-anchor batches.
Note for the reviewer, on the dispatch brief
The brief for this card stated that
tool.json's five citations had beenrepaired in PR #13302 and pointed there for the citation pattern. That is not
what PR #13302 contains — its diff is
packages/spec/scripts/check-llms-txt.tsplus
scripts/pm/dispatch-gates.mjs(a watch-hint card).tool.jsononorigin/mainstill carries all six occurrences of the stale prefix and isuntouched here, correctly, since it belongs to #13042. The repair pattern in this
PR was therefore derived from
evidence.mtsitself and from the ledger README'srealm-marker section, not from that PR.
Generated by Claude Code