Skip to content

Commit 9ee2dcf

Browse files
os-trumpclaude
andauthored
chore(spec): re-anchor five liveness ledgers to consuming symbols (#13003 batch 2) (#13038)
Adoption batch 2 of the #12516 symbol-anchor citation grammar: 105 `path:NNN` citations across manifest / datasource / permission / dataset become `path#symbol`, and webhook.json's eleven bare-filename citations become repo-rooted anchors for the first time. Every citation re-closed by reading the code on this tree; 88 of the 105 were already pointing at the wrong place, all of them in range. Part of #13003 Claude-Session: https://claude.ai/code/session_01LpRNHxWZgSUgVnFT9mQQo4 Co-authored-by: Claude <noreply@anthropic.com>
1 parent 93ea19b commit 9ee2dcf

6 files changed

Lines changed: 337 additions & 223 deletions

File tree

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
"@objectstack/spec": patch
3+
---
4+
5+
chore(spec): re-anchor the `manifest`, `datasource`, `permission`, `dataset` and `webhook` liveness ledgers to consuming symbols (#13003)
6+
7+
Adoption batch 2 of the symbol-anchor citation grammar landed by #12516, following
8+
batch 1's `action` / `object` pass. The `liveness/` ledgers ship inside this
9+
package's npm tarball (they are named in `files`), so this is a published-data
10+
change even though no runtime behaviour moves and no schema key changes.
11+
12+
One hundred and five `path:NNN` evidence citations across
13+
`liveness/manifest.json` (34), `datasource.json` (28), `permission.json` (25) and
14+
`dataset.json` (18) are now written `path#symbol`, each re-closed by reading the
15+
code on the current tree rather than by shifting a line number. A symbol moves
16+
with its consumer, so the pointer survives the in-file drift that rots a line,
17+
and goes red when the consumer is renamed or deleted — a direction a stale line
18+
can never produce. Every entry touched is stamped `verifiedAt: 2026-08-28`, which
19+
dates `datasource.json`, `dataset.json` and `webhook.json` for the first time.
20+
21+
What the re-closure found, which is again the reason the migration is not
22+
mechanical: 88 of the 105 citations were pointing at the wrong place already,
23+
every one of them IN RANGE and so invisible to all three existing checks. They
24+
had drifted onto docblocks, blank lines, a `variant: 'secondary'` UI action, a
25+
`return m.aggregate` belonging to a different key, and — for `datasource.ssl`
26+
a contiguous run of five wrong pointers into a docblock about an unrelated
27+
environment variable. Two prose claims were falsified outright and are withdrawn:
28+
`external.validation`'s note credited `checkOnBoot` with gating the boot sweep
29+
(nothing reads that key anywhere; the sweep is unconditional), and
30+
`objects.viewAllRecords` cited a reader named `hasViewAllData` that no longer
31+
exists in the tree.
32+
33+
`webhook.json` is the batch's separate case. All eleven of its `live` entries
34+
cited bare FILENAMES with line numbers (`auto-enqueuer.ts:266`), which the
35+
evidence scanner cannot parse as citations at all — so that ledger contributed
36+
zero resolvable paths and was never actually asked about by any check. Rewriting
37+
them as repo-rooted anchors made them askable, and the key-mention check
38+
immediately found a real answer: the dispatcher reads the remapped `active`
39+
column and never the authored `isActive`, so that call site now lives in the
40+
entry's note rather than in its evidence.
41+
42+
`tool.json` is deliberately unchanged: every one of its citations points into
43+
`packages/services/service-ai`, the closed cloud runtime, which is absent from
44+
this checkout — there is no code here to re-close it against.

0 commit comments

Comments
 (0)