codex-workflow-v2 2.0.0-beta.13.1 → 2.0.0-beta.13.10

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 (82) hide show
  1. package/README.md +6 -1
  2. package/dist/reviewer-runtime-build.json +43 -19
  3. package/dist/src/alpha6/failed-step-planning-recovery.d.ts +10 -0
  4. package/dist/src/alpha6/failed-step-planning-recovery.js +93 -0
  5. package/dist/src/alpha6/failed-step-planning-recovery.js.map +1 -0
  6. package/dist/src/alpha6/plan-risk.d.ts +3 -0
  7. package/dist/src/alpha6/plan-risk.js +19 -9
  8. package/dist/src/alpha6/plan-risk.js.map +1 -1
  9. package/dist/src/alpha6/preexecution-replan.d.ts +38 -0
  10. package/dist/src/alpha6/preexecution-replan.js +130 -0
  11. package/dist/src/alpha6/preexecution-replan.js.map +1 -0
  12. package/dist/src/alpha6/remediation.d.ts +4 -2
  13. package/dist/src/alpha6/remediation.js +155 -20
  14. package/dist/src/alpha6/remediation.js.map +1 -1
  15. package/dist/src/alpha6/root-cause-replan-carryover.d.ts +18 -0
  16. package/dist/src/alpha6/root-cause-replan-carryover.js +396 -0
  17. package/dist/src/alpha6/root-cause-replan-carryover.js.map +1 -0
  18. package/dist/src/alpha7/autonomy.d.ts +3 -0
  19. package/dist/src/alpha7/autonomy.js +89 -42
  20. package/dist/src/alpha7/autonomy.js.map +1 -1
  21. package/dist/src/change-explanation.d.ts +64 -0
  22. package/dist/src/change-explanation.js +150 -0
  23. package/dist/src/change-explanation.js.map +1 -0
  24. package/dist/src/cli-actions.d.ts +3 -2
  25. package/dist/src/cli-actions.js +6 -0
  26. package/dist/src/cli-actions.js.map +1 -1
  27. package/dist/src/cli.js +73 -1
  28. package/dist/src/cli.js.map +1 -1
  29. package/dist/src/contracts.d.ts +36 -0
  30. package/dist/src/dependency-provenance.d.ts +3 -2
  31. package/dist/src/dependency-provenance.js +33 -2
  32. package/dist/src/dependency-provenance.js.map +1 -1
  33. package/dist/src/domain/plan-semantics.d.ts +11 -0
  34. package/dist/src/domain/plan-semantics.js +49 -0
  35. package/dist/src/domain/plan-semantics.js.map +1 -0
  36. package/dist/src/gateway-handshake.js +2 -0
  37. package/dist/src/gateway-handshake.js.map +1 -1
  38. package/dist/src/lifecycle/corrective-replan.js +3 -3
  39. package/dist/src/lifecycle/corrective-replan.js.map +1 -1
  40. package/dist/src/observed-routes.js +1 -0
  41. package/dist/src/observed-routes.js.map +1 -1
  42. package/dist/src/pending-review-update.d.ts +49 -0
  43. package/dist/src/pending-review-update.js +132 -0
  44. package/dist/src/pending-review-update.js.map +1 -0
  45. package/dist/src/repository.js +16 -4
  46. package/dist/src/repository.js.map +1 -1
  47. package/dist/src/reviewer.js +4 -1
  48. package/dist/src/reviewer.js.map +1 -1
  49. package/dist/src/state/corrective-replan-public.js +5 -4
  50. package/dist/src/state/corrective-replan-public.js.map +1 -1
  51. package/dist/src/state/corrective-yield-executor.js +12 -3
  52. package/dist/src/state/corrective-yield-executor.js.map +1 -1
  53. package/dist/src/state/store.d.ts +1 -1
  54. package/dist/src/state/store.js +17 -3
  55. package/dist/src/state/store.js.map +1 -1
  56. package/dist/src/version.d.ts +1 -1
  57. package/dist/src/version.js +1 -1
  58. package/dist/src/version.js.map +1 -1
  59. package/dist/src/workflow.d.ts +84 -1
  60. package/dist/src/workflow.js +1610 -355
  61. package/dist/src/workflow.js.map +1 -1
  62. package/docs/beta13.2-signal-review-recovery.md +38 -0
  63. package/docs/change-model.md +118 -0
  64. package/docs/delegated-approval.md +26 -0
  65. package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
  66. package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
  67. package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
  68. package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +1 -1
  69. package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +3 -5
  70. package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +11 -3
  71. package/docs/pending-review-update.md +15 -0
  72. package/docs/release.md +258 -2
  73. package/docs/updating-existing-project.md +10 -2
  74. package/package.json +2 -1
  75. package/plugins/codex-workflow-gateway/references/chat-dispatch.md +204 -0
  76. package/plugins/codex-workflow-gateway/references/protocol.md +11 -0
  77. package/plugins/codex-workflow-gateway/scripts/chat-dispatch.mjs +298 -0
  78. package/plugins/codex-workflow-gateway/scripts/chat-model-policy.mjs +43 -0
  79. package/plugins/codex-workflow-gateway/scripts/chat-registry.mjs +55 -3
  80. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +218 -21
  81. package/schemas/preexecution-replan-event.schema.json +45 -0
  82. package/schemas/task.schema.json +55 -0
