Skip to content

refactor(playbooks): rehost model-adaptation chapters to plugin level (ADR-0007) - #1891

Merged
kyle-sexton merged 2 commits into
mainfrom
feat/ra3b-model-adaptation-rehost
Aug 3, 2026
Merged

refactor(playbooks): rehost model-adaptation chapters to plugin level (ADR-0007)#1891
kyle-sexton merged 2 commits into
mainfrom
feat/ra3b-model-adaptation-rehost

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

Summary

Implements the adopted RA-3b decision (doc-corpus campaign, Sitting 4): rehosts the per-version model-adaptation chapters out of the fable-5 skill's private surface to plugin level.

  • Moves plugins/playbooks/skills/fable-5/context/model-adaptation/{opus-4-8,opus-5}.md to plugins/playbooks/reference/model-adaptation/ (100%-similarity renames, content untouched).
  • Re-points five fable-5/SKILL.md references at the new host via ${CLAUDE_PLUGIN_ROOT}/reference/model-adaptation/ — the full argument's EXCEPT clause is rewritten semantically (the old exclusion had nothing left to exclude once the directory left context/), preserving the load-only-the-selected-chapter fence.
  • Adds ADR-0007, superseding ADR-0006 on the seam's address and nothing else; ADR-0006's decision (model-scoped by default, promotion gate, version-not-family routing) is preserved verbatim, and two of its three live private-surface cites survive untouched by design.
  • Bumps playbooks 0.6.4 → 0.6.5 with CHANGELOG entry.

Gate 1 (${CLAUDE_PLUGIN_ROOT} interpolation in SKILL bodies) was probed empirically on Claude Code 2.1.220 and independently reproduced by the verifier; the four-part verification record (Claim/Basis/As-of/Recheck) is in ADR-0007 and the CHANGELOG.

Second commit applies the independent verifier's two wording notes (CHANGELOG reference-count taxonomy; ADR-0007 cite-site enumeration).

No linked issue

Related

🤖 Generated with Claude Code

https://claude.ai/code/session_011UarawwEnZQu7cB6i7WatJ

kyle-sexton and others added 2 commits August 3, 2026 15:34
… (ADR-0007)

Per-model doctrine chapters move from
plugins/playbooks/skills/fable-5/context/model-adaptation/ to
plugins/playbooks/reference/model-adaptation/. Chapter contents are unchanged.

The old host was named after a model with zero chapters in it -- the directory's
entire contents are deltas for other models, because Fable-5 doctrine is the
skill's twelve context/ chapters. More load-bearing: the old address sat inside a
skill's private surface as docs-hygiene:audit-encapsulation defines it, so every
consumer citing a chapter committed a fresh violation, one per consumer, with
duplication as the only alternative. A plugin-root directory is not inside any
skill, so the private-surface rule does not engage at the new address.

fable-5's SKILL.md re-points five references. Four are address swaps (meta-rule 3,
the routing table row, the scope fence, the routing table preamble). The fifth is
a semantic rewrite: the full argument's "read every file under context/ EXCEPT
context/model-adaptation/" clause had nothing left to exclude, and now reads all
of context/ while taking from the new directory only the chapter meta-rule 3
selects, never the directory as a whole -- preserving the fence against loading
two mutually-reversing chapters into one session.

${CLAUDE_PLUGIN_ROOT} interpolation inside a skill body is verified, not assumed:
upstream documents it for hook commands, MCP/LSP config, monitor commands and
allowed-tools frontmatter, not for prose body text. Two headless probes on Claude
Code 2.1.220 establish it, with the recheck trigger and relative-path fallback
recorded in ADR-0007 and the CHANGELOG.

ADR-0007 supersedes ADR-0006 on the seam's address and nothing else; ADR-0006's
decision -- model-scoped by default, fleet-wide only through the promotion gate,
routing by version and never by family -- is preserved verbatim. ADR-0007 cures
one of ADR-0006's three live private-surface cites; the two reaching
audit-instructions and docpage-digest survive untouched.

playbooks 0.6.4 -> 0.6.5.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…and ADR-0007 cite enumeration

Verifier notes 1-2 on the RA-3b rehost branch: the CHANGELOG's "four
addresses + one semantic rewrite" decomposition double-counted the
full-argument clause and missed that the routing-table preamble carries
no address; ADR-0007's Decision section omitted the full-argument
clause from its cite-site enumeration. Wording only; no behavior or
path changes.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 3m 14s —— View job


