Skip to content

Add finish-planning.sh with an approval tied to the planning documents - #51

Merged
taspinar merged 1 commit into
mainfrom
feature/47-finish-planning
Oct 2, 2026
Merged

taspinar merged 1 commit into
mainfrom
feature/47-finish-planning

Conversation

@taspinar

@taspinar taspinar commented Oct 2, 2026

Copy link
Copy Markdown
Owner

What changed

  • New ./scripts/finish-planning.sh in the planning worktree. It refuses when a required document is missing, the requirements are not approved, there is no planning review, the latest review is stale, its round has a critical or major finding, a finding has no revision decision, an adopted finding is not applied yet, or a finding of the latest round is escalated.
  • Every rejected, deferred, and escalated finding of all rounds is shown, also before a refusal. An escalation from an earlier round needs an explicit confirmation that it was resolved; a newer review alone does not resolve it.
  • After approval it records docs/PLANNING_APPROVAL.md (committed): time, branch, final round, all review rounds, confirmed escalations, findings not adopted, and the fingerprint of the reviewed planning. A document that changes while the script waits for the answer is refused.
  • ./scripts/finish-planning.sh --check exits 0 when the approval matches the documents, 1 when it is missing or stale.
  • create-feature-issue.sh <feature-id> refuses to create a feature Issue without a current planning approval.
  • The planning scope moved to scripts/lib/planning.sh, shared by review-planning.sh, finish-planning.sh, and create-feature-issue.sh.
  • README, docs/development.md, and docs/agentic-workflow.md describe description → planning → review ↔ revision → approval → feature Issues.

Issue / acceptance criteria

Closes #47

Risk

  • Low
  • Medium
  • High

Verification evidence

  • ./scripts/verify.sh passed (14 checks), also without global or system Git configuration
  • Tests added/updated where appropriate (tests/finish-planning-test.sh, also passing under macOS system bash 3.2)
  • Independent review completed when required
  • Architecture/docs/ADR updated when required

Independent review: Codex (gpt-6-astra), read-only. CHANGES REQUIRED:

  • M1 (a change during the approval question was approved with a new, unreviewed fingerprint): fixed; the recorded fingerprint must equal the reviewed one. Tested.
  • M2 (a newer review silently cleared earlier escalations): fixed with an explicit, recorded confirmation. Tested.
  • MIN1 (refusals hid the escalated findings and rationale): fixed; decisions are shown before any refusal. Tested.

Not re-reviewed after the fixes.

Agent involvement

Planner: —
Implementer: Claude (Opus 5.5)
Reviewer: Codex (gpt-6-astra)

Production impact

None.

🤖 Generated with Claude Code

finish-planning.sh checks that the requirements are approved, the latest
planning review is current, and its round is resolved: no critical or
major finding, a decision for every finding, nothing adopted but not
applied, and no escalation. Earlier escalations need an explicit
resolution. It shows every finding that was not adopted and records the
approval in docs/PLANNING_APPROVAL.md with the reviewed fingerprint of
the planning documents.

finish-planning.sh --check reports whether the approval still matches
the documents, and create-feature-issue.sh requires a current approval.
The planning scope is shared in scripts/lib/planning.sh.

Closes #47

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@taspinar
taspinar merged commit 6de113a into main Oct 2, 2026
1 check passed
@taspinar
taspinar deleted the feature/47-finish-planning branch October 2, 2026 21:57
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.

Add finish-planning.sh with an approval tied to the planning documents

1 participant