Skip to content

WIP Banzai Codes: add handoff, candidate-summary and PRD actions#205

Draft
madsbf wants to merge 3 commits into
mainfrom
banzai-pipeline-actions
Draft

WIP Banzai Codes: add handoff, candidate-summary and PRD actions#205
madsbf wants to merge 3 commits into
mainfrom
banzai-pipeline-actions

Conversation

@madsbf

@madsbf madsbf commented Jun 11, 2026

Copy link
Copy Markdown

Description

Adds a new banzai-codes/ folder with three composite actions supporting the Banzai Codes refinement loop. A work order is one GitHub issue on two Projects v2 boards (matching the banzai-codes contracts): the Product board tracks the user-facing lifecycle (Define → In Progress → Acceptance → Done) and the Development (harness) board tracks the build pipeline (Ready / Todo / In Progress / Human Review / Merging / Rework / Done). No issues are duplicated; the actions only move board memberships, statuses and comments.

  • banzai-codes/handoff-work-orders (no LLM): one idempotent scan of the Product board. Every open work order in In Progress that isn't on the harness board yet is added there at Todo, where banzai-codes-worker dispatches the coding agent. Board membership is the idempotency marker; a missing initial status is healed, and an existing status is never overwritten.
  • banzai-codes/post-candidate-summary (Codex): scans the harness board for Human Review items, picks the oldest unsummarized one, gathers the issue conversation + linked PR (closing-reference lookup, cross-reference fallback) + all image URLs, and has Codex write a non-technical, PM-facing completion summary with the images embedded as proof of work. The summary is posted on the issue with the idempotency marker (<!-- banzai:summary:done -->) embedded inside the summary comment — banzai-codes treats the most recent comment without one of its own chat markers as the candidate summary, so a separate marker comment would shadow it. After posting, the action opens the acceptance gate by moving the Product-board status to Acceptance, which also guarantees the build agent's intermediate comments are never surfaced as a premature candidate. One item per invocation; remaining-count reports the backlog.
  • banzai-codes/generate-prd (Codex, manual dispatch): explores the checked-out app and generates/incrementally updates a PRD as a folder of markdown files (docs/prd/: index.md overview + one file per feature area, no file paths or code snippets so it survives refactors). A scope guard fails the run if anything outside the PRD folder changed; the result is force-pushed to a fixed banzai/prd-update branch and opened/updated as a single PR. Used to ground Banzai Codes' define flow in current app behavior.

Since GitHub Actions cannot trigger on Projects v2 status changes, the two scanners are one-shot idempotent scans meant for schedule: cron + workflow_dispatch: wiring — banzai-codes/README.md includes a complete consumer pipeline workflow, token requirements (GitHub App installation token with org Projects RW + Issues RW; default github.token won't work for board scans) and the status-name contract shared with banzai-codes and banzai-codes-worker.

Codex invocation mirrors doright's reusable workflows (openai/codex-action@v1, gpt-5.4, prompt built via github-script, output from final-message).

Motivation and Context

Closes the loop between the Banzai Codes Refinement Studio and the harness execution pipeline: published work orders flow onto the harness board automatically, completed builds flow back as PM-readable candidate summaries at the review gate, and the define flow can be grounded in a maintained PRD of the existing app.

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

🤖 Generated with Claude Code

Three composite actions supporting the Banzai Codes refinement loop:

- banzai/handoff-work-orders: idempotent board scan that creates a
  linked harness sub-issue for every work order entering "In Progress"
- banzai/post-candidate-summary: Codex-generated, PM-facing completion
  summary (with PR images as proof of work) posted unmarked on the
  parent work-order issue when a harness issue reaches "Human Review"
- banzai/generate-prd: manually dispatched Codex pass that generates or
  incrementally updates a markdown PRD folder and opens a PR, grounding
  the define flow in current app behavior

Both scanners are one-shot idempotent scans meant for cron wiring,
since Projects v2 status changes cannot trigger workflows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@madsbf madsbf marked this pull request as draft June 11, 2026 08:49
@madsbf madsbf changed the title banzai: add handoff, candidate-summary and PRD actions WIP Banzai Codes: add handoff, candidate-summary and PRD actions Jun 11, 2026
madsbf and others added 2 commits June 11, 2026 10:54
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
An issue can sit on multiple Projects v2 boards at once — and the
banzai-codes contracts already model a Product board and a Development
board for the same work-order issue. Drop the duplicate harness issue
and sub-issue linking:

- handoff-work-orders now just adds the In Progress work order to the
  harness board at Todo (membership = idempotency marker; missing
  status healed, existing status never overwritten)
- post-candidate-summary posts the summary on the same issue, with the
  idempotency marker embedded in the summary comment (a separate
  marker comment would shadow the candidate in banzai-codes' parser,
  which keys on its own chat markers only), and then opens the
  acceptance gate by moving the Product-board status to Acceptance so
  agent chatter is never surfaced as a premature candidate

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

1 participant