codex-workflow-v2 2.0.0-beta.13 → 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 (86) hide show
  1. package/README.md +6 -1
  2. package/dist/reviewer-runtime-build.json +44 -20
  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 +4 -0
  7. package/dist/src/alpha6/plan-risk.js +50 -13
  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 +38 -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-executor.js +3 -1
  50. package/dist/src/state/corrective-replan-executor.js.map +1 -1
  51. package/dist/src/state/corrective-replan-public.js +5 -4
  52. package/dist/src/state/corrective-replan-public.js.map +1 -1
  53. package/dist/src/state/corrective-yield-executor.js +12 -3
  54. package/dist/src/state/corrective-yield-executor.js.map +1 -1
  55. package/dist/src/state/store.d.ts +1 -1
  56. package/dist/src/state/store.js +17 -3
  57. package/dist/src/state/store.js.map +1 -1
  58. package/dist/src/version.d.ts +1 -1
  59. package/dist/src/version.js +1 -1
  60. package/dist/src/version.js.map +1 -1
  61. package/dist/src/workflow.d.ts +84 -1
  62. package/dist/src/workflow.js +1616 -355
  63. package/dist/src/workflow.js.map +1 -1
  64. package/docs/beta13.2-signal-review-recovery.md +38 -0
  65. package/docs/change-model.md +118 -0
  66. package/docs/delegated-approval.md +26 -0
  67. package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
  68. package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
  69. package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
  70. package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +9 -1
  71. package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +9 -5
  72. package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +18 -3
  73. package/docs/pending-review-update.md +15 -0
  74. package/docs/release.md +267 -2
  75. package/docs/updating-existing-project.md +36 -6
  76. package/docs/validation-report.md +30 -9
  77. package/package.json +2 -1
  78. package/plugins/codex-workflow-gateway/references/chat-dispatch.md +204 -0
  79. package/plugins/codex-workflow-gateway/references/protocol.md +11 -0
  80. package/plugins/codex-workflow-gateway/scripts/chat-dispatch.mjs +298 -0
  81. package/plugins/codex-workflow-gateway/scripts/chat-model-policy.mjs +43 -0
  82. package/plugins/codex-workflow-gateway/scripts/chat-registry.mjs +55 -3
  83. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +218 -21
  84. package/schemas/plan-risk-audit-event.schema.json +1 -0
  85. package/schemas/preexecution-replan-event.schema.json +45 -0
  86. package/schemas/task.schema.json +55 -0
package/dist/src/cli.js CHANGED
@@ -15,14 +15,22 @@ import { WorkflowService, } from './workflow.js';
15
15
  import { gatewayHandshake } from './gateway-handshake.js';
16
16
  import { CLI_ACTIONS } from './cli-actions.js';
