feat(workflow) Feature branches, pushed gate commits and draft PRs; #001 correct error-code ADR #24

Merged
araemer merged 2 commits from plan-feature-branches into main 2026-10-02 16:46:46 +00:00
Owner

plan-feature creates the feature branches, pushes at the gates, and opens a draft PR

  • New Step 3, right after GATE A: each affected sibling is put on <NNN>-<slug>. The branch is created from the base branch in that repo's CLAUDE.md (--no-track, from the remote), or checked out if it already exists. A working tree that is not clean (tracked or untracked files) stops the step.
  • New "Gate commits" section, used after GATE B and after GATE C:
    • commit the approved files by path, in the sibling's own commit format;
    • push right away;
    • open a draft PR against the base (WIP: title prefix, which Forgejo treats as a draft and blocks from merging), or update the description of the one that already exists.
  • Skill ADR: .claude/skills/plan-feature/adr/2026-10-02-plan-feature-branches.md. It partially supersedes 2026-09-26-plan-feature.md.

implement-plan pushes every commit and marks the draft ready

  • Each commit is pushed right away. At the end the skill updates the existing draft PR and removes its WIP: prefix; it opens a new PR only if none exists.
  • --no-pr now means "leave the PR a draft" instead of "stop unpushed".
  • Skill ADR: plugins/recipe-workflow/skills/implement-plan/adr/2026-10-02-implement-plan-draft-pr.md. It partially supersedes 2026-09-26-implement-plan.md.

Rules

  • CLAUDE.md Git Workflow: never commit without pushing. Draft PRs use the WIP: prefix.
  • CLAUDE.md consent rule: approving GATE B or GATE C is a standing permission for that gate's commit, its push, and the draft PR. It does not cover a merge, a review state, removing WIP:, or any other PR or issue.
  • docs/howto-feature-workflow.md describes the new flow, and its "Known gaps" entry about uncommitted ADRs and plans is removed.

#001 Correct the error-code ADR

docs/adr/2026-09-27-required-error-code.md names the backend's errorHandler as the component that sends error responses, but errorHandler.ts is not registered anywhere. The new docs/adr/2026-10-02-error-envelope-backend-writer.md states that which backend component writes the envelope is a backend decision. It points to recipe-backend docs/adr/2026-10-02-single-error-serialization-point.md, which was approved at GATE B and is on recipe-backend#21. The old ADR gets a partial Superseded by: line.

🤖 Generated with Claude Code

## plan-feature creates the feature branches, pushes at the gates, and opens a draft PR - New Step 3, right after GATE A: each affected sibling is put on `<NNN>-<slug>`. The branch is created from the base branch in that repo's `CLAUDE.md` (`--no-track`, from the remote), or checked out if it already exists. A working tree that is not clean (tracked or untracked files) stops the step. - New "Gate commits" section, used after GATE B and after GATE C: - commit the approved files by path, in the sibling's own commit format; - push right away; - open a draft PR against the base (`WIP:` title prefix, which Forgejo treats as a draft and blocks from merging), or update the description of the one that already exists. - Skill ADR: `.claude/skills/plan-feature/adr/2026-10-02-plan-feature-branches.md`. It partially supersedes `2026-09-26-plan-feature.md`. ## implement-plan pushes every commit and marks the draft ready - Each commit is pushed right away. At the end the skill updates the existing draft PR and removes its `WIP:` prefix; it opens a new PR only if none exists. - `--no-pr` now means "leave the PR a draft" instead of "stop unpushed". - Skill ADR: `plugins/recipe-workflow/skills/implement-plan/adr/2026-10-02-implement-plan-draft-pr.md`. It partially supersedes `2026-09-26-implement-plan.md`. ## Rules - `CLAUDE.md` Git Workflow: never commit without pushing. Draft PRs use the `WIP:` prefix. - `CLAUDE.md` consent rule: approving GATE B or GATE C is a standing permission for that gate's commit, its push, and the draft PR. It does not cover a merge, a review state, removing `WIP:`, or any other PR or issue. - `docs/howto-feature-workflow.md` describes the new flow, and its "Known gaps" entry about uncommitted ADRs and plans is removed. ## #001 Correct the error-code ADR `docs/adr/2026-09-27-required-error-code.md` names the backend's `errorHandler` as the component that sends error responses, but `errorHandler.ts` is not registered anywhere. The new `docs/adr/2026-10-02-error-envelope-backend-writer.md` states that which backend component writes the envelope is a backend decision. It points to recipe-backend `docs/adr/2026-10-02-single-error-serialization-point.md`, which was approved at GATE B and is on recipe-backend#21. The old ADR gets a partial `Superseded by:` line. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
plan-feature now puts each affected sibling on branch <NNN>-<slug> before
the repo architects run, and commits the approved ADRs and plans there
after GATE B and GATE C, locally only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs(adr) #001 Correct the backend component named in the error-code ADR
All checks were successful
/ typecheck-contract (pull_request) Successful in 20s
ff78ce0044
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
araemer changed title from feat(workflow) Feature branches in plan-feature; #001 correct error-code ADR to feat(workflow) Feature branches, pushed gate commits and draft PRs; #001 correct error-code ADR 2026-10-02 16:56:18 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
araemer/recipe-platform!24
No description provided.