Skip to content

docs(knowledge): admit anthropic.com/engineering and add cross-slice synthesis artifact target - #1892

Merged
kyle-sexton merged 4 commits into
mainfrom
docs/corpus-profile-pa-aj-doc21
Aug 3, 2026
Merged

docs(knowledge): admit anthropic.com/engineering and add cross-slice synthesis artifact target#1892
kyle-sexton merged 4 commits into
mainfrom
docs/corpus-profile-pa-aj-doc21

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

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

🤖 Generated with Claude Code

https://claude.ai/code/session_011UarawwEnZQu7cB6i7WatJ

kyle-sexton and others added 3 commits August 3, 2026 16:06
The profile scoped this publisher to platform.claude.com, code.claude.com and
claude.com/blog. Anthropic's engineering posts are first-party and are the
stated best-practices channel for topics the corpus already wants a page from,
so the narrower list forced every such page to enter by exception.

Engineering pages are in scope by default now. Declining and then admitting
them one at a time is the same coverage with worse bookkeeping — the exemption
list grows, and nothing in the profile records why.

Two standing costs are real and stay unwritten here rather than being absorbed
silently. The vendor-blog attestation bullet still names `claude.com/blog`
literally, so it does not reach the new property; rescoping it would decide
whether engineering deep-dives are marketing-adjacent vendor voice, which is a
fresh judgment, not a consequence of this one. And unlike both docs properties,
this one publishes no machine-readable page index, so page selection and
absence checks against it have no instrument. Both are named in the CHANGELOG
so a consumer meets them before the first engineering slice, not during it.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
The Artifact targets taxonomy named three dispositions, and a cross-model
synthesis artifact matches none of them: it is not per-model, not an audit rule
row, and not graduation of one slice. Content deferred to such a pass therefore
had no route out of the pipeline at all — the digest fan-out is barred from
reaching across units by design, and no later stage exists to pick it up. Four
units in one slice deferred content into that gap.

Without the fourth entry, a disposition the taxonomy cannot express reads as
out of scope. It is not; it is a hole. The added paragraph says so directly so
a future handoff does not re-derive the distinction per finding.

The target is deliberately named without a host. Which repository or seam a
cross-slice artifact lands in is a separate decision no run has taken, and the
one candidate a reader might assume — a model-adaptation reference tree — is
scoped to model-adaptation content, which this is not. Pinning a host here
would take that decision by implication.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
The fourth target's parenthetical already carries the whole amendment — the
three shapes it is not, and the undecided host. The paragraph following it
argued why the target should exist, which is a decision record, not routing
contract, and the profile is the consumer-facing surface.

The rationale survives in the commit that added the target and in the release
note, both of which a reader reaches when they want it. Keeping a third copy
in the contract is where drift starts.

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

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown

Claude finished @kyle-sexton's task in 2m 4s —— View job


Review complete

  • Gather context (PR body, diff, custom instructions)
  • Read changed files (plugin.json, CHANGELOG.md, anthropic-docs-profile.md)
  • Check consistency across the three commits
  • Post findings

Net diff verified. The three commits (5470d03, c5709af, 4db932a) collapse cleanly into exactly the two adopted amendments the PR body describes — 4db932a removes a rationale paragraph c5709af had just added, leaving the Artifact targets section with only the routing-contract sentence, not a decision-record duplicate. That self-correction is good hygiene — no leftover cruft from the intermediate commit.

Version bump and CHANGELOG are consistent. 0.10.170.10.18 in plugin.json matches the new ## [0.10.18] header, and the header format (no date, matching ## [0.10.17] etc.) follows existing convention.

Finding: new property admitted without Fetch-channel guidance

anthropic-docs-profile.md L1-7 admits anthropic.com/engineering as a fourth in-scope property, but the ## Fetch channel section — the operational contract for how to actually fetch a page from each property — has no bullet for it. It covers docs pages (raw .md channel), blog posts (claude.com/blog, rendered + two named extraction artifacts), and PDFs, but is silent on the new property. A digest run against an engineering post has no documented channel to follow (raw markdown? rendered, like the blog? does it carry the same heading/reading-time extraction quirks?).

This matters here specifically because the CHANGELOG entry's own framing is "the two standing costs are stated ... rather than silently absorbed" — but a third cost (no fetch-channel instrument for the new property) went undisclosed rather than named alongside the other two (vendor-blog attestation scope, no machine-readable page index).

This isn't necessarily a blocker — the profile may intend the first real engineering-page run to establish the channel empirically (the docs-page bullet already models "re-verify per doc — precedent, not a guarantee"). But as written, a consumer hitting this property today has strictly less guidance than for blog, and that gap isn't named the way the other two are.

