Repository navigation
docs: drop stamps from pointer records (docs) - #15463
kyle-sexton wants to merge 10 commits into
Conversation
Upstream-drift 5.0.0 says a pointer record carries no as-of date and no recheck trigger; only a stored value keeps them. This sweeps docs/ (excluding CHANGELOG.md files, docs/standards/ and docs/native-surfaces.md): - Pointer records lose both stamps; the decision and anchored link stay. - Recorded decisions with a named trigger lose only the as-of date. - Stored values (restated upstream behavior, probes, versions, measured figures), ADRs (history is never rewritten) and docs/upstream/ records keep their stamps. - Pointers that lacked a section anchor in execution-target and workspace-environment now link the section; the execution-target cloud launch pointer follows the renamed section. The standards and plugin-reconfiguration contracts are shared copies, so sync-shared-copies.sh regenerated 34 plugin reference copies, each with a patch fragment. execution-target, workspace-environment and routing-as-data get a patch CHANGELOG entry because their Versioning sections ask for one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VcupojQwC9uJAfmSt4EHZm
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review reviewed Chunk 1 of 2 (40 files)Security review: PR #15463, chunk 1 of 2I found no security issues in this chunk. What I read. I read every hunk of
I also read the PR context and the prior-findings file. What the change does. It removes
Every link still goes to an official upstream docs host, or to the same third-party page it pointed to before. This matches the PR description. What I checked:
Blocking only. This lane already reviewed an earlier head, so this review would report only CRITICAL and IMPORTANT findings. It found none, and there were no SUGGESTION findings to drop. Spend: none. These docs edits start nothing that bills. critical-findings: 0 Chunk 2 of 2 (11 files)Security review: PR #15463, chunk 2 of 2I found no security issues in this chunk. What I read. I read every hunk of
What the change does. It removes Identical copies. I checked the paths of the identical copies:
All of them are reference prose read by skills. None is a hook, workflow, settings, manifest or MCP path, so having the same content at those paths does not change what it does. What I checked:
Blocking only. This lane already reviewed an earlier head, so this review reports only CRITICAL and IMPORTANT findings. It found none, and there were no SUGGESTION findings to drop. The one prior post has no line anchor and reported 0 findings, so there is nothing to carry forward. Spend: none. These docs edits start nothing that bills. critical-findings: 0 |
|
claude-review reviewed Chunk 1 of 2 (40 files)Code review, chunk 1 of 2 (blocking only): docs: drop stamps from pointer records (docs)No blocking findings. This lane already reviewed an earlier head ( What I read. Every hunk of all 40 files in chunk 1:
The fragment copies sit at plain Checked against the PR's stated rules (upstream-drift 5.0.0 plus owner decision D26):
Author-claimed, not verified by me. I had no shell or network access, so these are the PR's own claims:
Other checks.
Chunk 2 of 2 (11 files)Code review, chunk 2 of 2 (blocking only): no blocking findingsThis lane already reviewed an earlier head, so this pass reports blocking findings only. Advisory findings were dropped. What I read: every hunk of the 11 files in chunk 2:
Checked against the PR's stated rules (upstream-drift 5.0.0 plus owner decision D26):
Prior findings. The prior-findings file lists one earlier summary comment with no line anchor, marked Author-claimed, not verified by me. I had no shell or network access, so these remain the PR's own claims:
Other checks.
|
Owner decision D26 narrows a stored value to a record that holds a number or string copied or measured from upstream (default, limit, version gate, price, error string, measured figure, hash, pinned SHA). Every other stamp in docs/ outside ADRs goes: described or observed behavior, "no docs page covers X" notes, last-researched dates. Recorded decisions keep their named trigger and drop only the as-of date. docs/upstream records keep stamps only where they store a figure, version, hash or pinned SHA. Restated upstream prose is left in place and listed in the PR body for a later cut. upstream-drift and docs/review/skills-and-agents.md are left to a separate PR. authoring-formats (1.0.7) and native-references (3.6.1) get patch entries, and execution-target's 2.0.1 entry covers the routine-triggers record, as their Versioning sections ask. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VcupojQwC9uJAfmSt4EHZm
Five stamps removed earlier guard records that hold a probe result or a version gate, which D26 counts as stored values: loop-lane's --permission-prompts host run on 2.1.312, mod-authoring's session-type probe on 2.1.288, plugin-philosophy's --scope local observation on 2.1.289, migration-playbook's --plugin-dir bullet with the v2.1.128 zip gate, and permission-rule-hygiene's auto-mode record with its v2.1.284 source conflict. Their as-of dates and triggers come back unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VcupojQwC9uJAfmSt4EHZm
An exit code or other number copied from an upstream page is a stored value under D26. Restore the as-of date and trigger on the records that state one: the four hook-observability exit-code pointers, the hook-input-rewriting deny-versus-exit-2 record, the smoke-test record of the `already installed` string with its `claude plugin configure` pointer, the finding-your-unknowns HTTP 402 and N = 1,372 records, and the automations post's shared stamp, whose page stores the post's figures. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VcupojQwC9uJAfmSt4EHZm
…oval check-standards-contract-bump.sh requires a frontmatter bump and CHANGELOG entry when the contract text changes; the carrying plugins already have patch fragments. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VcupojQwC9uJAfmSt4EHZm
Lane-Activity: pr-unblock/resolve-conflicts
No related issue: batch 1 (docs/) of the sweep that follows #15449, which made pointer records stamp-free; it has no tracking issue.
Summary
Under upstream-drift 5.0.0, a pointer record carries no as-of date and no recheck trigger, and only a
stored value keeps them. This PR sweeps
docs/**/*.md. It leaves outCHANGELOG.mdfiles,docs/standards/(which is managed) and the generateddocs/native-surfaces.md.Fix
config-cascade deviations, ecosystem-commands, rendered-views, routing-as-data team layer,
shared-surface-instruction-governance, loop-lane, hook-observability and plugin-philosophy.
measured figures and hashes.
docs/upstream/records, which are stored values.#start-a-cloud-session-from-your-terminal, because the old#from-terminal-to-cloudanchor no longer exists.
#ports.sync-shared-copies.shregenerated the plugin copies of the standards andplugin-reconfiguration contracts across 33 plugins. Each of those plugins gets one
patchfragment.
routing-as-data (2.0.1) each get a patch entry, because their Versioning sections ask for one
for a wording change. The other touched contracts' Versioning sections do not ask for one.
Second pass: owner decision D26
D26 narrows what counts as a stored value. A record keeps its stamps only when it holds a number or
string copied or measured from upstream: a default, limit, version gate, price, error string,
measured figure, hash or pinned SHA. Every other stamp outside ADRs is removed. That covers observed
behavior with no value, "no docs page covers X" notes, and last-researched dates. A recorded
decision keeps its named trigger and drops only its as-of date. A
docs/upstreamrecord keeps itsstamps only when it stores a figure, version, hash or pinned SHA. Two files are left for a separate
PR:
docs/contracts/upstream-drift/README.mdanddocs/review/skills-and-agents.md.The second pass also adds patch entries to authoring-formats (1.0.7) and native-references (3.6.1).
execution-target's 2.0.1 entry now covers the routine-triggers record. The mattpocock-skills C22
pointer now links
#control-who-invokes-a-skill, an anchor checked against the live page.Restored stamps
I re-scanned every removed stamp's record for a probe or measurement result and found five. Under
D26 they are stored values, so their as-of dates and triggers are back unchanged:
--permission-promptshost run on 2.1.312.--scope localobservation on 2.1.289.--plugin-dirbullet with the v2.1.128 zip gate.A second correction restored the stamps on records that state an upstream exit code or another
upstream number:
already installedstring and itsclaude plugin configurepointer.
Other removals stay. In those records a version appears only as the build the page was read on, or
the number is an issue number or one of our own constants.
Stamp counts
Counted by script, one count per matching line:
The 103 lines left in other docs include 10 in upstream-drift, which this PR leaves alone, and lines
that only define the terms.
Restated behavior to cut
The stamp is removed and the prose stays. Each passage restates upstream behavior and should be cut
later. Line numbers are approximate.
docs/cloud-sessions.md:286: what thereloadSkillssection names.docs/contracts/authoring-formats/README.md:78-86: mermaid C4 is not stable and has no landscape type.docs/contracts/execution-target/README.md:232: the routine connector default.docs/contracts/hook-input-rewriting/README.md:58: auto mode refuses rewritten input.docs/contracts/hook-telemetry/README.md:55: settingsenvvalues get no shell expansion.docs/contracts/permission-rule-hygiene/README.md:30: the auto-mode start default.docs/contracts/permission-rule-hygiene/README.md:260:bashis not a stripped wrapper.docs/conventions/gather-block/README.md:22-30: the worktree isolation checks.docs/migration-playbook.md:689-694: the trust rule, and cloud sessions not loading repo plugins.docs/out-of-scope/agent-run-artifact-attestation.md:20:actions/attestpredicates.:70: no file-change surface.:88: exit-2 delivers the reason.:138: fork inheritance.:145: stderr on an exit-0 skip.:191:classifierContext.:212: noOTEL_*reaches hooks.:721: an unlisted header variable becomes empty.:836: classifier fallback.:1114: no session-total token field.:1196: fork context.:1222:/loopis bundled.:1230: jittered cron.:1245: a fixed loop runs until stopped.:1293:--permission-prompts none.:99: a mod overrides settings hooks.:114: the mod switches and plugin test policy.:147:$.processandsession.startafter/clear.:176: troubleshooting behavior.243-253: the bare alias.258: no collisions.455-470:pluginConfigsand value storage.1009: local settings in a worktree.1097: fork inheritance.1166: the test-writer option.1203: a non-fork subagent starts fresh.1330:CLAUDE_CODE_SUBAGENT_MODELranking.1341: the force switch.1352:agent.spawn.1440-1450: blocked pins.1460-1464: the effort ladder.1477: adaptive thinking.1494: per-call effort.1540: effort trade-offs.1740: thinking vsmax_tokens.1762: skill pin scope.docs/upstream/claude-code-mods/experiments.md:537-539:/clearresets state.docs/upstream/claude-code.md:157:/advisorin-p.docs/upstream/opus-5-5-task-cost.md:221: most coding goes to Sonnet.Kept, unsure
docs/plugin-philosophy.md:1379: alias-pinning variable names copied from upstream, but not adefault or limit.
docs/plugin-philosophy.md:1625,:1637,:1674: probes that name the version they ran on butrecord no measured figure.
docs/contracts/loop-lane/README.md:827: the Haiku record holds a section number and an aliasstring, but most of it restates upstream.
docs/upstream/aiforui-course.md:43-46: stores no value, but its trigger holds the owner-runrecheck procedure.
docs/upstream/claude-code-mods/experiments.md:670: guards the env-var nameCLAUDE_CODE_PLUGIN_DIRSand version 2.1.288.Follow-ups
"refreshes the record's as-of date in place". That wording no longer fits pointer records. It is
a rule, so this PR leaves it.
Verification
scripts/check-changelog-fragments.sh --check: 134 fragments valid.scripts/sync-shared-copies.sh --check: all 802 copies match.--offline --include-fragmentson the changed docs: 0 errors.check-affected: passed after one fragment was renamed. typos had flaggedbain ahex suffix.
sync-shared-copies.sh --checkandcheck-changelog-fragments.sh --checkare clean, and thepre-push
check-affectedrun passed.check-upstream-drift.sh --linkswas stopped after 120sand gave no result.
check-skill.shwas not run: no skill body changed, only synced reference copies.Related
🤖 Generated with Claude Code
https://claude.ai/code/session_01VcupojQwC9uJAfmSt4EHZm