Skip to content

docs: drop stamps from pointer records (batch 5) - #15473

Queued
kyle-sexton wants to merge 7 commits into
mainfrom
docs/drop-pointer-stamps-batch5
Queued

kyle-sexton wants to merge 7 commits into
mainfrom
docs/drop-pointer-stamps-batch5

Conversation

@kyle-sexton

@kyle-sexton kyle-sexton commented Nov 12, 2026 •

Copy link
Copy Markdown
Member

No related issue: batch 5 of the Q11 pointer-stamp sweep that follows the upstream-drift 5.0.0 contract change; it has no tracking issue.

Summary

Applies upstream-drift 5.0.0 ("Required parts") to session-flow, source-control, planning and evals. A pointer record keeps its decision and section-anchored link and drops its as-of date and recheck trigger. A stored value keeps both: a recorded default, limit, version gate, error string, probe figure or pinned SHA (D26). In tables with an As-of column, each row is decided on its own: pointer rows leave the As-of and Recheck cells empty and value rows keep their stamp. The plugin-eval "What's available in cloud sessions" links now use the live anchor, which has a curly apostrophe. A recorded decision with a named trigger keeps the trigger and drops only the date.

Excluded from this batch: shared copies whose canonical lives in lib/ or docs/contracts/ (batch 7 owns those), CHANGELOG files, JSON/YAML data, and eval data.

Fix

Stamp matches before and after (as-of / trigger, CHANGELOG and JSON excluded, counted by script):

Plugin As-of before As-of after Trigger before Trigger after
session-flow 150 40 151 46
source-control 160 66 203 104
planning 111 37 112 38
evals 92 53 91 56

What remains is stored values (about 170), the kept-unsure items below, excluded shared copies, and words that only mention stamps.

A second commit restores the stamp on ten records that hold a probe or measurement result (D26). A re-scan of the diff found them:

The planning interview-defenses.test.sh digest pins were re-pinned with tests/repin.sh, because the pinned sections lost stamp text only. The old and new values are in the commit message.

Restated behavior to cut (stamp removed, prose left for a follow-up)

  • session-flow reference/observer.md:116-118: paraphrases the precedence between CLAUDE_CODE_EFFORT_LEVEL, --effort and --settings.
  • source-control README.md:357: says subagent and workflow worktrees are kept. README.md:385: says the native binary neither ships nor uses Node.
  • source-control reference/providers/github/README.md:152-156: says the proxy serves no GraphQL (403). Same file, :177: says a draft cannot merge.
  • source-control reference/providers/github/pull-request/create.md:56-60: the proxy 403 and the REST fallback.
  • source-control reference/providers/github/babysit-prs/safety.md:47-55: gh pr merge queue behavior.
  • source-control reference/providers/github/pull-request/merge.md:169-172: what a 409 means, plus the status list. Same file, :308-311: how a PR joins the queue.
  • source-control reference/stacked-prs.md:79,85-87: stack merge semantics.
  • source-control reference/worktree-root-convention.md:83-86: where EnterWorktree(name:) lands.
  • source-control hooks/worktree-create-gate.sh:183-187: substitution-token rejection. hooks/worktree-remove-gate.sh:45-48: the WorktreeRemove contract. scripts/worktree-create.sh:1312-1320: the .worktreeinclude rules.
  • source-control skills:
    • the "files arrive through the Read tool as plain bytes" block, repeated in the babysit-loop, babysit-prs, commit, pull-request and setup SKILL.md
    • babysit-loop/reference/promotion-evidence-bootstrap.md:57-61
    • babysit-prs/reference/orchestration.md:~530
    • pull-request/reference/monitor.md:~158 and :~566
    • the claim cells of babysit-prs/reference/native-autofix-pr.md:10 and pull-request/reference/native-surfaces.md:15-19
  • planning:
    • draft-goal-condition/SKILL.md:~44: the "research preview" label
    • interview/SKILL.md:~431: Read and CLAUDE_PLUGIN_ROOT behavior
    • interview/context/loop.md:416: what the cli-reference and env-vars pages cover
  • evals:
    • design/SKILL.md:~200-205: how the arms run
    • methodology/reference/eval-design.md:~61-66: effort guidance
    • plugin-eval/reference/reading-results.md:~211-214 and the usage-limit Gotchas bullet in plugin-eval/SKILL.md: errored-run grading
    • methodology/reference/local-decisions.md:74-75: the blog's rubric position