17
17
  const CLI_HELP_SPECS = {
18
+ 'change explain': { requiredOptions: ['--task', '--file'], optionalOptions: ['--repo', '--json'] },
18
19
  'milestone remediation-materialize': {
19
20
  requiredOptions: ['--id', '--expected-revision', '--task', '--expected-task-revision', '--file'],
20
21
  optionalOptions: ['--repo', '--json'],
21
22
  },
23
+ 'update pending-review-source-preflight': { requiredOptions: ['--id'], optionalOptions: ['--repo', '--json'] },
24
+ 'update pending-review-dependency-preflight': { requiredOptions: ['--id', '--file'], optionalOptions: ['--repo', '--json'] },
25
+ 'update pending-review-dependency-recover': { requiredOptions: ['--id', '--file', '--expected-revision', '--actor', '--reason'], optionalOptions: ['--repo', '--json'] },
22
26
  'update dependency-provenance-preflight': {
23
27
  requiredOptions: ['--id'],
24
28
  optionalOptions: ['--repo', '--json'],
25
29
  },
30
+ 'update corrective-carryover-preflight': {
31
+ requiredOptions: ['--id'],
32
+ optionalOptions: ['--repo', '--json', '--file', '--risk-audit-file'],
33
+ },
26
34
  'task historical-step-provenance-preflight': {
27
35
  requiredOptions: ['--id'],
28
36
  optionalOptions: ['--repo', '--json'],
@@ -95,6 +103,13 @@ const CLI_HELP_SPECS = {
95
103
  requiredOptions: ['--id', '--expected-revision', '--file', '--risk-audit-file'],
96
104
  optionalOptions: ['--corrective-audit-file', '--repo', '--json'],
97
105
  },
106
+ 'task preexecution-replan': {
107
+ requiredOptions: [
108
+ '--id', '--expected-revision', '--actor', '--reason', '--file', '--expected-brief-hash',
109
+ '--expected-plan-hash', '--expected-plan-risk-audit-event-hash', '--expected-head-commit',
110
+ ],
111
+ optionalOptions: ['--repo', '--json'],
112
+ },
98
113
  'task handoff-replace': {
99
114
  requiredOptions: ['--id', '--expected-revision', '--actor', '--target-actor', '--reason'],
100
115
  optionalOptions: ['--writer-credential-ref', '--delegation-grant', '--expires-at', '--repo', '--json'],
@@ -190,6 +205,20 @@ const CLI_HELP_SPECS = {
190
205
  'task review-sealed-record': {
191
206
  requiredOptions: ['--id', '--expected-revision', '--actor', '--file'],
192
207
  optionalOptions: ['--writer-credential-ref', '--repo', '--json'],
208
+ fileInput: {
209
+ description: 'Full ExternalStrictTaskReviewInput envelope; reviewMode is a top-level JSON field.',
210
+ requiredTopLevelFields: ['protocol', 'packetHash', 'repositorySealHash', 'reviewerThreadId', 'reviewMode', 'review'],
211
+ reviewMode: 'ordinary | security',
212
+ nestedReviewRequiredFields: ['status', 'reviewer', 'summary', 'findings'],
213
+ example: {
214
+ protocol: 'codex-workflow-external-strict-task-review-v1',
215
+ packetHash: '<packet.packetHash>',
216
+ repositorySealHash: '<packet.repositorySealHash>',
217
+ reviewerThreadId: '<separate-reviewer-thread-id>',
218
+ reviewMode: 'ordinary',
219
+ review: { status: 'passed', reviewer: '<reviewer>', summary: '<summary>', findings: [] },
220
+ },
221
+ },
193
222
  },
194
223
  'task step-review-packet': {
195
224
  requiredOptions: ['--id', '--step', '--expected-revision', '--review-mode'],
@@ -198,6 +227,20 @@ const CLI_HELP_SPECS = {
198
227
  'task step-review-record': {
199
228
  requiredOptions: ['--id', '--step', '--expected-revision', '--actor', '--file'],
200
229
  optionalOptions: ['--writer-credential-ref', '--repo', '--json'],
230
+ fileInput: {
231
+ description: 'Full ExternalStrictStepReviewInput envelope; reviewMode is a top-level JSON field.',
232
+ requiredTopLevelFields: ['protocol', 'packetHash', 'repositorySealHash', 'reviewerThreadId', 'reviewMode', 'review'],
233
+ reviewMode: 'ordinary | security',
234
+ nestedReviewRequiredFields: ['status', 'reviewer', 'summary', 'findings'],
235
+ example: {
236
+ protocol: 'codex-workflow-external-strict-step-review-v1',
237
+ packetHash: '<packet.packetHash>',
238
+ repositorySealHash: '<packet.repositorySealHash>',
239
+ reviewerThreadId: '<separate-reviewer-thread-id>',
240
+ reviewMode: 'ordinary',
241
+ review: { status: 'passed', reviewer: '<reviewer>', summary: '<summary>', findings: [] },
242
+ },
243
+ },
201
244
  },
202
245
  'task result-set': {
203
246
  requiredOptions: ['--id', '--expected-revision', '--summary', '--writer-credential-ref'],
@@ -299,6 +342,7 @@ function cliHelp(args) {
299
342
  requiredOptions: spec?.requiredOptions ?? null,
300
343
  optionalOptions: spec?.optionalOptions ?? null,
301
344
  exactOptionContractAvailable: Boolean(spec),
345
+ ...(spec?.fileInput ? { fileInput: spec.fileInput } : {}),
302
346
  ...(spec ? {} : { note: 'Consult the packaged protocol for this action option contract.' }),
303
347
  };
304
348
  }
@@ -472,6 +516,20 @@ async function dispatch(args) {
472
516
  return args.options.has('full') ? workflow.status(repo) : workflow.compactStatus(repo);
473
517
  if (noun === 'next')
474
518
  return workflow.next(repo, option(args, 'task') ?? null);
519
+ if (noun === 'change' && action === 'explain')
520
+ return workflow.explainChange(repo, required(args, 'task'), jsonFile(args));
521
+ if (noun === 'update' && action === 'pending-review-source-preflight') {
522
+ return workflow.pendingReviewUpdatePreflight(repo, required(args, 'id'));
523
+ }
524
+ if (noun === 'update' && (action === 'pending-review-dependency-preflight' || action === 'pending-review-dependency-recover')) {
525
+ const receipt = JSON.parse(readFileSync(required(args, 'file'), 'utf8'));
526
+ const source = 'value' in receipt && receipt.ok === true ? receipt.value : receipt;
527
+ if (!source.eligible || !source.binding)
528
+ throw new WorkflowError('INVALID_ARGUMENT', 'An eligible source preflight receipt is required.');
529
+ return action === 'pending-review-dependency-preflight'
530
+ ? workflow.pendingReviewDependencyPreflight(repo, required(args, 'id'), source.binding)
531
+ : workflow.recoverPendingReviewDependency(repo, required(args, 'id'), revision(args), source.binding, required(args, 'actor'), required(args, 'reason'));
532
+ }
475
533
  if (noun === 'update' && action === 'preflight')
476
534
  return workflow.updatePreflight(repo);
477
535
  if (noun === 'update' && action === 'rescue-preflight') {
@@ -480,6 +538,12 @@ async function dispatch(args) {
480
538
  if (noun === 'update' && action === 'dependency-provenance-preflight') {
481
539
  return workflow.dependencyProvenanceRecoveryPreflight(repo, required(args, 'id'));
482
540
  }
541
+ if (noun === 'update' && action === 'corrective-carryover-preflight') {
542
+ return workflow.correctiveCarryoverUpdatePreflight(repo, required(args, 'id'), option(args, 'file') || option(args, 'risk-audit-file') ? {
543
+ plan: jsonFile(args),
544
+ planRiskAudit: jsonFile(args, 'risk-audit-file'),
545
+ } : null);
546
+ }
483
547
  if (noun === 'task' && action === 'historical-step-provenance-preflight') {
484
548
  return workflow.historicalStepProvenanceRecoveryPreflight(repo, required(args, 'id'));
485
549
  }
@@ -527,7 +591,7 @@ async function dispatch(args) {
527
591
  }
528
592
  if (noun === 'delegation' && action === 'list') {
529
593
  const identity = resolveRepositoryIdentity(repo);
530
- return workflow.store.listDelegations(identity.projectId);
594
+ return workflow.listDelegations(identity.projectId);
531
595
  }
532
596
  if (noun === 'delegation' && action === 'show') {
533
597
  const identity = resolveRepositoryIdentity(repo);
@@ -654,6 +718,14 @@ async function dispatch(args) {
654
718
  if (noun === 'task' && action === 'replacement-materialize') {
655
719
  return workflow.replaceSplitRequiredTask(repo, required(args, 'id'), revision(args), required(args, 'discovery'), positiveIntegerOption(args, 'expected-discovery-revision'), positiveIntegerOption(args, 'expected-milestone-revision'), required(args, 'title'), option(args, 'actor') ?? 'user');
656
720
  }
721
+ if (noun === 'task' && action === 'preexecution-replan') {
722
+ return workflow.recordPreExecutionReplan(repo, required(args, 'id'), revision(args), required(args, 'actor'), required(args, 'reason'), {
723
+ expectedBriefHash: required(args, 'expected-brief-hash'),
724
+ expectedPlanHash: required(args, 'expected-plan-hash'),
725
+ expectedPlanRiskAuditEventHash: required(args, 'expected-plan-risk-audit-event-hash'),
726
+ expectedHeadCommit: required(args, 'expected-head-commit'),
727
+ }, jsonFile(args));
728
+ }
657
729
  if (noun === 'task' && action === 'plan-set') {
658
730
  return workflow.setTaskPlan(repo, required(args, 'id'), revision(args), jsonFile(args), option(args, 'corrective-audit-file')
659
731
  ? jsonFile(args, 'corrective-audit-file')
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -426,6 +426,8 @@ export interface PlanRiskAuditEvent extends SidecarEventRecord {
426
426
  decision: PlanRiskAuditDecision;
427
427
  splitRationale: string | null;
428
428
  stepClassifications: PlanRiskAuditStepClassification[];
429
+ /** Hash-chained marker: audits written by the structural-edge contract retain that authority on readback. */
430
+ structuralProductionEdgeAuthority?: 'required-v1';
429
431
  }
430
432
  export interface StepReviewEvent extends SidecarEventRecord {
431
433
  taskId: string;
@@ -854,6 +856,7 @@ export interface MilestoneTransactionJournal {
854
856
  updatedAt: string;
855
857
  }
856
858
  export interface TaskContextRefreshResult {
859
+ authority?: 'planning-only' | 'execution';
857
860
  mode: 'delegated-content-only' | 'delegated-plan-bounded-supporting-source';
858
861
  transitions: string[];
859
862
  addedSources: Array<Pick<KnowledgeSource, 'id' | 'path' | 'category' | 'scope' | 'authority'>>;
@@ -1018,6 +1021,40 @@ export interface DependencyProvenanceRecoveryRecord {
1018
1021
  downstreamProofReplan?: DownstreamProofReplanCompatibility;
1019
1022
  historicalStepProvenance?: HistoricalStepDependencyCompatibility;
1020
1023
  planIntegrity?: PlanIntegrityUpdateCompatibility;
1024
+ rootCauseReplan?: RootCauseReplanDirtyCarryoverCompatibility;
1025
+ }
1026
+ export interface RootCauseReplanDirtyCarryoverCompatibility {
1027
+ kind: 'root-cause-corrective-replan-dirty-carryover';
1028
+ taskId: string;
1029
+ sourceTaskRevision: number;
1030
+ stepId: string;
1031
+ sourcePlanHash: string;
1032
+ sourcePlanSemanticHash: string;
1033
+ replacementPlanHash: string;
1034
+ replacementPlanSemanticHash: string;
1035
+ sourceHeadCommit: string;
1036
+ remediationEvents: Array<{
1037
+ eventId: string;
1038
+ eventHash: string;
1039
+ attemptOrdinal: number;
1040
+ }>;
1041
+ terminalRemediationEventId: string;
1042
+ terminalRemediationEventHash: string;
1043
+ terminalExecutionTaskRevision: number;
1044
+ repeatedCauseFingerprint: string;
1045
+ correctiveYieldEventId: string;
1046
+ correctiveYieldEventHash: string;
1047
+ dirtyFiles: string[];
1048
+ dirtyWorktreeHash: string;
1049
+ replacementPlanRiskAuditEventId: string;
1050
+ replacementPlanRiskAuditEventHash: string;
1051
+ executionAuthorizationHash: string;
1052
+ executionAuthorizationHead: string;
1053
+ completedStepsHash: string;
1054
+ c1ClaimEventId: string;
1055
+ c1ClaimEventHash: string;
1056
+ claimant: string;
1057
+ compatibilityHash: string;
1021
1058
  }
1022
1059
  export interface HistoricalStepDependencyCompatibility {
1023
1060
  activeStepId: string;
@@ -1063,6 +1100,7 @@ export interface DependencyProvenanceRecoveryPreflight {
1063
1100
  downstreamProofReplan: DownstreamProofReplanCompatibility | null;
1064
1101
  historicalStepProvenance: HistoricalStepDependencyCompatibility | null;
1065
1102
  planIntegrity: PlanIntegrityUpdateCompatibility | null;
1103
+ rootCauseReplan: RootCauseReplanDirtyCarryoverCompatibility | null;
1066
1104
  blockers: string[];
1067
1105
  }
1068
1106
  export interface HistoricalStepProvenanceRecoveryRecord {
@@ -1,4 +1,4 @@
1
- import type { DependencyProvenanceRecoveryPreflight, DownstreamProofReplanCompatibility, HistoricalStepDependencyCompatibility, PlanIntegrityUpdateCompatibility, ProjectKnowledgeMap, TaskState } from './contracts.js';
1
+ import type { DependencyProvenanceRecoveryPreflight, DownstreamProofReplanCompatibility, HistoricalStepDependencyCompatibility, PlanIntegrityUpdateCompatibility, ProjectKnowledgeMap, RootCauseReplanDirtyCarryoverCompatibility, TaskState } from './contracts.js';
2
2
  interface RecoveryEnvironment {
3
3
  activeLeaseCount: number;
4
4
  staleLeaseCount: number;
@@ -38,10 +38,11 @@ export interface DependencyKnowledgeRefreshAssessment {
38
38
  * package.json/package-lock.json-only dependency update.
39
39
  */
40
40
  export declare function inspectDependencyKnowledgeRefresh(repositoryRoot: string, milestoneBaseBranch: string, approved: ProjectKnowledgeMap, inspected: ProjectKnowledgeMap, allowedDirtyFiles?: readonly string[]): DependencyKnowledgeRefreshAssessment;
41
- export declare function inspectDependencyProvenanceRecovery(repositoryRoot: string, task: TaskState, environment: RecoveryEnvironment, activeDownstreamProof?: ActiveDownstreamProofCompatibility | null, downstreamProofReplan?: DownstreamProofReplanCompatibility | null, historicalStepProvenance?: HistoricalStepDependencyCompatibility | null, planIntegrity?: PlanIntegrityUpdateCompatibility | null): DependencyProvenanceRecoveryPreflight;
41
+ export declare function inspectDependencyProvenanceRecovery(repositoryRoot: string, task: TaskState, environment: RecoveryEnvironment, activeDownstreamProof?: ActiveDownstreamProofCompatibility | null, downstreamProofReplan?: DownstreamProofReplanCompatibility | null, historicalStepProvenance?: HistoricalStepDependencyCompatibility | null, planIntegrity?: PlanIntegrityUpdateCompatibility | null, rootCauseReplan?: RootCauseReplanDirtyCarryoverCompatibility | null): DependencyProvenanceRecoveryPreflight;
42
42
  export declare function inspectBoundedWorkflowDependencyCommit(repositoryRoot: string, commitSha: string): {
43
43
  commitSha: string;
44
44
  parentCommitSha: string;
45
45
  packageVersion: string;
46
46
  } | null;
47
+ export declare function workflowDependencyVersionAt(repositoryRoot: string, commitSha: string): string | null;
47
48
  export {};
@@ -4,6 +4,7 @@ import { PACKAGE_NAME, PACKAGE_VERSION } from './version.js';
4
4
  import { changedFiles, currentBranch, headCommit, runGit } from './repository.js';
5
5
  import { hashDirtyWorktree } from './alpha6/downstream-proof.js';
6
6
  import { inspectWorkflowVersions } from './diagnostics.js';
7
+ import { pathAllowed } from './domain/validation.js';
7
8
  const RECOVERY_FILES = ['package-lock.json', 'package.json'];
8
9
  const TERMINAL_TASK_STATUSES = new Set(['merged', 'cancelled']);
9
10
  /**
@@ -106,7 +107,7 @@ export function inspectDependencyKnowledgeRefresh(repositoryRoot, milestoneBaseB
106
107
  blockers,
107
108
  };
108
109
  }
109
- export function inspectDependencyProvenanceRecovery(repositoryRoot, task, environment, activeDownstreamProof = null, downstreamProofReplan = null, historicalStepProvenance = null, planIntegrity = null) {
110
+ export function inspectDependencyProvenanceRecovery(repositoryRoot, task, environment, activeDownstreamProof = null, downstreamProofReplan = null, historicalStepProvenance = null, planIntegrity = null, rootCauseReplan = null) {
110
111
  const blockers = [];
111
112
  const dirty = changedFiles(repositoryRoot);
112
113
  const head = headCommit(repositoryRoot);
@@ -114,7 +115,12 @@ export function inspectDependencyProvenanceRecovery(repositoryRoot, task, enviro
114
115
  let commitFiles = [];
115
116
  let dependencyCommits = [];
116
117
  let retainedHistoricalCommits = [];
117
- const dirtyCompatibility = activeDownstreamProof ?? downstreamProofReplan ?? historicalStepProvenance ?? planIntegrity;
118
+ const compatibilityCount = [activeDownstreamProof, downstreamProofReplan, historicalStepProvenance,
119
+ planIntegrity, rootCauseReplan].filter(Boolean).length;
120
+ if (compatibilityCount > 1)
121
+ blockers.push('Dependency recovery accepts exactly one dirty compatibility binding.');
122
+ const dirtyCompatibility = activeDownstreamProof ?? downstreamProofReplan ?? historicalStepProvenance
123
+ ?? planIntegrity ?? rootCauseReplan;
118
124
  if (dirtyCompatibility) {
119
125
  if (JSON.stringify(dirty.sort()) !== JSON.stringify([...dirtyCompatibility.dirtyFiles].sort())) {
120
126
  blockers.push('Dirty files changed after the compatibility assessment.');
@@ -182,6 +188,22 @@ export function inspectDependencyProvenanceRecovery(repositoryRoot, task, enviro
182
188
  blockers.push('The Task must retain the exact failed/no-running-Step Plan-integrity posture.');
183
189
  }
184
190
  }
191
+ else if (rootCauseReplan) {
192
+ const correctiveStep = task.steps.find((step) => step.id === rootCauseReplan.stepId) ?? null;
193
+ if (task.status !== 'ready'
194
+ || correctiveStep?.status !== 'planned'
195
+ || correctiveStep.evidence !== null
196
+ || task.steps.some((step) => step.status === 'in_progress')
197
+ || task.id !== rootCauseReplan.taskId
198
+ || task.revision !== rootCauseReplan.sourceTaskRevision
199
+ || !task.planHash) {
200
+ blockers.push('The Task must retain the exact authorized corrective-replan/no-running-Step posture.');
201
+ }
202
+ if (rootCauseReplan.dirtyFiles.some((file) => !correctiveStep
203
+ || !pathAllowed(file, correctiveStep.allowedWrites))) {
204
+ blockers.push('Corrective carryover cannot expand the replacement Step allowedWrites.');
205
+ }
206
+ }
185
207
  }
186
208
  else {
187
209
  if (dirty.length > 0)
@@ -297,6 +319,7 @@ export function inspectDependencyProvenanceRecovery(repositoryRoot, task, enviro
297
319
  downstreamProofReplan,
298
320
  historicalStepProvenance,
299
321
  planIntegrity,
322
+ rootCauseReplan,
300
323
  blockers,
301
324
  };
302
325
  }
@@ -321,6 +344,14 @@ export function inspectBoundedWorkflowDependencyCommit(repositoryRoot, commitSha
321
344
  return null;
322
345
  }
323
346
  }
347
+ export function workflowDependencyVersionAt(repositoryRoot, commitSha) {
348
+ try {
349
+ return manifestDependencyVersion(parseJson(runGit(repositoryRoot, ['show', `${commitSha}:package.json`])));
350
+ }
351
+ catch {
352
+ return null;
353
+ }
354
+ }
324
355
  function workflowDependencyJsonDiffIsBounded(repositoryRoot, parent, revision, expectedAfterVersion) {
325
356
  const beforeManifestContent = runGit(repositoryRoot, ['show', `${parent}:package.json`]);
326
357
  const afterManifestContent = runGit(repositoryRoot, ['show', `${revision}:package.json`]);