package/README.md CHANGED
@@ -54,6 +54,11 @@ automation do not import anything from the parent V1 project.
54
54
  - beta.12.16 check-support authority: migration checksum/catalog modules imported directly by an
55
55
  approved check must be owned by the producing Step; an already-running Step receives only the
56
56
  exact machine-proved support path without a Human replan or a synthetic second failure;
57
+ - beta.13.7 retains a completed Step's carryover as verified history so later Steps can
58
+ replan normally, and binds corrective continuation to the original Worker.
59
+ - beta.13.6 binds dirty work retained by a mechanical root-cause replan to its source failure,
60
+ exact replacement Plan and audit, current authorization, unchanged HEAD and content hash;
61
+ navigation and execution share that assessment instead of demanding a clean checkout after replan;
57
62
  - read-only Milestone progress projection with stable membership ordinals and replacement links;
58
63
  - one project-monotonic `#NNN` chat registry with compact titles, exact readback, and deterministic fallback;
59
64
  - narrow, read-only alpha.6 strict-review rescue preflight for the lifecycle deadlock fixed in alpha.7;
@@ -77,7 +82,7 @@ cross-machine synchronization are not part of its contract.
77
82
  Node.js 22 or newer is required. Consumers pin the exact package version:
78
83
 
79
84
  ```bash
80
- npm install --save-dev --save-exact codex-workflow-v2@2.0.0-beta.13.1
85
+ npm install --save-dev --save-exact codex-workflow-v2@2.0.0-beta.13.10
81
86
  npx codex-workflow gateway handshake --repo .
82
87
  npx codex-workflow doctor --repo .
83
88
  ```
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "protocol": "codex-workflow-runtime-build-manifest-v1",
3
3
  "packageName": "codex-workflow-v2",
4
- "packageVersion": "2.0.0-beta.13.1",
5
- "packageManifestSha256": "ff0939d65bc49376c8993026a1ea004d0a661d41ed6922abb6bd51bb116dc68d",
4
+ "packageVersion": "2.0.0-beta.13.10",
5
+ "packageManifestSha256": "0cc966ad73f63b7e73874346b19ca57fb493adb9daabddb5060c02b7e3967de1",
6
6
  "requiredEntrypoints": [
7
7
  "dist/src/cli.js",
8
8
  "dist/src/gateway-handshake.js",
@@ -26,6 +26,10 @@
26
26
  "path": "dist/src/alpha6/downstream-proof.js",
27
27
  "sha256": "91dda6e6054f75f245d4f6de55a3adae0d5a8dbd4256e26ab55a13638344bb76"
28
28
  },
29
+ {
30
+ "path": "dist/src/alpha6/failed-step-planning-recovery.js",
31
+ "sha256": "a9b1b85c02d9f4854b5077513177ff448575585adca651d893a82dccab8c5bef"
32
+ },
29
33
  {
30
34
  "path": "dist/src/alpha6/handoff.js",
31
35
  "sha256": "21a2e2f267fc7a18ee48bb9fb98cc28f3fdf5b6065042a9289fcbe37e19374b2"
@@ -52,7 +56,11 @@
52
56
  },
