feat(knowledge): land the harness-surface definition and bare-name boundary in the docs profile - #1888
Conversation
…o not falsify api-only J-12 was one of five items 0.10.16 deliberately held for the dispositions interview. This answers it, appending to that release's near-miss rule rather than standing up a new one. A harness surface is a surface a user can reach. Three shapes come close without falsifying `api-only`: a counterpart artifact, a same-workload mention, and harness-internal recognition or support. The first two carry an identical adjudication from two independent verification arms. The third is new and rests on one attested instance, so it is enumerated no wider than that base. Both the definition sentence and the third sub-shape carry `[campaign-owned amendment]` labels. Nothing in the corpus ever defined "harness surface"; an unlabelled definition would read as inherited adjudication when it is the campaign making the selection-over-support choice, and a later slice would cite it as settled precedent it never was. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
The `cc-applicable`/`mixed` boundary bullet enumerated three API surfaces (parameter, endpoint, SDK call) and never said what an API surface is not. PA-V ratifies the fourth surface (model ID) and the negative half: a product name, display name, or docs-path slug never by itself triggers `mixed`. This is a de facto standard being written down, not a new definition. 15+ rows in the models-explained slice already stood on it, and a cross-vendor retag already applied it in-slice (Verifier B's round-1-reverify retagged claim 15 `mixed` → `cc-applicable` on exactly this boundary). That is why the bullet carries no `[campaign-owned amendment]` label — unlike the harness-surface definition above it, nothing here is the campaign's own selection. The `changelog.md:961` parenthetical is not a restatement of the sub-shape (3) sentence above. That sentence states the exclusion — a line describing some other model's tier fails sub-shape (3)'s own test. This states the destination of the reroute that exclusion mandates, and names the line. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 45s —— View job Security Review — PR #1888
No security issues found. All three changed files are non-executable content: a version-string bump in Reviewed for the categories in scope for this lane:
|
|
Claude finished @kyle-sexton's task in 1m 30s —— View job Code Review — PR #1888
Note: Per REVIEW.md's lane split, security review is out of scope here (handled by the dedicated security-review workflow already running on this PR). This review covers correctness and maintainability only. SummaryThis is a clean, well-scoped docs-only change: a version bump, a CHANGELOG entry, and 22 added lines in the Anthropic docs publisher profile. No code, no plugin logic, no schema changes. FindingsNothing blocking. A few observations, none requiring action:
No changes requested. |
|
Claude has reviewed this PR 1 time. The lane skips further automatic reviews after 5; deleting this comment resets the count. |
… (ADR-0007) (#1891) ## 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 - ADR-0006 (`docs/adr/0006-scope-model-doctrine-per-version-behind-a-promotion-gate.md`) — superseded on the hosting seam only - #1888 — prior doc-corpus campaign PR touching the knowledge profile (same campaign, adjacent lane) 🤖 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>
…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>
Lands two adopted Sitting-2 decisions in the anthropic-docs publisher profile — the campaign's consumer-facing tag-selection doctrine.
knowledge0.10.16 -> 0.10.17.PA-M — the harness-surface definition
New bullet appended to the near-miss rule: a harness surface is a surface a user can reach, with three non-falsifying sub-shapes that harness-doc text can take without establishing one. Both the definition sentence and sub-shape (3) carry explicit
[campaign-owned amendment]labels — the record shows the campaign making the selection-over-support choice, not inheriting an adjudication. Sub-shape (3) rests on its single attested instance (env-vars.md:394, a retry/fallback row) and carries its own over-broadening boundary: a doc line describing some other model's tier fails the sub-shape's own test.The landing site was derived three independent ways: the profile already uses "harness surface" as its negative-claim term (
:34,:54); the adopted row's own text says "write into the profile"; and the 0.10.16 CHANGELOG deliberately held this exact question (J-12) for the dispositions interview this answers.PA-V — the bare-name boundary
The
cc-applicable/mixedboundary bullet now carries the fourth API surface (model ID) and the negative half the profile never stated: bare names are not API surfaces — a product name, display name, or docs-path slug never by itself triggersmixed. Ratified from the de facto standard 15+ rows already stood on (cross-vendor retag applied in-slice). Deliberately excluded: a[campaign-owned amendment]label (this ratifies an evidence-carried standard, not a campaign-invented definition) and "feature names" (present only in one slice's wording, not the adopted row — widening the enumeration would exceed the adopted authority).Verification
Both commits independently verified by a second model with the implementer's rationale withheld: the PA-M landing audited across landing-site derivation, amendment fidelity (verbatim vs the adopted blockquote), self-fire (no profile or checklist conflict; no live campaign artifact violates the definition), and mechanics; the PA-V text was authored by that verifier from the adopted row and applied verbatim, with the producer re-confirming the authority citations at the bytes before editing. The one enumeration of the API-surface list repo-wide is this bullet — no drift introduced. markdownlint 0 errors; CHANGELOG newest-first, both entries folded into the unreleased 0.10.17.
Downstream, already discharged against these rules: the four slice-local
api-onlyratifications (memory-tier) now cite the landed definition and route their three disclosed near-miss hits per these bullets.No linked issue
Related
knowledge0.10.16's CHANGELOG (PR chore(knowledge): land the near-miss disclosure rule and the blog-channel extraction artifacts #1879).