ADR-392: Author write-proposal and write-detailed-design commands as a matched handoff pair - #247
Conversation
jodavis-claude
left a comment
There was a problem hiding this comment.
Reviewed ADR-392's own two commits (35b8a7f, 60b1cb6) against the task brief's exit criteria, _spec_ProposalDetailedDesignSplit.md, and CONTRIBUTING.md. (Note: gh pr diff on this stacked PR also shows ADR-390/391 content because origin/dev/claude/ADR-391 — this PR's base — is a stale SHA of already-reviewed, content-identical commits; I scoped this review to ADR-392's actual diff, verified via git diff deaaac5..60b1cb6.)
Verified against exit criteria:
write-design-spec.mdremoved viagit mv;write-proposal.mdandwrite-detailed-design.mdexist and are invocable, argument-hints match the spec exactly.write-detailed-designhard-stops with no proposal found, pointing to/write-proposal(step 1).- Both commands' re-entrancy checks precede drafting (write-proposal step 3, write-detailed-design step 2).
write-proposal's finalAskUserQuestionchain-offer (step 9) matches the spec's Planned Implementation wording closely, and correctly passes proposal path/work-item-id/related-items intowrite-detailed-design.- All referenced skills (
gather-brief-sources,detailed-design-first-draft,proposal-first-draft,document-readiness-review,researcher-proposal-review,researcher-detailed-design-review,design-deliverable-breakdown,source-work-item-sync,document-concision-pass) exist on this branch with argument shapes matching how each command calls them. - The literal end-to-end "Validate" dry-run against ADR-380 was not executed live (it requires simulating a real human's answers across two full conversational interviews) — the developer did a structural verification instead and documented this transparently in Known Ambiguities. Consistent with the precedent set on the ADR-391 review for the same kind of infeasible-to-automate validation step; not treating this as blocking.
One substantive issue found — see inline comment on write-detailed-design.md.
No other Priority 1-4 issues found. Style is consistent with sibling commands (write-dev-spec.md), frontmatter shape matches, no stale write-design-spec/design-first-draft/researcher-design-review/design-work-items references in either new file.
jodavis-claude
left a comment
There was a problem hiding this comment.
Reviewed ADR-392's own two commits (35b8a7f, 60b1cb6) against the task brief's exit criteria, _spec_ProposalDetailedDesignSplit.md, and CONTRIBUTING.md. (Note: gh pr diff on this stacked PR also shows ADR-390/391 content because origin/dev/claude/ADR-391 — this PR's base — is a stale SHA of already-reviewed, content-identical commits; I scoped this review to ADR-392's actual diff, verified via git diff deaaac5..60b1cb6.)
Verified against exit criteria:
write-design-spec.mdremoved viagit mv;write-proposal.mdandwrite-detailed-design.mdexist and are invocable, argument-hints match the spec exactly.write-detailed-designhard-stops with no proposal found, pointing to/write-proposal(step 1).- Both commands' re-entrancy checks precede drafting (write-proposal step 3, write-detailed-design step 2).
write-proposal's finalAskUserQuestionchain-offer (step 9) matches the spec's Planned Implementation wording closely, and correctly passes proposal path/work-item-id/related-items intowrite-detailed-design.- All referenced skills (
gather-brief-sources,detailed-design-first-draft,proposal-first-draft,document-readiness-review,researcher-proposal-review,researcher-detailed-design-review,design-deliverable-breakdown,source-work-item-sync,document-concision-pass) exist on this branch with argument shapes matching how each command calls them. - The literal end-to-end "Validate" dry-run against ADR-380 was not executed live (it requires simulating a real human's answers across two full conversational interviews) — the developer did a structural verification instead and documented this transparently in Known Ambiguities. Consistent with the precedent set on the ADR-391 review for the same kind of infeasible-to-automate validation step; not treating this as blocking.
One substantive issue found — see inline comment on write-detailed-design.md.
No other Priority 1-4 issues found. Style is consistent with sibling commands (write-dev-spec.md), frontmatter shape matches, no stale write-design-spec/design-first-draft/researcher-design-review/design-work-items references in either new file.
jodavis-claude
left a comment
There was a problem hiding this comment.
Sign-off review for ADR-392.
Prior review thread (2 duplicate threads on write-detailed-design.md, same issue): Not addressed. No commits have landed on this branch since the review comments were posted (both ADR-392 commits predate them by ~15 minutes). The frontmatter description, the intro paragraph ('Once each deliverable has a feature-work-item...'), and step 10's hand-off text in write-detailed-design.md still claim a tracked feature-work-item exists per deliverable, but no step in the flow creates one. Per the task brief this is a known, surfaced ambiguity (not something the developer should resolve unilaterally), so it is not blocking sign-off on its own — but the wording itself should be corrected to be accurate today, or the spec author's decision obtained. Leaving both threads unresolved with follow-up replies.
New issues in modified files: None found. Both write-proposal.md and write-detailed-design.md otherwise match the task brief's exit criteria and key design decisions: re-entrancy checks precede drafting in both commands, the hard-stop-with-no-proposal path is correctly implemented, the chain-offer AskUserQuestion wording matches the spec near-verbatim and correctly invokes write-detailed-design in-line, and the cold-start work-item-id ambiguity (#3) is handled per the brief's recommendation (skip the re-entrancy search gracefully).
Decision: changes_requested — the prior review thread's issue remains unaddressed.
…tem creation Frontmatter, intro paragraph, and step 10 hand-off text all asserted a tracked feature-work-item exists per deliverable, but no step in the command's flow creates one. Reworded all three spots to state the precondition (deliverable must be recorded as a tracked work item) without claiming this command performs that step, per review feedback on PR #247. Whether write-detailed-design should call a work-item-creation step remains an open question for the spec author (task brief Known Ambiguity #2), unresolved by this fix.
jodavis-claude
left a comment
There was a problem hiding this comment.
Sign-off review — ADR-392
Both duplicate review threads on plugins/dev-team/commands/write-detailed-design.md are now resolved: commit 58575c9 correctly reworded all three flagged spots (frontmatter description, intro paragraph, step 10 hand-off text) to state the precondition ("record each deliverable as a tracked work item") instead of asserting a feature-work-item already exists. Verified against the current file content — the fix is precise and consistent across all three locations, and does not unilaterally resolve the open Known Ambiguity #2 (whether write-detailed-design should call a work-item-creation step), correctly leaving that for the spec author.
Scanned the only file modified since the last review pass (write-detailed-design.md, diff 60b1cb6..58575c9) for new issues: none found. Both command files remain Wrapper-tier prompt/config content with no executable logic, so Priority 1-3 (correctness/fault-tolerance, security, performance) criteria don't apply. No documentation drift introduced.
Decision: approved.
…tem creation Frontmatter, intro paragraph, and step 10 hand-off text all asserted a tracked feature-work-item exists per deliverable, but no step in the command's flow creates one. Reworded all three spots to state the precondition (deliverable must be recorded as a tracked work item) without claiming this command performs that step, per review feedback on PR #247. Whether write-detailed-design should call a work-item-creation step remains an open question for the spec author (task brief Known Ambiguity #2), unresolved by this fix.
58575c9 to
3f3c35a
Compare
build-and-test: Python test resultsStatus: ✅ Passed Test log |
…tem creation Frontmatter, intro paragraph, and step 10 hand-off text all asserted a tracked feature-work-item exists per deliverable, but no step in the command's flow creates one. Reworded all three spots to state the precondition (deliverable must be recorded as a tracked work item) without claiming this command performs that step, per review feedback on PR #247. Whether write-detailed-design should call a work-item-creation step remains an open question for the spec author (task brief Known Ambiguity #2), unresolved by this fix.
3f3c35a to
83c9d45
Compare
…tem creation Frontmatter, intro paragraph, and step 10 hand-off text all asserted a tracked feature-work-item exists per deliverable, but no step in the command's flow creates one. Reworded all three spots to state the precondition (deliverable must be recorded as a tracked work item) without claiming this command performs that step, per review feedback on PR #247. Whether write-detailed-design should call a work-item-creation step remains an open question for the spec author (task brief Known Ambiguity #2), unresolved by this fix.
83c9d45 to
e03f908
Compare
…tem creation Frontmatter, intro paragraph, and step 10 hand-off text all asserted a tracked feature-work-item exists per deliverable, but no step in the command's flow creates one. Reworded all three spots to state the precondition (deliverable must be recorded as a tracked work item) without claiming this command performs that step, per review feedback on PR #247. Whether write-detailed-design should call a work-item-creation step remains an open question for the spec author (task brief Known Ambiguity #2), unresolved by this fix.
e03f908 to
0332cc5
Compare
git mv commands/write-design-spec.md to write-proposal.md ahead of its own rewrite in the next commit.
Repurposed from write-design-spec.md: drops deliverable-breakdown/work-item-creation steps (moved to write-detailed-design), adds a re-entrancy check and a final chain-offer into write-detailed-design.
…tem creation Frontmatter, intro paragraph, and step 10 hand-off text all asserted a tracked feature-work-item exists per deliverable, but no step in the command's flow creates one. Reworded all three spots to state the precondition (deliverable must be recorded as a tracked work item) without claiming this command performs that step, per review feedback on PR #247. Whether write-detailed-design should call a work-item-creation step remains an open question for the spec author (task brief Known Ambiguity #2), unresolved by this fix.
…gn intro wording Both commands' intro paragraphs said "writing a complete new" document even though each has a step that finds and revises an existing one. Reword both to state the new-or-revising duality up front.
0332cc5 to
f1d4e23
Compare
0206840
into
feature/ADR-336-proposal-detailed-design-split
Work item
ADR-392 — Author the
write-proposalcommand (rewritten fromwrite-design-spec, moved viagit mv) and the newwrite-detailed-designcommand together, as a matched handoff pair, so auser can run
/write-proposalthrough to a finalized Proposal and either chain straight into/write-detailed-designin the same turn or resume it later.Changes
plugins/dev-team/commands/write-design-spec.md→ deleted viagit mvtoplugins/dev-team/commands/write-proposal.md, then rewritten in full: drops thedeliverable-breakdown/work-item-creation steps (moved to
write-detailed-design), adds are-entrancy check before drafting (flexible source-resolution, since Proposals aren't
config-tracked), and replaces the old "hand off to next command" ending with an
AskUserQuestionchain-offer intowrite-detailed-design.plugins/dev-team/commands/write-detailed-design.md— new file. Resolves its Proposalinput (in-hand if chained from
write-proposal, otherwise viagather-brief-sources, with ahard stop and pointer to
/write-proposalif none is found) → re-entrancy check viadocumentation.specs.search→detailed-design-first-draft→document-discussion→document-readiness-reviewwithresearcher-detailed-design-review→design-deliverable-breakdown→ a seconddocument-readiness-reviewpass on the breakdown →source-work-item-sync→document-concision-pass→ hand-off telling the user to run/write-dev-spec <deliverable-id>.Committed as two commits (one per Wrapper component, per Components-in-scope order):
write-detailed-designfirst (also carries thegit mv), then thewrite-proposalrewrite.Design decisions
Wrapperper the spec's Component Breakdown (no executable logic,entirely prompt/config content) — implemented directly, no dedicated unit tests, consistent
with every sibling command/skill in this pipeline.
write-proposal's re-entrancy check is a direct question to the user (no automated search),since Proposals are deliberately not part of the
documentationconfig schema.design-create-work-itemscall was added towrite-detailed-design— neither the spec'sComponent Breakdown nor its Planned Implementation prose for this task names that skill. This
is a known open question surfaced for the spec author (see Known ambiguities below), not
silently resolved.
work-item-idderivation for a cold-startedwrite-detailed-design(bare proposal-file-path,no work-item-id) skips the re-entrancy
documentation.specs.searchgracefully and letssource-work-item-syncfall through to its own "no source item" default.Known ambiguities (surfaced, not resolved)
feature-work-itemper deliverable (the oldwrite-design-spec.mdhadan explicit
design-create-work-itemsstep) is not named anywhere in this task's spec content,yet
write-detailed-design's hand-off wording presupposes a real tracked ID exists. Needsconfirmation with the spec author.
dev/claude/ADR-391) reflects the furthest-along of this task's fivedeclared dependencies (ADR-387–391) in document order, per the stack anchor algorithm. Because
ADR-390 and ADR-391 are separate, non-linear branches off the epic's feature branch (rather than
one continuous chain), this PR's diff also carries ADR-390's
document-concision-passskillcontent until that branch's own PR merges upstream of this one.
Testing completed
No dedicated unit or E2E tests — both components are
Wrappertier (thin prompt/orchestrationcontent, no executable logic), consistent with the spec's Component taxonomy and every prior
task in this spec. Verified via structural review: every skill referenced by both new commands
(
gather-brief-sources,identify-project-work-items,proposal-first-draft,detailed-design-first-draft,document-discussion,document-readiness-review,researcher-proposal-review,researcher-detailed-design-review,design-deliverable-breakdown,source-work-item-sync,document-concision-pass) exists on this branch with the argument shapeeach command assumes. A full live dry run against ADR-380 (per the spec's exit criteria) was not
executed, since it requires simulating a real human's answers across two full conversational
document-drafting interviews — recommended as a follow-up validation step.