53
57
  {
54
58
  "path": "dist/src/alpha6/plan-risk.js",
55
- "sha256": "d60d24bb73dadd2855f3cbc8bd9babb9e50b6f7084a084f334920cf9dc3c48f9"
59
+ "sha256": "cb43dec551f76cd3effc54bd72f697af39ec0b7fb49ea84227f9b2669c87256f"
60
+ },
61
+ {
62
+ "path": "dist/src/alpha6/preexecution-replan.js",
63
+ "sha256": "5f4714ca51e7758e158b8fef1a6e81bd143c1dc24aef4ef4ec7ff68ef9940f87"
56
64
  },
57
65
  {
58
66
  "path": "dist/src/alpha6/remediation-cause.js",
@@ -60,19 +68,23 @@
60
68
  },
61
69
  {
62
70
  "path": "dist/src/alpha6/remediation.js",
63
- "sha256": "13cedaed1e9181ec85b0f312cf621ded840c57b975337ce211966ad1499409a8"
71
+ "sha256": "a3e5d308c3395f33c7f0519e7ea13032c465f1ba39e6cee89b5312549e2a6842"
64
72
  },
65
73
  {
66
74
  "path": "dist/src/alpha6/review.js",
67
75
  "sha256": "4eb05ae8fda755c70844f4b62e8bdc0d837376adc7f7ddec27e893fa1e9d3496"
68
76
  },
77
+ {
78
+ "path": "dist/src/alpha6/root-cause-replan-carryover.js",
79
+ "sha256": "146a9c8802ab4ac590aa25d8c2a8a8bc10c21ed973b2c587fe96d96f00c4c864"
80
+ },
69
81
  {
70
82
  "path": "dist/src/alpha6/store-sidecars.js",
71
83
  "sha256": "74245dfe73ef7950ee0aff5d86c35c999347f39364efaba623857847372da2eb"
72
84
  },
73
85
  {
74
86
  "path": "dist/src/alpha7/autonomy.js",
75
- "sha256": "9c05ea60cb1f77d62200a8a6506f08953473fe13ee56370ca3369ec741210d79"
87
+ "sha256": "8f8ce97ea1d765f2884daadc0278c3532c37a6deba8b0dcafebb0e0e7719ea31"
76
88
  },
77
89
  {
78
90
  "path": "dist/src/alpha7/corrective-recovery.js",
@@ -86,13 +98,17 @@
86
98
  "path": "dist/src/beta1/project-transaction.js",
87
99
  "sha256": "aca86d6baf103866ab7a4a54416e0a231bdd77eda322dae3c6fde35e7f969801"
88
100
  },
101
+ {
102
+ "path": "dist/src/change-explanation.js",
103
+ "sha256": "78dcf7feeb3a0770efc6df408942dc382e65ad29853c9055505ae4230e8a0810"
104
+ },
89
105
  {
90
106
  "path": "dist/src/cli-actions.js",
91
- "sha256": "ef8653d58eced33f41d788260207ca5e63dab5b19e95560b86124c4895f1f39a"
107
+ "sha256": "184d6bc81d09b06c4bb7b36d8e25dffeea3adf9b5f6671830a12a857b58b682a"
92
108
  },
93
109
  {
94
110
  "path": "dist/src/cli.js",
95
- "sha256": "6f8462aeae51176efc890d1af36efffa8bd99c6b045c1f1edefe693e93ec9107"
111
+ "sha256": "beb3c1c4114a9b09ec4b819b58d96a42637ae0830dfcb82e957933158fa353e6"
96
112
  },
97
113
  {
98
114
  "path": "dist/src/contracts.js",
@@ -112,7 +128,7 @@
112
128
  },
113
129
  {
114
130
  "path": "dist/src/dependency-provenance.js",
115
- "sha256": "b08717654880332d285dfe3f4984bda9892c913682cd8d4d8f614a8803429df6"
131
+ "sha256": "3b8d66bb25764600c73341603d584ab81fe197c2051ec28cdbdf6066b3ee2aaf"
116
132
  },
117
133
  {
118
134
  "path": "dist/src/diagnostics.js",
@@ -126,6 +142,10 @@
126
142
  "path": "dist/src/domain/discovery.js",
127
143
  "sha256": "29aeedd9f1f4b761fc8b20a8fe3629eb6d3b1b87ea4e20f3bd6e580ea780c4fb"
128
144
  },
145
+ {
146
+ "path": "dist/src/domain/plan-semantics.js",
147
+ "sha256": "9434557e45e18367f4fabce20bb061dea801eecf96c3e3fc572515f42254033d"
148
+ },
129
149
  {
130
150
  "path": "dist/src/domain/validation.js",
131
151
  "sha256": "a42b20451a24fd4eca5ae2ed2884df58b41defbf82940ac7a13a0ff0320fbc2a"
@@ -140,7 +160,7 @@
140
160
  },
