codex-workflow-v2 2.0.0-beta.1 → 2.0.0-beta.11

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 (187) hide show
  1. package/README.md +94 -12
  2. package/dist/src/alpha6/adoption.js +13 -3
  3. package/dist/src/alpha6/adoption.js.map +1 -1
  4. package/dist/src/alpha6/handoff.d.ts +26 -2
  5. package/dist/src/alpha6/handoff.js +277 -29
  6. package/dist/src/alpha6/handoff.js.map +1 -1
  7. package/dist/src/alpha6/mechanical-feasibility.d.ts +7 -0
  8. package/dist/src/alpha6/mechanical-feasibility.js +303 -0
  9. package/dist/src/alpha6/mechanical-feasibility.js.map +1 -0
  10. package/dist/src/alpha6/milestone.d.ts +37 -2
  11. package/dist/src/alpha6/milestone.js +472 -33
  12. package/dist/src/alpha6/milestone.js.map +1 -1
  13. package/dist/src/alpha6/plan-integrity.d.ts +14 -0
  14. package/dist/src/alpha6/plan-integrity.js +127 -0
  15. package/dist/src/alpha6/plan-integrity.js.map +1 -0
  16. package/dist/src/alpha6/plan-risk.d.ts +1 -0
  17. package/dist/src/alpha6/plan-risk.js +15 -7
  18. package/dist/src/alpha6/plan-risk.js.map +1 -1
  19. package/dist/src/alpha6/remediation.d.ts +2 -1
  20. package/dist/src/alpha6/remediation.js +186 -9
  21. package/dist/src/alpha6/remediation.js.map +1 -1
  22. package/dist/src/alpha6/review.d.ts +3 -0
  23. package/dist/src/alpha6/review.js +24 -0
  24. package/dist/src/alpha6/review.js.map +1 -1
  25. package/dist/src/cli.js +486 -46
  26. package/dist/src/cli.js.map +1 -1
  27. package/dist/src/contracts.d.ts +238 -6
  28. package/dist/src/contracts.js +1 -1
  29. package/dist/src/credential-output.d.ts +10 -0
  30. package/dist/src/credential-output.js +73 -0
  31. package/dist/src/credential-output.js.map +1 -0
  32. package/dist/src/dependency-provenance.d.ts +19 -0
  33. package/dist/src/dependency-provenance.js +185 -0
  34. package/dist/src/dependency-provenance.js.map +1 -0
  35. package/dist/src/errors.d.ts +1 -1
  36. package/dist/src/errors.js.map +1 -1
  37. package/dist/src/git.d.ts +1 -1
  38. package/dist/src/git.js +13 -5
  39. package/dist/src/git.js.map +1 -1
  40. package/dist/src/index.d.ts +2 -1
  41. package/dist/src/index.js +2 -1
  42. package/dist/src/index.js.map +1 -1
  43. package/dist/src/lifecycle/canonical-hash.d.ts +6 -0
  44. package/dist/src/lifecycle/canonical-hash.js +24 -0
  45. package/dist/src/lifecycle/canonical-hash.js.map +1 -0
  46. package/dist/src/lifecycle/catalog.d.ts +26 -0
  47. package/dist/src/lifecycle/catalog.js +208 -0
  48. package/dist/src/lifecycle/catalog.js.map +1 -0
  49. package/dist/src/lifecycle/compiler-inspection.d.ts +48 -0
  50. package/dist/src/lifecycle/compiler-inspection.js +29 -0
  51. package/dist/src/lifecycle/compiler-inspection.js.map +1 -0
  52. package/dist/src/lifecycle/core-static-readiness.d.ts +6 -0
  53. package/dist/src/lifecycle/core-static-readiness.js +130 -0
  54. package/dist/src/lifecycle/core-static-readiness.js.map +1 -0
  55. package/dist/src/lifecycle/corrective-replan-authority.d.ts +53 -0
  56. package/dist/src/lifecycle/corrective-replan-authority.js +139 -0
  57. package/dist/src/lifecycle/corrective-replan-authority.js.map +1 -0
  58. package/dist/src/lifecycle/corrective-replan-binding-manifest.d.ts +21 -0
  59. package/dist/src/lifecycle/corrective-replan-binding-manifest.js +35 -0
  60. package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -0
  61. package/dist/src/lifecycle/corrective-replan-credential-core.d.ts +86 -0
  62. package/dist/src/lifecycle/corrective-replan-credential-core.js +563 -0
  63. package/dist/src/lifecycle/corrective-replan-credential-core.js.map +1 -0
  64. package/dist/src/lifecycle/corrective-replan-credential-schema.d.ts +17 -0
  65. package/dist/src/lifecycle/corrective-replan-credential-schema.js +44 -0
  66. package/dist/src/lifecycle/corrective-replan-credential-schema.js.map +1 -0
  67. package/dist/src/lifecycle/corrective-replan-credentials.d.ts +47 -0
  68. package/dist/src/lifecycle/corrective-replan-credentials.js +103 -0
  69. package/dist/src/lifecycle/corrective-replan-credentials.js.map +1 -0
  70. package/dist/src/lifecycle/corrective-replan.d.ts +64 -0
  71. package/dist/src/lifecycle/corrective-replan.js +553 -0
  72. package/dist/src/lifecycle/corrective-replan.js.map +1 -0
  73. package/dist/src/lifecycle/evaluator.d.ts +2 -0
  74. package/dist/src/lifecycle/evaluator.js +35 -0
  75. package/dist/src/lifecycle/evaluator.js.map +1 -0
  76. package/dist/src/lifecycle/fingerprint.d.ts +31 -0
  77. package/dist/src/lifecycle/fingerprint.js +388 -0
  78. package/dist/src/lifecycle/fingerprint.js.map +1 -0
  79. package/dist/src/lifecycle/immutable.d.ts +1 -0
  80. package/dist/src/lifecycle/immutable.js +10 -0
  81. package/dist/src/lifecycle/immutable.js.map +1 -0
  82. package/dist/src/lifecycle/implementation-table.d.ts +29 -0
  83. package/dist/src/lifecycle/implementation-table.js +87 -0
  84. package/dist/src/lifecycle/implementation-table.js.map +1 -0
  85. package/dist/src/lifecycle/index.d.ts +4 -0
  86. package/dist/src/lifecycle/index.js +5 -0
  87. package/dist/src/lifecycle/index.js.map +1 -0
  88. package/dist/src/lifecycle/schema-artifact.d.ts +12 -0
  89. package/dist/src/lifecycle/schema-artifact.js +214 -0
  90. package/dist/src/lifecycle/schema-artifact.js.map +1 -0
  91. package/dist/src/lifecycle/semantic-registry.d.ts +6 -0
  92. package/dist/src/lifecycle/semantic-registry.js +489 -0
  93. package/dist/src/lifecycle/semantic-registry.js.map +1 -0
  94. package/dist/src/lifecycle/types.d.ts +718 -0
  95. package/dist/src/lifecycle/types.js +4 -0
  96. package/dist/src/lifecycle/types.js.map +1 -0
  97. package/dist/src/observation.d.ts +20 -0
  98. package/dist/src/observation.js +171 -0
  99. package/dist/src/observation.js.map +1 -0
  100. package/dist/src/reviewer.d.ts +43 -1
  101. package/dist/src/reviewer.js +203 -50
  102. package/dist/src/reviewer.js.map +1 -1
  103. package/dist/src/state/corrective-replan-executor.d.ts +64 -0
  104. package/dist/src/state/corrective-replan-executor.js +608 -0
  105. package/dist/src/state/corrective-replan-executor.js.map +1 -0
  106. package/dist/src/state/corrective-replan-public-schema.d.ts +3 -0
  107. package/dist/src/state/corrective-replan-public-schema.js +43 -0
  108. package/dist/src/state/corrective-replan-public-schema.js.map +1 -0
  109. package/dist/src/state/corrective-replan-public.d.ts +95 -0
  110. package/dist/src/state/corrective-replan-public.js +665 -0
  111. package/dist/src/state/corrective-replan-public.js.map +1 -0
  112. package/dist/src/state/corrective-replan-transaction.d.ts +160 -0
  113. package/dist/src/state/corrective-replan-transaction.js +730 -0
  114. package/dist/src/state/corrective-replan-transaction.js.map +1 -0
  115. package/dist/src/state/corrective-yield-executor.d.ts +31 -0
  116. package/dist/src/state/corrective-yield-executor.js +236 -0
  117. package/dist/src/state/corrective-yield-executor.js.map +1 -0
  118. package/dist/src/state/corrective-yield-transaction.d.ts +97 -0
  119. package/dist/src/state/corrective-yield-transaction.js +591 -0
  120. package/dist/src/state/corrective-yield-transaction.js.map +1 -0
  121. package/dist/src/state/lock.d.ts +76 -3
  122. package/dist/src/state/lock.js +611 -30
  123. package/dist/src/state/lock.js.map +1 -1
  124. package/dist/src/state/store.d.ts +3 -0
  125. package/dist/src/state/store.js +65 -12
  126. package/dist/src/state/store.js.map +1 -1
  127. package/dist/src/transition-core.d.ts +67 -0
  128. package/dist/src/transition-core.js +318 -0
  129. package/dist/src/transition-core.js.map +1 -0
  130. package/dist/src/version.d.ts +1 -1
  131. package/dist/src/version.js +1 -1
  132. package/dist/src/version.js.map +1 -1
  133. package/dist/src/workflow.d.ts +88 -24
  134. package/dist/src/workflow.js +1647 -270
  135. package/dist/src/workflow.js.map +1 -1
  136. package/docs/autonomy-guardrails.md +61 -1
  137. package/docs/beta11-plan-integrity-recovery-brief.md +38 -0
  138. package/docs/beta2-initial-assembly-navigation-brief.md +616 -0
  139. package/docs/delegated-approval.md +26 -1
  140. package/docs/development-flow.md +63 -8
  141. package/docs/lifecycle/state-machine-stabilization.md +641 -0
  142. package/docs/pdf/README.md +24 -0
  143. package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
  144. package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
  145. package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
  146. package/docs/pdf/requirements.txt +1 -0
  147. package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +234 -0
  148. package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +334 -0
  149. package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +413 -0
  150. package/docs/problem-briefs/01-pre-implementation-integrity.md +478 -0
  151. package/docs/problem-briefs/02-minimal-step-integrity.md +411 -0
  152. package/docs/problem-briefs/03-minimal-agent-context-integrity.md +358 -0
  153. package/docs/problem-briefs/04-task-dependency-and-structural-replacement-integrity.md +566 -0
  154. package/docs/problem-briefs/BRIEF-TEMPLATE.md +56 -0
  155. package/docs/problem-briefs/README.md +120 -0
  156. package/docs/problem-briefs/evidence/p01-mechanical-feasibility-corpus.md +90 -0
  157. package/docs/problem-briefs/evidence/signal-v4-pre-m3-replay.md +246 -0
  158. package/docs/release.md +30 -6
  159. package/docs/split-required-recovery.md +19 -25
  160. package/docs/stable-release-defect-register.md +465 -3
  161. package/docs/updating-existing-project.md +59 -4
  162. package/docs/validation-report.md +124 -56
  163. package/package.json +9 -1
  164. package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +10 -3
  165. package/plugins/codex-workflow-gateway/references/protocol.md +92 -4
  166. package/plugins/codex-workflow-gateway/scripts/chat-registry.mjs +376 -0
  167. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +263 -4
  168. package/references/state-machine.md +13 -6
  169. package/roles/delivery-coordinator.md +39 -0
  170. package/schemas/adoption-posture-event.schema.json +1 -1
  171. package/schemas/authorization-event.schema.json +64 -1
  172. package/schemas/context-envelope.schema.json +1 -1
  173. package/schemas/corrective-decision-event.schema.json +48 -3
  174. package/schemas/corrective-replan-credentials.private.schema.json +98 -0
  175. package/schemas/corrective-replan-execution-event.private.schema.json +53 -0
  176. package/schemas/corrective-replan-public.schema.json +142 -0
  177. package/schemas/corrective-replan-task-transaction.private.schema.json +151 -0
  178. package/schemas/corrective-yield-task-transaction.private.schema.json +98 -0
  179. package/schemas/milestone-scope-change-event.schema.json +6 -1
  180. package/schemas/milestone.schema.json +6 -1
  181. package/schemas/remediation-event.schema.json +11 -1
  182. package/schemas/task-handoff-event.schema.json +19 -3
  183. package/schemas/task.schema.json +24 -1
  184. package/schemas/transition-definition.schema.json +2609 -0
  185. package/schemas/transition-payloads.schema.json +140 -0
  186. package/scripts/generate-pdf-docs.py +512 -0
  187. package/scripts/run-pdf-docs.mjs +62 -0
