fix: close SDD workflow handoff gaps across 5 plugins#38
Merged
Conversation
In the main repo cwd, `git rev-parse --git-common-dir` returns the relative `.git`, which made the project slug collapse to `.-.`. Pass `--path-format=absolute` so the snippet works identically in main repo and worktrees. Bumps split-work-plugin to 1.0.1.
…non-interactive defaults Phase 7 used to write `status: completed | partial | failed`, but the writing-tasks schema only accepts `todo | in_progress | review | done | blocked`. The mismatch broke the spec→task→code→dashboard loop because writing-tasks could not normalize the post-implementation status. Map: - all tests pass → done - partial pass → review - all fail → blocked Also add a "Non-interactive defaults" section with table-form fallbacks for each AskUserQuestion site (conversation-inferred task confirmation, no-task refusal, framework auto-detect order, ambiguous-task tie-break), so the skill stays usable in auto mode and scheduled runs. Bumps implement-with-test-plugin to 1.0.2.
…alues + non-interactive defaults - Add `completed_at` (optional) to the frontmatter schema. The field is set automatically by implement-with-test when a task transitions to `done`, but the schema previously did not list it. - Add a non-blocking validation rule: if a task carries a non-schema status value (e.g. legacy `completed`/`partial`/`failed` written by pre-fix implement-with-test), normalize for dashboard purposes (completed→done, failed→blocked, partial→review) and warn instead of silently miscounting progress. Do not auto-rewrite the file. - Add a "Non-interactive defaults" section covering each AskUserQuestion site: decomposition proposal proceeds, manual /writing-tasks new is refused, modified-spec resync is skipped, brand-new phase slug derives deterministically from spec filename. Bumps writing-tasks-plugin to 1.0.2.
…ks + non-interactive defaults
Three SDD-workflow plumbing fixes that were silently broken:
1. Phase 0 (Argument Resolution) — the skill now formally resolves four
argument shapes: brain-storm/{name}.md path, any markdown path, bare
title (matched against brain-storm/), or freestyle description. When
a brain-storm idea is the source, Summary→Purpose, Approach→
Requirements/Approach are explicitly carried over and Wireframe/
Open Questions are dropped (template has no slot, dropped items
listed in the report).
2. Default file format is now `specs/phase-N/NN-name.md` — the
convention writing-tasks consumes. Auto-numbering rules added: glob
existing phase-* dirs, pick the active phase, append NN+1. Other
formats remain allowed but flagged as no-writing-tasks-integration.
3. Non-interactive defaults table for every AskUserQuestion site
(multiple title matches, no input source, exact match, related
specs, outdated specs, ambiguous milestone), so the skill works in
auto mode without silently asking off-screen.
Bumps writing-specs-plugin to 1.0.3.
…aults + CLI wireframe branch
- Next Steps now recommends passing the brain-storm file path
directly to writing-specs (`/writing-specs brain-storm/{name}.md`)
instead of just the idea title — matches the new Phase 0 in
writing-specs and removes the "title not found" failure mode.
- Add a Non-interactive defaults table covering Brainstorm Step 1
(save 2 ideas, diverse pair, prefer Low/Medium), Step 2 (skip on
duplicate, never overwrite), and Cleanup Step 2 (refuse deletion;
report only). Echoes defaulted decisions in the final report.
- Wireframe guide gets a Project Type Branch up top: GUI projects
use the existing box-drawing rules; CLI tools / libraries / backend
services use a terminal-session transcript or data-flow sketch
instead. Two CLI examples added at the bottom (session and flow).
Bumps brain-storm-plugin to 1.2.3.
…low-chart rectangles)
Round 3 cold-path verification on a Python library project flagged a
soft regression: the agent applied the CLI/library branch correctly to
one wireframe (terminal session + arrow flow) but added a small boxed
rectangle around a process step in the second one. The previous "skip
box-drawing" wording read as absolute, even though a flow-chart-style
rectangle wrapping pseudo-code is exactly what a library wireframe
needs.
Tighten the guidance: skip the GUI layout style (toolbars, button rows,
modals, multi-column dashboards) — small rectangles around a process
step are fine. The 10-line minimum and the spirit ("make implementation
direction visible") are unchanged.
Bumps brain-storm-plugin to 1.2.4.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Apr 26, 2026
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.
Summary
End-to-end validation of the SDD workflow (brain-storm → writing-specs → writing-tasks → split-work → implement-with-test) on a temporary project surfaced 6 handoff gaps that quietly broke the pipeline. This PR closes all of them and re-validates against 3 cold-path projects.
The five plugins individually worked, but the handoffs between them were undocumented or mismatched. Auto-mode and headless runs hit them hardest because the gaps lived in user-decision sites that silently asked off-screen.
Fixes
specs/phase-N/NN-name.md— the convention writing-tasks consumes. Auto-numbering rules added.done/review/blocked(wascompleted/partial/failed). Schema documentscompleted_at. Non-schema status values normalize for dashboard with a warning.AskUserQuestion.git rev-parse --git-common-dirreturns.gitin the main repo cwd, collapsing the project slug to.-.. Pass--path-format=absolute.Cold-path verification (3 rounds, fresh projects)
In every round the workflow produced a
status: donetask, aphase-1/01-*.mdspec, atasks/phase-1-slug/01-*.mdtask graph, and zeroAskUserQuestioncalls.Test plan
/plugin uninstall ...+/plugin install ...@devstefancho-claude-plugins)brain-stormon any small repo, confirm a brain-storm/*.md is written with the right wireframe branch (CLI vs GUI)/writing-specs brain-storm/{file}.mdand confirm the spec lands atspecs/phase-1/01-*.md/writing-tasksand confirm tasks land attasks/phase-1-slug/NN-*.md/implement-with-test tasks/phase-1-slug/01-*.mdand confirm the task frontmatter ends upstatus: donewithcompleted_at/writing-tasksand confirm the dashboard shows the completed taskVersions
🤖 Generated with Claude Code