@rudinmax87/united-we-stand 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.united-we-stand/README.md +3 -1
- package/.united-we-stand/agents/0-status-checker.md +1 -1
- package/.united-we-stand/agents/1-initializer.md +3 -1
- package/.united-we-stand/agents/2-planner.md +3 -1
- package/.united-we-stand/agents-md-block.md +3 -1
- package/.united-we-stand/antigravity-workflow.md +2 -0
- package/.united-we-stand/copilot-instructions.md +2 -0
- package/.united-we-stand/cursor-rule.mdc +2 -0
- package/.united-we-stand/framework/01-core-rules.md +34 -31
- package/.united-we-stand/framework/02-state-model.md +5 -4
- package/.united-we-stand/framework/03-stage-lifecycle.md +5 -3
- package/.united-we-stand/framework/04-command-routing.md +16 -12
- package/.united-we-stand/framework/06-spec-writing-standard.md +2 -1
- package/.united-we-stand/framework/08-skip-force-policy.md +1 -1
- package/.united-we-stand/spec-driven/branch-template/02-plan.md +7 -4
- package/README.md +181 -414
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +2 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +2 -3
- package/dist/commands/install.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/github.d.ts +0 -13
- package/dist/lib/github.d.ts.map +0 -1
- package/dist/lib/github.js +0 -105
- package/dist/lib/github.js.map +0 -1
|
@@ -171,6 +171,8 @@ How chat usage works:
|
|
|
171
171
|
- broad start-of-work prompts should also default to `1-initializer` unless you explicitly ask for a later stage
|
|
172
172
|
- if branch memory does not exist yet and you ask for direct code changes, the AI should warn that united-we-stand is not initialized and ask whether to proceed outside the framework for the current chat
|
|
173
173
|
- once you confirm outside-framework work for the current chat, the AI should not ask that same confirmation again unless you later return to framework mode
|
|
174
|
+
- when initialization is requested, the AI should always do a fresh live check of the current git branch before creating branch memory
|
|
175
|
+
- it should not reuse an earlier branch check, earlier status output, or remembered branch context from the same chat as the initialization target
|
|
174
176
|
- if the current branch is the detected default branch, initialization should warn and ask for confirmation before creating branch memory unless you explicitly use `--force`
|
|
175
177
|
|
|
176
178
|
The workflow is mainly used in chat after installation:
|
|
@@ -283,7 +285,7 @@ Optional framework stages:
|
|
|
283
285
|
- while workflow is active, `Current stage` should match the highest created numbered stage file in `.spec-driven/<branch-folder>/` among `01-init.md` through `06-finalization.md`; after explicit finalizer approval, closed workflow may use `Current stage = none`
|
|
284
286
|
- if you ask to change planning, init, design, review, or finalization content, the AI should update that stage in place without creating the next stage
|
|
285
287
|
- if you ask for earlier-stage work after the workflow has already moved forward, the AI should do that work without regressing `Current stage`, `Completed steps`, or `Incompleted stages`; it should record the stale downstream impact in status metadata instead
|
|
286
|
-
- if a request could be interpreted as advancing through two or more phases at once, the AI should
|
|
288
|
+
- if a request could be interpreted as advancing through two or more phases at once, the AI should explain that united-we-stand only runs one stage at a time, suggest the next recommended numbered stage first, and ask the user to confirm one single stage
|
|
287
289
|
- for branch-scoped work, the AI should stay inside `.spec-driven/<branch-folder>/` by default and update specs first unless you explicitly say otherwise
|
|
288
290
|
- later stage files should be created when those stages are actually started or explicitly amended
|
|
289
291
|
- `4-implementer` is the first framework stage allowed to change code
|
|
@@ -28,7 +28,7 @@ Establish reliable branch state and route the next action.
|
|
|
28
28
|
- For stage amendment requests, preserve the anchored `Current stage` unless the user explicitly asks to advance, skip, or bypass.
|
|
29
29
|
- If a lower stage was amended, do not treat that amendment as permission to create or populate a later stage.
|
|
30
30
|
- If earlier-stage work was changed after the workflow had already moved forward, report the stale downstream areas in status output without regressing workflow metadata.
|
|
31
|
-
- If a request could be interpreted as advancing through multiple stages at once, stop and ask
|
|
31
|
+
- If a request could be interpreted as advancing through multiple stages at once, stop, explain that united-we-stand only runs one stage at a time, and ask the user to confirm one single stage while suggesting the next recommended stage first.
|
|
32
32
|
- Perform deterministic auto-correction for status contradictions when safe.
|
|
33
33
|
- If auto-correction is made in `00-current-status.md`, include a brief note to user explaining what was corrected.
|
|
34
34
|
|
|
@@ -23,6 +23,8 @@ None.
|
|
|
23
23
|
- Convert user idea into initial branch definition.
|
|
24
24
|
- Capture scope boundaries, assumptions, questions, and success criteria.
|
|
25
25
|
- Capture out-of-scope explicitly to reduce downstream ambiguity.
|
|
26
|
+
- When initialization is requested, always perform a fresh live check of the current git branch before creating or updating branch memory.
|
|
27
|
+
- Do not rely on a previous branch check, previous status output, or remembered branch context from earlier in the same chat.
|
|
26
28
|
- If branch memory does not exist yet and the user explicitly asks to initialize or init the work, create the branch spec for `1-initializer`.
|
|
27
29
|
- If branch memory does not exist yet and the user uses natural bootstrap language such as `let's start this`, `help me with this idea`, `i want to build...`, or `let's work on...`, treat that as initialization intent by default.
|
|
28
30
|
- If the current branch is detected as the repository default branch and branch memory does not exist yet, warn about default-branch risks and ask for confirmation before creating the branch spec unless the user explicitly used `--force` or equivalent force/bypass wording.
|
|
@@ -30,7 +32,7 @@ None.
|
|
|
30
32
|
- If the user asks to modify initializer content, update `01-init.md` in place and keep `Current stage = 1-initializer` unless the user explicitly advances.
|
|
31
33
|
- Do not create or populate planning content just because initializer content now looks complete.
|
|
32
34
|
- Do not create `02-plan.md`, `03-design.md`, or any later-stage file from an initialization request alone.
|
|
33
|
-
- If a user request could be interpreted as asking for initialization plus later stages in the same pass,
|
|
35
|
+
- If a user request could be interpreted as asking for initialization plus later stages in the same pass, do only `1-initializer`. Explain that united-we-stand only runs one stage at a time and ask the user to confirm a single later stage separately if they want to move on after initialization.
|
|
34
36
|
|
|
35
37
|
## Required Output (`01-init.md`)
|
|
36
38
|
|
|
@@ -23,6 +23,7 @@ Turn initialized intent into an actionable sequence.
|
|
|
23
23
|
|
|
24
24
|
- Produce ordered plan, dependencies, and risk visibility.
|
|
25
25
|
- Define suggested execution order and critical blockers.
|
|
26
|
+
- Finish the planning step by reviewing and updating the full task list so it captures all work that still needs to be done.
|
|
26
27
|
- Do not implement code.
|
|
27
28
|
- If code/spec drift is observed, apply canonical conflict policy.
|
|
28
29
|
- If the user asks to add or modify planning content, update `02-plan.md` in place.
|
|
@@ -32,10 +33,11 @@ Turn initialized intent into an actionable sequence.
|
|
|
32
33
|
## Required Output (`02-plan.md`)
|
|
33
34
|
|
|
34
35
|
- Objectives
|
|
35
|
-
- High-level task breakdown
|
|
36
36
|
- Dependencies
|
|
37
37
|
- Risks / unknowns
|
|
38
38
|
- Suggested execution order
|
|
39
|
+
- Detailed task list
|
|
40
|
+
- Status
|
|
39
41
|
|
|
40
42
|
## Next-Step Status Rules
|
|
41
43
|
|
|
@@ -29,11 +29,13 @@ This repository uses **united-we-stand**, a spec-driven AI workflow framework th
|
|
|
29
29
|
- While workflow is active, `Current stage` must match the highest created numbered stage file present in `.spec-driven/<branch>/` among `01-init.md` through `06-finalization.md`; after explicit finalizer approval, closed workflow state may use `Current stage = none`.
|
|
30
30
|
- Avoid deadlocks: when user intent is clear (`continue`, `implement`, `fix`, `review`), take the nearest safe action and keep status traceability updated.
|
|
31
31
|
- Do not create, populate, or complete a higher-numbered stage just because the user amended the current stage.
|
|
32
|
-
- If a request could reasonably mean advancing through two or more phases at once, do not infer permission.
|
|
32
|
+
- If a request could reasonably mean advancing through two or more phases at once, do not infer permission and do not execute multiple stages. Explain that united-we-stand only runs one stage at a time, suggest the next recommended numbered stage first, and ask the user to confirm one single stage to run now.
|
|
33
33
|
- Do not assume missing stage files are completed.
|
|
34
34
|
- Do not create branch state folders preemptively; `branch-init` or an explicit user initialization request should create them.
|
|
35
35
|
- If branch memory does not exist yet, natural start-of-work requests such as `let's start this`, `help me with this idea`, or `i want to build...` should default to `1-initializer`.
|
|
36
36
|
- If branch memory does not exist yet, explicit init requests such as `init the following`, `initialize this`, `let's init this`, `help me with the following idea, i want...`, `let's start building this`, `i want to build...`, `i want to create...`, or `let's work on...` should be treated as permission to create the branch spec and start `1-initializer`.
|
|
37
|
+
- When initialization is requested, always perform a fresh live check of the current git branch before creating branch memory.
|
|
38
|
+
- Never reuse an earlier branch check, earlier status output, or remembered branch context from the same chat as the initialization target.
|
|
37
39
|
- If branch memory does not exist yet and the user asks for concrete code changes or other persistent repo work without explicitly asking to initialize, warn that united-we-stand is not initialized for the branch and ask whether to proceed outside the framework instead of inferring a numbered stage.
|
|
38
40
|
- If the user confirms outside-framework work, continue outside the framework for the rest of the current chat and do not ask for the same confirmation again unless the user later asks to initialize or return to normal framework flow.
|
|
39
41
|
- If branch memory does not exist yet and the current branch is detected as the repository default branch, explicit init requests must warn about default-branch risks and ask for confirmation before creating `.spec-driven/...` files unless the user explicitly uses `--force`.
|
|
@@ -10,6 +10,8 @@ Before acting:
|
|
|
10
10
|
|
|
11
11
|
If branch memory does not exist yet and the user asks for concrete code changes or other persistent repo work without explicitly asking to initialize the framework, warn that united-we-stand is not initialized for the branch and ask whether to proceed outside the framework for the current chat.
|
|
12
12
|
|
|
13
|
+
When initialization is requested, always perform a fresh live check of the current git branch before creating branch memory. Do not rely on a previous branch check, previous status output, or remembered branch context from earlier in the same chat.
|
|
14
|
+
|
|
13
15
|
If branch memory does not exist yet and the current branch is detected as the repository default branch, explicit init requests must warn about default-branch risks and ask for confirmation before creating `.spec-driven/...` files unless the user explicitly uses `--force`.
|
|
14
16
|
|
|
15
17
|
For the most reliable natural-language initialization when branch memory does not exist yet, reference any installed united-we-stand file together with the init request, for example `AGENTS.md initialize this`.
|
|
@@ -10,6 +10,8 @@ Before acting:
|
|
|
10
10
|
|
|
11
11
|
If branch memory does not exist yet and the user asks for concrete code changes or other persistent repo work without explicitly asking to initialize the framework, warn that united-we-stand is not initialized for the branch and ask whether to proceed outside the framework for the current chat.
|
|
12
12
|
|
|
13
|
+
When initialization is requested, always perform a fresh live check of the current git branch before creating branch memory. Do not rely on a previous branch check, previous status output, or remembered branch context from earlier in the same chat.
|
|
14
|
+
|
|
13
15
|
If branch memory does not exist yet and the current branch is detected as the repository default branch, explicit init requests must warn about default-branch risks and ask for confirmation before creating `.spec-driven/...` files unless the user explicitly uses `--force`.
|
|
14
16
|
|
|
15
17
|
For the most reliable natural-language initialization when branch memory does not exist yet, reference any installed united-we-stand file together with the init request, for example `AGENTS.md initialize this`.
|
|
@@ -13,6 +13,8 @@ Before acting:
|
|
|
13
13
|
|
|
14
14
|
If branch memory does not exist yet and the user asks for concrete code changes or other persistent repo work without explicitly asking to initialize the framework, warn that united-we-stand is not initialized for the branch and ask whether to proceed outside the framework for the current chat.
|
|
15
15
|
|
|
16
|
+
When initialization is requested, always perform a fresh live check of the current git branch before creating branch memory. Do not rely on a previous branch check, previous status output, or remembered branch context from earlier in the same chat.
|
|
17
|
+
|
|
16
18
|
If branch memory does not exist yet and the current branch is detected as the repository default branch, explicit init requests must warn about default-branch risks and ask for confirmation before creating `.spec-driven/...` files unless the user explicitly uses `--force`.
|
|
17
19
|
|
|
18
20
|
For the most reliable natural-language initialization when branch memory does not exist yet, reference any installed united-we-stand file together with the init request, for example `AGENTS.md initialize this`.
|
|
@@ -4,91 +4,94 @@ This file is the canonical source for global framework invariants.
|
|
|
4
4
|
|
|
5
5
|
## Non-Negotiable Rules
|
|
6
6
|
|
|
7
|
-
1. **Spec-driven development**
|
|
7
|
+
1. **Spec-driven development**
|
|
8
8
|
Branch specs are authoritative working memory for workflow state.
|
|
9
9
|
|
|
10
|
-
2. **User intent precedence (User is King and Spec is Truth)**
|
|
10
|
+
2. **User intent precedence (User is King and Spec is Truth)**
|
|
11
11
|
Latest confirmed user intent has highest authority. When intent changes direction, update relevant specs first, then update code if role allows.
|
|
12
12
|
|
|
13
|
-
3. **Branch-aware operation**
|
|
13
|
+
3. **Branch-aware operation**
|
|
14
14
|
All framework work is branch-aware and uses `.spec-driven/<sanitized-current-branch>/`.
|
|
15
15
|
|
|
16
|
-
4. **Persistent context over chat memory**
|
|
16
|
+
4. **Persistent context over chat memory**
|
|
17
17
|
Persisted framework files outrank remembered chat state when conflict exists.
|
|
18
18
|
|
|
19
|
-
5. **No silent stage jumps**
|
|
19
|
+
5. **No silent stage jumps**
|
|
20
20
|
Respect prerequisites and anchored stage model. Optional stages may be skipped only with explicit user instruction or `--force` behavior.
|
|
21
21
|
|
|
22
|
-
6. **No hallucinated completion**
|
|
22
|
+
6. **No hallucinated completion**
|
|
23
23
|
Missing stage files are not proof of completed work.
|
|
24
24
|
|
|
25
|
-
7. **Role-scoped edits only**
|
|
25
|
+
7. **Role-scoped edits only**
|
|
26
26
|
Agents may edit only files allowed by role scope and explicit user instruction.
|
|
27
27
|
|
|
28
|
-
8. **Spec first, then code**
|
|
28
|
+
8. **Spec first, then code**
|
|
29
29
|
If user changes intent, update spec context first, then code.
|
|
30
30
|
|
|
31
|
-
9. **No autonomous git operations**
|
|
31
|
+
9. **No autonomous git operations**
|
|
32
32
|
Never run `git add`, `git commit`, `git push`, `git rebase`, `git reset`, or branch-switch operations unless user explicitly requests it.
|
|
33
33
|
|
|
34
|
-
10. **Status-first resumption**
|
|
34
|
+
10. **Status-first resumption**
|
|
35
35
|
Resumed chats must consult `00-current-status.md` before deciding the next action.
|
|
36
36
|
|
|
37
|
-
11. **
|
|
37
|
+
11. **Initialization requires a fresh live branch check**
|
|
38
|
+
When the user asks to initialize, always perform a fresh live check of the current git branch at that moment. Do not rely on a previous branch check, previous status output, or remembered chat context from earlier in the same chat.
|
|
39
|
+
|
|
40
|
+
12. **Deterministic routing**
|
|
38
41
|
Natural-language command routing must follow `04-command-routing.md`.
|
|
39
42
|
|
|
40
|
-
|
|
43
|
+
13. **Runtime memory isolation**
|
|
41
44
|
Treat `.united-we-stand/` as installed framework content. Runtime branch memory writes must target `.spec-driven/` only.
|
|
42
45
|
|
|
43
|
-
|
|
46
|
+
14. **Detached HEAD safety**
|
|
44
47
|
Never attach branch memory to `head`. If branch detection is detached/ambiguous, require an explicit branch name before writing branch memory.
|
|
45
48
|
|
|
46
|
-
|
|
49
|
+
15. **Branch-folder collision safety**
|
|
47
50
|
When creating new branch memory, if target folder already exists and is not already linked to the same branch, require explicit user confirmation or a different folder name.
|
|
48
51
|
|
|
49
|
-
|
|
52
|
+
16. **Branch exception routing**
|
|
50
53
|
If a branch uses a non-default memory folder, persist that exception in `.spec-driven/.branch-routing.json` and use it for subsequent branch-folder resolution.
|
|
51
54
|
|
|
52
|
-
|
|
55
|
+
17. **No implicit advancement from edit requests**
|
|
53
56
|
Requests to add, modify, remove, clarify, or fix content inside a stage are amendment requests for that stage unless the user explicitly asks to advance, skip, or bypass.
|
|
54
57
|
|
|
55
|
-
|
|
58
|
+
18. **No downstream stage creation from in-stage amendments**
|
|
56
59
|
Editing one stage must not create, complete, or populate a higher-numbered stage unless the user explicitly requests that higher stage or explicitly advances the workflow.
|
|
57
60
|
|
|
58
|
-
|
|
61
|
+
19. **Branch-scoped work stays in spec by default**
|
|
59
62
|
If a request is branch-scoped and requires persistent work, operate through `.spec-driven/<branch>/` by default. Read and update the relevant spec files first unless the user explicitly says not to, or the request is unrelated, informational only, or does not require repository/spec changes.
|
|
60
63
|
|
|
61
|
-
|
|
62
|
-
Never advance from one stage to the next automatically. A stage may become complete, but it must remain anchored until the user explicitly advances or explicitly confirms a bypass.
|
|
64
|
+
20. **Never auto-advance stages**
|
|
65
|
+
Never advance from one stage to the next automatically. A stage may become complete, but it must remain anchored until the user explicitly advances or explicitly confirms a bypass to one specific stage.
|
|
63
66
|
|
|
64
|
-
|
|
65
|
-
If a request could reasonably be interpreted as
|
|
67
|
+
21. **Only one framework stage may run at a time**
|
|
68
|
+
Never execute, advance, skip across, or initialize multiple framework stages in the same pass. If a request could reasonably be interpreted as involving two or more stages, explain the one-stage-at-a-time rule and ask the user to confirm one single stage, suggesting the next recommended numbered stage first.
|
|
66
69
|
|
|
67
|
-
|
|
70
|
+
22. **No backward stage regression**
|
|
68
71
|
`Current stage` is a monotonic workflow progress tracker. Earlier-stage work may be amended later, but `Current stage`, `Completed steps`, and `Incompleted stages` must not move backward to an earlier numbered stage.
|
|
69
72
|
|
|
70
|
-
|
|
73
|
+
23. **Backward work must be recorded, not re-anchored**
|
|
71
74
|
If the user requests planning, design, or implementation work after the workflow has already advanced past that stage, perform the requested work, update the relevant earlier stage files in place, and preserve the later `Current stage`. Record the impact in status metadata so downstream stale work is visible.
|
|
72
75
|
|
|
73
|
-
|
|
76
|
+
24. **Stage metadata must match created stage files**
|
|
74
77
|
Workflow metadata is not independent from the branch folder contents. `Current stage` must always match the highest existing numbered stage file among `01-init.md` through `06-finalization.md`, and status checks must validate that alignment.
|
|
75
78
|
|
|
76
|
-
|
|
79
|
+
25. **No implicit framework entry when branch memory is missing**
|
|
77
80
|
If branch memory does not exist yet and the user requests concrete code changes or other persistent work without explicitly asking to initialize the framework, do not silently enter a numbered framework stage. Warn that united-we-stand is not initialized for the branch and ask whether to proceed outside the framework.
|
|
78
81
|
|
|
79
|
-
|
|
82
|
+
26. **Outside-framework confirmation is sticky for the current chat**
|
|
80
83
|
If the user confirms that the work should continue outside the framework, continue helping outside the framework for the rest of the current chat without asking for the same confirmation again unless the user later asks to initialize or return to normal framework flow.
|
|
81
84
|
|
|
82
|
-
|
|
85
|
+
27. **Finalizer requires explicit closure confirmation**
|
|
83
86
|
`6-finalizer` never treats itself as definitively done on its own. It must surface final observations, ask the user to confirm that the final state is acceptable, and only then close the workflow.
|
|
84
87
|
|
|
85
|
-
|
|
88
|
+
28. **Closed workflow uses `Current stage = none`**
|
|
86
89
|
After explicit user closure confirmation, the branch workflow becomes closed rather than anchored to an active numbered stage. In that closed state, `Current stage = none`, `Next recommended step = none`, and `6-finalizer` is recorded as completed.
|
|
87
90
|
|
|
88
|
-
|
|
91
|
+
29. **Post-closure work reopens finalizer**
|
|
89
92
|
If the workflow was explicitly closed and the user later requests more branch changes, reopen `6-finalizer` as the current stage, clear closed/finalized state, and require finalization approval again after the new work is incorporated.
|
|
90
93
|
|
|
91
|
-
|
|
94
|
+
30. **Default-branch initialization requires confirmation**
|
|
92
95
|
If the current branch is detected as the repository default branch and branch memory does not yet exist, explicit initialization requests must warn about default-branch risks and ask for confirmation before creating `.spec-driven/...` files. Explicit `--force` semantics are the only bypass for that confirmation.
|
|
93
96
|
|
|
94
97
|
## Stage Mandatory Set
|
|
@@ -68,12 +68,13 @@
|
|
|
68
68
|
- keep any earlier explicitly used stages in `Completed steps` if they were already completed and are no longer current
|
|
69
69
|
- ensure every recorded completed or incompleted stage has its corresponding stage document present in `.spec-driven/<branch>/`
|
|
70
70
|
|
|
71
|
-
##
|
|
71
|
+
## One-Stage-At-A-Time Rule
|
|
72
72
|
|
|
73
73
|
- Never infer permission to cross two or more stages from broad outcome wording alone.
|
|
74
|
-
- If a request could mean
|
|
75
|
-
-
|
|
76
|
-
-
|
|
74
|
+
- If a request could mean `do planning, design, and implementation` or any other multi-stage jump, do not run multiple stages.
|
|
75
|
+
- Explain that united-we-stand only runs one stage at a time.
|
|
76
|
+
- Ask the user to confirm one single stage, suggesting the next recommended numbered stage first.
|
|
77
|
+
- Without that single-stage confirmation, keep `Current stage` anchored and perform only the nearest safe in-stage work.
|
|
77
78
|
|
|
78
79
|
## Category Invariants
|
|
79
80
|
|
|
@@ -51,9 +51,11 @@ Explicit user closure confirmation after `6-finalizer` is the trigger that moves
|
|
|
51
51
|
## Multi-Stage Requests
|
|
52
52
|
|
|
53
53
|
- Never auto-advance, even if the next stage seems obvious.
|
|
54
|
-
- If a request could be read as advancing through two or more stages at once,
|
|
55
|
-
-
|
|
56
|
-
-
|
|
54
|
+
- If a request could be read as advancing through two or more stages at once, do not run multiple stages.
|
|
55
|
+
- Explain that united-we-stand only runs one stage at a time.
|
|
56
|
+
- Suggest the next recommended numbered stage first.
|
|
57
|
+
- Ask the user to confirm one single stage to run now.
|
|
58
|
+
- Until the user confirms that single stage, keep the workflow anchored in the current stage.
|
|
57
59
|
|
|
58
60
|
## Resumption Inputs
|
|
59
61
|
|
|
@@ -45,7 +45,7 @@ Route to `0-status-checker`.
|
|
|
45
45
|
2. If current stage completed and prerequisites pass: advance to next numbered stage.
|
|
46
46
|
3. If current stage unfinished: report blocker unless user explicitly skips or uses force semantics.
|
|
47
47
|
|
|
48
|
-
Progression commands move only one stage at a time
|
|
48
|
+
Progression commands move only one stage at a time.
|
|
49
49
|
|
|
50
50
|
## Stage Amendment Commands
|
|
51
51
|
|
|
@@ -117,11 +117,13 @@ Examples:
|
|
|
117
117
|
|
|
118
118
|
If the user explicitly asks to initialize or init the work and branch memory does not exist yet:
|
|
119
119
|
|
|
120
|
-
1.
|
|
121
|
-
2.
|
|
122
|
-
3.
|
|
123
|
-
4.
|
|
124
|
-
5.
|
|
120
|
+
1. Perform a fresh live check of the current git branch at the moment initialization is requested.
|
|
121
|
+
2. Do not rely on a previous branch check, previous status output, or remembered chat context from earlier in the same chat.
|
|
122
|
+
3. Treat that live branch result as the explicit target for `.spec-driven/<branch>/`.
|
|
123
|
+
4. Create or initialize the branch runtime files needed for `1-initializer`.
|
|
124
|
+
5. Capture the user-provided intent in `01-init.md`.
|
|
125
|
+
6. Keep the workflow anchored in `1-initializer` unless the user explicitly advances.
|
|
126
|
+
7. Still enforce detached HEAD safety and branch-folder collision safety.
|
|
125
127
|
|
|
126
128
|
Initialization bootstrap does not grant permission to pre-create or populate planning, design, implementation, review, or finalization files.
|
|
127
129
|
|
|
@@ -167,7 +169,7 @@ If branch memory does not exist yet and the user requests concrete code changes
|
|
|
167
169
|
3. ask whether to proceed outside the framework for the current chat
|
|
168
170
|
4. if the user confirms outside-framework work, continue normally outside the framework and do not repeat the same confirmation again in that chat unless the user later asks to initialize or return to framework mode
|
|
169
171
|
5. if the user explicitly asks to initialize instead, create branch memory and start `1-initializer`
|
|
170
|
-
6. if the user explicitly asks to start the framework from a later stage or uses force/bypass semantics, require confirmation of
|
|
172
|
+
6. if the user explicitly asks to start the framework from a later stage or uses force/bypass semantics, require confirmation of one exact target stage before proceeding
|
|
171
173
|
|
|
172
174
|
This one-time outside-framework confirmation stays sticky on the default branch too. Do not keep re-asking in the same chat once the user already chose to continue outside the framework.
|
|
173
175
|
|
|
@@ -213,16 +215,17 @@ When branch memory exists and user requests implementation and stages `2-planner
|
|
|
213
215
|
- ask confirmation before direct implementation
|
|
214
216
|
- proceed only with explicit user confirmation or force bypass semantics
|
|
215
217
|
|
|
216
|
-
## Multi-Stage
|
|
218
|
+
## Multi-Stage Request Rule
|
|
217
219
|
|
|
218
220
|
If a request could reasonably be interpreted as advancing or executing two or more stages in one pass:
|
|
219
221
|
|
|
220
222
|
1. do not proceed on interpretation alone
|
|
221
|
-
2.
|
|
222
|
-
3.
|
|
223
|
-
4.
|
|
223
|
+
2. explain that united-we-stand only runs one stage at a time
|
|
224
|
+
3. suggest the next recommended numbered stage first
|
|
225
|
+
4. ask the user to confirm one single stage to run now, or to name another single stage to force
|
|
226
|
+
5. do not run grouped phase execution even if the original request names multiple stages
|
|
224
227
|
|
|
225
|
-
Examples that require
|
|
228
|
+
Examples that require single-stage clarification:
|
|
226
229
|
|
|
227
230
|
- `leave everything ready to start testing`
|
|
228
231
|
- `take this from init all the way to implementation`
|
|
@@ -246,6 +249,7 @@ If a user says short commands such as `continue`, `fix it`, `implement this`, or
|
|
|
246
249
|
- perform the nearest safe action for the active/target stage
|
|
247
250
|
- update status fields so the workflow remains traceable
|
|
248
251
|
- ask for explicit confirmation when bypassing prerequisites, when a request could jump across two or more stages, or when making risky/destructive changes
|
|
252
|
+
- when such a request implies multiple stages, ask for one single stage only and suggest the next recommended numbered stage first
|
|
249
253
|
- do not treat `fix this in planning`, `update init`, or similar stage amendment requests as permission to advance stages
|
|
250
254
|
- do not treat an earlier-stage direct command from a later stage as permission to regress workflow metadata
|
|
251
255
|
|
|
@@ -9,7 +9,7 @@ Follow stages in order unless user explicitly requests skip/bypass.
|
|
|
9
9
|
`--force` means explicit override of normal prerequisite/progression behavior.
|
|
10
10
|
|
|
11
11
|
Force/bypass must never be inferred from broad delivery language alone.
|
|
12
|
-
If a request could imply skipping or combining two or more stages,
|
|
12
|
+
If a request could imply skipping or combining two or more stages, explain the one-stage-at-a-time rule and require the user to confirm one exact target stage before proceeding.
|
|
13
13
|
|
|
14
14
|
When force/bypass is applied:
|
|
15
15
|
|
|
@@ -6,9 +6,6 @@ Turn the initialized idea into an ordered execution plan.
|
|
|
6
6
|
## Objectives
|
|
7
7
|
TBD
|
|
8
8
|
|
|
9
|
-
## High-level task breakdown
|
|
10
|
-
TBD
|
|
11
|
-
|
|
12
9
|
## Dependencies
|
|
13
10
|
TBD
|
|
14
11
|
|
|
@@ -16,4 +13,10 @@ TBD
|
|
|
16
13
|
TBD
|
|
17
14
|
|
|
18
15
|
## Suggested execution order
|
|
19
|
-
TBD
|
|
16
|
+
TBD
|
|
17
|
+
|
|
18
|
+
## Detailed task list
|
|
19
|
+
TBD
|
|
20
|
+
|
|
21
|
+
## Status
|
|
22
|
+
TBD
|