@@ -1 +1 @@
1
- {"version":3,"file":"milestone.js","sourceRoot":"","sources":["../../../src/alpha6/milestone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"milestone.js","sourceRoot":"","sources":["../../../src/alpha6/milestone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { PlanIntegrityConflictEvidence, TaskState } from '../contracts.js';
2
+ import type { FileStateStore } from '../state/store.js';
3
+ export interface PlanIntegrityRecoveryAssessment {
4
+ readonly applicable: boolean;
5
+ readonly eligible: boolean;
6
+ readonly taskId: string;
7
+ readonly taskRevision: number;
8
+ readonly stepId: string;
9
+ readonly planHash: string | null;
10
+ readonly blockers: readonly string[];
11
+ readonly evidence: PlanIntegrityConflictEvidence | null;
12
+ }
13
+ export declare function defaultPlanIntegrityRecoveryActor(taskId: string): string;
14
+ export declare function assessPlanIntegrityRecovery(store: FileStateStore, repositoryRoot: string, task: TaskState, stepId: string): PlanIntegrityRecoveryAssessment;
@@ -0,0 +1,127 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { existsSync, lstatSync, readFileSync } from 'node:fs';
3
+ import path from 'node:path';
4
+ import { pathAllowed } from '../domain/validation.js';
5
+ import { WorkflowError } from '../errors.js';
6
+ import { hashCanonical } from '../lifecycle/fingerprint.js';
7
+ import { changedFiles, headCommit } from '../repository.js';
8
+ import { readCorrectiveDecisionEvents, readRemediationEvents, } from './remediation.js';
9
+ const ROOT_MANIFEST = 'package.json';
10
+ const TASK_ID = /^TASK-[0-9A-HJKMNP-TV-Z]{26}$/;
11
+ const NPM_RUN_CHECK = /^npm\s+run(?:-script)?\s+([A-Za-z0-9._:-]+)(?:\s+--(?:\s+.*)?)?$/;
12
+ export function defaultPlanIntegrityRecoveryActor(taskId) {
13
+ if (!TASK_ID.test(taskId)) {
14
+ throw new WorkflowError('INVALID_ARGUMENT', `Cannot derive a Plan-integrity recovery actor from invalid Task ID ${taskId}.`);
15
+ }
16
+ return `agent:plan-integrity-recovery:${taskId.toLowerCase()}`;
17
+ }
18
+ export function assessPlanIntegrityRecovery(store, repositoryRoot, task, stepId) {
19
+ const base = {
20
+ taskId: task.id,
21
+ taskRevision: task.revision,
22
+ stepId,
23
+ planHash: task.planHash,
24
+ };
25
+ const step = task.steps.find((candidate) => candidate.id === stepId) ?? null;
26
+ if (!step || task.status !== 'needs_fix' || step.status !== 'failed' || !task.planHash) {
27
+ return { ...base, applicable: false, eligible: false, blockers: [], evidence: null };
28
+ }
29
+ const remediations = readRemediationEvents(store, task).filter((event) => event.stepId === stepId);
30
+ const decisions = readCorrectiveDecisionEvents(store, task).filter((event) => event.stepId === stepId);
31
+ if (remediations.length !== 1
32
+ || remediations[0]?.attemptOrdinal !== 1
33
+ || remediations[0]?.mode !== 'ordinary'
34
+ || remediations[0]?.failureKind !== 'checks-failed'
35
+ || decisions.length !== 0) {
36
+ return { ...base, applicable: false, eligible: false, blockers: [], evidence: null };
37
+ }
38
+ const manifest = inspectRootManifest(repositoryRoot);
39
+ const missing = step.checks.flatMap((command) => {
40
+ const match = NPM_RUN_CHECK.exec(command.trim());
41
+ if (!match)
42
+ return [];
43
+ const script = match[1];
44
+ return manifest.scripts.has(script) ? [] : [{ command: command.trim(), script }];
45
+ });
46
+ if (missing.length === 0 || pathAllowed(ROOT_MANIFEST, step.allowedWrites)) {
47
+ return { ...base, applicable: false, eligible: false, blockers: [], evidence: null };
48
+ }
49
+ const files = [...changedFiles(repositoryRoot)].sort();
50
+ const outsideAllowedWrites = files.filter((file) => !pathAllowed(file, step.allowedWrites));
51
+ const forbiddenChanges = files.filter((file) => pathAllowed(file, step.forbiddenScope));
52
+ const blockers = [
53
+ ...(manifest.blocker ? [manifest.blocker] : []),
54
+ ...(outsideAllowedWrites.length > 0
55
+ ? [`Changed files outside ${stepId} allowedWrites: ${outsideAllowedWrites.join(', ')}`]
56
+ : []),
57
+ ...(forbiddenChanges.length > 0
58
+ ? [`Changed files intersect ${stepId} forbiddenScope: ${forbiddenChanges.join(', ')}`]
59
+ : []),
60
+ ];
61
+ const remediation = remediations[0];
62
+ const stepDefinitionHash = hashCanonical({
63
+ id: step.id,
64
+ title: step.title,
65
+ objective: step.objective,
66
+ requirements: step.requirements,
67
+ dependencies: step.dependencies,
68
+ expectedOutputs: step.expectedOutputs,
69
+ allowedWrites: step.allowedWrites,
70
+ forbiddenScope: step.forbiddenScope,
71
+ checks: step.checks,
72
+ });
73
+ const evidenceBase = {
74
+ kind: 'missing-npm-script-outside-allowed-writes',
75
+ taskRevision: task.revision,
76
+ remediationEventId: remediation.eventId,
77
+ remediationEventHash: remediation.eventHash,
78
+ manifestPath: ROOT_MANIFEST,
79
+ manifestHash: manifest.hash,
80
+ gitHead: headCommit(repositoryRoot),
81
+ stepDefinitionHash,
82
+ missingScripts: [...new Set(missing.map((entry) => entry.script))].sort(),
83
+ checkCommands: [...new Set(missing.map((entry) => entry.command))].sort(),
84
+ changedFiles: files,
85
+ };
86
+ const evidence = {
87
+ ...evidenceBase,
88
+ conflictHash: hashCanonical({
89
+ domain: 'codex-workflow/plan-integrity-conflict/v1',
90
+ taskId: task.id,
91
+ planHash: task.planHash,
92
+ stepId,
93
+ evidence: evidenceBase,
94
+ }),
95
+ };
96
+ return {
97
+ ...base,
98
+ applicable: true,
99
+ eligible: blockers.length === 0,
100
+ blockers,
101
+ evidence,
102
+ };
103
+ }
104
+ function inspectRootManifest(repositoryRoot) {
105
+ const file = path.join(repositoryRoot, ROOT_MANIFEST);
106
+ if (!existsSync(file))
107
+ return { scripts: new Set(), hash: null, blocker: null };
108
+ const stat = lstatSync(file);
109
+ if (!stat.isFile()) {
110
+ return { scripts: new Set(), hash: null, blocker: 'Root package.json is not a regular file.' };
111
+ }
112
+ const bytes = readFileSync(file);
113
+ const hash = createHash('sha256').update(bytes).digest('hex');
114
+ try {
115
+ const parsed = JSON.parse(bytes.toString('utf8'));
116
+ if (parsed.scripts === undefined)
117
+ return { scripts: new Set(), hash, blocker: null };
118
+ if (!parsed.scripts || typeof parsed.scripts !== 'object' || Array.isArray(parsed.scripts)) {
119
+ return { scripts: new Set(), hash, blocker: 'Root package.json scripts field is malformed.' };
120
+ }
121
+ return { scripts: new Set(Object.keys(parsed.scripts)), hash, blocker: null };
122
+ }
123
+ catch {
124
+ return { scripts: new Set(), hash, blocker: 'Root package.json is not valid JSON.' };
125
+ }
126
+ }
127
+ //# sourceMappingURL=plan-integrity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-integrity.js","sourceRoot":"","sources":["../../../src/alpha6/plan-integrity.ts"],"names":[],"mappings":"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"}
@@ -29,5 +29,6 @@ export declare function buildPlanRiskAuditEvent(store: FileStateStore, task: Tas
29
29
  event: Omit<PlanRiskAuditEvent, 'previousEventHash' | 'eventHash'>;
30
30
  };
31
31
  export declare function appendCurrentPlanRiskAudit(store: FileStateStore, task: TaskState, input: RecordPlanRiskAuditInput, now: Date): PlanRiskAuditEvent;
32
+ 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;
32
33
  export declare function appendReboundPlanRiskAudit(store: FileStateStore, sourceTask: TaskState, reboundTask: TaskState, sourceAudit: CurrentPlanRiskAudit, now: Date): PlanRiskAuditEvent;
33
34
  export declare function readPlanRiskAuditEvents(store: FileStateStore, task: TaskState): PlanRiskAuditEvent[];
@@ -174,6 +174,12 @@ export function appendCurrentPlanRiskAudit(store, task, input, now) {
174
174
  validateEvent: (event, context) => validateStoredPlanRiskAuditEvent(event, task, context.file, context.line),
175
175
  });
176
176
  }
177
+ export function validateCorrectiveReplanRiskAuditPayload(task, event, expectedStepIds) {
178
+ validatePlanRiskAuditPayload(task, event, expectedStepIds, 'INVALID_ARGUMENT', { taskId: task.id });
179
+ if (event.decision === 'split-required' || event.decision === 'stop-escalate') {
180
+ throw new WorkflowError('TRANSITION_BLOCKED', `Plan Risk Audit decision ${event.decision} blocks corrective replan.`);
181
+ }
182
+ }
177
183
  export function appendReboundPlanRiskAudit(store, sourceTask, reboundTask, sourceAudit, now) {
178
184
  assertReboundPlanRiskAuditAllowed(store, sourceTask, reboundTask, sourceAudit);
179
185
  return appendCurrentPlanRiskAudit(store, reboundTask, {
@@ -465,9 +471,9 @@ function validateStoredPlanRiskAuditEvent(event, task, file, line) {
465
471
  file,
466
472
  line,
467
473
  eventId: event.eventId,
468
- });
474
+ }, false);
469
475
  }
470
- function validatePlanRiskAuditPayload(task, event, expectedStepIds, errorCode, details) {
476
+ function validatePlanRiskAuditPayload(task, event, expectedStepIds, errorCode, details, requireCurrentStepChecks = true) {
471
477
  if (event.taskId !== task.id) {
472
478
  throw new WorkflowError(errorCode, 'Plan Risk Audit task binding does not match its task root.', {
473
479
  ...details,
@@ -496,9 +502,9 @@ function validatePlanRiskAuditPayload(task, event, expectedStepIds, errorCode, d
496
502
  if (!Array.isArray(event.stepClassifications)) {
497
503
  throw new WorkflowError(errorCode, 'Plan Risk Audit stepClassifications must be an array.', details);
498
504
  }
499
- validateStepClassificationSet(task, event.stepClassifications, event.decision, event.splitRationale, expectedStepIds, errorCode, details);
505
+ validateStepClassificationSet(task, event.stepClassifications, event.decision, event.splitRationale, expectedStepIds, errorCode, details, requireCurrentStepChecks);
500
506
  }
501
- function validateStepClassificationSet(task, classifications, decision, splitRationale, expectedStepIds, errorCode, details) {
507
+ function validateStepClassificationSet(task, classifications, decision, splitRationale, expectedStepIds, errorCode, details, requireCurrentStepChecks = true) {
502
508
  const currentTaskStepIds = new Set(task.steps.map((step) => step.id));
503
509
  const normalizedStepIds = classifications.map((classification) => normalizeNonEmptyString(classification?.stepId, 'Plan Risk Audit classification stepId', {
504
510
  code: errorCode,
@@ -528,7 +534,7 @@ function validateStepClassificationSet(task, classifications, decision, splitRat
528
534
  }
529
535
  if (classification.reviewRequired)
530
536
  reviewRequiredCount += 1;
531
- validateStepClassification(task, classification, errorCode, details);
537
+ validateStepClassification(task, classification, errorCode, details, requireCurrentStepChecks);
532
538
  classification.categories.forEach((category) => guardedCategories.add(category));
533
539
  }
534
540
  if ((decision === 'split-required' || decision === 'stop-escalate') && reviewRequiredCount === 0) {
@@ -623,7 +629,7 @@ function validateCurrentPlanRiskAudit(store, task, audit, expectedStepIds, optio
623
629
  .filter((classification) => classification.reviewRequired)
624
630
  .map((classification) => classification.stepId);
625
631
  }
626
- function validateStepClassification(task, classification, errorCode, details) {
632
+ function validateStepClassification(task, classification, errorCode, details, requireCurrentStepChecks = true) {
627
633
  if (!Array.isArray(classification.categories)) {
628
634
  throw new WorkflowError(errorCode, 'Plan Risk Audit categories must be an array.', {
629
635
  ...details,
@@ -704,7 +710,9 @@ function validateStepClassification(task, classification, errorCode, details) {
704
710
  });
705
711
  }
706
712
  }
707
- const step = task.steps.find((candidate) => candidate.id === classification.stepId);
713
+ const step = requireCurrentStepChecks
714
+ ? task.steps.find((candidate) => candidate.id === classification.stepId)
715
+ : undefined;
708
716
  if (step) {
709
717
  const missingChecks = requiredEvidence.filter((evidence) => !step.checks.includes(evidence));
710
718
  if (missingChecks.length > 0) {