Add the cascade-adapt skill and the /cascade command - #42
Conversation
Supports the cross-repository wave machinery introduced in `summit` (see `summit/docs/rollout/rebuild.md`): * `skills/cascade-adapt/` — the judgement step inside a wave's build loop: diagnoses the failure `cascade build` escalated, fixes and commits mechanical breakage (one commit per invocation, subject `Adapt to refreshed dependencies`), and parks the repository with a written diagnosis when the fix requires a design decision. Never touches `buildSrc/**` or `version.gradle.kts`. * `claude/commands/cascade.md` — the summit-only wave-driving loop (status -> next -> act -> await), carrying the session grant wording and the honesty rules (state advances only on derived proof). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Frontmatter conventions for the command (`allowed-tools`, `argument-hint`, folded description), a grammar splice, precise wording of the session-grant sentence (`pre-pr` writes a sentinel file, not a commit), runt rewraps, and terminology alignment (repository / config-distributed / `<wave-slug>`). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Codex Review SummaryThis 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. |
There was a problem hiding this comment.
Pull request overview
Adds shared wave machinery assets to this repo so downstream Spine repositories can float them via ./config/pull: a cascade-adapt skill to classify/fix cascade build breakages, and a summit-only /cascade command to drive one wave iteration.
Changes:
- Added the
skills/cascade-adapt/skill definition, including procedure, boundaries, and commit authorization rules. - Added OpenAI agent metadata for
cascade-adapt. - Added the
claude/commands/cascade.mdcommand that orchestrates./cascade(status → next → act → await) with session-grant and honesty rules.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| skills/cascade-adapt/SKILL.md | Introduces the cascade-adapt procedure, mechanical vs semantic classification, and commit authorization constraints. |
| skills/cascade-adapt/agents/openai.yaml | Registers the skill’s UI metadata and default prompt for the OpenAI agent interface. |
| claude/commands/cascade.md | Adds the summit-only /cascade command loop to drive wave progression via ./cascade subcommands. |
Suppressed comments (1)
skills/cascade-adapt/SKILL.md:82
- The commit authorization section should explicitly forbid empty/partial commits (and committing when the post-fix rebuild still fails), consistent with other skills’ commit constraints.
- Use the exact subject `Adapt to refreshed dependencies`.
- No `git push`, `git tag`, `git rebase`, `git commit --amend`, or any other
history-writing operation. Those require a separate authorization
(`.agents/guidelines/safety-rules.md` → *Commits and history-writing*).
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: aca6ca3097
ℹ️ 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".
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Commit authorization now covers module-level `build.gradle.kts` dependency declarations — the previously listed mechanical case "declare a dependency that stopped leaking transitively" was impossible to commit under the source-and-test-only scope. Also requires a passing module rebuild before the commit and forbids empty commits. * The semantic-path `cascade park` call runs from the superproject root (`git rev-parse --show-superproject-working-tree`) — the script does not exist inside the failing repository. * Removed the `.agents/tasks/` reference (task plans are volatile per `docs/authoring-skills.md`); the diagnosis now travels in the park reason and the Report. * Restructured the skill body to the required `Workflow` / `Repo Notes` / `Report` contract, with explicit Adapted vs Parked outcome shapes. * The `/cascade` session grant now names the `git push` and `gh pr create` operations performed by `ship`/`close --ship` (grants cover only named operations), and the command's `Bash` allowance is scoped to `./cascade`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…e-adapt-skill # Conflicts: # skills/cascade-adapt/SKILL.md
Summary
Adds the two shared assets that support the cross-repository wave machinery
being introduced in
summit(summit/docs/rollout/rebuild.md):skills/cascade-adapt/— the judgement step inside a wave's build loop.Diagnoses the failure
cascade buildescalated, classifies it mechanical(fix and commit, one commit per invocation, subject
Adapt to refreshed dependencies) vs semantic (write a diagnosis and parkthe repository). Carries a
## Commit authorizationsection following thebump-versionhouse wording; never touchesbuildSrc/**orversion.gradle.kts.claude/commands/cascade.md— the summit-only/cascadeloop(status → next → act → await) with the session-grant wording and honesty
rules (state advances only on derived proof). Declares itself inert in any
repository without
./cascadeat the root.Merging this before the first wave lets each repository's
./config/pullfloat the skill everywhere it may be needed.
Verification
review-docsreviewed the prose (verdict: APPROVE WITH CHANGES); all itsShould-fix items and nits are applied in the second commit.
summit/docs/rollout/rebuild.mdand thecascadescript exist on summit'scascade-machinerybranch.🤖 Generated with Claude Code