Review: PR #1891 — rehost model-adaptation chapters (ADR-0007)

  • Gather context (diff, CLAUDE.md, REVIEW.md)
  • Review renamed reference files
  • Review SKILL.md path re-pointing
  • Review ADR-0007 and ADR-0006 supersession
  • Review CHANGELOG entry and version bump
  • Post findings

Summary: This is a clean, well-verified refactor. I checked every factual claim the PR makes against the actual repo state and found no discrepancies.

Verified correct:

  • The two renamed files (opus-4-8.md, opus-5.md) are 100%-similarity git renames with zero content diff; the old skills/fable-5/context/model-adaptation/ directory is fully gone, and the skill's other twelve context/ chapters are untouched.
  • All five ${CLAUDE_PLUGIN_ROOT}/reference/model-adaptation/ re-points in fable-5/SKILL.md land correctly (meta-rule 3, the full argument clause, the routing-table preamble, the routing-table row, and the "not model-version documentation" fence) — no stale context/model-adaptation references remain anywhere in the file.
  • The full argument's semantic rewrite is sound: the old EXCEPT context/model-adaptation/ exclusion had nothing left to exclude once the directory left context/; the new wording ("only the adaptation chapter meta-rule 3 selects, never the directory as a whole") preserves the original fence against loading conflicting sibling-version chapters in one session.
  • ADR-0007's private-surface characterization checks out against audit-encapsulation's actual contract: the "any subdirectory except scripts/" rule (context/public-surface-contract.md:49) and the "Public surface matrix" (SKILL.md:20-27, enumerating exactly Skill/Rule file/Scheduled-automation prompt with no plugin-level-directory row) both match the ADR's claims verbatim.
  • The reference-count taxonomy (ADR-0006 carries three live private-surface cites at :41-42, :48, :56-58; this PR cures only :41-42) matches the actual line content of ADR-0006 exactly — this is the wording the second commit fixed, and it's now accurate.
  • The CHANGELOG's relative-path fallback citation (plugins/autonomy/skills/setup/templates/isolation-probe.md:6) does contain a genuine relative-path link, supporting the claim as a valid in-repo precedent.
  • plugin.json version bump (0.6.4 → 0.6.5) is consistent with this plugin's changelog-driven versioning discipline; marketplace.json doesn't pin a per-plugin version, so no companion update is needed there.
  • Per CLAUDE.md's fresh-docs mandate scope note, this change is a SKILL.md prose-body edit (not frontmatter/contract surface), so the mandate doesn't strictly apply — but the PR goes further anyway, empirically verifying the undocumented ${CLAUDE_PLUGIN_ROOT} body-interpolation behavior and recording a proper four-part Claim/Basis/As-of/Recheck verification block in ADR-0007, which is good practice for a claim upstream doesn't document.

Nitpick (non-blocking): plugins/playbooks/CHANGELOG.md line 33 has a mid-paragraph hard line-break wider than the ~85-char wrap used by the surrounding lines in that bullet. MD013 (line length) is disabled repo-wide, so this isn't a lint failure — purely cosmetic, not worth a follow-up commit on its own.

No correctness, architecture, or maintainability issues found. Nothing here needs a security-lane review — no code execution, no new egress, no config secrets.

@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 53s —— View job


Security review complete

  • Gather context (PR diff, changed files)
  • Review changed files for security issues
  • Post findings

Scope reviewed: all 7 changed files (gh pr diff / git diff origin/main...HEAD) — two ADRs (0006 status edit, new 0007), plugins/playbooks/CHANGELOG.md, plugins/playbooks/.claude-plugin/plugin.json (version bump only), plugins/playbooks/skills/fable-5/SKILL.md, and two 100%-similarity file renames (opus-4-8.md, opus-5.md, content byte-identical per diff stat — 0 insertions/deletions).

No security issues found.

