@tacuchi/agent-workflow-cli 20.22.0 → 20.24.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.
Files changed (168) hide show
  1. package/dist/adapters/git-cli.js +42 -0
  2. package/dist/adapters/git-cli.js.map +1 -1
  3. package/dist/application/artifacts-service.js +5 -5
  4. package/dist/application/artifacts-service.js.map +1 -1
  5. package/dist/application/checkpoint-service.js +60 -55
  6. package/dist/application/checkpoint-service.js.map +1 -1
  7. package/dist/application/checkpoint-write-service.js +61 -66
  8. package/dist/application/checkpoint-write-service.js.map +1 -1
  9. package/dist/application/context/budget-service.js +128 -0
  10. package/dist/application/context/budget-service.js.map +1 -0
  11. package/dist/application/context/bundle-root.js +41 -0
  12. package/dist/application/context/bundle-root.js.map +1 -0
  13. package/dist/application/context/manifest.js +150 -0
  14. package/dist/application/context/manifest.js.map +1 -0
  15. package/dist/application/context/measure.js +227 -0
  16. package/dist/application/context/measure.js.map +1 -0
  17. package/dist/application/context/plan-service.js +177 -0
  18. package/dist/application/context/plan-service.js.map +1 -0
  19. package/dist/application/decisiones-service.js +5 -5
  20. package/dist/application/decisiones-service.js.map +1 -1
  21. package/dist/application/export-service.js +250 -0
  22. package/dist/application/export-service.js.map +1 -0
  23. package/dist/application/fix-git-service.js +244 -0
  24. package/dist/application/fix-git-service.js.map +1 -0
  25. package/dist/application/history-update-service.js +35 -24
  26. package/dist/application/history-update-service.js.map +1 -1
  27. package/dist/application/lifecycle-target.js +39 -0
  28. package/dist/application/lifecycle-target.js.map +1 -0
  29. package/dist/application/parsers/spec-relation.js +80 -0
  30. package/dist/application/parsers/spec-relation.js.map +1 -0
  31. package/dist/application/paths-service.js +8 -0
  32. package/dist/application/paths-service.js.map +1 -1
  33. package/dist/application/persist-service.js +285 -0
  34. package/dist/application/persist-service.js.map +1 -0
  35. package/dist/application/release-data/artifacts.js +17 -21
  36. package/dist/application/release-data/artifacts.js.map +1 -1
  37. package/dist/application/resume-service.js +184 -0
  38. package/dist/application/resume-service.js.map +1 -0
  39. package/dist/application/semantic-operation/protocol.js +247 -0
  40. package/dist/application/semantic-operation/protocol.js.map +1 -0
  41. package/dist/application/semantic-operation/publish.js +80 -0
  42. package/dist/application/semantic-operation/publish.js.map +1 -0
  43. package/dist/application/session-binding-service.js +125 -0
  44. package/dist/application/session-binding-service.js.map +1 -0
  45. package/dist/application/session-close-service.js +60 -39
  46. package/dist/application/session-close-service.js.map +1 -1
  47. package/dist/application/session-create-service.js +45 -19
  48. package/dist/application/session-create-service.js.map +1 -1
  49. package/dist/application/session-resolver.js +180 -44
  50. package/dist/application/session-resolver.js.map +1 -1
  51. package/dist/application/session-resume-service.js +39 -9
  52. package/dist/application/session-resume-service.js.map +1 -1
  53. package/dist/application/sessions-service.js +0 -2
  54. package/dist/application/sessions-service.js.map +1 -1
  55. package/dist/application/status-service.js +24 -388
  56. package/dist/application/status-service.js.map +1 -1
  57. package/dist/application/tasks-service.js +5 -5
  58. package/dist/application/tasks-service.js.map +1 -1
  59. package/dist/application/workline-index-service.js +510 -0
  60. package/dist/application/workline-index-service.js.map +1 -0
  61. package/dist/cli/commands/checkpoint-read.js +10 -6
  62. package/dist/cli/commands/checkpoint-read.js.map +1 -1
  63. package/dist/cli/commands/checkpoint-write.js +38 -11
  64. package/dist/cli/commands/checkpoint-write.js.map +1 -1
  65. package/dist/cli/commands/context-budget.js +79 -0
  66. package/dist/cli/commands/context-budget.js.map +1 -0
  67. package/dist/cli/commands/context-plan.js +75 -0
  68. package/dist/cli/commands/context-plan.js.map +1 -0
  69. package/dist/cli/commands/export.js +117 -0
  70. package/dist/cli/commands/export.js.map +1 -0
  71. package/dist/cli/commands/fix-git.js +109 -0
  72. package/dist/cli/commands/fix-git.js.map +1 -0
  73. package/dist/cli/commands/generate-launch.js +35 -3
  74. package/dist/cli/commands/generate-launch.js.map +1 -1
  75. package/dist/cli/commands/history-update.js +1 -1
  76. package/dist/cli/commands/history-update.js.map +1 -1
  77. package/dist/cli/commands/index.js +15 -0
  78. package/dist/cli/commands/index.js.map +1 -1
  79. package/dist/cli/commands/persist.js +67 -0
  80. package/dist/cli/commands/persist.js.map +1 -0
  81. package/dist/cli/commands/resume-summary.js +14 -3
  82. package/dist/cli/commands/resume-summary.js.map +1 -1
  83. package/dist/cli/commands/resume.js +73 -0
  84. package/dist/cli/commands/resume.js.map +1 -0
  85. package/dist/cli/commands/session-artifacts.js +12 -11
  86. package/dist/cli/commands/session-artifacts.js.map +1 -1
  87. package/dist/cli/commands/session-close.js +8 -7
  88. package/dist/cli/commands/session-close.js.map +1 -1
  89. package/dist/cli/commands/session-create.js +5 -1
  90. package/dist/cli/commands/session-create.js.map +1 -1
  91. package/dist/cli/commands/session-resume.js +16 -10
  92. package/dist/cli/commands/session-resume.js.map +1 -1
  93. package/dist/cli/commands/status.js +66 -2
  94. package/dist/cli/commands/status.js.map +1 -1
  95. package/dist/cli/commands/workspace-init.js +21 -2
  96. package/dist/cli/commands/workspace-init.js.map +1 -1
  97. package/dist/cli/context-id.js +133 -0
  98. package/dist/cli/context-id.js.map +1 -0
  99. package/dist/cli/help-groups.js +20 -1
  100. package/dist/cli/help-groups.js.map +1 -1
  101. package/dist/cli/main.js +44 -16
  102. package/dist/cli/main.js.map +1 -1
  103. package/dist/cli/output-mode.js +41 -0
  104. package/dist/cli/output-mode.js.map +1 -0
  105. package/dist/cli/parser.js +10 -0
  106. package/dist/cli/parser.js.map +1 -1
  107. package/dist/cli/registry.js.map +1 -1
  108. package/dist/cli/render.js +53 -0
  109. package/dist/cli/render.js.map +1 -1
  110. package/package.json +1 -1
  111. package/skills/w/SKILL.md +2 -2
  112. package/skills/w/commands/export-diagrams.md +13 -21
  113. package/skills/w/commands/export-manuals.md +15 -21
  114. package/skills/w/commands/export-reports.md +14 -21
  115. package/skills/w/commands/export-scripts.md +14 -21
  116. package/skills/w/commands/fix-git.md +24 -16
  117. package/skills/w/commands/generate-launch.md +13 -32
  118. package/skills/w/commands/persist.md +21 -77
  119. package/skills/w/commands/plan-exec.md +14 -30
  120. package/skills/w/commands/plan-new.md +11 -38
  121. package/skills/w/commands/plan-refine.md +13 -41
  122. package/skills/w/commands/quick.md +13 -20
  123. package/skills/w/commands/resume.md +19 -56
  124. package/skills/w/commands/spec-new.md +28 -69
  125. package/skills/w/commands/spec-refine.md +12 -37
  126. package/skills/w/commands/status.md +12 -55
  127. package/skills/w/commands/workspace-init.md +14 -21
  128. package/skills/w/context/MANIFEST.json +486 -0
  129. package/skills/w/harness/HARNESS.md +1 -1
  130. package/skills/w/hooks/README.md +21 -2
  131. package/skills/w/hooks/hooks.template.json +2 -2
  132. package/skills/w/loops/CHASSIS.md +53 -104
  133. package/skills/w/loops/CODE-POLICIES.md +4 -9
  134. package/skills/w/loops/plan-exec-loop/LOOP.md +5 -12
  135. package/skills/w/loops/plan-new-loop/LOOP.md +8 -32
  136. package/skills/w/loops/plan-refine-loop/LOOP.md +8 -36
  137. package/skills/w/loops/quick-loop/LOOP.md +4 -10
  138. package/skills/w/loops/spec-refine-loop/LOOP.md +7 -49
  139. package/skills/w/modules/ADOPTED-CONTEXT.md +10 -0
  140. package/skills/w/modules/COMPACTION.md +13 -0
  141. package/skills/w/modules/DB-RESEARCH-RULE.md +11 -0
  142. package/skills/w/modules/DB-SCRIPTS-ONLY.md +12 -0
  143. package/skills/w/modules/EXEC-DB-POLICY.md +7 -0
  144. package/skills/w/modules/EXEC-PROBE-TASKS.md +11 -0
  145. package/skills/w/modules/IDEATION-GATE.md +16 -0
  146. package/skills/w/modules/INCREMENTAL-STRATEGY.md +7 -0
  147. package/skills/w/modules/LAUNCH-DETECTION.md +26 -0
  148. package/skills/w/modules/PERSIST-ROUTING.md +16 -0
  149. package/skills/w/modules/PLAN-DESIGN-SPECS.md +12 -0
  150. package/skills/w/modules/PLAN-INPUT.md +26 -0
  151. package/skills/w/modules/PLAN-MODE.md +26 -0
  152. package/skills/w/modules/PLAN-PROBE-TASKS.md +10 -0
  153. package/skills/w/modules/PLAN-REFINE-DESIGN-SPECS.md +7 -0
  154. package/skills/w/modules/PLAN-REFINE-KEYS.md +9 -0
  155. package/skills/w/modules/PLAN-REFINE-SPLIT.md +12 -0
  156. package/skills/w/modules/PLAN-SPLIT-GATE.md +14 -0
  157. package/skills/w/modules/PROBE.md +12 -0
  158. package/skills/w/modules/PROMPT-CONTINUITY.md +13 -0
  159. package/skills/w/modules/RECONNAISSANCE.md +48 -0
  160. package/skills/w/modules/REPLANNING.md +12 -0
  161. package/skills/w/modules/SESSION-NUMBERING.md +19 -0
  162. package/skills/w/modules/SIMULATION-LIFECYCLE.md +11 -0
  163. package/skills/w/modules/SPEC-CHANGE-SHAPE.md +37 -0
  164. package/skills/w/modules/SPEC-REFINE-KEYS.md +14 -0
  165. package/skills/w/modules/SPLIT-GATE.md +42 -0
  166. package/skills/w/modules/WORKSPACE-SCAFFOLD.md +28 -0
  167. package/skills/w/roles/git/ROLE.md +7 -8
  168. package/skills/w/roles/ui-spec/ROLE.md +1 -1