141
161
  {
142
162
  "path": "dist/src/gateway-handshake.js",
143
- "sha256": "c99251ba299c08451728db2df0509a955a341f1abe693b2330b9a9a02c48666a"
163
+ "sha256": "17eaf24bda26450989ea72d5af0f15e2701f3840a87be6f4d4c528f39713b4f0"
144
164
  },
145
165
  {
146
166
  "path": "dist/src/git.js",
@@ -196,7 +216,7 @@
196
216
  },
197
217
  {
198
218
  "path": "dist/src/lifecycle/corrective-replan.js",
199
- "sha256": "d9bd1ddea57a0b7215eeb9c78c54e9125b93d14349e6948a0909fdb1c00824ed"
219
+ "sha256": "1fd24430d3adb8ce4b74b1c787fb63ab7e84c545326bea268ce0109ce68dca28"
200
220
  },
201
221
  {
202
222
  "path": "dist/src/lifecycle/evaluator.js",
@@ -244,19 +264,23 @@
244
264
  },
245
265
  {
246
266
  "path": "dist/src/observed-routes.js",
247
- "sha256": "a89c3cbeaa7a723a4457e09216684f98f513e396d51a40925c42bc9e2535dd3c"
267
+ "sha256": "a39d8ed6bf0ddb4f5e884a42526dfb83be619950e36b68cfd0bebb7785af10cd"
248
268
  },
249
269
  {
250
270
  "path": "dist/src/operational-contract.js",
251
271
  "sha256": "82b9059813aa248492833200c9def5fe0357132bafadef7de3cbe3b6410652b1"
252
272
  },
273
+ {
274
+ "path": "dist/src/pending-review-update.js",
275
+ "sha256": "1d0b33a28dc88257363613e99b9f2bce039cad40c6d0fc1c9f27e8ffb53b8216"
276
+ },
253
277
  {
254
278
  "path": "dist/src/repository.js",
255
- "sha256": "3e37a61a2283f291e15e341804112e4cf040616cd4e369d8df6d4c1a8d12b35e"
279
+ "sha256": "e222267fc52cbf6c9bcaf1fca9307ce9eafd745bdb7cc4dae3b549d77ec213ca"
256
280
  },
257
281
  {
258
282
  "path": "dist/src/reviewer.js",
259
- "sha256": "118555849d6527f247a58c414e628b723fcf10c454c509b929b616bd4e68b61d"
283
+ "sha256": "a1a85660dbaecf3a5f8bca7c563d9b5dc2b533b901a330a1f8033645de36d30d"
260
284
  },
261
285
  {
262
286
  "path": "dist/src/state/corrective-replan-executor.js",
@@ -268,7 +292,7 @@
268
292
  },
269
293
  {
270
294
  "path": "dist/src/state/corrective-replan-public.js",
271
- "sha256": "c833eb22aaade497dbcca73088e3fbfa5fe29c3ccae34ddeafcd156bf6f60a9b"
295
+ "sha256": "45963349816fa63636aa64f6d2ba07f7dc0432b461493b1c067f1b02f2f1ba6a"
272
296
  },
273
297
  {
274
298
  "path": "dist/src/state/corrective-replan-transaction.js",
@@ -276,7 +300,7 @@
276
300
  },
277
301
  {
278
302
  "path": "dist/src/state/corrective-yield-executor.js",
279
- "sha256": "d2e64c1685829ac99aede6784dc05b487b0ae890cfccd17cd73eae9d53dde97e"
303
+ "sha256": "29e4568f5fa2e35ed98fe8d3bb1e48278224152c7175205c1878bb8835f3efa9"
280
304
  },
281
305
  {
282
306
  "path": "dist/src/state/corrective-yield-transaction.js",
@@ -288,7 +312,7 @@
288
312
  },
289
313
  {
290
314
  "path": "dist/src/state/store.js",
291
- "sha256": "5aa930f73607ce38e0e9d76560e8fafa7390cafcdcbc97d29fdff01f7dfecbf0"
315
+ "sha256": "575f4bdad35c49dceb2fc2318344c057a801d94788010dc9f21c36f62d61d8c8"
292
316
  },
293
317
  {
294
318
  "path": "dist/src/transition-core.js",
@@ -300,11 +324,11 @@
300
324
  },
