@tacuchi/agent-workflow-cli 21.8.0 → 21.10.0
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/dist/adapters/git-cli.js +217 -0
- package/dist/adapters/git-cli.js.map +1 -1
- package/dist/application/check-branch-service.js +48 -20
- package/dist/application/check-branch-service.js.map +1 -1
- package/dist/application/dev-only-services.js +53 -4
- package/dist/application/dev-only-services.js.map +1 -1
- package/dist/application/flow/advance.js +10 -3
- package/dist/application/flow/advance.js.map +1 -1
- package/dist/application/flow/flow-service.js +7 -0
- package/dist/application/flow/flow-service.js.map +1 -1
- package/dist/application/flow/internal-actions.js +74 -3
- package/dist/application/flow/internal-actions.js.map +1 -1
- package/dist/application/flow/internal-drive.js +1 -0
- package/dist/application/flow/internal-drive.js.map +1 -1
- package/dist/application/flow/run-projection.js +10 -4
- package/dist/application/flow/run-projection.js.map +1 -1
- package/dist/application/flow/submit.js +164 -15
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/history-table.js +37 -0
- package/dist/application/history-table.js.map +1 -1
- package/dist/application/hook-branch-check.js +17 -0
- package/dist/application/hook-branch-check.js.map +1 -1
- package/dist/application/local-proposal.js +37 -0
- package/dist/application/local-proposal.js.map +1 -1
- package/dist/application/resume-service.js +1 -0
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/retirement/apply.js +448 -0
- package/dist/application/retirement/apply.js.map +1 -0
- package/dist/application/retirement/attribution.js +395 -0
- package/dist/application/retirement/attribution.js.map +1 -0
- package/dist/application/retirement/graph.js +196 -0
- package/dist/application/retirement/graph.js.map +1 -0
- package/dist/application/retirement/history-events.js +158 -0
- package/dist/application/retirement/history-events.js.map +1 -0
- package/dist/application/retirement/journal.js +113 -0
- package/dist/application/retirement/journal.js.map +1 -0
- package/dist/application/retirement/prepare.js +233 -0
- package/dist/application/retirement/prepare.js.map +1 -0
- package/dist/application/retirement/preview.js +101 -0
- package/dist/application/retirement/preview.js.map +1 -0
- package/dist/application/retirement/resolve.js +356 -0
- package/dist/application/retirement/resolve.js.map +1 -0
- package/dist/application/session-close-service.js +108 -14
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-create-service.js +103 -12
- package/dist/application/session-create-service.js.map +1 -1
- package/dist/application/session-custody-recorder.js +137 -0
- package/dist/application/session-custody-recorder.js.map +1 -0
- package/dist/application/session-custody-service.js +171 -0
- package/dist/application/session-custody-service.js.map +1 -0
- package/dist/application/session-resolver.js +21 -0
- package/dist/application/session-resolver.js.map +1 -1
- package/dist/application/status-service.js +5 -0
- package/dist/application/status-service.js.map +1 -1
- package/dist/application/workline-index-service.js +31 -0
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/application/worktree-service.js +247 -34
- package/dist/application/worktree-service.js.map +1 -1
- package/dist/cli/commands/check-branch.js +9 -5
- package/dist/cli/commands/check-branch.js.map +1 -1
- package/dist/cli/commands/dev-only.js +21 -2
- package/dist/cli/commands/dev-only.js.map +1 -1
- package/dist/cli/commands/flow.js +6 -2
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/index.js +6 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/retirement.js +137 -0
- package/dist/cli/commands/retirement.js.map +1 -0
- package/dist/cli/commands/session-close.js +12 -1
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/commands/session-create.js +4 -1
- package/dist/cli/commands/session-create.js.map +1 -1
- package/dist/cli/commands/sources.js +8 -4
- package/dist/cli/commands/sources.js.map +1 -1
- package/dist/cli/commands/worktree.js +14 -7
- package/dist/cli/commands/worktree.js.map +1 -1
- package/dist/cli/help-groups.js +4 -0
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/parser.js +26 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/domain/flow/answer.js +72 -4
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +219 -47
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/rules.js +8 -1
- package/dist/domain/flow/rules.js.map +1 -1
- package/dist/domain/flow/run-state.js +34 -1
- package/dist/domain/flow/run-state.js.map +1 -1
- package/dist/domain/reservation.js +33 -0
- package/dist/domain/reservation.js.map +1 -0
- package/dist/domain/retirement/proposal.js +83 -0
- package/dist/domain/retirement/proposal.js.map +1 -0
- package/dist/domain/retirement/selector.js +109 -0
- package/dist/domain/retirement/selector.js.map +1 -0
- package/dist/domain/session/custody.js +176 -0
- package/dist/domain/session/custody.js.map +1 -0
- package/dist/domain/workline-node.js +56 -0
- package/dist/domain/workline-node.js.map +1 -0
- package/package.json +1 -1
- package/skills/w/commands/discard.md +49 -0
- package/skills/w/commands/reset.md +50 -0
- package/skills/w/context/MANIFEST.json +147 -139
- package/skills/w/loops/CODE-POLICIES.md +9 -9
- package/skills/w/loops/plan-exec-loop/LOOP.md +23 -13
- package/skills/w/loops/plan-new-loop/LOOP.md +1 -1
- package/skills/w/modules/PLAN-INPUT.md +1 -1
|
@@ -57,109 +57,149 @@
|
|
|
57
57
|
"quick.db-touched": "the task read from or wrote to a database, so there is a statement to derive into the session script"
|
|
58
58
|
},
|
|
59
59
|
"commands": {
|
|
60
|
-
"
|
|
61
|
-
"core": [
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
],
|
|
60
|
+
"discard": {
|
|
61
|
+
"core": ["commands/discard.md"],
|
|
62
|
+
"modules": []
|
|
63
|
+
},
|
|
64
|
+
"export-diagrams": {
|
|
65
|
+
"core": ["commands/export-diagrams.md"],
|
|
67
66
|
"modules": [
|
|
68
67
|
{
|
|
69
68
|
"path": "modules/PLAN-MODE.md",
|
|
70
69
|
"signal": "plan-mode"
|
|
71
70
|
},
|
|
72
71
|
{
|
|
73
|
-
"path": "
|
|
74
|
-
"signal": "
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
72
|
+
"path": "exports/export-diagrams/EXPORT.md",
|
|
73
|
+
"signal": "authoring"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"export-manuals": {
|
|
78
|
+
"core": ["commands/export-manuals.md"],
|
|
79
|
+
"modules": [
|
|
80
80
|
{
|
|
81
|
-
"path": "modules/
|
|
82
|
-
"signal": "
|
|
83
|
-
"requires": "external-data"
|
|
81
|
+
"path": "modules/PLAN-MODE.md",
|
|
82
|
+
"signal": "plan-mode"
|
|
84
83
|
},
|
|
85
84
|
{
|
|
86
|
-
"path": "
|
|
87
|
-
"signal": "
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
"path": "exports/export-manuals/EXPORT.md",
|
|
86
|
+
"signal": "authoring"
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"export-reports": {
|
|
91
|
+
"core": ["commands/export-reports.md"],
|
|
92
|
+
"modules": [
|
|
90
93
|
{
|
|
91
|
-
"path": "modules/
|
|
92
|
-
"signal": "
|
|
94
|
+
"path": "modules/PLAN-MODE.md",
|
|
95
|
+
"signal": "plan-mode"
|
|
93
96
|
},
|
|
94
97
|
{
|
|
95
|
-
"path": "
|
|
96
|
-
"signal": "
|
|
97
|
-
|
|
98
|
-
|
|
98
|
+
"path": "exports/export-reports/EXPORT.md",
|
|
99
|
+
"signal": "authoring"
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"export-scripts": {
|
|
104
|
+
"core": ["commands/export-scripts.md"],
|
|
105
|
+
"modules": [
|
|
99
106
|
{
|
|
100
|
-
"path": "modules/
|
|
101
|
-
"signal": "
|
|
107
|
+
"path": "modules/PLAN-MODE.md",
|
|
108
|
+
"signal": "plan-mode"
|
|
102
109
|
},
|
|
103
110
|
{
|
|
104
|
-
"path": "
|
|
105
|
-
"signal": "
|
|
111
|
+
"path": "exports/export-scripts/EXPORT.md",
|
|
112
|
+
"signal": "authoring"
|
|
106
113
|
}
|
|
107
114
|
]
|
|
108
115
|
},
|
|
109
|
-
"
|
|
110
|
-
"core": ["commands/
|
|
116
|
+
"fix-git": {
|
|
117
|
+
"core": ["commands/fix-git.md"],
|
|
111
118
|
"modules": [
|
|
112
119
|
{
|
|
113
120
|
"path": "modules/PLAN-MODE.md",
|
|
114
121
|
"signal": "plan-mode"
|
|
115
|
-
}
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
"generate-launch": {
|
|
126
|
+
"core": ["commands/generate-launch.md"],
|
|
127
|
+
"modules": [
|
|
116
128
|
{
|
|
117
|
-
"path": "modules/
|
|
118
|
-
"signal": "
|
|
129
|
+
"path": "modules/PLAN-MODE.md",
|
|
130
|
+
"signal": "plan-mode"
|
|
119
131
|
},
|
|
120
132
|
{
|
|
121
|
-
"path": "modules/
|
|
122
|
-
"signal": "
|
|
133
|
+
"path": "modules/LAUNCH-DETECTION.md",
|
|
134
|
+
"signal": "detection"
|
|
123
135
|
}
|
|
124
136
|
]
|
|
125
137
|
},
|
|
126
|
-
"
|
|
127
|
-
"core": ["commands/
|
|
138
|
+
"persist": {
|
|
139
|
+
"core": ["commands/persist.md"],
|
|
128
140
|
"modules": [
|
|
129
141
|
{
|
|
130
142
|
"path": "modules/PLAN-MODE.md",
|
|
131
143
|
"signal": "plan-mode"
|
|
132
144
|
},
|
|
133
145
|
{
|
|
134
|
-
"path": "modules/
|
|
135
|
-
"signal": "
|
|
146
|
+
"path": "modules/PERSIST-ROUTING.md",
|
|
147
|
+
"signal": "classification"
|
|
136
148
|
},
|
|
137
149
|
{
|
|
138
|
-
"path": "modules/
|
|
139
|
-
"signal": "
|
|
150
|
+
"path": "modules/ADOPTED-CONTEXT.md",
|
|
151
|
+
"signal": "adopted"
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
"plan-exec": {
|
|
156
|
+
"core": [
|
|
157
|
+
"commands/plan-exec.md",
|
|
158
|
+
"loops/plan-exec-loop/LOOP.md",
|
|
159
|
+
"modules/PLAN-EXECUTION-BATCHES.md",
|
|
160
|
+
"loops/CHASSIS.md",
|
|
161
|
+
"loops/CODE-POLICIES.md"
|
|
162
|
+
],
|
|
163
|
+
"modules": [
|
|
164
|
+
{
|
|
165
|
+
"path": "modules/PLAN-MODE.md",
|
|
166
|
+
"signal": "plan-mode"
|
|
140
167
|
},
|
|
141
168
|
{
|
|
142
|
-
"path": "modules/
|
|
143
|
-
"signal": "
|
|
169
|
+
"path": "modules/EXEC-PROBE-TASKS.md",
|
|
170
|
+
"signal": "probe"
|
|
144
171
|
},
|
|
145
172
|
{
|
|
146
|
-
"path": "modules/
|
|
147
|
-
"signal": "
|
|
148
|
-
"requires": "web-research"
|
|
173
|
+
"path": "modules/PROBE.md",
|
|
174
|
+
"signal": "probe"
|
|
149
175
|
},
|
|
150
176
|
{
|
|
151
|
-
"path": "modules/
|
|
152
|
-
"signal": "
|
|
177
|
+
"path": "modules/EXEC-DB-POLICY.md",
|
|
178
|
+
"signal": "db",
|
|
179
|
+
"requires": "external-data"
|
|
153
180
|
},
|
|
154
181
|
{
|
|
155
|
-
"path": "modules/
|
|
156
|
-
"signal": "
|
|
182
|
+
"path": "modules/DB-SCRIPTS-ONLY.md",
|
|
183
|
+
"signal": "db",
|
|
184
|
+
"requires": "external-data"
|
|
157
185
|
},
|
|
158
186
|
{
|
|
159
187
|
"path": "modules/DB-RESEARCH-RULE.md",
|
|
160
188
|
"signal": "db",
|
|
161
189
|
"requires": "external-data"
|
|
162
190
|
},
|
|
191
|
+
{
|
|
192
|
+
"path": "modules/SIMULATION-LIFECYCLE.md",
|
|
193
|
+
"signal": "simulation"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"path": "modules/DESIGN-REFERENCES.md",
|
|
197
|
+
"signal": "ui"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"path": "modules/ADOPTED-CONTEXT.md",
|
|
201
|
+
"signal": "adopted"
|
|
202
|
+
},
|
|
163
203
|
{
|
|
164
204
|
"path": "modules/COMPACTION.md",
|
|
165
205
|
"signal": "compaction",
|
|
@@ -300,11 +340,10 @@
|
|
|
300
340
|
}
|
|
301
341
|
]
|
|
302
342
|
},
|
|
303
|
-
"
|
|
343
|
+
"quick": {
|
|
304
344
|
"core": [
|
|
305
|
-
"commands/
|
|
306
|
-
"loops/
|
|
307
|
-
"modules/PLAN-EXECUTION-BATCHES.md",
|
|
345
|
+
"commands/quick.md",
|
|
346
|
+
"loops/quick-loop/LOOP.md",
|
|
308
347
|
"loops/CHASSIS.md",
|
|
309
348
|
"loops/CODE-POLICIES.md"
|
|
310
349
|
],
|
|
@@ -314,15 +353,15 @@
|
|
|
314
353
|
"signal": "plan-mode"
|
|
315
354
|
},
|
|
316
355
|
{
|
|
317
|
-
"path": "modules/
|
|
318
|
-
"signal": "
|
|
356
|
+
"path": "modules/ADOPTED-CONTEXT.md",
|
|
357
|
+
"signal": "adopted"
|
|
319
358
|
},
|
|
320
359
|
{
|
|
321
360
|
"path": "modules/PROBE.md",
|
|
322
361
|
"signal": "probe"
|
|
323
362
|
},
|
|
324
363
|
{
|
|
325
|
-
"path": "modules/
|
|
364
|
+
"path": "modules/DB-RESEARCH-RULE.md",
|
|
326
365
|
"signal": "db",
|
|
327
366
|
"requires": "external-data"
|
|
328
367
|
},
|
|
@@ -331,23 +370,10 @@
|
|
|
331
370
|
"signal": "db",
|
|
332
371
|
"requires": "external-data"
|
|
333
372
|
},
|
|
334
|
-
{
|
|
335
|
-
"path": "modules/DB-RESEARCH-RULE.md",
|
|
336
|
-
"signal": "db",
|
|
337
|
-
"requires": "external-data"
|
|
338
|
-
},
|
|
339
|
-
{
|
|
340
|
-
"path": "modules/SIMULATION-LIFECYCLE.md",
|
|
341
|
-
"signal": "simulation"
|
|
342
|
-
},
|
|
343
373
|
{
|
|
344
374
|
"path": "modules/DESIGN-REFERENCES.md",
|
|
345
375
|
"signal": "ui"
|
|
346
376
|
},
|
|
347
|
-
{
|
|
348
|
-
"path": "modules/ADOPTED-CONTEXT.md",
|
|
349
|
-
"signal": "adopted"
|
|
350
|
-
},
|
|
351
377
|
{
|
|
352
378
|
"path": "modules/COMPACTION.md",
|
|
353
379
|
"signal": "compaction",
|
|
@@ -356,18 +382,17 @@
|
|
|
356
382
|
{
|
|
357
383
|
"path": "modules/SESSION-NUMBERING.md",
|
|
358
384
|
"signal": "sessions"
|
|
359
|
-
}
|
|
360
|
-
]
|
|
361
|
-
},
|
|
362
|
-
"status": {
|
|
363
|
-
"core": ["commands/status.md"],
|
|
364
|
-
"modules": [
|
|
385
|
+
},
|
|
365
386
|
{
|
|
366
|
-
"path": "modules/
|
|
367
|
-
"signal": "
|
|
387
|
+
"path": "modules/PROMPT-CONTINUITY.md",
|
|
388
|
+
"signal": "resume"
|
|
368
389
|
}
|
|
369
390
|
]
|
|
370
391
|
},
|
|
392
|
+
"reset": {
|
|
393
|
+
"core": ["commands/reset.md"],
|
|
394
|
+
"modules": []
|
|
395
|
+
},
|
|
371
396
|
"resume": {
|
|
372
397
|
"core": ["commands/resume.md"],
|
|
373
398
|
"modules": [
|
|
@@ -377,107 +402,90 @@
|
|
|
377
402
|
}
|
|
378
403
|
]
|
|
379
404
|
},
|
|
380
|
-
"
|
|
381
|
-
"core": ["commands/
|
|
405
|
+
"spec-new": {
|
|
406
|
+
"core": ["commands/spec-new.md"],
|
|
382
407
|
"modules": [
|
|
383
408
|
{
|
|
384
409
|
"path": "modules/PLAN-MODE.md",
|
|
385
410
|
"signal": "plan-mode"
|
|
386
411
|
},
|
|
387
412
|
{
|
|
388
|
-
"path": "modules/
|
|
389
|
-
"signal": "
|
|
413
|
+
"path": "modules/RECONNAISSANCE.md",
|
|
414
|
+
"signal": "reconnaissance"
|
|
390
415
|
},
|
|
391
416
|
{
|
|
392
|
-
"path": "modules/
|
|
393
|
-
"signal": "
|
|
417
|
+
"path": "modules/SPLIT-GATE.md",
|
|
418
|
+
"signal": "split"
|
|
394
419
|
}
|
|
395
420
|
]
|
|
396
421
|
},
|
|
397
|
-
"
|
|
398
|
-
"core": ["commands/
|
|
422
|
+
"spec-refine": {
|
|
423
|
+
"core": ["commands/spec-refine.md", "loops/spec-refine-loop/LOOP.md", "loops/CHASSIS.md"],
|
|
399
424
|
"modules": [
|
|
400
425
|
{
|
|
401
426
|
"path": "modules/PLAN-MODE.md",
|
|
402
427
|
"signal": "plan-mode"
|
|
403
|
-
}
|
|
404
|
-
]
|
|
405
|
-
},
|
|
406
|
-
"generate-launch": {
|
|
407
|
-
"core": ["commands/generate-launch.md"],
|
|
408
|
-
"modules": [
|
|
428
|
+
},
|
|
409
429
|
{
|
|
410
|
-
"path": "modules/
|
|
411
|
-
"signal": "
|
|
430
|
+
"path": "modules/SPEC-CHANGE-SHAPE.md",
|
|
431
|
+
"signal": "shape"
|
|
412
432
|
},
|
|
413
433
|
{
|
|
414
|
-
"path": "modules/
|
|
415
|
-
"signal": "
|
|
416
|
-
}
|
|
417
|
-
]
|
|
418
|
-
},
|
|
419
|
-
"workspace-init": {
|
|
420
|
-
"core": ["commands/workspace-init.md"],
|
|
421
|
-
"modules": [
|
|
434
|
+
"path": "modules/SPEC-REFINE-KEYS.md",
|
|
435
|
+
"signal": "resume"
|
|
436
|
+
},
|
|
422
437
|
{
|
|
423
|
-
"path": "modules/
|
|
424
|
-
"signal": "
|
|
438
|
+
"path": "modules/DESIGN-REFERENCES.md",
|
|
439
|
+
"signal": "ui"
|
|
425
440
|
},
|
|
426
441
|
{
|
|
427
|
-
"path": "modules/
|
|
428
|
-
"signal": "
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
},
|
|
432
|
-
"export-diagrams": {
|
|
433
|
-
"core": ["commands/export-diagrams.md"],
|
|
434
|
-
"modules": [
|
|
442
|
+
"path": "modules/IDEATION-GATE.md",
|
|
443
|
+
"signal": "web",
|
|
444
|
+
"requires": "web-research"
|
|
445
|
+
},
|
|
435
446
|
{
|
|
436
|
-
"path": "modules/
|
|
437
|
-
"signal": "
|
|
447
|
+
"path": "modules/ADOPTED-CONTEXT.md",
|
|
448
|
+
"signal": "adopted"
|
|
438
449
|
},
|
|
439
450
|
{
|
|
440
|
-
"path": "
|
|
441
|
-
"signal": "
|
|
442
|
-
}
|
|
443
|
-
]
|
|
444
|
-
},
|
|
445
|
-
"export-manuals": {
|
|
446
|
-
"core": ["commands/export-manuals.md"],
|
|
447
|
-
"modules": [
|
|
451
|
+
"path": "modules/PROBE.md",
|
|
452
|
+
"signal": "probe"
|
|
453
|
+
},
|
|
448
454
|
{
|
|
449
|
-
"path": "modules/
|
|
450
|
-
"signal": "
|
|
455
|
+
"path": "modules/DB-RESEARCH-RULE.md",
|
|
456
|
+
"signal": "db",
|
|
457
|
+
"requires": "external-data"
|
|
451
458
|
},
|
|
452
459
|
{
|
|
453
|
-
"path": "
|
|
454
|
-
"signal": "
|
|
460
|
+
"path": "modules/COMPACTION.md",
|
|
461
|
+
"signal": "compaction",
|
|
462
|
+
"requires": "compaction"
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"path": "modules/SESSION-NUMBERING.md",
|
|
466
|
+
"signal": "sessions"
|
|
455
467
|
}
|
|
456
468
|
]
|
|
457
469
|
},
|
|
458
|
-
"
|
|
459
|
-
"core": ["commands/
|
|
470
|
+
"status": {
|
|
471
|
+
"core": ["commands/status.md"],
|
|
460
472
|
"modules": [
|
|
461
473
|
{
|
|
462
474
|
"path": "modules/PLAN-MODE.md",
|
|
463
475
|
"signal": "plan-mode"
|
|
464
|
-
},
|
|
465
|
-
{
|
|
466
|
-
"path": "exports/export-reports/EXPORT.md",
|
|
467
|
-
"signal": "authoring"
|
|
468
476
|
}
|
|
469
477
|
]
|
|
470
478
|
},
|
|
471
|
-
"
|
|
472
|
-
"core": ["commands/
|
|
479
|
+
"workspace-init": {
|
|
480
|
+
"core": ["commands/workspace-init.md"],
|
|
473
481
|
"modules": [
|
|
474
482
|
{
|
|
475
483
|
"path": "modules/PLAN-MODE.md",
|
|
476
484
|
"signal": "plan-mode"
|
|
477
485
|
},
|
|
478
486
|
{
|
|
479
|
-
"path": "
|
|
480
|
-
"signal": "
|
|
487
|
+
"path": "modules/WORKSPACE-SCAFFOLD.md",
|
|
488
|
+
"signal": "scaffold"
|
|
481
489
|
}
|
|
482
490
|
]
|
|
483
491
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# CODE-POLICIES — policies for code-editing loops
|
|
2
2
|
|
|
3
3
|
They apply to **`plan-exec-loop`** (per effective batch) and **`quick-loop`** (the single task;
|
|
4
|
-
**proportional** gate): each reads this doc with the chassis
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
**proportional** gate): each reads this doc with the chassis, and no document loop loads it. These
|
|
5
|
+
policies own the DB scripts-only, safe Git and closing-review invariants; code loops keep only a
|
|
6
|
+
short inline floor for advisory hosts.
|
|
7
7
|
|
|
8
8
|
## Safe git — verified branch + proposed commits
|
|
9
9
|
|
|
@@ -15,13 +15,13 @@ recorded as uncommitted in `CHECKPOINT` and `BACKLOG`. Between units each workin
|
|
|
15
15
|
explicitly acknowledged; a `continuous` batch is the narrow exception that intentionally co-mingles
|
|
16
16
|
its internal phases in one reviewed commit, and no batch may co-mingle with another.
|
|
17
17
|
|
|
18
|
-
Concurrent flows never share a working tree:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
`aw fix-git --path`, never
|
|
18
|
+
Concurrent flows never share a working tree: a run declares its sources and takes an **isolation
|
|
19
|
+
unit** in each before writing — a worktree on its own branch
|
|
20
|
+
(`aw worktree ensure | list | release`), where branch and commits are read. An edit outside is
|
|
21
|
+
blocked naming the command that gets one, and at close `aw worktree integrate` merges each into
|
|
22
|
+
the source's work branch; a conflict is reported, routed to `aw fix-git --path`, never alone.
|
|
23
23
|
|
|
24
|
-
> **When the branch is verified, when a commit becomes available and what an approval covers is not this document's call:** the deterministic steps below are decided by the CLI (`aw flow advance`), not by this document. Approving is the person's act and committing is a separate effect that comes back as the
|
|
24
|
+
> **When the branch is verified, when a commit becomes available and what an approval covers is not this document's call:** the deterministic steps below are decided by the CLI (`aw flow advance`), not by this document. Approving is the person's act and committing is a separate effect that comes back as the units' own git state — which is what makes "the checks passed" impossible to assert without having run them.
|
|
25
25
|
|
|
26
26
|
## Closing review gate (conventions, pre-commit)
|
|
27
27
|
|
|
@@ -192,8 +192,17 @@ deferred with justification when they are not blockers.
|
|
|
192
192
|
passed. In a continuous batch every phase waits for the batch review; an operative handoff leaves
|
|
193
193
|
the affected phase `bloqueada` and the unit uncommitted.
|
|
194
194
|
- **The plan's own state is the third axis, and it stays `open` during the whole run.** Every phase `validada` is **not** the plan closed: the final validation still has to run. Keep `> Estado: open` under the title while executing — stamping it on the first write if the plan carries none — and never write `done` from the counters — a legacy plan with every box ticked is not closed by that fact (§ *Legacy plans degrade safely*).
|
|
195
|
-
- **Every phase `validada` + final validation passed** unlocks completion, and
|
|
196
|
-
|
|
195
|
+
- **Every phase `validada` + final validation passed** unlocks completion, and the mark is written
|
|
196
|
+
**after Git**: commit each unit, integrate it, and only then seal `done`. A run that isolates its
|
|
197
|
+
writing holds commits that live on `aw/<session>` and nowhere else, so a `done` stamped before the
|
|
198
|
+
merge would be true of no branch anybody reads.
|
|
199
|
+
- **Integrating is part of closing, not a chore after it.** `aw worktree integrate --code <NNN>`
|
|
200
|
+
merges every unit of the session into its source's working branch, in alias order, one at a time
|
|
201
|
+
over the live branch — never a rebase, a force, a push or a silent branch switch. A **conflict is a
|
|
202
|
+
live state, not a failure**: the unit, its commits and the merge are kept, the receipt names the
|
|
203
|
+
plan, the source and the files, and `aw fix-git --path <source>` (`prepare` → `apply` →
|
|
204
|
+
`commit --confirm`) resolves it; then integrate again to confirm and give the unit back. The plan
|
|
205
|
+
is not `done` and the session does not close while a unit is still alive.
|
|
197
206
|
- **Marking done = ONE status line in the plan-doc**, under the title's blockquote: `> Estado: done`, updated in place on a re-run. The machine value **stands alone** — the date and session go on their own `> Cierre: YYYY-MM-DD · sesión NNN` line right under it, for the same reason a blocker never rides on a phase's state line. It never replaces the per-phase lines inside the `### Fn` blocks — position tells the two apart. No per-phase result tables, no ✅ suffixes — that record lives in the session (`DECISION`/`CHECKPOINT`).
|
|
198
207
|
- **Legacy status line, migrated on write.** A plan carrying the old single-line form (`> Estado: done — YYYY-MM-DD · sesión NNN`) is still **read** as closed; the first time this loop legitimately writes that document, it is rewritten to the two-line form. Compatibility is for reading old plans — every new write uses the normalized contract.
|
|
199
208
|
- **No automatic export**: the artifacts (`SCRIPTS.sql`, `DECISION`, …) stay in the session. Promoting them to `docs/` (scripts, manuals, …) is a separate step via `export-*`.
|
|
@@ -235,30 +244,31 @@ plan-exec-loop(PPP-plan-<slug>.md):
|
|
|
235
244
|
if any proof/check/review/exit condition is not green:
|
|
236
245
|
preserve actual states + combined uncommitted diff; record unblocking action; stop
|
|
237
246
|
set every Batch phase > Estado: validada; update CHECKPOINT
|
|
238
|
-
prepare exactly one commit per affected source
|
|
239
|
-
|
|
240
|
-
pre-authorized → mark plan done, then commit once per affected source without asking
|
|
241
|
-
otherwise → structured_choice(content: [Marcar plan done, Preguntar algo más], flow: [Compactar, Cerrar])
|
|
242
|
-
Marcar plan done → approve; mark done; commit all source changes once
|
|
243
|
-
else if pre-authorized → commit without another question
|
|
247
|
+
prepare exactly one commit per affected source, in its own isolation unit
|
|
248
|
+
pre-authorized → commit without another question
|
|
244
249
|
else → one consolidated approval for all source commits
|
|
245
250
|
rejected → changes stay; record "batch uncommitted"
|
|
251
|
+
if last Batch + final validation green:
|
|
252
|
+
integrate: aw worktree integrate --code NNN # every unit, alias order, live branch
|
|
253
|
+
conflict → keep unit + merge; report plan/source/files; aw fix-git --path <source>
|
|
254
|
+
(prepare → apply → commit --confirm) → integrate again → release
|
|
255
|
+
refused (dirty checkout / off branch / uncommitted unit) → fix what it names; retry
|
|
256
|
+
then mark plan done: > Estado: done + > Cierre: YYYY-MM-DD · sesión NNN under the title (Delta 6)
|
|
246
257
|
next-batch precondition: working trees clean or acknowledged
|
|
247
258
|
if no Batch ran and phases are already validada:
|
|
248
|
-
run final validation now
|
|
249
|
-
if green:
|
|
250
|
-
use the same pre-authorized/final structured-choice completion branch
|
|
251
|
-
when authorized → mark plan done with > Estado: done + > Cierre: YYYY-MM-DD · sesión NNN under the title (Delta 6), then commit that source once
|
|
259
|
+
run final validation now; if green → same integrate-then-mark-done branch
|
|
252
260
|
if plan is not done:
|
|
253
261
|
the plan-level > Estado: stays open → CHECKPOINT.Next = the action that unblocks the phase(s)
|
|
254
262
|
# NO export: artifacts stay in the session; a separate export-* promotes them
|
|
255
263
|
finalize: CHECKPOINT (+ BACKLOG if something is deferred) + close session + report
|
|
264
|
+
a session holding a live unit does NOT close: integrate it, or record why it stays
|
|
256
265
|
```
|
|
257
266
|
|
|
258
267
|
## Convergence / exit
|
|
259
268
|
|
|
260
269
|
- **Every phase `validada`** + final validation passed + every effective batch reviewed before its
|
|
261
|
-
commits → `Marcar plan done`. Any pending/running/blocked phase keeps the
|
|
270
|
+
commits + every unit integrated → `Marcar plan done`. Any pending/running/blocked phase keeps the
|
|
271
|
+
plan open, and so does any unit still holding commits.
|
|
262
272
|
- A **structural deviation** or a **functional change** exits this loop without converging (§ *Deviation gate*): `CHECKPOINT` + `finalize`, and the work continues in `plan-refine` / `spec-refine`. Same exit when the entry gate finds a structural gap.
|
|
263
273
|
- `Cerrar` (`flow` control, at any time) → `finalize` persists `CHECKPOINT` (and `BACKLOG` only if something remained unexecuted / uncommitted / unapplied), closes the session, reports.
|
|
264
274
|
- Promoting artifacts to `docs/` (via `export-*`) is **always** a later, explicit step outside this loop.
|
|
@@ -32,7 +32,7 @@ PLAN
|
|
|
32
32
|
## Writes
|
|
33
33
|
`docs/plans/PPP-plan-<slug>.md` (`generate`; **overwrites with confirmation** if it exists) — or **several sibling plans** when an accepted split applies (§ *Split gate (multi-plan)*). With UI, also the design revision it publishes under `docs/designs` (chassis § *docs/ boundary*). It never graduates/exports anything else to `docs/` — that is separate `export-*` work.
|
|
34
34
|
|
|
35
|
-
> **Naming** follows [`PLAN-INPUT`](../../modules/PLAN-INPUT.md) § *Numbering*:
|
|
35
|
+
> **Naming** follows [`PLAN-INPUT`](../../modules/PLAN-INPUT.md) § *Numbering*: the claim CLAIMS `PPP` **for its run** — two flows never get the same one, only its owner fills it; closing unpublished frees it. Plans glob as `docs/plans/PPP-plan-*.md`.
|
|
36
36
|
|
|
37
37
|
> **Adoption (command mode 4):** an **externally-built plan** (host plan mode, hand-written, another agent) is materialized by the **command** in a single pass — this loop does not run: transcribe + normalize into the Delta 1 schema, `## Origin` = "adopted from <source>" + attribution; then `plan-refine` closes schema gaps (its coherence gate degrades for spec-less plans). See `../../modules/PLAN-INPUT.md` (the command's `input` module).
|
|
38
38
|
|
|
@@ -25,4 +25,4 @@ Loaded when the input is not plainly a `ready-for-plan` spec (signal `input`).
|
|
|
25
25
|
|
|
26
26
|
## Numbering
|
|
27
27
|
|
|
28
|
-
The plan is named `docs/plans/PPP-plan-<slug>.md`; `aw next-number docs/plans --claim plan-<slug>.md
|
|
28
|
+
The plan is named `docs/plans/PPP-plan-<slug>.md`; `aw next-number docs/plans --claim plan-<slug>.md --code <NNN>` claims it **for its run**; the slug comes from the Requirement. It does **not inherit the spec's `NNN`** — the link is established by reference in `## Origin`, never by number.
|