Kept, unsure

  • planning skills/draft-goal-condition/reference/workflow-row.md:19,35,47: kept, as ruled. The skill names this record's date when it cannot fetch the docs, and the dg-standing-setting-xhigh eval samples cite it.
  • evals "distilled 2026-08-08" stamps in methodology/SKILL.md:19, eval-design.md:10, grading.md:10, recipes.md:9 and success-criteria.md:9: kept, as ruled. The update action reads and refreshes them.
  • source-control skills/babysit-loop/reference/promotion-evidence-bootstrap.md (~428, ~444) and promotion-evidence-implementation-plan.md:36: verification records of our own code, not of an upstream.
  • source-control skills/worktree/reference/gather-block.md:42-47: an owner record that mixes a probe, the 2.1.257 note and pointers.
  • planning lib/html-escape.mjs:21: a generated copy. Its "Recheck:" pointer comment belongs to the canonical lib/html-escape.mjs, which batch 7 owns.

Kept, no anchor checked

  • evals skills/design/SKILL.md (old 209): plugin-evals.md has no anchor.
  • planning skills/design/reference/type-discipline/typescript.md:129 (Handbook Narrowing) and interview/context/nfr-prompts.md:39 (ISO page).
  • session-flow reference/observer.md:87: the cli-reference link. It is a stored value, so its stamp stays.
  • source-control:
    • README.md:385 (/docs/en/setup)
    • reference/providers/github/README.md:65-67 and :178
    • reference/providers/github/pull-request/ready-for-review.md:~246
    • skills/babysit-loop/reference/promotion-evidence-bootstrap.md:42
    • skills/pull-request/reference/create.md:425
    • skills/babysit-prs/reference/stuck-checks.md:76
    • skills/babysit-prs/reference/native-autofix-pr.md:10

Verification

  • markdownlint-cli2 on all 129 changed .md files: 0 issues.
  • sync-shared-copies.sh --check: all 802 copies match.
  • check-changelog-fragments.sh --check: valid. There is one patch fragment per plugin.
  • lychee --offline --include-fragments on the changed .md files: 0 errors.
  • check-skill.sh on the four skills roots: 39 passed, 0 failed, 110 WARN. The baseline on the main checkout was 40 passed and 112 WARN; it was one skill more because that checkout still has planning/questionnaire.
  • Tests:
    • planning: reattach-slice 25/0 (re-run after rebase) and interview-defenses 185/0; repin-digests, goal-condition-length, build-view, plan-stress-test and the other text-reading tests pass.
    • source-control:
      • branch-update-method 422/0 and branch-update-signals 385/0
      • the worktree gates and nesting-invariant-ssot 22/0 (re-run after rebase)
      • engine, engine-b, engine-c and engine-d
      • the 12 pull-request text-reading .test.sh files and babysit-readiness-gate
      • the babysit-prs pytest set: 1705 passed
    • evals: test_validate_cases, test_run_validity and test_convert_evals_json OK.
    • session-flow: test_workflow_stage_order and setup-apply pass.
  • Rebased onto main. The one conflict was planning/skills/prd/SKILL.md; main had already rewritten that line without a stamp, so main's line was kept.

Related

  • Policy: .claude/rules/skill-bodies-state-current-rules.md and docs/contracts/upstream-drift/README.md#required-parts.

Follow-ups

  • Pre-existing (advisory): plugins/session-flow/skills/running-retro/scripts/observer.test.sh fails before running any test on a host whose python is uv's Python 3.14. It calls python -m unittest <absolute file path>, which that interpreter cannot import. The same suite, run as python3 -m unittest discover -s <scripts dir> -p test_observer.py, passes 88/88. The fix is to switch the script to discover.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VcupojQwC9uJAfmSt4EHZm

Apply upstream-drift 5.0.0 ("Required parts") to session-flow,
source-control, planning and evals: a pointer record keeps its decision
and section-anchored link but no as-of date or recheck trigger; a stored
value (default, limit, version gate, error string, probe figure, pinned
SHA) keeps both. Recorded decisions with a named trigger keep the trigger
and lose only the date. In tables with an As-of column, pointer rows show
"—" and value rows keep their stamp. Shared copies whose canonicals live
in lib/ or docs/contracts are left to the batch that owns them.

Stamps (as-of / trigger matches, CHANGELOG and JSON excluded):
session-flow 150 -> 36, source-control 160 -> 60, planning 111 -> 37,
evals 92 -> 50.

The planning interview-defenses digest pins moved because pinned
sections lost stamp text only; re-pinned with tests/repin.sh:

loop.md open-question register: f3a176dbcd93d306b5b021aeabc1ce49fe8db081b285da7895a1aec6b0c2e69d -> f53561525819b0d7eae5b9eaa02a7cb5a0e061bfdb73ebf03af9652271d10f53
loop.md Unattended path: 6a1fba5865d08c7787a7b4d08e7e3f21c9a53882e5975a6022b7750e86da5112 -> f1b9a00efb905dd1d8bf64f133629343cd52fb5fc029d39b931eb57a640ce35e
SKILL.md Action Router: 6695e5fce036cc33040726ecd35aed817679dfba13c77648e6df81c428148b39 -> 9ec05ae465fc8e693fde59be1e81d386cd350f63021787ecc29179fc23eff758
loop.md relentless mechanics: 2daa3ec627587728314ce203d5005819852db44ec7d94e1c493a4cedce3cdf48 -> 56ff36d3813d798fd0ab61346f5e4d0c6ab05fdf2dd0eb761b147ff89c64b5a7
context/assumption-sweep.md: b17e0525cbe81bf363a2de400da5b39750400cb5186910c52e99145048bce413 -> 11504458a14c33dcc557289ea1a72cdff082fe22b729598e51abc479aa80e755

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VcupojQwC9uJAfmSt4EHZm
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-12T00:04:04.477688Z b3c626c PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kyle-sexton kyle-sexton added the do-not-merge Hard merge gate: do not merge while applied. label Nov 12, 2026

@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: b3c626c21b

ℹ️ 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".

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

claude-security-review reviewed 72ac27983d43e06988e16881d3da6dacd5392531: read 134 of 134 changed file(s); 0 finding(s), 0 as inline comments.

Chunk 1 of 4 (40 files)

Security review: chunk 1 of 4 (blocking only)

I found no security issues in this chunk.

What I read. I read every hunk of all 40 files in .claude-lane/chunks/chunk-1.patch:

  • the evals changelog fragment
  • plugins/evals/README.md
  • the evals design, methodology and plugin-eval skill bodies and their reference files
  • the planning agents (plan-reviewer.md, upload-reader.md)
  • the planning context/, reference/ and shared/README.md files
  • the planning skill bodies and context files for audit-answers, design-handoff, design, devils-advocate, draft-goal-condition, interview and plan

What changed. Every edit is documentation. Pointer records lose their As of dates and Recheck trigger lines, and inline "as of …; recheck when …" clauses are removed. Two verification tables, the plugin-eval/SKILL.md Sources and route table and draft-goal-condition/reference/native-goal.md, now leave the As-of and Recheck cells empty on rows that only point at a doc. Rows that hold an observed value keep their stamps. In evals/skills/design/SKILL.md, a "Verified 2026-09-11 … Recheck when …" sentence becomes a read-live pointer to the same page and --help.

No hunk changes:

  • a command or code block
  • a tool grant
  • a ${user_config.*} reference
  • a URL host
  • the wording of a rule

The plugin-eval/SKILL.md cloud-route link keeps its percent-encoded curly-apostrophe anchor on code.claude.com.

Instruction-surface lens. Many of these files are skill or agent bodies, so I checked whether any hunk removes or softens a standing rule. None does. The only text removed is upkeep metadata, which neither forbids nor allows anything. The safety rules next to the edits are all unchanged:

  • env-scrub stays on in the GitHub Actions row
  • the --trust-plugin and --no-publish guidance
  • the Gotcha that the sandbox is not a security boundary
  • the tools withholding pointer in upload-reader.md
  • the "declared, never sniffed" unattended trigger in interview/context/loop.md
  • the fresh-context, non-fork validator rule in audit-answers and assumption-sweep.md
  • the plan-mode routing rules and the agent-team rule that file ownership must not overlap, in plan/SKILL.md and plan-template.md

No protected class loses enforcement. This lane cannot read the instruction exception register, so I judged by consequence and did not consult its class list.

Identical files. The evals changelog fragment has three identical copies, at .changes/planning/, .changes/session-flow/ and .changes/source-control/. All four are changelog fragments under .changes/, so the path does not change what the content does.

Trusted paths. No file in this chunk matches a listed trusted-path glob.

Plugin manifests. This chunk changes no plugin.json or marketplace.json.

Embedded text. The PR context file contains no text that tries to direct this review. The one settled thread, on native-commit.md, belongs to chunk 3.

Prior findings. The lane's earlier review of head 792cdd9f posted no finding for this chunk. The new head only merges main.

Spend. None. This chunk is documentation only.