301
325
  {
302
326
  "path": "dist/src/version.js",
303
- "sha256": "cf1419c919f99731cec28f42d1ff8126522ade34d4bd0402c17a5b1ef10768bf"
327
+ "sha256": "70af01eb723d930fc8a9ef129c9025924bd68f8d1a94d56c6318a6c251b9e374"
304
328
  },
305
329
  {
306
330
  "path": "dist/src/workflow.js",
307
- "sha256": "160657697382e2442cb6f341d6de6045a193f5bddba1f1feccfb06dcf3d1f5ab"
331
+ "sha256": "c72cc02fa5137fb332408d895e73a06facae0907bdecd812062abe3a2ad85282"
308
332
  }
309
333
  ],
310
334
  "runtimeDependencies": [
@@ -1088,5 +1112,5 @@
1088
1112
  ]
1089
1113
  }
1090
1114
  ],
1091
- "fingerprint": "2c1102fed797fe4619185b7047f9b56d963b48b27bea855ac6b23b9d66ac0373"
1115
+ "fingerprint": "8a07276298cb9987ab90bbe533b17fa09537a9b3c48cf28ea9b04c280115efd7"
1092
1116
  }
@@ -0,0 +1,10 @@
1
+ import type { TaskState } from '../contracts.js';
2
+ import type { FileStateStore } from '../state/store.js';
3
+ /** A stopped rebound Plan is evidence for repair, never execution authority. */
4
+ export declare function readFailedStepPlanningRecovery(store: FileStateStore, task: TaskState): {
5
+ current: import("./plan-risk.js").CurrentPlanRiskAudit;
6
+ baseline: import("../contracts.js").PlanRiskAuditEvent;
7
+ priorAuthorization: import("../contracts.js").AuthorizationEvent;
8
+ authority: "planning-only";
9
+ } | null;
10
+ export declare function readCorrectivePlanningAudit(store: FileStateStore, task: TaskState): import("./plan-risk.js").CurrentPlanRiskAudit | null;
@@ -0,0 +1,93 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { WorkflowError } from '../errors.js';
4
+ import { hashKnowledgeMap } from '../memory.js';
5
+ import { canonicalJsonStringify, sha256Hex } from './store-sidecars.js';
6
+ import { readCurrentPlanRiskAudit, readCurrentPlanningObstructionAudit, readPlanRiskAuditEvents } from './plan-risk.js';
7
+ import { assertKnowledgeBindingOnlyPlanChange } from '../alpha7/corrective-recovery.js';
8
+ /** A stopped rebound Plan is evidence for repair, never execution authority. */
9
+ export function readFailedStepPlanningRecovery(store, task) {
10
+ if (task.status !== 'awaiting_execution_authorization' || !task.planHash
11
+ || task.workspaceOwner === null || !task.steps.some(step => step.status === 'failed')
12
+ || task.steps.some(step => step.status === 'in_progress'))
13
+ return null;
14
+ const current = readCurrentPlanningObstructionAudit(store, task);
15
+ if (!current || current.audit.decision !== 'stop-escalate')
16
+ return null;
17
+ const fail = (message) => { throw new WorkflowError('TRANSITION_BLOCKED', message, { taskId: task.id }); };
18
+ const map = store.readKnowledgeMap(task.projectId);
19
+ if (map.status !== 'active' || map.revision !== task.knowledgeMapRevision || hashKnowledgeMap(map) !== task.knowledgeMapHash)
20
+ fail('Planning recovery requires the current active Knowledge binding.');
21
+ const audits = readPlanRiskAuditEvents(store, task);
22
+ const root = store.taskRoot(task.projectId, task.id);
23
+ let hash = task.planHash;
24
+ let knowledgeRevision = task.knowledgeMapRevision;
25
+ let knowledgeHash = task.knowledgeMapHash;
26
+ const visited = new Set();
27
+ const plan = (h) => {
28
+ const text = readFileSync(h === task.planHash ? path.join(root, 'plan.md') : path.join(root, '.versions', `plan.md.${h}`), 'utf8');
29
+ if (sha256Hex(text) !== h)
30
+ fail('Planning recovery Plan artifact hash mismatch.');
31
+ return text;
32
+ };
33
+ while (!visited.has(hash)) {
34
+ visited.add(hash);
35
+ const links = task.knowledgeRebinds.filter(record => record.reboundPlanHash === hash);
36
+ if (links.length !== 1)
37
+ return fail('Planning recovery requires an unambiguous Knowledge rebind chain.');
38
+ const link = links[0];
39
+ if (link.toKnowledgeMapRevision !== knowledgeRevision || link.toKnowledgeMapHash !== knowledgeHash
40
+ || !link.previousPlanHash)
41
+ fail('Planning recovery Knowledge rebind endpoints are stale.');
42
+ const before = plan(link.previousPlanHash), after = plan(hash);
43
+ assertKnowledgeBindingOnlyPlanChange(before, after);
44
+ if (!before.includes(`- Knowledge map: revision ${link.fromKnowledgeMapRevision}, hash ${link.fromKnowledgeMapHash}\n`)
45
+ || !after.includes(`- Knowledge map: revision ${link.toKnowledgeMapRevision}, hash ${link.toKnowledgeMapHash}\n`))
46
+ fail('Planning recovery artifact Knowledge endpoints differ from the recorded rebind.');
47
+ hash = link.previousPlanHash;
48
+ knowledgeRevision = link.fromKnowledgeMapRevision;
49
+ knowledgeHash = link.fromKnowledgeMapHash;
50
+ const baseline = audits.filter(a => a.planHash === hash && a.briefHash === task.briefHash
51
+ && a.knowledgeMapRevision === knowledgeRevision && a.knowledgeMapHash === knowledgeHash
52
+ && ['approved', 'approved-with-rationale'].includes(a.decision)
53
+ && audits.indexOf(a) < audits.findIndex(event => event.eventHash === current.audit.eventHash)
54
+ && task.authorizations.some(grant => grant.kind === 'execution' && grant.decision === 'superseded'
55
+ && grant.planHash === a.planHash && grant.briefHash === a.briefHash
56
+ && Date.parse(grant.recordedAt) >= Date.parse(a.recordedAt))).at(-1);
57
+ if (!baseline)
58
+ continue;
59
+ // A negative audit may append an observed counterexample without erasing the
60
+ // historical proof. Prefix preservation is NOT proof of semantic strengthening:
61
+ // both audits remain planning evidence, and replacement requires its own gates.
62
+ const obstructionClassifications = structuredClone(current.audit.stepClassifications);
63
+ for (const [stepIndex, classification] of obstructionClassifications.entries()) {
64
+ const original = baseline.stepClassifications[stepIndex];
65
+ if (!original)
66
+ return fail('Planning recovery must preserve the approved Step classification ordering.');
67
+ const proofs = classification.proofObligations ?? [], originalProofs = original.proofObligations ?? [];
68
+ if (proofs.length !== originalProofs.length)
69
+ fail('Planning recovery must preserve the approved proof tuple count and ordering.');
70
+ for (const [proofIndex, proof] of proofs.entries()) {
71
+ const originalProof = originalProofs[proofIndex];
72
+ for (const field of ['counterexample', 'expectedResult']) {
73
+ if (!proof[field].startsWith(originalProof[field]))
74
+ fail('Planning recovery cannot truncate or replace historical proof narratives.');
75
+ proof[field] = originalProof[field];
76
+ }
77
+ }
78
+ }
79
+ if (canonicalJsonStringify(baseline.stepClassifications) !== canonicalJsonStringify(obstructionClassifications))
80
+ fail('Planning recovery must preserve the approved risk classifications and proof tuples.');
81
+ const grants = task.authorizations.filter(a => a.kind === 'execution' && a.decision === 'superseded'
82
+ && a.planHash === baseline.planHash && a.briefHash === baseline.briefHash
83
+ && Date.parse(a.recordedAt) >= Date.parse(baseline.recordedAt));
84
+ if (grants.length !== 1)
85
+ fail('Planning recovery requires one historical superseded Plan authorization.');
86
+ return { current, baseline, priorAuthorization: grants[0], authority: 'planning-only' };
87
+ }
88
+ return fail('Planning recovery Knowledge rebind chain contains a cycle.');
89
+ }
90
+ export function readCorrectivePlanningAudit(store, task) {
91
+ return readFailedStepPlanningRecovery(store, task)?.current ?? readCurrentPlanRiskAudit(store, task);
92
+ }
93
+ //# sourceMappingURL=failed-step-planning-recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failed-step-planning-recovery.js","sourceRoot":"","sources":["../../../src/alpha6/failed-step-planning-recovery.ts"],"names":[],"mappings":"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"}
@@ -24,11 +24,14 @@ export declare function readPlanRiskAuditBoundary(store: FileStateStore, task: T
24
24
  export declare function readCurrentPlanRiskAudit(store: FileStateStore, task: TaskState, options?: {
25
25
  requireCurrentTaskRevision?: boolean;
26
26
  }): CurrentPlanRiskAudit | null;
27
+ /** Planning evidence only: never use as execution or authorization authority. */
28
+ export declare function readCurrentPlanningObstructionAudit(store: FileStateStore, task: TaskState): CurrentPlanRiskAudit | null;
27
29
  export declare function buildPlanRiskAuditEvent(store: FileStateStore, task: TaskState, input: RecordPlanRiskAuditInput, recordedAt: string, now?: number): {
28
30
  boundary: PlanRiskAuditBoundary;
29
31
  entityRoot: string;
30
32
  event: Omit<PlanRiskAuditEvent, 'previousEventHash' | 'eventHash'>;
31
33
  };
34
+ export declare function buildCandidatePlanRiskAuditEvent(store: FileStateStore, task: TaskState, input: RecordPlanRiskAuditInput, recordedAt: string, now?: number): ReturnType<typeof buildPlanRiskAuditEvent>;
32
35
  export declare function appendCurrentPlanRiskAudit(store: FileStateStore, task: TaskState, input: RecordPlanRiskAuditInput, now: Date): PlanRiskAuditEvent;
33
36
  export declare function validateCorrectiveReplanRiskAuditPayload(task: TaskState, event: Pick<PlanRiskAuditEvent, 'taskId' | 'taskRevision' | 'briefHash' | 'planHash' | 'knowledgeMapRevision' | 'knowledgeMapHash' | 'planner' | 'auditor' | 'summary' | 'decision' | 'splitRationale' | 'stepClassifications'>, expectedStepIds: readonly string[]): void;
34
37
  export declare function appendReboundPlanRiskAudit(store: FileStateStore, sourceTask: TaskState, reboundTask: TaskState, sourceAudit: CurrentPlanRiskAudit, now: Date): PlanRiskAuditEvent;
@@ -93,6 +93,13 @@ export function readPlanRiskAuditBoundary(store, task) {
93
93
  };
94
94
  }