Fix this →

No other correctness or CLAUDE.md-alignment issues found — the change stays within the "prose body" scope (skill context file, not frontmatter/manifest contract fields), so the fresh-docs mandate's live-fetch requirement doesn't apply here.

@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown

Claude finished @kyle-sexton's task in 1m 5s —— View job


Security review complete

  • Gather context (PR diff, changed files)
  • Review plugin.json version bump
  • Review CHANGELOG.md entry
  • Review anthropic-docs-profile.md content changes
  • Post final security review findings

No security issues found.

This PR is a pure documentation/prose change to a knowledge-plugin skill context file, plus a mechanical version bump and matching changelog entry:

  • plugins/knowledge/.claude-plugin/plugin.json — version bump 0.10.170.10.18 only. No permission, dependency, or schema changes.
  • plugins/knowledge/CHANGELOG.md — prose changelog entry, no executable content.
  • plugins/knowledge/skills/docpage-digest/context/anthropic-docs-profile.md — two substantive edits:
    1. Adds anthropic.com/engineering to the publisher's covered-property list (diff). This is a legitimate, first-party Anthropic domain, consistent in shape with the three properties already in scope (platform.claude.com, code.claude.com, claude.com/blog) — not a lookalike/attacker-controlled domain, and it doesn't change the fetch mechanism (still curl/WebFetch against Anthropic-owned hosts, unchanged from the existing "Fetch channel" section, which this PR does not touch).
    2. Adds a fourth "cross-slice synthesis" artifact target to the routing prose (diff) — descriptive only, explicitly notes the target's host repository is undecided, and introduces no new routing logic, fetch behavior, or file-system writes.