@@ -0,0 +1,486 @@
1
+ {
2
+ "version": 1,
3
+ "$comment": "Context graph of the w bundle. Single source for BOTH measurement (aw context-budget) and resolution (aw context-plan). It lives inside the bundle on purpose: a hand-installed tree carries the manifest that describes IT, so a receipt can never describe a bundle other than the one the agent actually reads. Paths are relative to the bundle root. `core` is loaded always, in order; a module is loaded only when its signal is observed.",
4
+ "signals": {
5
+ "plan-mode": "the host reports it is planning, so the command describes instead of acting",
6
+ "adopted": "the conversation already produced the analysis, plan or answers the run needs",
7
+ "probe": "the run rests on a runnable assumption that reading cannot settle",
8
+ "db": "the run reads or writes a database",
9
+ "ui": "the run produces or changes a user interface",
10
+ "split": "the deliverable may have to become more than one document",
11
+ "shape": "the investigation may have changed what kind of document this is",
12
+ "input": "the argument is not plainly the document this command expects",
13
+ "resume": "a prior run over this same input may exist",
14
+ "replan": "work already executed has to be re-planned around",
15
+ "simulation": "the change carries temporary behavior with a boundary to declare",
16
+ "compaction": "the run is long enough that context pressure governs its pacing",
17
+ "sessions": "a session other than this run's own has to be located, named or reopened",
18
+ "web": "the run needs evidence from outside the workspace",
19
+ "reconnaissance": "a draft is being cut from a raw prompt over unfamiliar terrain",
20
+ "detection": "the CLI's automatic detection was wrong or ambiguous",
21
+ "scaffold": "the target folder already carries a workspace",
22
+ "classification": "in-conversation work has to be classified before it is written",
23
+ "authoring": "the deliverable's own notation, structure or ordering is not obvious from the material"
24
+ },
25
+ "commands": {
26
+ "quick": {
27
+ "core": [
28
+ "commands/quick.md",
29
+ "loops/quick-loop/LOOP.md",
30
+ "loops/CHASSIS.md",
31
+ "loops/CODE-POLICIES.md"
32
+ ],
33
+ "modules": [
34
+ {
35
+ "path": "modules/PLAN-MODE.md",
36
+ "signal": "plan-mode"
37
+ },
38
+ {
39
+ "path": "modules/ADOPTED-CONTEXT.md",
40
+ "signal": "adopted"
41
+ },
42
+ {
43
+ "path": "modules/PROBE.md",
44
+ "signal": "probe"
45
+ },
46
+ {
47
+ "path": "modules/DB-RESEARCH-RULE.md",
48
+ "signal": "db",
49
+ "requires": "external-data"
50
+ },
51
+ {
52
+ "path": "modules/DB-SCRIPTS-ONLY.md",
53
+ "signal": "db",
54
+ "requires": "external-data"
55
+ },
56
+ {
57
+ "path": "modules/COMPACTION.md",
58
+ "signal": "compaction",
59
+ "requires": "compaction"
60
+ },
61
+ {
62
+ "path": "modules/SESSION-NUMBERING.md",
63
+ "signal": "sessions"
64
+ },
65
+ {
66
+ "path": "modules/PROMPT-CONTINUITY.md",
67
+ "signal": "resume"
68
+ }
69
+ ]
70
+ },
71
+ "spec-new": {
72
+ "core": ["commands/spec-new.md"],
73
+ "modules": [
74
+ {
75
+ "path": "modules/PLAN-MODE.md",
76
+ "signal": "plan-mode"
77
+ },
78
+ {
79
+ "path": "modules/RECONNAISSANCE.md",
80
+ "signal": "reconnaissance"
81
+ },
82
+ {
83
+ "path": "modules/SPLIT-GATE.md",
84
+ "signal": "split"
85
+ }
86
+ ]
87
+ },
88
+ "spec-refine": {
89
+ "core": ["commands/spec-refine.md", "loops/spec-refine-loop/LOOP.md", "loops/CHASSIS.md"],
90
+ "modules": [
91
+ {
92
+ "path": "modules/PLAN-MODE.md",
93
+ "signal": "plan-mode"
94
+ },
95
+ {
96
+ "path": "modules/SPEC-CHANGE-SHAPE.md",
97
+ "signal": "shape"
98
+ },
99
+ {
100
+ "path": "modules/SPEC-REFINE-KEYS.md",
101
+ "signal": "resume"
102
+ },
103
+ {
104
+ "path": "modules/IDEATION-GATE.md",
105
+ "signal": "web",
106
+ "requires": "web-research"
107
+ },
108
+ {
109
+ "path": "modules/ADOPTED-CONTEXT.md",
110
+ "signal": "adopted"
111
+ },
112
+ {
113
+ "path": "modules/PROBE.md",
114
+ "signal": "probe"
115
+ },
116
+ {
117
+ "path": "modules/DB-RESEARCH-RULE.md",
118
+ "signal": "db",
119
+ "requires": "external-data"
120
+ },
121
+ {
122
+ "path": "modules/COMPACTION.md",
123
+ "signal": "compaction",
124
+ "requires": "compaction"
125
+ },
126
+ {
127
+ "path": "modules/SESSION-NUMBERING.md",
128
+ "signal": "sessions"
129
+ }
130
+ ]
131
+ },
132
+ "plan-new": {
133
+ "core": ["commands/plan-new.md", "loops/plan-new-loop/LOOP.md", "loops/CHASSIS.md"],
134
+ "modules": [
135
+ {
136
+ "path": "modules/PLAN-MODE.md",
137
+ "signal": "plan-mode"
138
+ },
139
+ {
140
+ "path": "modules/PLAN-INPUT.md",
141
+ "signal": "input"
142
+ },
143
+ {
144
+ "path": "modules/PLAN-SPLIT-GATE.md",
145
+ "signal": "split"
146
+ },
147
+ {
148
+ "path": "modules/INCREMENTAL-STRATEGY.md",
149
+ "signal": "split"
150
+ },
151
+ {
152
+ "path": "modules/PLAN-DESIGN-SPECS.md",
153
+ "signal": "ui"
154
+ },
155
+ {
156
+ "path": "modules/PLAN-PROBE-TASKS.md",
157
+ "signal": "probe"
158
+ },
159
+ {
160
+ "path": "modules/PROBE.md",
161
+ "signal": "probe"
162
+ },
163
+ {
164
+ "path": "modules/ADOPTED-CONTEXT.md",
165
+ "signal": "adopted"
166
+ },
167
+ {
168
+ "path": "modules/DB-RESEARCH-RULE.md",
169
+ "signal": "db",
170
+ "requires": "external-data"
171
+ },
172
+ {
173
+ "path": "modules/COMPACTION.md",
174
+ "signal": "compaction",
175
+ "requires": "compaction"
176
+ },
177
+ {
178
+ "path": "modules/SESSION-NUMBERING.md",
179
+ "signal": "sessions"
180
+ }
181
+ ]
182
+ },
183
+ "plan-refine": {
184
+ "core": [
185
+ "commands/plan-refine.md",
186
+ "loops/plan-refine-loop/LOOP.md",
187
+ "loops/plan-new-loop/LOOP.md",
188
+ "loops/CHASSIS.md"
189
+ ],
190
+ "modules": [
191
+ {
192
+ "path": "modules/PLAN-MODE.md",
193
+ "signal": "plan-mode"
194
+ },
195
+ {
196
+ "path": "modules/PLAN-INPUT.md",
197
+ "signal": "input"
198
+ },
199
+ {
200
+ "path": "modules/PLAN-REFINE-KEYS.md",
201
+ "signal": "resume"
202
+ },
203
+ {
204
+ "path": "modules/PLAN-REFINE-SPLIT.md",
205
+ "signal": "split"
206
+ },
207
+ {
208
+ "path": "modules/PLAN-SPLIT-GATE.md",
209
+ "signal": "split"
210
+ },
211
+ {
212
+ "path": "modules/INCREMENTAL-STRATEGY.md",
213
+ "signal": "split"
214
+ },
215
+ {
216
+ "path": "modules/PLAN-REFINE-DESIGN-SPECS.md",
217
+ "signal": "ui"
218
+ },
219
+ {
220
+ "path": "modules/PLAN-DESIGN-SPECS.md",
221
+ "signal": "ui"
222
+ },
223
+ {
224
+ "path": "modules/REPLANNING.md",
225
+ "signal": "replan"
226
+ },
227
+ {
228
+ "path": "modules/SIMULATION-LIFECYCLE.md",
229
+ "signal": "simulation"
230
+ },
231
+ {
232
+ "path": "modules/PLAN-PROBE-TASKS.md",
233
+ "signal": "probe"
234
+ },
235
+ {
236
+ "path": "modules/PROBE.md",
237
+ "signal": "probe"
238
+ },
239
+ {
240
+ "path": "modules/ADOPTED-CONTEXT.md",
241
+ "signal": "adopted"
242
+ },
243
+ {
244
+ "path": "modules/DB-RESEARCH-RULE.md",
245
+ "signal": "db",
246
+ "requires": "external-data"
247
+ },
248
+ {
249
+ "path": "modules/COMPACTION.md",
250
+ "signal": "compaction",
251
+ "requires": "compaction"
252
+ },
253
+ {
254
+ "path": "modules/SESSION-NUMBERING.md",
255
+ "signal": "sessions"
256
+ }
257
+ ]
258
+ },
259
+ "plan-exec": {
260
+ "core": [
261
+ "commands/plan-exec.md",
262
+ "loops/plan-exec-loop/LOOP.md",
263
+ "loops/CHASSIS.md",
264
+ "loops/CODE-POLICIES.md"
265
+ ],
266
+ "modules": [
267
+ {
268
+ "path": "modules/PLAN-MODE.md",
269
+ "signal": "plan-mode"
270
+ },
271
+ {
272
+ "path": "modules/EXEC-PROBE-TASKS.md",
273
+ "signal": "probe"
274
+ },
275
+ {
276
+ "path": "modules/PROBE.md",
277
+ "signal": "probe"
278
+ },
279
+ {
280
+ "path": "modules/EXEC-DB-POLICY.md",
281
+ "signal": "db",
282
+ "requires": "external-data"
283
+ },
284
+ {
285
+ "path": "modules/DB-SCRIPTS-ONLY.md",
286
+ "signal": "db",
287
+ "requires": "external-data"
288
+ },
289
+ {
290
+ "path": "modules/DB-RESEARCH-RULE.md",
291
+ "signal": "db",
292
+ "requires": "external-data"
293
+ },
294
+ {
295
+ "path": "modules/SIMULATION-LIFECYCLE.md",
296
+ "signal": "simulation"
297
+ },
298
+ {
299
+ "path": "modules/PLAN-DESIGN-SPECS.md",
300
+ "signal": "ui"
301
+ },
302
+ {
303
+ "path": "modules/ADOPTED-CONTEXT.md",
304
+ "signal": "adopted"
305
+ },
306
+ {
307
+ "path": "modules/COMPACTION.md",
308
+ "signal": "compaction",
309
+ "requires": "compaction"
310
+ },
311
+ {
312
+ "path": "modules/SESSION-NUMBERING.md",
313
+ "signal": "sessions"
314
+ }
315
+ ]
316
+ },
317
+ "status": {
318
+ "core": ["commands/status.md"],
319
+ "modules": [
320
+ {
321
+ "path": "modules/PLAN-MODE.md",
322
+ "signal": "plan-mode"
323
+ }
324
+ ]
325
+ },
326
+ "resume": {
327
+ "core": ["commands/resume.md"],
328
+ "modules": [
329
+ {
330
+ "path": "modules/PLAN-MODE.md",
331
+ "signal": "plan-mode"
332
+ }
333
+ ]
334
+ },
335
+ "persist": {
336
+ "core": ["commands/persist.md"],
337
+ "modules": [
338
+ {
339
+ "path": "modules/PLAN-MODE.md",
340
+ "signal": "plan-mode"
341
+ },
342
+ {
343
+ "path": "modules/PERSIST-ROUTING.md",
344
+ "signal": "classification"
345
+ },
346
+ {
347
+ "path": "modules/ADOPTED-CONTEXT.md",
348
+ "signal": "adopted"
349
+ }
350
+ ]
351
+ },
352
+ "fix-git": {
353
+ "core": ["commands/fix-git.md"],
354
+ "modules": [
355
+ {
356
+ "path": "modules/PLAN-MODE.md",
357
+ "signal": "plan-mode"
358
+ }
359
+ ]
360
+ },
361
+ "generate-launch": {
362
+ "core": ["commands/generate-launch.md"],
363
+ "modules": [
364
+ {
365
+ "path": "modules/PLAN-MODE.md",
366
+ "signal": "plan-mode"
367
+ },
368
+ {
369
+ "path": "modules/LAUNCH-DETECTION.md",
370
+ "signal": "detection"
371
+ }
372
+ ]
373
+ },
374
+ "workspace-init": {
375
+ "core": ["commands/workspace-init.md"],
376
+ "modules": [
377
+ {
378
+ "path": "modules/PLAN-MODE.md",
379
+ "signal": "plan-mode"
380
+ },
381
+ {
382
+ "path": "modules/WORKSPACE-SCAFFOLD.md",
383
+ "signal": "scaffold"
384
+ }
385
+ ]
386
+ },
387
+ "export-diagrams": {
388
+ "core": ["commands/export-diagrams.md"],
389
+ "modules": [
390
+ {
391
+ "path": "modules/PLAN-MODE.md",
392
+ "signal": "plan-mode"
393
+ },
394
+ {
395
+ "path": "exports/export-diagrams/EXPORT.md",
396
+ "signal": "authoring"
397
+ }
398
+ ]
399
+ },
400
+ "export-manuals": {
401
+ "core": ["commands/export-manuals.md"],
402
+ "modules": [
403
+ {
404
+ "path": "modules/PLAN-MODE.md",
405
+ "signal": "plan-mode"
406
+ },
407
+ {
408
+ "path": "exports/export-manuals/EXPORT.md",
409
+ "signal": "authoring"
410
+ }
411
+ ]
412
+ },
413
+ "export-reports": {
414
+ "core": ["commands/export-reports.md"],
415
+ "modules": [
416
+ {
417
+ "path": "modules/PLAN-MODE.md",
418
+ "signal": "plan-mode"
419
+ },
420
+ {
421
+ "path": "exports/export-reports/EXPORT.md",
422
+ "signal": "authoring"
423
+ }
424
+ ]
425
+ },
426
+ "export-scripts": {
427
+ "core": ["commands/export-scripts.md"],
428
+ "modules": [
429
+ {
430
+ "path": "modules/PLAN-MODE.md",
431
+ "signal": "plan-mode"
432
+ },
433
+ {
434
+ "path": "exports/export-scripts/EXPORT.md",
435
+ "signal": "authoring"
436
+ }
437
+ ]
438
+ }
439
+ },
440
+ "journeys": [
441
+ {
442
+ "id": "spec",
443
+ "label": "SPEC",
444
+ "command": "spec-refine",
445
+ "signals": []
446
+ },
447
+ {
448
+ "id": "plan-doc",
449
+ "label": "PLAN documental",
450
+ "command": "plan-new",
451
+ "signals": []
452
+ },
453
+ {
454
+ "id": "code-exec",
455
+ "label": "ejecucion de codigo",
456
+ "command": "plan-exec",
457
+ "signals": []
458
+ },
459
+ {
460
+ "id": "quick",
461
+ "label": "QUICK",
462
+ "command": "quick",
463
+ "signals": []
464
+ },
465
+ {
466
+ "id": "transversal",
467
+ "label": "transversal",
468
+ "command": "persist",
469
+ "signals": []
470
+ },
471
+ {
472
+ "id": "export",
473
+ "label": "export",
474
+ "command": "export-scripts",
475
+ "signals": []
476
+ }
477
+ ],
478
+ "budget_policy": {
479
+ "$comment": "Ratios of the frozen baseline (spec 009 \u00a7 Decisions: -30% discovery, -40% median and -20% minimum activation, -25% median execution, +5% ceiling per journey). Absolute targets are DERIVED from baseline x ratio, never written by hand. The +5% ceiling also caps modules.total, the conditional tree as one figure: a representative journey carries no signal, so no journey line ever prices a module, and without that line the modules would grow unwatched.",
480
+ "discovery_max_ratio": 0.7,
481
+ "activation_median_max_ratio": 0.6,
482
+ "activation_each_max_ratio": 0.8,
483
+ "execution_median_max_ratio": 0.75,
484
+ "journey_max_ratio": 1.05
485
+ }
486
+ }
@@ -67,7 +67,7 @@ Concrete mechanism per harness (**Jul-2026**, verified against official docs; `~
67
67
 
68
68
  > **Oz (Warp's cloud sibling).** `oz agent run` is a cloud agent orchestrator that **reuses Warp's surfaces**: same skills (`.agents/skills`, top-level dirs like Warp) and `AGENTS.md`, with `structured-choice` equally degraded to numbered markdown. It differs in three points: **detection** via `OZ_RUN_ID` (takes priority over Warp when both markers coexist); **MCP without a config file** — the JSON is passed via the `--mcp` flag of `oz agent run` (or the `OZ_MCP_CONFIG` env), it never writes `.warp/.mcp.json`; and **no plugin or hooks** (advisory enforcement, like Warp). Hence it shares the **Warp / Oz** column with that MCP caveat.
69
69
 
70
- > **compaction (signal & self-regulation).** The chassis' *Self-regulation (proactive compaction)* doctrine (`../loops/CHASSIS.md` § *Compact / resume*) needs two per-host facts: the **context-pressure signal** (does the host surface one the agent can read?) and **`auto`-mode viability** (can compaction fire **without user interaction**?). Claude Code: the signal is the harness' own context warnings; `/compact` is user-invoked — the agent cannot run it itself, so `auto` **degrades to `confirm`** there (the native auto-compact is already cushioned by the PreCompact/PostCompact hooks: checkpoint-write + resume-summary). Hosts with compaction hooks/events (Codex Pre/PostCompact, OpenCode `session.compacted`) cushion resume the same way; hosts with neither signal nor mechanism run the universal fallback (CHECKPOINT + restart + resume) and `auto` likewise degrades. Mode semantics (`[compaction]` config, default, consent): the chassis' subsection — single source.
70
+ > **compaction (signal & self-regulation).** The chassis' *Self-regulation (proactive compaction)* doctrine (`../modules/COMPACTION.md`, loaded under the `compaction` signal) needs two per-host facts: the **context-pressure signal** (does the host surface one the agent can read?) and **`auto`-mode viability** (can compaction fire **without user interaction**?). Claude Code: the signal is the harness' own context warnings; `/compact` is user-invoked — the agent cannot run it itself, so `auto` **degrades to `confirm`** there (the native auto-compact is already cushioned by the PreCompact/PostCompact hooks: checkpoint-write + resume-summary). Hosts with compaction hooks/events (Codex Pre/PostCompact, OpenCode `session.compacted`) cushion resume the same way; hosts with neither signal nor mechanism run the universal fallback (CHECKPOINT + restart + resume) and `auto` likewise degrades. Mode semantics (`[compaction]` config, default, consent): the chassis' subsection — single source.
71
71
 
72
72
  > **host-memory (tiers & consumers).** Two tiers: *cheap* (structured, bounded — on Claude Code the auto-memory `MEMORY.md` + `CLAUDE.md`) and *deep* (transcript / `--resume` search, expensive). Consumers: **`/status`** reads only the *cheap* tier, **opportunistically and additively** (a `CONTEXTO DEL HOST` section when available; it **never asks** — a read-only dashboard — and silently omits the section on degrade); **`/resume`** **composes `/status`** and escalates a host-only finding **to a proposal only when the workline level does not explain the pending work** (the spec's fixed order governs the proposals, not the summary), optionally using the *deep* tier or asking as fallback. It is *enhancement*, never a `must`.
73
73
 
@@ -11,8 +11,27 @@
11
11
  | `PreToolUse` (`execute_sql`) | `hook sql-mutation-guard` | Blocks DML/DDL over MCP — reads only (DB scripts-only invariant). |
12
12
  | `PreToolUse` (Bash) | `hook git-commit-advisor` | **Advisory (does not block)**: warns if a `git commit` message lacks the active session's `sessionNNN` tag (traceability). Does **not** inspect `push`/`--amend`/`--no-verify`. |
13
13
  | `SessionEnd` | `auto-compact-on-close` | Writes `CHECKPOINT.md` on close — the resume key (*CHECKPOINT always* — chassis § Convergence / exit). |
14
- | `PreCompact` | `checkpoint-write` | Writes `CHECKPOINT.md` before the host compacts. |
15
- | `PostCompact` | `resume-summary` | Recovers the active loop state after a compact. |
14
+ | `PreCompact` | `checkpoint-write --can-pause` | Writes `CHECKPOINT.md` before the host compacts. |
15
+ | `PostCompact` | `resume-summary` | Recovers **the conversation's own** loop state after a compact. |
16
+
17
+ > **Conversation identity (spec 011).** The three lifecycle hooks act on **one**
18
+ > session — the conversation's own — never on "the first active one" and never
19
+ > on all of them. They resolve it with the canonical precedence: explicit
20
+ > `--code` → the conversation's durable association → the sole active session.
21
+ > The identity travels in the hook payload's `session_id` (read from stdin) or
22
+ > in `AW_CONTEXT_ID`; two signals naming different conversations fail with
23
+ > `CONTEXT_ID_CONFLICT` instead of picking one. The association lives in
24
+ > `.workflow/sessions/.bindings.json` keyed by the SHA-256 of that id — the raw
25
+ > value is never persisted.
26
+ >
27
+ > **Ambiguity is a capability question, not a guess.** `--can-pause` declares
28
+ > that *this host* can hold its compaction: Claude Code can, so the template
29
+ > passes it and `checkpoint-write` exits **2** with the candidate list instead of
30
+ > writing to an arbitrary session. A host that cannot pause omits the flag —
31
+ > its native compaction completes, and Workline reports
32
+ > `continuity: "degraded"` with `primary_session: null`, having written nothing.
33
+ > The flag is never inferred: guessing it produces false blocks. Per-host
34
+ > installation and transport belong to spec 010.
16
35
 
17
36
  > **What they enforce (host-level, blocking):** invariant **#4** (DB scripts-only) via `sql-mutation-guard` (blocks DML/DDL over MCP), and the *expected-branch* clause of **#5** via `branch-check` (blocks edits on the wrong branch). The rest of git-safe (`push`/`--amend`/`--no-verify`/`--force`) is **doctrinal** — `git-commit-advisor` only **warns**, it does not block; a host may add its own deny hook if it wants hard enforcement.
18
37
  >
@@ -62,7 +62,7 @@
62
62
  "hooks": [
63
63
  {
64
64
  "type": "command",
65
- "command": "agent-workflow checkpoint-write",
65
+ "command": "agent-workflow checkpoint-write --can-pause",
66
66
  "statusMessage": "Escribiendo CHECKPOINT.md antes de compactar...",
67
67
  "timeout": 10
68
68
  }
@@ -81,7 +81,7 @@
81
81
  },
82
82
  {
83
83
  "type": "prompt",
84
- "prompt": "Contexto compactado. El JSON anterior es output de `agent-workflow resume-summary`. Si hay `active_sessions`, reanudá el loop activo desde su CHECKPOINT.md y presentá un resumen. Si está vacío, terminá."
84
+ "prompt": "Contexto compactado. El JSON anterior es output de `agent-workflow resume-summary`. Si `continuity` es `ok`, reanudá el loop de `primary_session` desde su CHECKPOINT.md y presentá un resumen. Si `continuity` es `degraded`, NO reanudes ninguna sesión: `active_sessions` es un listado, no una identidad — mostrá `candidates` con su `action` y pedí al usuario que elija (después reintentá con `--code <NNN>`). Si no hay sesiones, terminá."
85
85
  }
86
86
  ]
87
87
  }