Mode. The prior-findings file says blocking only: yes, so this review reports only CRITICAL and IMPORTANT findings. There were none.

critical-findings: 0

Chunk 2 of 4 (40 files)

Security review: chunk 2 of 4 (blocking only)

I found no security issues in this chunk.

What I read. I read every hunk of all 40 files in .claude-lane/chunks/chunk-2.patch:

  • the planning plan, prd and setup skill text, and planning/tests/interview-defenses.test.sh
  • the session-flow README and hooks/observer-arm.sh
  • the session-flow reference/ files
  • the skill bodies and reference files for audit-friction, audit-sessions, clean-stop, continue-in-background, find-handoff, handoff, keep-going, orchestrate, orient, reanchor, recall, recommend-skills, reconcile and retro

What changed. The change removes stamps only:

  • Pointer records lose their As of / Recheck trigger lines.
  • Inline "as of …; recheck when …" clauses are removed.
  • Rows in the verification-record tables leave the As-of and Recheck cells empty.
  • Two table intros now say stamps apply only to stored observations.

No hunk changes:

  • a command or code line (the observer-arm.sh hunk touches only a comment)
  • a tool grant or a ${user_config.*} reference
  • a URL host or the wording of a rule

Re-pinned defense digests. interview-defenses.test.sh updates five pin hashes, which cover parts of interview/context/loop.md, interview/SKILL.md and interview/context/assumption-sweep.md. Each update adds one comment saying only stamps were removed. I checked that against those files' hunks in .claude-lane/pr.diff (they are in chunk 1).

  • The pinned sections lose only as-of and recheck text: the Action Router AskUserQuestion limit clause, the Unattended path's "as of 2026-09-02 … recheck" parenthetical, the context-window pointer's stamps, and the assumption-sweep fork pointer's stamp.
  • The rules those pins protect are unchanged: "declared, never sniffed", the no-silent-resolve rule, the lock and STOP-on-gap rules, and the request-any-type-but-fork rule.

So the re-pin weakens no defense.

Instruction-surface lens. Most files are skill bodies, so I checked whether each removed line held a rule. None did; they were upkeep metadata. The safety rules next to the edits are unchanged:

  • the continue-in-background dirty-tree and isolation launch gates, --permission-mode auto, and the redaction note about the argument list
  • the find-handoff rule to pass each line as one quoted argument
  • the audit-sessions rule to pass CLAUDE_PLUGIN_DATA as a literal, and its rule never to guess a session id
  • the handoff rule never to retire a worker with TaskStop
  • the orchestrate effort floor of medium
  • the clean-stop and retro rules never to invoke /export

No protected class loses enforcement. I could not read the instruction exception register from this lane, so I judged each removal by its consequence, not against the register's class list.

Trusted paths. No file in this chunk matches a listed trusted-path glob.

Plugin manifests. This chunk changes no plugin.json or marketplace.json.

Embedded text. The PR context file contains no text that tries to direct this review. The one settled thread is on native-commit.md, which is in chunk 3.

Spend. None; the chunk is documentation and test-pin comments only.

Mode. The prior-findings file says blocking only: yes, so I reported only CRITICAL and IMPORTANT findings. There were none, and the lane has no earlier inline finding on this chunk to repeat.

critical-findings: 0

Chunk 3 of 4 (40 files)

Security review: chunk 3 of 4 (blocking only)

I found no security issues in this chunk.

What I read. I read every hunk of all 40 files in .claude-lane/chunks/chunk-3.patch:

  • the session-flow running-retro, setup and workflow skill bodies and the workflow context files
  • plugins/source-control/README.md
  • the hooks worktree-create-gate.sh and worktree-remove-gate.sh, and scripts/worktree-create.sh
  • the source-control reference files: branch-update criteria, the GitHub provider docs, stacked PRs and the worktree-root convention
  • the babysit-loop, babysit-prs, commit and pull-request skill bodies and their reference files

What changed. This chunk only removes stamps:

  • Pointer records lose their As of dates and Recheck trigger lines, or the inline "as of …; recheck when …" clauses.
  • Three verification-record tables (native-autofix-pr.md, native-commit.md, native-surfaces.md) leave the As-of and Recheck cells empty on rows that only point at a doc, and add one sentence saying so.
  • A few records drop only the date and keep their trigger (stacked-prs.md, orchestration.md, telemetry-upsert.md, promotion-evidence-resolution.md).
  • Some lines are re-wrapped with no change in wording (create.md, promotion-evidence-resolution.md).