I considered this file as an agent-instructions surface (it's loaded as skill context and does direct fetch behavior via curl/WebFetch for a downstream pipeline), since that's the class of risk that would matter here even though it's markdown rather than code. The added lines don't introduce a new fetch channel, new command construction, new credential/token handling, or any redirection to a non-Anthropic host — they only extend an existing, already-reviewed pattern to one more first-party subdomain and add explanatory routing prose. No injection surface, no authorization/access-control logic, and no secrets are touched by this diff.

Nothing else in the diff touches GitHub Actions workflows, permissions, or executable code, so there's no applicable finding for this PR.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4db932a377

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread plugins/knowledge/skills/docpage-digest/context/anthropic-docs-profile.md Outdated
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

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

…prefix

Review finding on #1892: SKILL.md selects the publisher profile by
matching the URL's host against the profile and proceeds profile-less
on no match, and every live engineering link in this repo uses
www.anthropic.com — so the bare anthropic.com declaration would never
match a real run. Declare www-insensitive host matching at the property
list.

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

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown

Claude finished @kyle-sexton's task in 2m 7s —— View job


Code review complete

  • Gather context (PR body, diff, custom instructions)
  • Read changed files (plugin.json, CHANGELOG.md, anthropic-docs-profile.md)
  • Review for correctness and CLAUDE.md alignment
  • Post findings

Net diff verified against branch base (05a571c, pre-dating the unrelated #1891 rehost merged into main while this branch was in flight): exactly the three files the PR body describes, 33/7. gh/git fetch against the remote weren't available in this sandboxed run, so I diffed against the commit this branch actually forked from rather than origin/main's current tip — same result set as the PR's stated scope.

The Codex host-matching finding is fixed. 87631f6, the newest commit on this branch, adds "hosts match with or without a leading www.; live engineering links use www.anthropic.com" to the property declaration — directly resolving the gap Codex flagged (SKILL.md's profile-selection step at SKILL.md#L115-L117 matches host literally, and this repo's engineering links are all www.anthropic.com).

Version bump and CHANGELOG stay consistent with the style of the prior 0.10.17/0.10.16 entries (evidence-forced framing, inline rationale) — plugin.json#L40.10.18 matches the new ## [0.10.18] header.

Finding: Fetch channel section still has no bullet for the new property (carried over, unresolved)

anthropic-docs-profile.md#L10-L42 documents fetch channels for docs pages, blog posts, and PDFs — still nothing for anthropic.com/engineering, even after the latest commit. This was raised in the first review round on this PR and hasn't been addressed since (the only change since then is the www host-matching fix, which is orthogonal). The CHANGELOG's [0.10.18] entry names two standing costs for the new property (vendor-blog attestation scope, no machine-readable page index) but not this third one — so a consumer hitting this property today still has strictly less operational guidance than for claude.com/blog, and that gap still isn't named the way the other two are.

Not a blocker — the docs-page bullet already models "re-verify per doc — precedent, not a guarantee," so the profile could reasonably defer this to the first real engineering-page run. But as written it's an undisclosed gap, not a disclosed one, which cuts against the PR's own framing ("costs... stated... rather than silently absorbed").

Fix this →

No other correctness or CLAUDE.md-alignment issues found. This stays a "prose body" edit (skill context file, not frontmatter/manifest contract fields) per the fresh-docs mandate's scope discriminator, so the live-fetch requirement doesn't apply. Security review is out of scope for this lane per REVIEW.md's split.

@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown

Claude finished @kyle-sexton's task in 1m 42s —— View job


Security review complete

  • Gather context (PR diff since last review, changed files)
  • Review latest commit (87631f6) diff
  • Post final security review findings

No security issues found.

This PR (through the latest commit, 87631f6) remains a pure documentation change to a knowledge-plugin skill context file, plus a mechanical version bump and matching changelog entry. The full diff against the PR base (05a571c) touches only:

  • plugins/knowledge/.claude-plugin/plugin.json — version bump 0.10.170.10.18 only.
  • plugins/knowledge/CHANGELOG.md — prose changelog entry, no executable content.
  • plugins/knowledge/skills/docpage-digest/context/anthropic-docs-profile.md — admits anthropic.com/engineering as a fourth covered property, adds a "cross-slice synthesis" artifact target, and (new in 87631f6) adds host-normalization prose: "hosts match with or without a leading www.; live engineering links use www.anthropic.com."

I looked specifically at whether the new host-matching prose changes the security posture, since this file drives agent fetch behavior (curl/WebFetch) via natural-language instructions consumed by an LLM, not code:

  • No new fetch authority is granted. Per SKILL.md:115-117, a URL that matches no profile still proceeds with the generic fetch steps — profile membership governs which channel/rules apply, not whether a URL gets fetched. So naming www.anthropic.com/anthropic.com/engineering here doesn't expand what hosts the pipeline is willing to reach; those URLs were already fetchable pre-PR, just without profile-specific handling.
  • No substring/host-matching logic in code. The "match with or without www." instruction is prose for an LLM-driven profile-selection step, not a regex or string-comparison routine, so there's no code-level bypass surface (e.g., no .endsWith()/substring check that a crafted host like www.anthropic.com.attacker.io could exploit). The named hosts are first-party Anthropic domains, consistent with the three properties already in scope.
  • No new command construction, credentials, or redirection. The ## Fetch channel section (the operational contract for curl/WebFetch invocation) is untouched by this PR — confirming the earlier review's finding that it lacks a channel bullet for the new property remains a documentation-completeness gap, not a security concern.

Nothing in the diff touches GitHub Actions workflows, permissions, secrets, or executable code.

@kyle-sexton
kyle-sexton merged commit 2df9ff3 into main Aug 3, 2026
32 checks passed
@kyle-sexton
kyle-sexton deleted the docs/corpus-profile-pa-aj-doc21 branch August 3, 2026 21:46
kyle-sexton added a commit that referenced this pull request Aug 3, 2026
…ster (#1895)

## Summary

Repopulates the docpage-digest Anthropic profile's doc queue with the
doc-corpus campaign's adopted enqueue roster (knowledge 0.10.18 →
0.10.19):

- **14 pages queued across seven groups** — thinking troubleshooting
first (on the corrected rationale: the harness carries a parallel
troubleshooting surface, so the page's transfer is demonstrated, not
conjectured), then the last thinking page, the retention/ZDR slice (one
slice, two lanes, three pages — org-level policy, the one queued topic
with compliance weight), one Agent SDK page with the wider-scope
boundary stated in the group heading, the models freshness pair, three
Claude Code companion docs in digestion order, two blog posts, and one
engineering post (the property admitted in 0.10.18).
- **5 pages deferred with triggers** — each carrying its named re-arm
condition, including a context-window deferral that states its
discharged check's result rather than leaving the trigger dormant.
- The retention/ZDR enqueue is recorded as still open to an owner veto;
the engineering entry's contingency is disclosed as discharged (its
prerequisite property edit was the 0.10.18 merge).

Independently verified (fresh-context, rationale withheld): SHIP, with
the two findings (deferred-block position; contingency disclosure)
applied in `6395841eb3` and confirmed CLOSED. All 14 queued URLs return
HTTP 200 live; queue counts recounted at the bytes by producer and
verifier independently.

No linked issue

## Related

- #1892 — the property admission and artifact-target amendment this
queue builds on (0.10.18)
- #1887 — DOC bundle 2, where the queue's prior entries were retired on
slice completion

🤖 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