@leeovery/claude-technical-workflows 2.1.17 → 2.1.19
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/package.json +1 -1
- package/skills/link-dependencies/SKILL.md +2 -2
- package/skills/start-discussion/SKILL.md +6 -6
- package/skills/start-implementation/SKILL.md +3 -4
- package/skills/start-planning/SKILL.md +3 -4
- package/skills/start-research/SKILL.md +13 -88
- package/skills/start-research/references/gather-context.md +68 -0
- package/skills/start-research/references/invoke-skill.md +23 -0
- package/skills/start-review/SKILL.md +3 -4
- package/skills/start-specification/SKILL.md +19 -758
- package/skills/start-specification/references/analysis-flow.md +103 -0
- package/skills/start-specification/references/confirm-and-handoff.md +30 -0
- package/skills/start-specification/references/confirm-continue.md +90 -0
- package/skills/start-specification/references/confirm-create.md +73 -0
- package/skills/start-specification/references/confirm-refine.md +41 -0
- package/skills/start-specification/references/confirm-unify.md +63 -0
- package/skills/start-specification/references/display-analyze.md +86 -0
- package/skills/start-specification/references/display-blocks.md +42 -0
- package/skills/start-specification/references/display-groupings.md +168 -0
- package/skills/start-specification/references/display-single-grouped.md +70 -0
- package/skills/start-specification/references/display-single-has-spec.md +59 -0
- package/skills/start-specification/references/display-single-no-spec.md +54 -0
- package/skills/start-specification/references/display-single.md +25 -0
- package/skills/start-specification/references/display-specs-menu.md +132 -0
- package/skills/start-specification/references/handoffs/continue-concluded.md +24 -0
- package/skills/start-specification/references/handoffs/continue.md +22 -0
- package/skills/start-specification/references/handoffs/create-with-incorporation.md +30 -0
- package/skills/start-specification/references/handoffs/create.md +20 -0
- package/skills/start-specification/references/handoffs/unify-with-incorporation.md +32 -0
- package/skills/start-specification/references/handoffs/unify.md +21 -0
- package/skills/start-specification/scripts/discovery.sh +66 -12
- package/skills/technical-implementation/SKILL.md +15 -7
- package/skills/technical-implementation/references/steps/analysis-loop.md +15 -11
- package/skills/technical-implementation/references/steps/task-loop.md +6 -6
- package/skills/technical-planning/SKILL.md +12 -8
- package/skills/technical-planning/references/steps/analyze-task-graph.md +4 -4
- package/skills/technical-planning/references/steps/author-tasks.md +2 -2
- package/skills/technical-planning/references/steps/define-phases.md +2 -2
- package/skills/technical-planning/references/steps/define-tasks.md +2 -2
- package/skills/technical-planning/references/steps/plan-construction.md +2 -2
- package/skills/technical-planning/references/steps/resolve-dependencies.md +2 -2
- package/skills/technical-planning/references/steps/review-integrity.md +2 -2
- package/skills/technical-planning/references/steps/review-traceability.md +2 -2
- package/skills/technical-research/SKILL.md +2 -2
- package/skills/technical-specification/references/specification-guide.md +6 -6
|
@@ -62,6 +62,10 @@ Do not guess at progress or continue from memory. The files on disk and git hist
|
|
|
62
62
|
1. **No autonomous decisions on spec deviations** — when the executor reports a blocker or spec deviation, present to user and STOP. Never resolve on the user's behalf.
|
|
63
63
|
2. **All git operations are the orchestrator's responsibility** — agents never commit, stage, or interact with git.
|
|
64
64
|
|
|
65
|
+
## Output Formatting
|
|
66
|
+
|
|
67
|
+
When announcing a new step, output `── ── ── ── ──` on its own line before the step heading.
|
|
68
|
+
|
|
65
69
|
---
|
|
66
70
|
|
|
67
71
|
## Step 1: Environment Setup
|
|
@@ -162,14 +166,14 @@ Commit: `impl({topic}): start implementation`
|
|
|
162
166
|
|
|
163
167
|
Present the existing configuration for confirmation:
|
|
164
168
|
|
|
165
|
-
>
|
|
169
|
+
> Previous session used these project skills:
|
|
166
170
|
> - `{skill-name}` — {path}
|
|
167
171
|
> - ...
|
|
168
172
|
>
|
|
169
|
-
> · · ·
|
|
170
|
-
>
|
|
173
|
+
> · · · · · · · · · · · ·
|
|
171
174
|
> - **`y`/`yes`** — Keep these, proceed
|
|
172
|
-
> - **`c`/`change`** — Re-discover and choose skills
|
|
175
|
+
> - **`c`/`change`** — Re-discover and choose skills
|
|
176
|
+
> · · · · · · · · · · · ·
|
|
173
177
|
|
|
174
178
|
**STOP.** Wait for user choice.
|
|
175
179
|
|
|
@@ -193,7 +197,11 @@ Scan `.claude/skills/` for project-specific skill directories. Present findings:
|
|
|
193
197
|
> - `{skill-name}` — {brief description}
|
|
194
198
|
> - ...
|
|
195
199
|
>
|
|
196
|
-
>
|
|
200
|
+
> · · · · · · · · · · · ·
|
|
201
|
+
> - **`a`/`all`** — Use all listed skills
|
|
202
|
+
> - **`n`/`none`** — Skip project skills
|
|
203
|
+
> - **Or list the ones you want** — e.g. "golang-pro, react-patterns"
|
|
204
|
+
> · · · · · · · · · · · ·
|
|
197
205
|
|
|
198
206
|
**STOP.** Wait for user to confirm which skills are relevant.
|
|
199
207
|
|
|
@@ -217,11 +225,11 @@ Otherwise, present discovery findings to the user:
|
|
|
217
225
|
>
|
|
218
226
|
> Recommendations: {any suggested tools with install commands}
|
|
219
227
|
>
|
|
220
|
-
> · · ·
|
|
221
|
-
>
|
|
228
|
+
> · · · · · · · · · · · ·
|
|
222
229
|
> - **`y`/`yes`** — Approve these linter commands
|
|
223
230
|
> - **`c`/`change`** — Modify the linter list
|
|
224
231
|
> - **`s`/`skip`** — Skip linter setup (no linting during TDD)
|
|
232
|
+
> · · · · · · · · · · · ·
|
|
225
233
|
|
|
226
234
|
**STOP.** Wait for user choice.
|
|
227
235
|
|
|
@@ -22,21 +22,25 @@ F. Create tasks in plan → invoke-task-writer.md
|
|
|
22
22
|
|
|
23
23
|
Increment `analysis_cycle` in the implementation tracking file.
|
|
24
24
|
|
|
25
|
+
→ If `analysis_cycle <= 3`, proceed directly to **B. Git Checkpoint**.
|
|
26
|
+
|
|
25
27
|
If `analysis_cycle > 3`:
|
|
26
28
|
|
|
27
|
-
|
|
29
|
+
**Do NOT skip analysis autonomously.** This gate is an escape hatch for the user — not a signal to stop. The expected default is to continue running analysis until no issues are found. Present the choice and let the user decide.
|
|
30
|
+
|
|
31
|
+
> **Analysis cycle {N}**
|
|
28
32
|
>
|
|
29
|
-
>
|
|
33
|
+
> Analysis has run {N-1} times so far. You can continue (recommended if issues were still found last cycle) or skip to completion.
|
|
30
34
|
>
|
|
35
|
+
> · · · · · · · · · · · ·
|
|
36
|
+
> - **`p`/`proceed`** — Continue analysis *(default)*
|
|
31
37
|
> - **`s`/`skip`** — Skip analysis, proceed to completion
|
|
32
|
-
>
|
|
38
|
+
> · · · · · · · · · · · ·
|
|
33
39
|
|
|
34
|
-
**STOP.** Wait for user choice.
|
|
40
|
+
**STOP.** Wait for user choice. You MUST NOT choose on the user's behalf.
|
|
35
41
|
|
|
36
|
-
- **`skip`**: → Return to the skill for **Step 8**.
|
|
37
42
|
- **`proceed`**: → Continue to **B. Git Checkpoint**.
|
|
38
|
-
|
|
39
|
-
→ If `analysis_cycle <= 3`, proceed to **B. Git Checkpoint**.
|
|
43
|
+
- **`skip`**: → Return to the skill for **Step 8**.
|
|
40
44
|
|
|
41
45
|
---
|
|
42
46
|
|
|
@@ -55,11 +59,11 @@ If there are unstaged changes or untracked files, categorize them:
|
|
|
55
59
|
> - `{file}` ({status: modified/untracked})
|
|
56
60
|
> - ...
|
|
57
61
|
>
|
|
58
|
-
> · · ·
|
|
59
|
-
>
|
|
62
|
+
> · · · · · · · · · · · ·
|
|
60
63
|
> - **`y`/`yes`** — Include all in the checkpoint commit
|
|
61
64
|
> - **`s`/`skip`** — Exclude unexpected files, commit only implementation files
|
|
62
65
|
> - **Comment** — Specify which to include
|
|
66
|
+
> · · · · · · · · · · · ·
|
|
63
67
|
|
|
64
68
|
**STOP.** Wait for user choice.
|
|
65
69
|
|
|
@@ -137,11 +141,11 @@ Then present each task with `status: pending` individually:
|
|
|
137
141
|
> **Tests**:
|
|
138
142
|
> {tests}
|
|
139
143
|
>
|
|
140
|
-
> · · ·
|
|
141
|
-
>
|
|
144
|
+
> · · · · · · · · · · · ·
|
|
142
145
|
> - **`a`/`approve`** — Approve this task
|
|
143
146
|
> - **`s`/`skip`** — Skip this task
|
|
144
147
|
> - **Comment** — Revise based on feedback
|
|
148
|
+
> · · · · · · · · · · · ·
|
|
145
149
|
|
|
146
150
|
**STOP.** Wait for user input.
|
|
147
151
|
|
|
@@ -44,11 +44,11 @@ Present the executor's ISSUES to the user:
|
|
|
44
44
|
>
|
|
45
45
|
> {executor's ISSUES content}
|
|
46
46
|
>
|
|
47
|
-
> · · ·
|
|
48
|
-
>
|
|
47
|
+
> · · · · · · · · · · · ·
|
|
49
48
|
> - **`r`/`retry`** — Re-invoke the executor with your comments (provide below)
|
|
50
49
|
> - **`s`/`skip`** — Skip this task and move to the next
|
|
51
50
|
> - **`t`/`stop`** — Stop implementation entirely
|
|
51
|
+
> · · · · · · · · · · · ·
|
|
52
52
|
|
|
53
53
|
**STOP.** Wait for user choice.
|
|
54
54
|
|
|
@@ -101,12 +101,12 @@ Present the reviewer's findings and fix analysis to the user:
|
|
|
101
101
|
> Notes (non-blocking):
|
|
102
102
|
> {NOTES from reviewer}
|
|
103
103
|
>
|
|
104
|
-
> · · ·
|
|
105
|
-
>
|
|
104
|
+
> · · · · · · · · · · · ·
|
|
106
105
|
> - **`y`/`yes`** — Accept the review and fix analysis, pass to executor
|
|
107
106
|
> - **`a`/`auto`** — Accept and auto-approve future fix analyses
|
|
108
107
|
> - **`s`/`skip`** — Override the reviewer and proceed as-is
|
|
109
108
|
> - **Comment** — Any commentary, adjustments, alternative approaches, or questions before passing to executor
|
|
109
|
+
> · · · · · · · · · · · ·
|
|
110
110
|
|
|
111
111
|
**STOP.** Wait for user choice.
|
|
112
112
|
|
|
@@ -130,12 +130,12 @@ Present a summary and wait for user input:
|
|
|
130
130
|
> Phase: {phase number} — {phase name}
|
|
131
131
|
> {executor's SUMMARY — brief commentary, decisions, implementation notes}
|
|
132
132
|
>
|
|
133
|
-
> · · ·
|
|
134
|
-
>
|
|
133
|
+
> · · · · · · · · · · · ·
|
|
135
134
|
> **Options:**
|
|
136
135
|
> - **`y`/`yes`** — Approve, commit, continue to next task
|
|
137
136
|
> - **`a`/`auto`** — Approve this and all future reviewer-approved tasks automatically
|
|
138
137
|
> - **Comment** — Feedback the reviewer missed (triggers a fix round)
|
|
138
|
+
> · · · · · · · · · · · ·
|
|
139
139
|
|
|
140
140
|
**STOP.** Wait for user input.
|
|
141
141
|
|
|
@@ -58,6 +58,10 @@ This process constructs a plan from a specification. A plan consists of:
|
|
|
58
58
|
|
|
59
59
|
Follow every step in sequence. No steps are optional.
|
|
60
60
|
|
|
61
|
+
## Output Formatting
|
|
62
|
+
|
|
63
|
+
When announcing a new step, output `── ── ── ── ──` on its own line before the step heading.
|
|
64
|
+
|
|
61
65
|
---
|
|
62
66
|
|
|
63
67
|
## Step 0: Resume Detection
|
|
@@ -76,14 +80,14 @@ Note the current phase and task position from the `planning:` block.
|
|
|
76
80
|
|
|
77
81
|
Load **[spec-change-detection.md](references/spec-change-detection.md)** to check whether the specification has changed since planning started. Then present the user with an informed choice:
|
|
78
82
|
|
|
79
|
-
>
|
|
83
|
+
> Found existing plan for **{topic}** (previously reached phase {N}, task {M}).
|
|
80
84
|
>
|
|
81
85
|
> {spec change summary from spec-change-detection.md}
|
|
82
86
|
>
|
|
83
|
-
> · · ·
|
|
84
|
-
>
|
|
87
|
+
> · · · · · · · · · · · ·
|
|
85
88
|
> - **`c`/`continue`** — Walk through the plan from the start. You can review, amend, or navigate at any point — including straight to the leading edge.
|
|
86
|
-
> - **`r`/`restart`** — Erase all planning work for this topic and start fresh. This deletes the Plan Index File and any Authored Tasks. Other topics are unaffected.
|
|
89
|
+
> - **`r`/`restart`** — Erase all planning work for this topic and start fresh. This deletes the Plan Index File and any Authored Tasks. Other topics are unaffected.
|
|
90
|
+
> · · · · · · · · · · · ·
|
|
87
91
|
|
|
88
92
|
**STOP.** Wait for user response.
|
|
89
93
|
|
|
@@ -120,12 +124,12 @@ First, choose the Output Format.
|
|
|
120
124
|
|
|
121
125
|
Present the recommendation:
|
|
122
126
|
|
|
123
|
-
>
|
|
124
|
-
>
|
|
125
|
-
> · · ·
|
|
127
|
+
> Existing plans use **{format}**. Use the same format for consistency?
|
|
126
128
|
>
|
|
129
|
+
> · · · · · · · · · · · ·
|
|
127
130
|
> - **`y`/`yes`** — Use {format}
|
|
128
|
-
> - **`n`/`no`** — See all available formats
|
|
131
|
+
> - **`n`/`no`** — See all available formats
|
|
132
|
+
> · · · · · · · · · · · ·
|
|
129
133
|
|
|
130
134
|
**STOP.** Wait for user choice. If declined, fall through to the full list below.
|
|
131
135
|
|
|
@@ -38,11 +38,11 @@ The natural task order is already correct. Present this to the user:
|
|
|
38
38
|
>
|
|
39
39
|
> {notes from agent output}"
|
|
40
40
|
|
|
41
|
-
> · · ·
|
|
42
|
-
>
|
|
41
|
+
> · · · · · · · · · · · ·
|
|
43
42
|
> **To proceed:**
|
|
44
43
|
> - **`y`/`yes`** — Confirmed.
|
|
45
44
|
> - **Or tell me what to change.**
|
|
45
|
+
> · · · · · · · · · · · ·
|
|
46
46
|
|
|
47
47
|
**STOP.** Wait for the user's response.
|
|
48
48
|
|
|
@@ -72,11 +72,11 @@ Dependencies and priorities have already been written to the task files. Present
|
|
|
72
72
|
>
|
|
73
73
|
> {any notes from agent output}"
|
|
74
74
|
|
|
75
|
-
> · · ·
|
|
76
|
-
>
|
|
75
|
+
> · · · · · · · · · · · ·
|
|
77
76
|
> **To proceed:**
|
|
78
77
|
> - **`y`/`yes`** — Approved.
|
|
79
78
|
> - **Or tell me what to change.**
|
|
79
|
+
> · · · · · · · · · · · ·
|
|
80
80
|
|
|
81
81
|
**STOP.** Wait for the user's response.
|
|
82
82
|
|
|
@@ -31,12 +31,12 @@ After presenting, ask:
|
|
|
31
31
|
|
|
32
32
|
> **Task {M} of {total}: {Task Name}**
|
|
33
33
|
>
|
|
34
|
-
> · · ·
|
|
35
|
-
>
|
|
34
|
+
> · · · · · · · · · · · ·
|
|
36
35
|
> **To proceed:**
|
|
37
36
|
> - **`y`/`yes`** — Approved. I'll log it to the plan.
|
|
38
37
|
> - **Or tell me what to change.**
|
|
39
38
|
> - **Or navigate** — a different phase or task, or the leading edge.
|
|
39
|
+
> · · · · · · · · · · · ·
|
|
40
40
|
|
|
41
41
|
**STOP.** Wait for the user's response.
|
|
42
42
|
|
|
@@ -59,12 +59,12 @@ Present the phase structure to the user.
|
|
|
59
59
|
|
|
60
60
|
> **Phase Structure**
|
|
61
61
|
>
|
|
62
|
-
> · · ·
|
|
63
|
-
>
|
|
62
|
+
> · · · · · · · · · · · ·
|
|
64
63
|
> **To proceed:**
|
|
65
64
|
> - **`y`/`yes`** — Approved. I'll proceed to task breakdown.
|
|
66
65
|
> - **Or tell me what to change** — reorder, split, merge, add, edit, or remove phases.
|
|
67
66
|
> - **Or navigate** — a different phase or task, or the leading edge.
|
|
67
|
+
> · · · · · · · · · · · ·
|
|
68
68
|
|
|
69
69
|
#### If the user provides feedback
|
|
70
70
|
|
|
@@ -42,12 +42,12 @@ Present the task overview to the user.
|
|
|
42
42
|
|
|
43
43
|
**STOP.** Ask:
|
|
44
44
|
|
|
45
|
-
> · · ·
|
|
46
|
-
>
|
|
45
|
+
> · · · · · · · · · · · ·
|
|
47
46
|
> **To proceed:**
|
|
48
47
|
> - **`y`/`yes`** — Approved.
|
|
49
48
|
> - **Or tell me what to change** — reorder, split, merge, add, edit, or remove tasks.
|
|
50
49
|
> - **Or navigate** — a different phase or task, or the leading edge.
|
|
50
|
+
> · · · · · · · · · · · ·
|
|
51
51
|
|
|
52
52
|
#### If the user provides feedback
|
|
53
53
|
|
|
@@ -71,12 +71,12 @@ Present the task list to the user for review.
|
|
|
71
71
|
|
|
72
72
|
> **Phase {N}: {Phase Name}** — {M} tasks.
|
|
73
73
|
>
|
|
74
|
-
> · · ·
|
|
75
|
-
>
|
|
74
|
+
> · · · · · · · · · · · ·
|
|
76
75
|
> **To proceed:**
|
|
77
76
|
> - **`y`/`yes`** — Confirmed.
|
|
78
77
|
> - **Or tell me what to change.**
|
|
79
78
|
> - **Or navigate** — a different phase or task, or the leading edge.
|
|
79
|
+
> · · · · · · · · · · · ·
|
|
80
80
|
|
|
81
81
|
**STOP.** Wait for the user's response.
|
|
82
82
|
|
|
@@ -43,11 +43,11 @@ Skip the resolution and reverse check — there is nothing to resolve against. D
|
|
|
43
43
|
|
|
44
44
|
**STOP.** Present a summary of the dependency state: what was documented, what was resolved, what remains unresolved, and any reverse resolutions made.
|
|
45
45
|
|
|
46
|
-
> · · ·
|
|
47
|
-
>
|
|
46
|
+
> · · · · · · · · · · · ·
|
|
48
47
|
> **To proceed:**
|
|
49
48
|
> - **`y`/`yes`** — Approved. I'll proceed to plan review.
|
|
50
49
|
> - **Or tell me what to change.**
|
|
50
|
+
> · · · · · · · · · · · ·
|
|
51
51
|
|
|
52
52
|
#### If the user provides feedback
|
|
53
53
|
|
|
@@ -171,12 +171,12 @@ After presenting the finding and proposed fix, ask:
|
|
|
171
171
|
|
|
172
172
|
> **Finding {N} of {total}: {Brief Title}**
|
|
173
173
|
>
|
|
174
|
-
> · · ·
|
|
175
|
-
>
|
|
174
|
+
> · · · · · · · · · · · ·
|
|
176
175
|
> **To proceed:**
|
|
177
176
|
> - **`y`/`yes`** — Approved. I'll apply it to the plan verbatim.
|
|
178
177
|
> - **`s`/`skip`** — Leave this as-is and move to the next finding.
|
|
179
178
|
> - **Or tell me what to change.**
|
|
179
|
+
> · · · · · · · · · · · ·
|
|
180
180
|
|
|
181
181
|
**STOP.** Wait for the user's response.
|
|
182
182
|
|
|
@@ -149,12 +149,12 @@ After presenting the finding and proposed fix, ask:
|
|
|
149
149
|
|
|
150
150
|
> **Finding {N} of {total}: {Brief Title}**
|
|
151
151
|
>
|
|
152
|
-
> · · ·
|
|
153
|
-
>
|
|
152
|
+
> · · · · · · · · · · · ·
|
|
154
153
|
> **To proceed:**
|
|
155
154
|
> - **`y`/`yes`** — Approved. I'll apply it to the plan verbatim.
|
|
156
155
|
> - **`s`/`skip`** — Leave this as-is and move to the next finding.
|
|
157
156
|
> - **Or tell me what to change.**
|
|
157
|
+
> · · · · · · · · · · · ·
|
|
158
158
|
|
|
159
159
|
**STOP.** Wait for the user's response.
|
|
160
160
|
|
|
@@ -87,11 +87,11 @@ When you notice convergence, **flag it and give the user options**:
|
|
|
87
87
|
|
|
88
88
|
> This thread seems to be converging — we've explored {topic} enough that the tradeoffs are clear and it's approaching decision territory.
|
|
89
89
|
>
|
|
90
|
-
> · · ·
|
|
91
|
-
>
|
|
90
|
+
> · · · · · · · · · · · ·
|
|
92
91
|
> - **`p`/`park`** — Mark as discussion-ready and move to another topic
|
|
93
92
|
> - **`k`/`keep`** — Keep digging, there's more to understand
|
|
94
93
|
> - Comment — your call
|
|
94
|
+
> · · · · · · · · · · · ·
|
|
95
95
|
|
|
96
96
|
**Never decide for the user.** Even if the answer seems obvious, flag it and ask.
|
|
97
97
|
|
|
@@ -78,11 +78,11 @@ Present your understanding to the user **in the format it would appear in the sp
|
|
|
78
78
|
|
|
79
79
|
Then present two explicit choices:
|
|
80
80
|
|
|
81
|
-
> · · ·
|
|
82
|
-
>
|
|
81
|
+
> · · · · · · · · · · · ·
|
|
83
82
|
> **To proceed:**
|
|
84
83
|
> - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim** (exactly as shown, no modifications).
|
|
85
84
|
> - **Or tell me what to change.**
|
|
85
|
+
> · · · · · · · · · · · ·
|
|
86
86
|
|
|
87
87
|
**Do not paraphrase these choices.** Present them exactly as written so users always know what to expect.
|
|
88
88
|
|
|
@@ -518,11 +518,11 @@ For each item, follow the **same workflow as the main specification process**:
|
|
|
518
518
|
>
|
|
519
519
|
> [content exactly as it would appear]
|
|
520
520
|
>
|
|
521
|
-
> · · ·
|
|
522
|
-
>
|
|
521
|
+
> · · · · · · · · · · · ·
|
|
523
522
|
> **To proceed:**
|
|
524
523
|
> - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim**.
|
|
525
524
|
> - **Or tell me what to change.**
|
|
525
|
+
> · · · · · · · · · · · ·
|
|
526
526
|
|
|
527
527
|
4. **Wait for explicit approval** - same rules as always: `y`/`yes` or equivalent before writing
|
|
528
528
|
5. **Log verbatim** when approved
|
|
@@ -650,11 +650,11 @@ For each item:
|
|
|
650
650
|
>
|
|
651
651
|
> [content exactly as it would appear]
|
|
652
652
|
>
|
|
653
|
-
> · · ·
|
|
654
|
-
>
|
|
653
|
+
> · · · · · · · · · · · ·
|
|
655
654
|
> **To proceed:**
|
|
656
655
|
> - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim**.
|
|
657
656
|
> - **Or tell me what to change.**
|
|
657
|
+
> · · · · · · · · · · · ·
|
|
658
658
|
|
|
659
659
|
4. **Wait for explicit approval**
|
|
660
660
|
5. **Log verbatim** when approved
|