Skip to content

Commit 983f457

Browse files
committed
feat: update architect guidance to require user confirmation for out-of-scope decisions
- Treat scope cuts and deferrals as proposals needing user confirmation - Clarify that out-of-scope decisions must not be finalized without user agreement
1 parent 2abb0ce commit 983f457

6 files changed

Lines changed: 28 additions & 7 deletions

File tree

.github/agents/architect.agent.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ release automation.
1313
- Identify the affected public surface, internal helper domains, tests, docs, and workflows.
1414
- Keep the change aligned with the repo's layering and ArchitectureGuardrails expectations.
1515
- Recommend the smallest structure that solves the problem cleanly.
16+
- Treat scope cuts, deferrals, and out-of-scope boundaries as proposals that require explicit user confirmation.
1617
- Once the discussion is sufficiently scoped, produce an issue-ready change design with acceptance criteria,
1718
out-of-scope boundaries, and a GitHub issue draft.
1819

@@ -43,6 +44,7 @@ release automation.
4344
- Do not edit repository files unless the user explicitly asks to move from design into implementation.
4445
- Do not finalize the full design package until the user says the discussion is done, or you explicitly ask whether you
4546
should finalize it now.
47+
- Do not finalize out-of-scope decisions unless the user has explicitly confirmed them.
4648

4749
## Definition of done
4850

@@ -59,3 +61,5 @@ release automation.
5961
- Must not create or edit repository files when the task is still in design mode.
6062
- Must not return a full implementation plan or finished issue draft in the first reply when the user is clearly asking
6163
for a design discussion.
64+
- Must not decide on its own that requested work is out of scope and then finalize the design without the user's
65+
confirmation.

.github/instructions/repository-instructions.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ Read these files before making non-trivial changes:
2020
For new or not-yet-scoped work, start with `.github/agents/architect.agent.md` and
2121
`.github/prompts/design-change.prompt.md`. That flow should stay conversational first: analyze the request, ask
2222
clarifying questions, present design options when needed, and only draft the final scoped solution or GitHub issue after
23-
the discussion is complete.
23+
the discussion is complete. Proposed scope cuts or out-of-scope boundaries must be confirmed by the user before they are
24+
treated as final.
2425

2526
## Repository map
2627

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

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ starts editing files.
66
This is a discussion-first prompt. The default behavior is to hold a short design conversation with the user before
77
producing a final scoped solution, implementation handoff, or GitHub issue draft.
88

9+
Scope is not final until the user confirms it. That includes anything you think should be treated as out of scope,
10+
deferred, split into follow-up work, or excluded from the first implementation pass.
11+
912
## Required inputs
1013

1114
- The requested change, problem statement, or rough idea
@@ -23,11 +26,14 @@ producing a final scoped solution, implementation handoff, or GitHub issue draft
2326
help, website docs, `CHANGELOG.md`, or `RELEASE_NOTE.md`.
2427
5. Present the user with the clearest trade-offs, options, or design directions when more than one reasonable path
2528
exists.
26-
6. Keep the conversation interactive until the user says the task is clear enough to finalize, or until you explicitly
27-
ask whether you should now draft the final design and GitHub issue.
28-
7. Only after that discussion is complete, produce the final scoped solution, implementation handoff, and GitHub issue
29+
6. When you believe part of the request should be out of scope, present that as a proposal and ask the user to confirm
30+
or reject it. Do not silently narrow the task.
31+
7. Keep the conversation interactive until the user explicitly confirms the scope is correct and says the task is clear
32+
enough to finalize, or until you explicitly ask whether you should now draft the final design and GitHub issue and
33+
the user agrees.
34+
8. Only after that discussion is complete, produce the final scoped solution, implementation handoff, and GitHub issue
2935
draft.
30-
8. Do not edit repository files unless the user explicitly switches from design to implementation.
36+
9. Do not edit repository files unless the user explicitly switches from design to implementation.
3137

3238
## Discussion-phase output
3339

@@ -38,12 +44,14 @@ Use the first response and follow-up design turns to drive a conversation, not t
3844
- 2-3 concrete solution directions when choices exist
3945
- clear trade-offs
4046
- a recommendation when one option is strongest
47+
- proposed scope and out-of-scope boundaries clearly marked as proposals until the user confirms them
4148

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

4452
## Finalization output
4553

46-
Once the user says the discussion is done, or explicitly asks for the final design, return:
54+
Once the user confirms the scope and says the discussion is done, or explicitly asks for the final design, return:
4755

4856
- Problem
4957
- Why it matters
@@ -65,3 +73,6 @@ Once the user says the discussion is done, or explicitly asks for the final desi
6573
- Draft issue text in English unless the user explicitly asks for another language.
6674
- If the task still has unresolved choices, end the turn with the next best question or the next design decision the
6775
user should make.
76+
- If you think some requested work should be deferred or excluded, ask for confirmation before turning that judgment
77+
into
78+
the final scope or issue draft.

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1717
- Adds a discussion-first architect flow so `architect.agent.md` together with `design-change.prompt.md` now keeps
1818
the early phase conversational, asks clarifying questions, presents design directions, and only finalizes the
1919
scoped solution and GitHub issue draft after the discussion is complete.
20+
- Requires architect/design flows to treat out-of-scope cuts and deferred work as proposals that must be confirmed by
21+
the user before they become part of the final scope or issue draft.
2022
- Includes branch-aware Conventional Commit guidance that derives ticket references from `$GIT_BRANCH_NAME` and
2123
keeps
2224
commit suggestions concise and English-only.

CONTRIBUTING.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ Repository-local agentic guidance now lives in `.github/`:
4444

4545
When you are shaping a new change, start with `architect.agent.md` and `design-change.prompt.md` so the first phase is a
4646
design conversation: analysis, clarifying questions, and solution options before any final scoped proposal or GitHub
47-
issue draft is produced. Use `implement-issue.prompt.md` after the change is already scoped.
47+
issue draft is produced. Proposed out-of-scope boundaries should be confirmed by the user before they become part of the
48+
final scope. Use `implement-issue.prompt.md` after the change is already scoped.
4849

4950
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.
5051

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ Repository-local Copilot/AI guidance now lives under:
6565
For new or still-fuzzy work, start with `architect.agent.md` together with `design-change.prompt.md`. That pair should
6666
lead with discussion, questions, and design options rather than a finished solution in the first reply. Use
6767
`implement-issue.prompt.md` once the scope, acceptance criteria, and follow-on implementation path are already clear.
68+
If architect proposes that part of the request is out of scope, treat that as a proposal to confirm rather than a final
69+
decision.
6870

6971
### Prerequisites
7072

0 commit comments

Comments
 (0)