refactor(review): drop the /codeboarding refresh and full arguments - #96
Conversation
Neither earns its surface any more. refresh re-derived the head from the base, as a remedy for a chain that had drifted. Chains are now bounded by the warm-start bundle's one-day life: a pull request pushed on Monday and Wednesday gets two runs derived from the base and no chain at all, so only same-day pushes chain, and briefly. full was worse than unnecessary, it was misleading. It rebuilt the head from scratch and then diffed it against the published base it had just fetched, so the one artifact a user might actually want to rebuild, the base shared by every pull request forking from that commit, was the one it could not touch. Fixing that or removing it were the honest options, and it is not clear anyone needs it: the engine already escalates to a full analysis by itself when incremental is not viable. A comment that still carries an argument runs an ordinary review rather than failing, so nothing breaks for anyone with the old form in muscle memory. Both can come back if a real need appears. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CodeBoarding reviewStatus: 0 changed components See the full change in CodeBoarding. graph LR
n_Visual_Rendering_Engine["Visual Rendering Engine"]
n_Structural_Diff_Engine["Structural Diff Engine"]
n_Interaction_Orchestrator["Interaction Orchestrator"]
n_Visual_Rendering_Engine -- "Returns rendering metadata and diagram artifacts" --> n_Interaction_Orchestrator
n_Structural_Diff_Engine -- "Provides annotated diff model for visualization" --> n_Visual_Rendering_Engine
n_Interaction_Orchestrator -- "Triggers structural comparison via CLI" --> n_Structural_Diff_Engine
classDef added fill:#1f883d,stroke:#0b5d23,color:#ffffff;
classDef modified fill:#bf8700,stroke:#7d4e00,color:#ffffff;
classDef deleted fill:#cf222e,stroke:#82071e,color:#ffffff,stroke-dasharray:5 3;
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3f6820a4c2
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| | `/codeboarding` | Analyzes the current head, reusing this PR's previous analysis when one is available. | | ||
| | `/codeboarding refresh` | Ignores that previous analysis and re-derives the head from the merge base. | | ||
| | `/codeboarding full` | Forces a from-scratch full analysis of the head. | | ||
| `/codeboarding` analyzes the current head, reusing this pull request's previous analysis when there is one. It takes no arguments. |
There was a problem hiding this comment.
Mark the command removal as a breaking release
This removes the documented semantics of /codeboarding refresh and /codeboarding full: existing users invoking them specifically to bypass warm-start state or force a rebuild will now silently receive an ordinary incremental review. The commit is labeled refactor(review) without a breaking marker, so this change can ride into the moving current-major tag instead of preserving the old behavior for current-major consumers; classify it with ! or a BREAKING CHANGE: footer so release-please creates the required major release.
AGENTS.md reference: AGENTS.md:L57-L60
Useful? React with 👍 / 👎.
|
|
||
| - name: Fetch this pull request's last analysis | ||
| if: steps.guard.outputs.skip != 'true' && steps.guard.outputs.mode == 'review' && steps.guard.outputs.seed_mode == 'chain' && steps.state.outputs.warmstart_name != '' && github.server_url == 'https://github.com' | ||
| if: steps.guard.outputs.skip != 'true' && steps.guard.outputs.mode == 'review' && steps.state.outputs.warmstart_name != '' && github.server_url == 'https://github.com' |
There was a problem hiding this comment.
Bound the warm-start chain before removing refresh
When a PR receives at least one trusted review within every warmstart_retention_days window, this unconditional lookup always fetches the newest bundle, and the publication step at action.yml:352-359 then uploads another bundle with a fresh retention period. Consequently, the one-day default does not bound the lineage: chain_depth can grow indefinitely on an active PR, preserving exactly the accumulated incremental drift that /codeboarding refresh allowed users to clear. Keep a reset path or reject warm starts based on an absolute lineage age/depth before removing that command.
Useful? React with 👍 / 👎.
Removes both command arguments.
/codeboardingnow takes none.Why
refreshgoesIt re-derived the head from the base, as a remedy for a chain that had drifted across many stacked incrementals.
Chains are now bounded by construction: the warm-start bundle lives one day. A pull request pushed Monday and Wednesday gets two runs derived from the base and no chain at all. Only same-day pushes chain, and never for long. The remedy for a problem that mostly cannot happen is not worth a command surface, an output threaded through four files, and its own conditions in
action.yml.Why
fullgoesIt was misleading rather than merely unnecessary. The base fetch has no mode condition, so
/codeboarding fullrebuilt the head from scratch and then diffed it against the very base it had just fetched:full, as shippedSo the one artifact a user might genuinely want rebuilt — the base, shared by every pull request forking from that commit and kept 30 days — is precisely the one it could not touch. Either fix it to bypass the base too, or drop it. Dropping wins because it is not clear anyone needs it: the engine already escalates to a full analysis on its own when incremental is not viable, and a user has no way to tell the remaining case apart.
If a bad shared base ever does need clearing, deleting that artifact is the direct remedy, and a proper "rebuild everything" command can come back designed for that rather than inheriting a shape that never did it.
Compatibility
A comment that still says
/codeboarding refreshruns an ordinary review rather than failing, so nothing breaks for anyone with the old form in muscle memory or in a runbook.What changed
guard.shstops parsing a second word entirely,analyze.shloses bothSEED_MODEbranches, and the warm-start fetch loses its mode condition. Two tests that existed only to cover the modes are gone; 91 remain and pass.tests/test_merge_base_contract.pyis untouched — it passesSEED_MODEas an env var, which is now simply ignored.🤖 Generated with Claude Code