95
95
  export function readCurrentPlanRiskAudit(store, task, options = {}) {
96
+ return readCurrentAudit(store, task, options, false);
97
+ }
98
+ /** Planning evidence only: never use as execution or authorization authority. */
99
+ export function readCurrentPlanningObstructionAudit(store, task) {
100
+ return readCurrentAudit(store, task, {}, true);
101
+ }
102
+ function readCurrentAudit(store, task, options, allowBlocking) {
96
103
  const boundary = readPlanRiskAuditBoundary(store, task);
97
104
  if (!boundary)
98
105
  return null;
@@ -109,7 +116,7 @@ export function readCurrentPlanRiskAudit(store, task, options = {}) {
109
116
  sidecar: PLAN_RISK_AUDIT_SIDECAR,
110
117
  });
111
118
  }
112
- const reviewRequiredStepIds = validateCurrentPlanRiskAudit(store, task, audit, boundary.expectedStepIds, options);
119
+ const reviewRequiredStepIds = validateCurrentPlanRiskAudit(store, task, audit, boundary.expectedStepIds, options, allowBlocking);
113
120
  return {
114
121
  ...boundary,
115
122
  audit,
@@ -117,9 +124,12 @@ export function readCurrentPlanRiskAudit(store, task, options = {}) {
117
124
  };
118
125
  }