The three shell files change only in # comment lines: no executable line, variable read, deny path or exit code changes. No hunk changes a command, a code block, a tool grant, a ${user_config.…} or CLAUDE_PLUGIN_OPTION_* reference, a URL host, or a rule's wording.

Instruction-surface lens. Many files here are skill bodies or the reference files they load, so I checked whether any hunk removes or softens a rule. None does. The removed text is upkeep metadata, which forbids or allows nothing. The safety rules next to the edits are unchanged:

  • "Values reach scripts ONLY as explicit CLI flags … it never widens tier authority" in babysit-prs/SKILL.md
  • the head-ref uniqueness guard and lease-protected removal in babysit-prs/reference/safety.md
  • the trust hold on provenance: untrusted and the issue-vouched requirement on the unattended merge path
  • the fork-run approval hold in stuck-checks.md (only its record label changes from "Claim, basis, as of, recheck" to "Pointer")
  • the --no-verify ban and the "push stays with the orchestrator" reasoning in orchestration.md
  • the "genuine user turn" consent rule in workflow/context/continuation.md
  • the Read-tool plain-bytes ${…} substitution warning, kept in every spoke-paths section
  • the substitution-token rejection rationale in worktree-create-gate.sh

No protected class loses enforcement. I could not read the instruction exception register's file from this lane, so I judged by consequence instead of checking its class list.