Rationale:

  • This is a pure documentation/config rehost: markdown content (ADRs, CHANGELOG) and a semver bump in plugin.json. No executable code, no scripts, no .mcp.json, and no .github/workflows/* files are touched.
  • The only behavioral surface is SKILL.md's prose body, where five path references change from context/model-adaptation/ to ${CLAUDE_PLUGIN_ROOT}/reference/model-adaptation/. ${CLAUDE_PLUGIN_ROOT} is a harness-substituted path token resolved to the installed plugin's own root — it can't be influenced by external/untrusted input in this diff, so it isn't an injection or path-traversal vector. It only changes where the model is told to read a static, repo-authored file from, not how any command is constructed or executed.
  • SKILL.md's frontmatter (allowed-tools, user-invocable, disable-model-invocation) is unchanged — no permission widening.
  • No secrets, tokens, or credentials appear in the diff (the two renamed files carry zero content changes, confirmed by the 0/-0 diff stat).
  • No GitHub Actions triggers (pull_request_target, workflow_run), action pins, or permissions: blocks are touched — this lane's remit (zizmor covers that surface statically) doesn't apply since no workflow file changed.

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Claude has reviewed this PR 1 time. The lane skips further automatic reviews after 5; deleting this comment resets the count.

@kyle-sexton
kyle-sexton merged commit 9d71993 into main Aug 3, 2026
32 checks passed
@kyle-sexton
kyle-sexton deleted the feat/ra3b-model-adaptation-rehost branch August 3, 2026 21:20
kyle-sexton added a commit that referenced this pull request Aug 3, 2026
…synthesis artifact target (#1892)

## Summary

Implements two adopted doc-corpus campaign decisions in the
docpage-digest publisher profile
(`plugins/knowledge/skills/docpage-digest/context/anthropic-docs-profile.md`):

- **Property extension** (Sitting 2): admits `anthropic.com/engineering`
as a fourth covered property in the profile's property list. The two
standing costs are stated in the CHANGELOG rather than silently
absorbed: the vendor-blog attestation bullet remains literally scoped to
`claude.com/blog` (rescoping it is a separate judgment), and the new
property contributes no machine-readable page index.
- **Fourth artifact target** (Sitting 6): adds cross-slice / cross-model
synthesis as a fourth Artifact target — the prerequisite landing site
for the commissioned cross-model synthesis pass (not per-model, not an
audit rule row; host repository deliberately undecided).

Bumps knowledge plugin 0.10.17 → 0.10.18 with CHANGELOG entry.
Independently verified against the adoption records with author
rationale withheld: net branch diff = exactly the two adopted
amendments, nothing more; merge-tree clean against current main.

No linked issue

## Related

- #1888 — prior profile change (property doctrine PA-M/PA-V), whose
versioning convention this mirrors
- #1891 — adjacent campaign lane (playbooks rehost), disjoint files,
merged while this branch was in flight

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_011UarawwEnZQu7cB6i7WatJ

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
kyle-sexton added a commit that referenced this pull request Aug 3, 2026
…uthority, consistency rationale (#1893)

## Summary

DOC bundle 3 of the doc-corpus application campaign — three
evidence-forced rows, one playbooks bump (0.6.5 → 0.6.6):

- **Verification surfaces table** (`fable-5/context/verification.md`):
six-row map of the built-in verification surfaces to their canonical
pages — spanning the harness, the managed Code Review service, and the
Managed Agents platform API — including the one source item nothing
implements (spec validation, shipped as a dated absence with a recheck
trigger). Closes with the invocation/plan/version caveats that make
"built-in" not mean "automatic".
- **Channel-authority routing rule** (`fable-5/context/calibration.md` +
one SKILL.md distillation line): the reference page that owns a term
defines it; a vendor post corroborates — written once, never revised,
and what it omits is invisible from inside it. Worked instance: the
glossary's verification-loop entry carries the
prerequisite-for-`/goal`/unattended-runs/dynamic-workflows fact a
post-length definition drops. The paired glossary-row half of this row
targets a graduated-corpus surface that does not exist yet and is
deliberately unlanded.
- **Consistency rationale for decomposing**
(`fable-5/context/orchestration.md`): output consistency recorded beside
context economy as the second rationale — fewer inconsistency errors
across scaled workflows — with the tiebreak consequence,
mechanism-agnostic, and deliberately in exactly one place (no SKILL.md
line).

All canonical URLs and anchors re-verified live 2026-08-03 in both
raw-md and rendered forms. Independently verified (fresh-context,
rationale withheld): FIX-FIRST with three one-line wording findings, all
applied in `8786a772ec`; no blockers.

No linked issue

## Related

- #1885, #1887 — DOC bundles 1 and 2 (same evidence-forced class and
delivery shape)
- #1891 — the playbooks rehost this bundle's version bump follows (0.6.5
→ 0.6.6)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_011UarawwEnZQu7cB6i7WatJ

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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