119
126
  export function buildPlanRiskAuditEvent(store, task, input, recordedAt, now = Date.now()) {
120
- return buildPlanRiskAuditEventWithAuthority(store, task, input, recordedAt, now, true);
127
+ return buildPlanRiskAuditEventWithAuthority(store, task, input, recordedAt, now, true, true);
121
128
  }
122
- function buildPlanRiskAuditEventWithAuthority(store, task, input, recordedAt, now, bindStructuralProductionEdgeAuthority) {
129
+ export function buildCandidatePlanRiskAuditEvent(store, task, input, recordedAt, now = Date.now()) {
130
+ return buildPlanRiskAuditEventWithAuthority(store, task, input, recordedAt, now, true, false);
131
+ }
132
+ function buildPlanRiskAuditEventWithAuthority(store, task, input, recordedAt, now, bindStructuralProductionEdgeAuthority, requireStoredPlan) {
123
133
  const boundary = readPlanRiskAuditBoundary(store, task);
124
134
  if (!boundary) {
125
135
  throw new WorkflowError('TRANSITION_BLOCKED', 'Plan Risk Audit recording requires an active adoption posture boundary.', { taskId: task.id, sidecar: ADOPTION_POSTURE_SIDECAR });
@@ -127,14 +137,14 @@ function buildPlanRiskAuditEventWithAuthority(store, task, input, recordedAt, no
127
137
  assertRecordableTask(task);
128
138
  const entityRoot = store.taskRoot(task.projectId, task.id);
129
139
  const briefHash = store.hashArtifact(entityRoot, 'brief.md');
130
- const planHash = store.hashArtifact(entityRoot, 'plan.md');
131
- if (task.briefHash !== briefHash || task.planHash !== planHash) {
140
+ const planHash = requireStoredPlan ? store.hashArtifact(entityRoot, 'plan.md') : task.planHash;
141
+ if (!planHash || task.briefHash !== briefHash || (requireStoredPlan && task.planHash !== planHash)) {
132
142
  throw new WorkflowError('STATE_CORRUPT', 'Task state does not match the current Brief or Plan artifacts required for Plan Risk Audit recording.', {
133
143
  taskId: task.id,
134
144
  stateBriefHash: task.briefHash,
135
145
  currentBriefHash: briefHash,
136
146
  statePlanHash: task.planHash,
137
- currentPlanHash: planHash,
147
+ currentPlanHash: planHash ?? null,
138
148
  });
139
149
  }
140
150
  if (task.knowledgeMapRevision === null || !task.knowledgeMapHash) {
@@ -178,7 +188,7 @@ export function appendCurrentPlanRiskAudit(store, task, input, now) {
178
188
  return appendPlanRiskAuditWithAuthority(store, task, input, now, true);
179
189
  }
180
190
  function appendPlanRiskAuditWithAuthority(store, task, input, now, bindStructuralProductionEdgeAuthority) {
181
- const prepared = buildPlanRiskAuditEventWithAuthority(store, task, input, now.toISOString(), now.getTime(), bindStructuralProductionEdgeAuthority);
191
+ const prepared = buildPlanRiskAuditEventWithAuthority(store, task, input, now.toISOString(), now.getTime(), bindStructuralProductionEdgeAuthority, true);
182
192
  const existingEvents = readPlanRiskAuditEvents(store, task);
183
193
  assertPlanRiskAuditAppendAllowed(task, prepared.boundary, existingEvents);
184
194
  return store.appendSidecarEvent(prepared.entityRoot, PLAN_RISK_AUDIT_SIDECAR, prepared.event, {
@@ -599,7 +609,7 @@ function validateStepClassificationSet(task, classifications, decision, splitRat
599
609
  });
600
610
  }
601
611
  }
602
- function validateCurrentPlanRiskAudit(store, task, audit, expectedStepIds, options) {
612
+ function validateCurrentPlanRiskAudit(store, task, audit, expectedStepIds, options, allowBlocking = false) {
603
613
  const taskRoot = store.taskRoot(task.projectId, task.id);
604
614
  const briefHash = store.hashArtifact(taskRoot, 'brief.md');
605
615
  const planHash = store.hashArtifact(taskRoot, 'plan.md');
@@ -644,7 +654,7 @@ function validateCurrentPlanRiskAudit(store, task, audit, expectedStepIds, optio
644
654
  auditEventId: audit.eventId,
645
655
  expectedStepIds,
646
656
  });
647
- if (audit.decision === 'split-required' || audit.decision === 'stop-escalate') {
657
+ if (!allowBlocking && (audit.decision === 'split-required' || audit.decision === 'stop-escalate')) {
648
658
  throw new WorkflowError('TRANSITION_BLOCKED', `Plan Risk Audit decision ${audit.decision} blocks execution authorization.`, {
649
659
  taskId: task.id,
650
660
  auditEventId: audit.eventId,
@@ -1 +1 @@
1
- {"version":3,"file":"plan-risk.js","sourceRoot":"","sources":["../../../src/alpha6/plan-risk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-risk.js","sourceRoot":"","sources":["../../../src/alpha6/plan-risk.ts"],"names":[],"mappings":"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"}