ci: gate the supersession index on being current - #1048
Conversation
The table went stale within the hour of #1046 merging. #1047 landed a plan naming GateDecision and ThinkingStyle without citing the ruling -- a 63rd blind plan -- so the index committed minutes earlier no longer reproduced (RESCOPE 50->51, GateDecision 19->20, ThinkingStyle 23->24). Nothing was wrong with the generator. It reads .claude/plans/ + crates/ + COMPONENT-MAP.md, so any PR that adds a plan makes the committed table stale, and generation was manual. That is the same defect the index was built to fix, one level up: generating it removed the transcription error and left the staleness. A generated artifact with no staleness gate is a hand-maintained artifact with extra steps. The workflow regenerates, diffs, and fails with the regenerate command. It watches the generator's INPUTS, not just the generator, because the inputs are what made it stale. Falsified both ways: appending one comment to the index makes it exit 1; regenerating makes it pass. Also refreshes the index to current. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AGVLyRZNEKKBSfBDJfbY3V
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_28cefdcc-eb85-4023-ac21-1ad70e5ad165) |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5e212df97d
ℹ️ 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".
| - .claude/plans/** | ||
| - .claude/v3/COMPONENT-MAP.md | ||
| - .claude/tools/supersession_index.py | ||
| - .claude/board/SUPERSESSION-INDEX.md |
There was a problem hiding this comment.
Include every generator input in the PR path filter
When a PR changes only crates/**/*.rs, .claude/board/entries/**, or .claude/board/EPIPHANIES.md, this workflow will not run, even though the generator scans those files for crate-mention counts and board coverage (.claude/tools/supersession_index.py:24-32,48-49). GitHub specifies that a path-filtered workflow runs only when at least one changed path matches the filter (workflow syntax), so such a PR can merge a stale index; the subsequent push run detects the drift only after it has landed on main.
Useful? React with 👍 / 👎.
The table went stale within the hour of #1046 merging.
#1047 landed alongside it and added
grounding-descent-cognitive-maslow-v1, which namesGateDecisionandThinkingStylewithout citing the ruling — a 63rd blind plan. So the index committed minutes earlier no longer reproduced:RESCOPEGateDecisionnamed in plansThinkingStylenamed in plansNothing was wrong with the generator. It reads
.claude/plans/+crates/+COMPONENT-MAP.md, so any PR that adds a plan makes the committed table stale, and generation was manual — the freshness lasted exactly as long as nobody else merged.This is the same defect the index was built to solve, one level up. The original argument was that a hand-kept table goes stale at the next rename, and a stale one authorises work against a retired symbol. Generating it removed the transcription error and left the staleness, because "generated" only means current at the moment someone last ran it. A generated artifact with no staleness gate is a hand-maintained artifact with extra steps.
The workflow regenerates, diffs, and fails with the regenerate command in the error. It watches the generator's inputs (
.claude/plans/**,COMPONENT-MAP.md) and not merely the generator, since the inputs are what actually made it stale.Falsified both ways before committing — appending one comment to the index makes it exit 1; regenerating makes it pass.
Also refreshes the index to current.
Standing limit, stated rather than buried: the gate proves the table is current, never that a route is right. The
ARCHIVE?batch was current and 3/3 wrong.🤖 Generated with Claude Code
https://claude.ai/code/session_01AGVLyRZNEKKBSfBDJfbY3V
Generated by Claude Code