Trusted paths. No file in this chunk matches a listed trusted-path glob. The babysit-prs files touched here are SKILL.md and reference/*.md, not the listed scripts/*.py gate files.

Trust controls / merge holds. No change to the trusted-trigger check, the token broker, the kill switch, or a merge-hold script or setting.

Plugin manifests. This chunk changes no plugin.json or marketplace.json.

Settled threads. The one settled thread, on native-commit.md, is about whether a documentation-absence row keeps its stamp. That is a doc-upkeep question, not a security one, so it raises nothing here.

Embedded text. Neither the PR context file nor the settled-threads file contains text that tries to direct this review.

Spend. None. This chunk is documentation and comments only.

Mode. The prior-findings file says blocking only: yes, so this review reports only CRITICAL and IMPORTANT findings. There were none.

critical-findings: 0

Chunk 4 of 4 (11 files)

Security review: chunk 4 of 4 (blocking only)

I found no security issues in this chunk.

What I read. I read every hunk of all 11 files in .claude-lane/chunks/chunk-4.patch:

  • the source-control pull-request reference files ready-for-review.md and watch-handoff.md
  • setup/SKILL.md
  • the worktree skill: SKILL.md, context/audit.md, context/cleanup.md, context/macos-caches.md, fixtures/README.md, fixtures/nesting-invariant-probe.sh, reference/native-worktree.md and reference/nesting-invariant.md

What changed. The edits only remove stamps:

  • Pointer records lose their As of dates and Recheck trigger lines.
  • Inline "as of …; recheck when …" clauses are removed.
  • One row in the native-worktree.md verification table (the EnterWorktree(path:) pointer row) now leaves its As-of and Recheck cells empty, and the table's intro now says so.

The only edit to nesting-invariant-probe.sh is in a # comment, so the script runs the same. No link host changes. No hunk changes a command, a code block, a tool grant, a userConfig reference or a rule's wording.

Instruction-surface lens. These are skill bodies and reference files, so I checked whether any hunk removes or softens a rule. None does. Only upkeep metadata was removed, and it forbids or allows nothing. The rules next to the edits are unchanged:

  • the headless "skip EnterWorktree outside .claude/worktrees/" rule in worktree/SKILL.md
  • the read-only, never-remove-a-record rule in audit.md Step 2b, and its rule against emitting ${CLAUDE_PLUGIN_ROOT}
  • the five cleanup reap rules in cleanup.md
  • the "settings cannot prove reachability" INFO rule in setup/SKILL.md
  • the usage-floor checks before launch in watch-handoff.md

No protected class loses enforcement. I could not read the instruction exception register's file from this lane, so I judged by consequence instead of checking its class list.

Trusted paths. No file in this chunk matches a listed trusted-path glob. .claude/worktrees/ appears only in prose, never in a changed file's path.

Identical files. The only identical-file set is the four changelog fragments under .changes/, which are in another chunk. None of them is in this chunk.

Plugin manifests. This chunk changes no plugin.json or marketplace.json.

Embedded text. The PR context file contains no text that tries to direct this review.

Spend. None. This chunk is documentation only.

Mode. The prior-findings file says blocking only: yes, so this review reports only CRITICAL and IMPORTANT findings. There were none. The only prior entry is the earlier summary comment, which has no line anchor and reported 0 findings.

critical-findings: 0

@github-actions

github-actions Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

claude-review reviewed 72ac27983d43e06988e16881d3da6dacd5392531: read 134 of 134 changed file(s); 0 finding(s), 0 as inline comments.

Chunk 1 of 4 (40 files)

Code review, chunk 1 of 4: blocking findings only

This lane already reviewed an earlier head of this PR (blocking only: yes), so this review reports blocking findings only and drops advisory ones. I read every hunk of all 40 files in .claude-lane/chunks/chunk-1.patch: the evals changelog fragment, the evals README and skill docs, and the planning docs up to plan/context/plan-template.md.

What the chunk does. It removes as-of dates and recheck triggers from pointer records. That covers standalone As of / Recheck trigger bullets and inline "as of YYYY-MM-DD; recheck when …" phrases. In the plugin-eval route table (cloud row), the plugin-eval ## Sources table (cloud and model/judge rows) and three native-goal.md rows, it blanks the As-of and Recheck cells of pointer-only rows. The plugin-eval ## Sources intro now says a pointer-only row leaves those cells empty. The planning design-principles.md, reversibility.md and variation-points.md citations drop their stamps too.

Findings. I found no blocking findings in this chunk.

  • Value records keep their stamps. These rows and records still carry their As-of and Recheck cells:
    • the /harness-ops:inventory binary extractions in native-goal.md, including the 500-character ProposeGoal cap and the ask_user default
    • the observed-on-version rows of the plugin-eval Sources table
    • the 24-character eval_tmpdir bound
    • the Windows, WSL2 and GitHub Actions route rows
  • local-decisions.md. It drops only the inline "as of 2026-10-01". The record's own As of / Recheck trigger bullets right below it stay, so the date is still recorded.
  • sandboxes.md Docker link-swap record. It drops its date and keeps its named Recheck when: trigger. That follows the PR's rule that a recorded decision with a named trigger keeps the trigger.
  • No dangling references. Prose that names another record still names one that exists. Examples are case-authoring.md ("the Grant tools record", "the targets record and the grader-types record") and ci.md. Only the stamp that prose carried is gone.
  • No code parses the removed text. I searched the evals scripts and planning tests for anything that reads stamp text. The hits in validate-cases.py, run-validity.py and convert-evals-json.py are their own comment records, which this PR does not change. The only planning test hit is the interview-defenses.test.sh digest pins, which chunk 2 holds; the PR body says they were re-pinned.

Closing issue. None. The PR body says it has no tracking issue, so there are no acceptance criteria to check.

Manifests. No plugin.json or marketplace.json is in this chunk. The new fragment .changes/evals/docs-drop-pointer-stamps-batch5-a37f0c58.md declares bump: patch, which fits a docs-only change.

Settled threads. The one settled thread is on plugins/source-control/skills/commit/reference/native-commit.md, which is in chunk 3. Nothing in this chunk touches it.

Prior findings. This lane's only earlier post is a summary comment with no line anchor, and it reported 0 findings. There is nothing to repeat.

Verification. The PR body reports markdownlint, lychee --offline, sync-copies, check-skill and test runs. Those results are the author's and I have not verified them: this lane has no shell and ran nothing. Lychee ran offline, so nobody checked the %E2%80%99 cloud-sessions anchor against the live page.

Spend. None: this chunk changes no turn limits, models, schedules or billed resources.

I found no embedded instructions in the PR context, settled-threads or prior-findings files.

Chunk 2 of 4 (40 files)

Code review, chunk 2 of 4 (planning and session-flow): blocking findings only

I read every hunk of all 40 files in .claude-lane/chunks/chunk-2.patch, from planning/skills/plan/context/tag-decisions.md through session-flow/skills/retro/reference/native-insights.md. This lane already reviewed an earlier head (blocking only: yes), so this review reports only blocking findings and drops advisory points.

What the chunk changes.

  • Pointer records lose their As of and Recheck trigger bullets, and inline phrases like "as of YYYY-MM-DD; recheck when …" are removed.
  • Pointer rows in the native-* verification tables have blank As-of and Recheck cells: native-plan.md, native-plan-agent.md, goal-probe.md, native-surfaces.md, native-recap.md and native-insights.md.
  • The intro sentence of each of those tables now says only a stored observation carries a date and trigger.
  • The interview-defenses.test.sh digests are re-pinned.

Findings. I found no blocking findings in this chunk.

  • Value records keep their stamps. Rows that store a probe or binary-extraction value keep both cells. Examples are the 2.1.284/2.1.288 inventory rows, the Run C probe row in denial-probe.md and the 2.1.304/2.1.306 rows in goal-probe.md.

  • Kept triggers. Some decision records keep their named trigger and drop only the date, as the PR body describes:

    • the "unverified" row in denial-probe.md
    • the claude mcp serve output-file record in off-thread-work.md
    • the transcript-parsing record in audit-sessions/SKILL.md
    • the unconfirmed fork-parenting record in orchestrate/context/sources.md
    • both handoff/reference/* decision records
  • Prose that named the removed stamps was updated. Examples are handoff/SKILL.md ("The decision and pointer live in"), orchestrate/SKILL.md ("Pointers and the empirical probe"), "No docs page states a return size" and orchestrate/context/gotchas.md. I found no remaining sentence in a changed line that sends the reader to a removed date or trigger.

  • Digest re-pins match the chunk-1 edits. I checked the five re-pinned sections against the chunk-1 hunks:

    • interview/SKILL.md Action Router (hunk at line 85)
    • loop.md Relentless mechanics (hunk at line 328)
    • loop.md Unattended path and the open-question register that contains it (hunk at line ~413)
    • assumption-sweep.md (pin_file, Dispatch hunk)

    The other chunk-1 edits to pinned files fall outside every pinned span: interview/SKILL.md Repository context and Spoke paths, audit-answers/SKILL.md Step 2 and Repository context, and lane-shared.md. So no pin should break without a re-pin. I could not recompute the SHA-256 values myself (no shell). That the test passes 185/0 is the author's claim and is unverified.

  • Tests that read stamps. I searched the planning and session-flow test files for anything that parses as-of or recheck text. The hits (test_sweep.py and test_drift.py) read sweep-rules.json and other JSON fields that this PR does not change.

Closing issue. None. The PR body says the batch has no tracking issue, so there are no acceptance criteria to check.

Manifests. No plugin.json or marketplace.json is in this chunk.

Settled threads. The one settled thread is on source-control/skills/commit/reference/native-commit.md, which chunk 3 holds. Nothing in this chunk touches it.

Verification. The PR body reports markdownlint, lychee --offline, sync-copies, check-skill and test runs. Those results are the author's own and unverified: this lane has no shell and ran nothing.

Spend. None: this chunk changes no turn limits, models, schedules or billed resources.

I found no embedded instructions in the PR context, settled-threads or prior-findings files.

Chunk 3 of 4 (40 files)

Code review, chunk 3 of 4 (session-flow tail and source-control docs/hooks): blocking only

This lane already reviewed an earlier head (blocking only: yes), so this review reports only blocking findings. I read every hunk of all 40 files in .claude-lane/chunks/chunk-3.patch.

What the chunk changes. It removes as-of dates and recheck triggers from pointer records. That covers standalone As of / Recheck trigger bullets, inline "as of …; recheck when …" phrases, "verified 2026-10-07; recheck …" basis lines and comment-only stamps in worktree-create-gate.sh, worktree-remove-gate.sh and worktree-create.sh. In native-surfaces.md, native-commit.md and native-autofix-pr.md it blanks the As-of and Recheck cells of pointer-only rows, and each file's intro now says so. The shell-file edits touch comments only, not executable lines.

Findings. None blocking.

  • Value records keep their stamps. Rows and records that hold a stored value still carry them:

    This matches the PR's D26 rule.

  • Recorded decisions keep their named triggers and lose only the date:

    This matches the stated rule.

  • No dangling references. Prose that points at another record still names a row that exists, e.g. native-commit.md pointing at native-surfaces.md's last row and commit-push-pr rows.

  • No test reads this chunk's removed text. I searched the source-control and session-flow test files for stamp text. The only test that parses an as-of date is skills/worktree/nesting-invariant-ssot.test.sh. It reads the nesting-invariant owner record, which is in chunk 4, not any file in this chunk.

Settled threads. The one settled thread is on skills/commit/reference/native-commit.md. The owner's reply states a decision (D26, Q14 = a): a documentation-absence note carries no stamp. The head follows it, so I did not raise it again.

Closing issue. None. The PR body says it has no tracking issue, so there are no acceptance criteria to check.

Manifests. This chunk has no plugin.json or marketplace.json. The source-control changelog fragment is a copy of the evals fragment in identical.txt, which chunk 1 holds.

Verification. The PR body's markdownlint, lychee --offline, sync-copies and test results are the author's claims; I did not verify them. This lane has no shell and ran nothing.

Spend. None: this chunk changes no turn limits, models, schedules or billed resources.

I found no embedded instructions in the PR context, settled-threads or prior-findings files.

Chunk 4 of 4 (11 files)

Code review, chunk 4 of 4 (source-control pull-request, setup and worktree docs): blocking findings only

This lane already reviewed an earlier head of this pull request (blocking only: yes), so this review reports only blocking findings. I read every hunk of all 11 files in .claude-lane/chunks/chunk-4.patch.

What the chunk does. It removes the as-of dates and recheck triggers from pointer records. These were either standalone As of / Recheck trigger bullets, inline As-of: … Recheck trigger: … sentences, or parenthetical "(as of …; recheck when …)" phrases. The files are ready-for-review.md, watch-handoff.md, setup/SKILL.md, worktree/SKILL.md, the worktree context/ files (audit.md, cleanup.md, macos-caches.md), fixtures/README.md, nesting-invariant-probe.sh, native-worktree.md and nesting-invariant.md.

In native-worktree.md, one row now has empty As-of and Recheck cells: the pointer-only EnterWorktree(path:) row. The table intro now says a pointer-only row leaves those two cells empty. The rows that record binary extractions or probe observations on 2.1.285 keep their stamps.

Findings. I found no blocking findings in this chunk.

  • Prose still reads correctly. After each removal, the sentence still parses and the link and its section anchor are still there. For example, watch-handoff.md's "Available data" parenthetical still closes before ": say so", and audit.md's reflowed WorktreeRemove paragraph keeps its text.
  • Dated observations are kept. These are recorded probe results, not pointer stamps, so they stay:
    • "Observed 2026-10-09" in worktree/SKILL.md
    • the "checked 2026-10-11" note in the native-worktree.md Basis cell
    • the STATUS: RUN 2026-09-30 line in the probe script
  • No test reads the removed text. I searched source-control for tests that match the removed stamp text in nesting-invariant.md, fixtures/README.md and nesting-invariant-probe.sh, and found none. The only remaining hits are the plain workspace-trust links.

Closing issue. None. The PR body says the batch has no tracking issue, so there are no acceptance criteria to check.

Manifests. This chunk has no plugin.json or marketplace.json.

Settled threads. The one settled thread is on commit/reference/native-commit.md, which is not in this chunk.

Verification. The PR body lists markdownlint, lychee --offline, sync-copies and test results, including nesting-invariant-ssot 22/0. I did not verify these: this lane has no shell and ran nothing.

Spend. None: this chunk changes no turn limits, models, schedules or billed resources.

I found no embedded instructions in the PR context, settled-threads or prior-findings files.

kyle-sexton and others added 2 commits November 11, 2026 19:19
Under D26 a record holding a probe or measurement result keeps its
as-of date and recheck trigger. A re-scan of the batch 5 diff found ten
such records that lost theirs; this restores them:

- source-control: gh 2.103.3 base-repo record; the GitHub proxy HTTP 403
  (providers README and create.md); the async-merge 409 and status
  strings; the 2.1.271 Monitor source conflict; the cli/cli#14698 probe;
  the Node.js v26 ACL note.
- evals records.md: the Docker credential-store refusal (60 runs, 2.1.289),
  the link-swap record (2.1.314/2.1.316 host run), and the spoke-reach
  grant pointer.
- session-flow orchestrate: the 3-10x fan-out figure, the 9 MB hung-shell
  observation, and the 2-concurrent-agent cloud datum.

Stamps now: session-flow 150 -> 40, source-control 160 -> 66,
planning 111 -> 37, evals 92 -> 53.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VcupojQwC9uJAfmSt4EHZm
@kyle-sexton kyle-sexton removed the do-not-merge Hard merge gate: do not merge while applied. label Nov 12, 2026
kyle-sexton and others added 3 commits November 11, 2026 19:43
The em dash marking a pointer row's As-of and Recheck cells broke the
purged-em-dashes gate on paths declared clean. A pointer row now leaves
those cells empty, and each table intro says so.

The plugin-eval links to "What's available in cloud sessions" used a
straight-apostrophe fragment; the live page's anchor carries a curly
apostrophe (what%E2%80%99s-available-in-cloud-sessions), checked online
with lychee.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VcupojQwC9uJAfmSt4EHZm
Lane-Activity: pr-unblock/resolve-conflicts
@kyle-sexton
kyle-sexton added this pull request to the merge queue Nov 12, 2026
Any commits made after this event will not be merged.

This branch has not been deployed

No deployments
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