Skip to content

Skills carry the records they cite, and the map records what nothing checks - #197

Merged
OpenCnid merged 1 commit into
masterfrom
d/trellis-skills-documentation-543c05
Jul 29, 2026
Merged

Skills carry the records they cite, and the map records what nothing checks#197
OpenCnid merged 1 commit into
masterfrom
d/trellis-skills-documentation-543c05

Conversation

@OpenCnid

Copy link
Copy Markdown
Owner

What changed

Four skills vendor the records they cite as 31 byte-identical mirrors under
<skill>/references/, so a skill directory resolves every citation it makes
with no Trellis repo present.

Skill Records Bytes
judge-composition 13 347 KB
complexity-convocation 9 201 KB
loop-orchestrator 5 183 KB
self-play 4 124 KB

The gap was load-bearing, not cosmetic: complexity-convocation cites
JUDGE_COMPOSITION_GAME.md §6 rules by number and deliberately never restates
them
, so outside the repo "rule 4", "rule 12" and "rule 20" resolved to
nothing. FOUR_JUDGE_BASIC_MODEL.md supplies the registries and YAML judge
schema the composer draws from.

Each folder's README.md is the manifest — canonical source path, bytes and
SHA-256 per file, taken at 65fdb1f. Provenance sits there rather than in file
headers, because byte-identity to the source is what makes the hashes
verifiable and a header written into the file is the first thing to break it.

No sync check is installed, by decision: these are portability snapshots.
The authority ordering in .claude/skills/README.md decides every divergence —
the record wins and a stale mirror is replaced from source, never edited.

Contract narrowing

The mirrors carry relative links authored for their old home, so
markdownLinks.excludePrefixes gains one prefix per mirror folder. All 173
broken links were confined to those folders and none sat elsewhere, so link
checking stays live on every SKILL.md and skill README.md.

Records updated

density-chain C7 and C13 are densified in the commit that falsifies them
(rule 22). C7 carries the copy layer now sitting under the nine skills' DERIVED
standing; C13 takes the exclusion array as a fresh instance of the
exists-implies-named gap it already names. The HTML render is brought level
in four places.

Nine further branch classes are stale against earlier commits
(11335e7, 5b1d0e5, 65fdb1f) and are deliberately untouched here — rule 22
puts each repair in the commit that falsified it, and rule 12 gives this change
one branch.

.claude/skills/README.md claimed ~/.claude/skills/ holds byte-identical
mirrors; it holds symlinks into this directory. Corrected.

Where this fell short

Both densified sections grew — C7 +233 chars, C13 +338 — after two
compression passes. Densify, never append asks for fixed length; closing the
remainder meant deleting recorded receipts, which is the wrong trade in a
document whose contract reads every number here is as recorded. Flagging it
rather than reporting a budget that was held. DENSITY-CHAIN.md carries no
maxBytes in the root contract, so no ceiling was crossed.

fixtures/doubts_workspace/earth_figure_factbase.md is left unmirrored on
purpose: self-play frames it as illustration kept short-lived, and a copy that
travels is an example that anchors.

Verification

  • npm test119 files / 1424 tests green
  • npm run check:repo-surfacePASS (0 issues); its link arm watched red
    at 173 issues before the exemption and green after
  • wiki:check --verifyPASS (751 paths routed, roster agrees three ways,
    render compiles)
  • The 31 mirrors re-hashed against source; that check watched red on a planted
    one-byte break and green on restore
    (19(c))
  • Each skill directory copied outside the repo with every citation and local
    link resolving — all 9 self-contained

…checks

Four skills vendor the records they cite as 31 byte-identical mirrors under
<skill>/references/, so a skill directory resolves every citation it makes with
no Trellis repo present: judge-composition takes 13, complexity-convocation 9,
loop-orchestrator 5, self-play 4. Each folder's README.md is the manifest —
canonical source path, bytes and SHA-256 per file, taken at 65fdb1f.

Provenance sits in the manifest rather than in file headers, because
byte-identity to the source is what makes the hashes verifiable and a header
written into the file is the first thing to break it. No sync check is
installed: these are portability snapshots, and the authority ordering decides
every divergence — the record wins and a stale mirror is replaced from source,
never edited.

The mirrors carry relative links authored for their old home, so
markdownLinks.excludePrefixes gains one prefix per mirror folder. All 173 broken
links were confined to those folders and none sat elsewhere, so link checking
stays live on every SKILL.md and skill README.md.

density-chain C7 and C13 are densified to match. C7 carries the copy layer now
sitting under the nine skills' DERIVED standing; C13 takes the exclusion array
as a fresh instance of the exists-implies-named gap it already names. The HTML
render is brought level in four places. Both sections grew — C7 +233 chars, C13
+338 — after two compression passes, because closing the remainder meant
deleting recorded receipts.

.claude/skills/README.md claimed ~/.claude/skills/ holds byte-identical mirrors;
it holds symlinks into this directory. Corrected, with loop-orchestrator noted
as in-repo only and harness-traps and spark-probe as user-level.

fixtures/doubts_workspace/earth_figure_factbase.md is left unmirrored on
purpose: self-play frames it as illustration kept short-lived, and a copy that
travels is an example that anchors.

Verified: npm test 119 files / 1424 tests green; check:repo-surface PASS (0
issues); wiki:check --verify PASS (751 paths routed, roster agrees three ways);
the 31 mirrors re-hashed against source, that check watched red on a planted
one-byte break and green on restore; each skill directory copied outside the
repo with every citation and local link resolving.
@OpenCnid
OpenCnid merged commit 1615d71 into master Jul 29, 2026
2 of 3 checks passed
@OpenCnid
OpenCnid deleted the d/trellis-skills-documentation-543c05 branch July 29, 2026 05:35
OpenCnid added a commit that referenced this pull request Jul 30, 2026
One conflict, in C7: #197 rewrote that section to add the vendored record
mirrors while this branch had rewritten it from the code. Resolved by keeping
this branch's verified corrections and folding in the mirrors fact.

The corrections kept, each re-checked against master's tree: `judge_panel.ts`
cited at :38 and :464 rather than bare; the two user gates carry their real and
differing flag names (`--confirm` and `--confirm-extraction`); the affirmation
self-play's 8/8 attributed to its third round only, with its positive control
recorded silent; the status ledger on the six declared labels.

The mirrors fact folded in, recounted rather than carried: #197 added 31
mirrors to four skills, and spark-steering already held 2, so current state is
33 mirrors of 18 distinct records across five skills. T2 was densified back
from 99 words to 92 to make room at the held budget.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant