fix(playbook): decouple completion bar from sweep, keep workpad on rework#97
Merged
Merged
Conversation
…work
Three robustness fixes to the shared playbook, surfaced while reviewing a
fork's hand-authored WORKFLOW.md:
- completion_bar: the "PR feedback sweep is complete" item named a sibling
partial by title, so any repo that rendered completion_bar without also
rendering pr_feedback_sweep got a dangling reference. Reword it to be
self-contained ("All PR review feedback has been addressed or explicitly
answered, and no actionable comments remain").
- Rework handling: stop deleting the workpad on rework. The workpad is the
single source of truth for progress/handoff, and the rework step itself
asks the agent to identify what to do differently — which needs that
history. Supersede the prior plan in place under a "Superseded — attempt
<n>" heading and reuse the same comment instead of creating a second one.
- docs/playbook.md: add guidance to keep repo-authored Step 0 routing in
sync with status_map (forks can silently drop Rework/Merging), and note
that strict_variables catches unknown renders but not prose references to
un-rendered blocks.
Catalog, core prompt, and workflow-preview tests pass.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Three robustness fixes to the shared playbook, surfaced while reviewing a fork's hand-authored
WORKFLOW.mdagainst the upstream partials. Each addresses a way the playbook lets a repo silently diverge.1.
completion_barno longer names a sibling partial by titleThe bar's fourth item read "PR feedback sweep is complete…". That phrase only resolves if the repo also renders
pr_feedback_sweep— but the catalog is explicitly a "menu, not a checklist," so a repo can render one without the other. When that happens you get a dangling reference to a protocol that isn't in the prompt. Reworded to be self-contained:2. Rework no longer deletes the workpad
Step 4: Rework handlingtold the agent to remove the workpad comment and create a new one. That contradicts the single-source-of-truth principle (default_posture,workpad_bootstrap) and throws away the very history the rework step then asks the agent to reason about ("explicitly identify what will be done differently"). Now the priorPlan/Acceptance Criteria/Validationare moved under a### Superseded — attempt <n>heading and the same comment is reused. Closing the PR + fresh branch is unchanged.3. Docs: keep repo-authored routing in sync with
status_mapAdded a short section to
docs/playbook.md. Repos author their own Step 0 routing table aroundstatus_map, and those drift — a fork can silently drop a state (Rework,Merging) thatstatus_mapstill lists, leaving the agent with no route. Also notes thatstrict_variablesfails the build on an unknown render, but cannot catch a prose reference to a block you forgot to render (the class of bug behind #1).Testing
mix test test/symphony_elixir/playbook_catalog_test.exs— green (docs table ↔ partial headers in sync).mix test test/symphony_elixir/core_test.exs— 87 passing (prompt-header assertions + Rework dispatch states).mix test test/symphony_elixir/workflow_preview_test.exs test/symphony_elixir/cli_test.exs— 27 passing.No behavior change to orchestration code; this is prompt/playbook prose plus one doc section.
🤖 Generated with Claude Code