Skip to content

Commit 76ebada

Browse files
authored
feat(#196): clarify architect finalization handoff (#197)
Add explicit readiness-check guidance for architect/design flows so unresolved questions are surfaced before finalization. Support design-package-only handoff, clarify how to use design notes versus GitHub issue drafts, and update the related repository guidance.
1 parent ad76e72 commit 76ebada

6 files changed

Lines changed: 66 additions & 13 deletions

File tree

.github/agents/architect.agent.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ release automation.
1919
- Keep the change aligned with the repo's layering and ArchitectureGuardrails expectations.
2020
- Recommend the smallest structure that solves the problem cleanly.
2121
- Treat scope cuts, deferrals, and out-of-scope boundaries as proposals that require explicit user confirmation.
22+
- Before offering finalization when unresolved questions remain, summarize what is settled, what is still unresolved, and
23+
present the explicit next-step choices.
24+
- Support two finalization modes when the discussion is sufficiently scoped:
25+
- design package plus GitHub issue draft
26+
- design package only
2227
- Once the discussion is sufficiently scoped, produce an issue-ready change design with acceptance criteria,
2328
out-of-scope boundaries, and a GitHub issue draft.
2429

@@ -51,14 +56,18 @@ release automation.
5156
- Do not edit repository files unless the user explicitly asks to move from design into implementation.
5257
- Do not finalize the full design package until the user says the discussion is done, or you explicitly ask whether you
5358
should finalize it now.
59+
- Do not ask to finalize as if the change is fully issue-ready when unresolved questions still exist; surface those
60+
unresolved items explicitly before asking how the user wants to proceed.
5461
- Do not finalize out-of-scope decisions unless the user has explicitly confirmed them.
5562

5663
## Definition of done
5764

5865
- The affected layers and files are clearly identified.
5966
- The scoped implementation approach matches existing repo structure.
6067
- Validation, documentation impact, and follow-on agent ownership are called out explicitly.
61-
- A GitHub issue draft is ready to paste or create from the final output once the discussion phase is complete.
68+
- If the user chooses full finalization, a GitHub issue draft is ready to paste or create from the final output.
69+
- If the user chooses design-package-only finalization, the output is clearly resumable later from an `Open questions /
70+
resume here` section.
6271

6372
## Must not do
6473

@@ -68,5 +77,6 @@ release automation.
6877
- Must not create or edit repository files when the task is still in design mode.
6978
- Must not return a full implementation plan or finished issue draft in the first reply when the user is clearly asking
7079
for a design discussion.
80+
- Must not leave the user guessing whether the final output is a handoff document, paste-ready issue text, or both.
7181
- Must not decide on its own that requested work is out of scope and then finalize the design without the user's
7282
confirmation.

.github/copilot-instructions.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@ to use one of the repository's reusable task prompts.
2424
For new or not-yet-scoped work, start with `.github/agents/architect.agent.md` and
2525
`.github/prompts/design-change.prompt.md`. That flow should stay conversational first: analyze the request, ask
2626
clarifying questions, present design options when needed, and only draft the final scoped solution or GitHub issue after
27-
the discussion is complete. Proposed scope cuts or out-of-scope boundaries must be confirmed by the user before they are
28-
treated as final.
27+
the discussion is complete. When unresolved questions still remain, architect should surface what is settled vs
28+
unresolved before asking whether to finalize, and should allow either full finalization or a resumable design-package-only
29+
handoff. Proposed scope cuts or out-of-scope boundaries must be confirmed by the user before they are treated as final.
2930

3031
## Repository map
3132

.github/prompts/design-change.prompt.md

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,20 @@ deferred, split into follow-up work, or excluded from the first implementation p
3030
exists.
3131
6. When you believe part of the request should be out of scope, present that as a proposal and ask the user to confirm
3232
or reject it. Do not silently narrow the task.
33-
7. Keep the conversation interactive until the user explicitly confirms the scope is correct and says the task is clear
34-
enough to finalize, or until you explicitly ask whether you should now draft the final design and GitHub issue and
35-
the user agrees.
36-
8. Only after that discussion is complete, produce the final scoped solution, implementation handoff, and GitHub issue
37-
draft.
38-
9. Do not edit repository files unless the user explicitly switches from design to implementation.
33+
7. If unresolved questions still remain but the discussion is far enough along to consider finalization, pause for a short
34+
readiness check before asking to finalize:
35+
- list what is already settled
36+
- list what is still unresolved
37+
- offer three explicit choices:
38+
- finalize with design package and GitHub issue draft
39+
- finalize with design package only
40+
- keep discussing
41+
8. Keep the conversation interactive until the user explicitly confirms the scope is correct and says the task is clear
42+
enough to finalize, or until you explicitly ask whether you should now draft the final output and the user chooses one
43+
of those options.
44+
9. Only after that discussion is complete, produce the final scoped solution and implementation handoff, and include the
45+
GitHub issue draft only when the user chose the full-finalization option.
46+
10. Do not edit repository files unless the user explicitly switches from design to implementation.
3947

4048
## Discussion-phase output
4149

@@ -47,14 +55,18 @@ Use the first response and follow-up design turns to drive a conversation, not t
4755
- clear trade-offs
4856
- a recommendation when one option is strongest
4957
- proposed scope and out-of-scope boundaries clearly marked as proposals until the user confirms them
58+
- when unresolved items remain, a readiness summary before any finalization question so the user knows what is still open
5059

5160
Do not produce the full final design package in the first response unless the user explicitly asks for it.
5261
Do not convert your own proposed scope boundaries into final decisions without the user's confirmation.
5362

5463
## Finalization output
5564

56-
Once the user confirms the scope and says the discussion is done, or explicitly asks for the final design, return:
65+
If the user chooses **design package and GitHub issue draft**, return:
5766

67+
- a short usage note that explains:
68+
- the sections before `GitHub issue draft` are design/handoff notes
69+
- only the `GitHub issue draft` section is paste-ready GitHub text
5870
- Problem
5971
- Why it matters
6072
- Scope
@@ -66,6 +78,27 @@ Once the user confirms the scope and says the discussion is done, or explicitly
6678
- Recommended follow-on agent
6779
- GitHub issue draft
6880

81+
If unresolved questions still remain, keep them under `Open questions` in the design package and add a short `Open
82+
questions` section inside the GitHub issue draft too.
83+
84+
If the user chooses **design package only**, return:
85+
86+
- Problem
87+
- Why it matters
88+
- Scope
89+
- Out of scope
90+
- Affected areas and likely files
91+
- Validation and documentation impact
92+
- Proposed implementation approach
93+
- Open questions / resume here
94+
- Recommended follow-on agent
95+
96+
In design-package-only mode:
97+
98+
- do not include a GitHub issue draft
99+
- preserve the settled decisions clearly enough that the user can resume later
100+
- end with the next unresolved design decision or a short resume prompt the user can reuse later
101+
69102
## Repository-specific reminders
70103

71104
- Preserve the distinction between public PowerShell cmdlets and `% nova` CLI behavior.
@@ -75,6 +108,9 @@ Once the user confirms the scope and says the discussion is done, or explicitly
75108
- Draft issue text in English unless the user explicitly asks for another language.
76109
- If the task still has unresolved choices, end the turn with the next best question or the next design decision the
77110
user should make.
111+
- If unresolved choices remain and you offer finalization anyway, explain what is settled, what is unresolved, and what
112+
each finalization option will produce.
113+
- If you return both design notes and a GitHub issue draft, explicitly tell the user how to use each part.
78114
- If you think some requested work should be deferred or excluded, ask for confirmation before turning that judgment
79115
into
80116
the final scope or issue draft.

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1212

1313
### Changed
1414

15+
- The architect/design flow now surfaces settled vs unresolved design items before finalization, offers explicit choices
16+
for full finalization vs design-package-only handoff, and clarifies how to use design notes versus the paste-ready
17+
GitHub issue draft.
18+
1519
### Deprecated
1620

1721
### Removed
@@ -437,4 +441,3 @@ Keep stable `Update-NovaModuleVersion` / `% nova bump` releases on the SemVer ma
437441
[0.0.6]: https://github.com/stiwicourage/NovaModuleTools/compare/Version_0.0.5...Version_0.0.6
438442
[0.0.5]: https://github.com/stiwicourage/NovaModuleTools/compare/Version_0.0.4...Version_0.0.5
439443
[0.0.4]: https://github.com/stiwicourage/NovaModuleTools/compare/Version_0.0.3...Version_0.0.4
440-

CONTRIBUTING.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ when your Copilot session starts from the NovaModuleTools repository root.
4949
When you are shaping a new change, start with `architect.agent.md` and `design-change.prompt.md` so the first phase is a
5050
design conversation: analysis, clarifying questions, and solution options before any final scoped proposal or GitHub
5151
issue draft is produced. Proposed out-of-scope boundaries should be confirmed by the user before they become part of the
52-
final scope. Use `implement-issue.prompt.md` after the change is already scoped.
52+
final scope. When unresolved design questions still remain, architect should summarize what is settled vs unresolved
53+
before asking whether to finalize, and it should support either a full issue-ready handoff or a resumable
54+
design-package-only handoff. Use `implement-issue.prompt.md` after the change is already scoped.
5355

5456
Pull requests against `main` and `develop` also run a CodeScene coverage-gate check when CI has produced the Cobertura coverage artifact, so PRs can be blocked when changed code falls below the configured coverage threshold.
5557

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ For new or still-fuzzy work, start with `architect.agent.md` together with `desi
7171
lead with discussion, questions, and design options rather than a finished solution in the first reply. Use
7272
`implement-issue.prompt.md` once the scope, acceptance criteria, and follow-on implementation path are already clear.
7373
If architect proposes that part of the request is out of scope, treat that as a proposal to confirm rather than a final
74-
decision.
74+
decision. If unresolved design questions still remain, architect should first summarize what is settled vs unresolved and
75+
then let the user choose between full finalization, a design-package-only handoff, or continued discussion.
7576

7677
### Prerequisites
7778

0 commit comments

Comments
 (0)