codex-workflow-v2 2.0.0-beta.12.4 → 2.0.0-beta.12.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -43,7 +43,7 @@ cross-machine synchronization are not part of its contract.
43
43
  Node.js 22 or newer is required. Consumers pin the exact package version:
44
44
 
45
45
  ```bash
46
- npm install --save-dev --save-exact codex-workflow-v2@2.0.0-beta.12.4
46
+ npm install --save-dev --save-exact codex-workflow-v2@2.0.0-beta.12.5
47
47
  npx codex-workflow gateway handshake --repo .
48
48
  npx codex-workflow doctor --repo .
49
49
  ```
@@ -187,7 +187,7 @@ sidecars:
187
187
  `corrective-replan-executions.jsonl`, `step-review-events.jsonl`,
188
188
  `reviewer-attestations.jsonl`, `remediation-events.jsonl`,
189
189
  `corrective-decisions.jsonl`, `corrective-decision-recoveries.jsonl`,
190
- `remediation-mode-recoveries.jsonl`, `handoffs.jsonl`
190
+ `remediation-mode-recoveries.jsonl`, `downstream-proof-invalidations.jsonl`, `handoffs.jsonl`
191
191
  - milestone: `scope-change-events.jsonl`, `autonomy-contract-events.jsonl`
192
192
 
193
193
  Milestone scope-change recovery also uses Milestone-local `.transactions/` journal files.
@@ -214,6 +214,19 @@ definition, Git HEAD, manifest hash, and complete dirty-file set. The recovery r
214
214
  journaled corrective-replan path. It does not edit the Plan, run a second failing attempt, widen
215
215
  `allowedWrites`, or modify the worktree.
216
216
 
217
+ When an active downstream proof exposes a required change in files owned by a completed transitive
218
+ predecessor Step, fresh `next` advertises `task downstream-proof-recover` instead of the impossible
219
+ `task step-complete`. The lease-bound transaction preserves worktree and HEAD, invalidates only the
220
+ affected predecessor completion evidence, retains its commits as historical `invalidatedStepCommits`, yields
221
+ C1, and returns the same Task to ordinary planning. A fresh replacement Plan, Plan Risk Audit, and
222
+ execution authorization are required. Unrelated dirty files, non-predecessor ownership, unregistered
223
+ history, or damaged invalidation evidence fail closed.
224
+
225
+ Docker socket `EPERM`/permission errors observed inside a sandbox are access-boundary evidence, not
226
+ daemon-failure evidence. The gateway repeats the exact read-only probe or Plan check once with
227
+ sandbox escalation without consuming a remediation/infra retry. Docker Desktop restart or image
228
+ mutation requires separate authority and an escalated probe that actually proves daemon failure.
229
+
217
230
  For a terminal split, follow the [canonical replacement stop procedure](docs/split-required-recovery.md).
218
231
  P04-A intentionally disables structural replacement; P04-B/P05 must define the topology-preserving
219
232
  transaction before the route can be used.
@@ -302,7 +315,7 @@ alpha regressions that must not recur are tracked in the
302
315
  - [Chat-only development guide](docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf)
303
316
  - [Deep technical reference](docs/pdf/codex-workflow-v2-technical-reference-ru.pdf)
304
317
 
305
- These beta.12.4 documents cover delegated Discovery, Milestone Autonomy Contract issuance,
318
+ These beta.12.5 documents cover delegated Discovery, Milestone Autonomy Contract issuance,
306
319
  dependency-aware Task routing, C1 credential handling, external-sealed reviews, bounded
307
320
  Plan-integrity recovery, Task-local dependency provenance recovery, the human-confirmed legacy
308
321
  attempt-four stop override (including append-only multi-rebind, dependency-only HEAD continuation,
@@ -0,0 +1,29 @@
1
+ import type { DownstreamProofInvalidationEvent, TaskState } from '../contracts.js';
2
+ import type { FileStateStore } from '../state/store.js';
3
+ export interface DownstreamProofInvalidatedStep {
4
+ stepId: string;
5
+ evidenceCommit: string;
6
+ triggerFiles: string[];
7
+ }
8
+ export interface DownstreamProofRecoveryAssessment {
9
+ applicable: boolean;
10
+ eligible: boolean;
11
+ activeStepId: string | null;
12
+ dirtyFiles: string[];
13
+ outsideActiveStepFiles: string[];
14
+ invalidatedSteps: DownstreamProofInvalidatedStep[];
15
+ preservedHeadCommit: string | null;
16
+ blockers: string[];
17
+ }
18
+ export interface PreparedDownstreamProofInvalidation {
19
+ event: DownstreamProofInvalidationEvent;
20
+ postimage: string;
21
+ }
22
+ export declare function assessDownstreamProofRecovery(store: FileStateStore, repositoryRoot: string, task: TaskState): DownstreamProofRecoveryAssessment;
23
+ export declare function prepareDownstreamProofInvalidation(store: FileStateStore, resultTask: TaskState, assessment: DownstreamProofRecoveryAssessment, input: {
24
+ previousTaskRevision: number;
25
+ actor: string;
26
+ reason: string;
27
+ }, now: Date): PreparedDownstreamProofInvalidation;
28
+ export declare function readDownstreamProofInvalidations(store: FileStateStore, task: TaskState): DownstreamProofInvalidationEvent[];
29
+ export declare function downstreamProofInvalidationSidecar(): string;
@@ -0,0 +1,249 @@
1
+ import { WorkflowError } from '../errors.js';
2
+ import { pathAllowed } from '../domain/validation.js';
3
+ import { changedFiles, currentBranch, headCommit, } from '../repository.js';
4
+ import { validateTaskHistory } from '../git.js';
5
+ import { createUlid } from '../ulid.js';
6
+ import { PACKAGE_VERSION } from '../version.js';
7
+ import { prepareSidecarAppend } from './store-sidecars.js';
8
+ const SIDECAR = 'downstream-proof-invalidations.jsonl';
9
+ const HASH_64 = /^[a-f0-9]{64}$/;
10
+ const GIT_HASH = /^[a-f0-9]{40}$/;
11
+ const EVENT_ID = /^DPI-[0-9A-HJKMNP-TV-Z]{26}$/;
12
+ export function assessDownstreamProofRecovery(store, repositoryRoot, task) {
13
+ readDownstreamProofInvalidations(store, task);
14
+ const activeStep = task.steps.find((step) => step.status === 'in_progress') ?? null;
15
+ if (task.status !== 'in_progress' || !activeStep)
16
+ return emptyAssessment();
17
+ const dirtyFiles = changedFiles(repositoryRoot).sort();
18
+ const outsideActiveStepFiles = dirtyFiles.filter((file) => !pathAllowed(file, activeStep.allowedWrites));
19
+ if (outsideActiveStepFiles.length === 0) {
20
+ return {
21
+ ...emptyAssessment(),
22
+ activeStepId: activeStep.id,
23
+ dirtyFiles,
24
+ };
25
+ }
26
+ const blockers = [];
27
+ if (task.workspaceOwner !== 'local') {
28
+ blockers.push('Recovery requires a local Task workspace because the dirty file set is repository-local evidence.');
29
+ }
30
+ if (!task.taskBranch || currentBranch(repositoryRoot) !== task.taskBranch) {
31
+ blockers.push(`Current branch must equal the recorded Task branch ${task.taskBranch ?? '<missing>'}.`);
32
+ }
33
+ if (!task.planHash)
34
+ blockers.push('Task has no current Plan hash.');
35
+ if (activeStep.evidence !== null) {
36
+ blockers.push(`Active Step ${activeStep.id} already has completion evidence and must use strict-review recovery.`);
37
+ }
38
+ const predecessorIds = transitivePredecessors(task, activeStep.id, blockers);
39
+ const seedIds = new Set();
40
+ for (const file of outsideActiveStepFiles) {
41
+ const owners = task.steps.filter((step) => step.status === 'completed'
42
+ && predecessorIds.has(step.id)
43
+ && pathAllowed(file, step.allowedWrites));
44
+ if (owners.length === 0) {
45
+ blockers.push(`${file} is outside ${activeStep.id} and is not owned by a completed transitive predecessor.`);
46
+ continue;
47
+ }
48
+ for (const owner of owners)
49
+ seedIds.add(owner.id);
50
+ }
51
+ const invalidatedIds = completedDependentClosure(task, seedIds, predecessorIds);
52
+ const invalidatedSteps = task.steps
53
+ .filter((step) => invalidatedIds.has(step.id))
54
+ .map((step) => {
55
+ if (!step.evidence) {
56
+ blockers.push(`Completed predecessor ${step.id} has no completion evidence.`);
57
+ }
58
+ return {
59
+ stepId: step.id,
60
+ evidenceCommit: step.evidence?.commitSha ?? '',
61
+ triggerFiles: outsideActiveStepFiles.filter((file) => pathAllowed(file, step.allowedWrites)),
62
+ };
63
+ });
64
+ if (invalidatedSteps.length === 0)
65
+ blockers.push('No completed predecessor completion authority can be invalidated.');
66
+ try {
67
+ validateTaskHistory(repositoryRoot, task);
68
+ }
69
+ catch (error) {
70
+ blockers.push(error instanceof Error ? error.message : String(error));
71
+ }
72
+ return {
73
+ applicable: true,
74
+ eligible: blockers.length === 0,
75
+ activeStepId: activeStep.id,
76
+ dirtyFiles,
77
+ outsideActiveStepFiles,
78
+ invalidatedSteps,
79
+ preservedHeadCommit: headCommit(repositoryRoot),
80
+ blockers,
81
+ };
82
+ }
83
+ export function prepareDownstreamProofInvalidation(store, resultTask, assessment, input, now) {
84
+ if (!assessment.applicable || !assessment.eligible || !assessment.activeStepId || !assessment.preservedHeadCommit) {
85
+ throw new WorkflowError('TRANSITION_BLOCKED', 'Downstream proof recovery assessment is not eligible.', {
86
+ blockers: assessment.blockers,
87
+ });
88
+ }
89
+ const actor = normalizeRequired(input.actor, 'Recovery actor');
90
+ const reason = normalizeRequired(input.reason, 'Recovery reason');
91
+ if (!resultTask.planHash)
92
+ throw new WorkflowError('STATE_CORRUPT', 'Recovered Task has no Plan hash.');
93
+ if (resultTask.revision !== input.previousTaskRevision + 1) {
94
+ throw new WorkflowError('STATE_CONFLICT', 'Recovered Task revision does not advance exactly once.');
95
+ }
96
+ const events = readDownstreamProofInvalidations(store, resultTask);
97
+ const prepared = prepareSidecarAppend(events, {
98
+ eventId: `DPI-${createUlid(now.getTime())}`,
99
+ recordedAt: now.toISOString(),
100
+ taskId: resultTask.id,
101
+ previousTaskRevision: input.previousTaskRevision,
102
+ resultTaskRevision: resultTask.revision,
103
+ planHash: resultTask.planHash,
104
+ activeStepId: assessment.activeStepId,
105
+ invalidatedSteps: assessment.invalidatedSteps.map((step) => ({
106
+ stepId: step.stepId,
107
+ evidenceCommit: step.evidenceCommit,
108
+ triggerFiles: [...step.triggerFiles],
109
+ })),
110
+ dirtyFiles: [...assessment.dirtyFiles],
111
+ preservedHeadCommit: assessment.preservedHeadCommit,
112
+ actor,
113
+ reason,
114
+ packageVersion: PACKAGE_VERSION,
115
+ }, {
116
+ validateEvent: (event) => validateInvalidationEvent(event, resultTask),
117
+ });
118
+ return { event: prepared.event, postimage: prepared.content };
119
+ }
120
+ export function readDownstreamProofInvalidations(store, task) {
121
+ return store.readSidecarEvents(store.taskRoot(task.projectId, task.id), SIDECAR, { validateEvent: (event) => validateInvalidationEvent(event, task) });
122
+ }
123
+ export function downstreamProofInvalidationSidecar() {
124
+ return SIDECAR;
125
+ }
126
+ function emptyAssessment() {
127
+ return {
128
+ applicable: false,
129
+ eligible: false,
130
+ activeStepId: null,
131
+ dirtyFiles: [],
132
+ outsideActiveStepFiles: [],
133
+ invalidatedSteps: [],
134
+ preservedHeadCommit: null,
135
+ blockers: [],
136
+ };
137
+ }
138
+ function transitivePredecessors(task, stepId, blockers) {
139
+ const byId = new Map(task.steps.map((step) => [step.id, step]));
140
+ const result = new Set();
141
+ const visiting = new Set();
142
+ const visit = (candidateId) => {
143
+ if (result.has(candidateId))
144
+ return;
145
+ if (visiting.has(candidateId)) {
146
+ blockers.push(`Step dependency cycle reaches ${candidateId}.`);
147
+ return;
148
+ }
149
+ const candidate = byId.get(candidateId);
150
+ if (!candidate) {
151
+ blockers.push(`Step dependency references missing Step ${candidateId}.`);
152
+ return;
153
+ }
154
+ visiting.add(candidateId);
155
+ for (const dependency of candidate.dependencies) {
156
+ visit(dependency);
157
+ result.add(dependency);
158
+ }
159
+ visiting.delete(candidateId);
160
+ };
161
+ visit(stepId);
162
+ result.delete(stepId);
163
+ return result;
164
+ }
165
+ function completedDependentClosure(task, seedIds, predecessorIds) {
166
+ const result = new Set(seedIds);
167
+ let changed = true;
168
+ while (changed) {
169
+ changed = false;
170
+ for (const step of task.steps) {
171
+ if (step.status !== 'completed' || !predecessorIds.has(step.id) || result.has(step.id))
172
+ continue;
173
+ if (step.dependencies.some((dependency) => result.has(dependency))) {
174
+ result.add(step.id);
175
+ changed = true;
176
+ }
177
+ }
178
+ }
179
+ return result;
180
+ }
181
+ function validateInvalidationEvent(event, task) {
182
+ const expectedKeys = [
183
+ 'activeStepId', 'actor', 'dirtyFiles', 'eventHash', 'eventId', 'invalidatedSteps', 'packageVersion',
184
+ 'planHash', 'preservedHeadCommit', 'previousEventHash', 'previousTaskRevision', 'reason', 'recordedAt',
185
+ 'resultTaskRevision', 'taskId',
186
+ ];
187
+ if (!event || typeof event !== 'object' || Array.isArray(event)
188
+ || JSON.stringify(Object.keys(event).sort()) !== JSON.stringify(expectedKeys.sort())) {
189
+ throw new WorkflowError('STATE_CORRUPT', 'Downstream proof invalidation event contains unexpected fields.');
190
+ }
191
+ if (typeof event.eventId !== 'string' || !EVENT_ID.test(event.eventId)) {
192
+ throw new WorkflowError('STATE_CORRUPT', 'Downstream proof invalidation eventId is invalid.');
193
+ }
194
+ if (event.taskId !== task.id)
195
+ throw new WorkflowError('STATE_CORRUPT', 'Downstream proof invalidation Task identity mismatch.');
196
+ if (!Number.isInteger(event.previousTaskRevision) || event.previousTaskRevision < 1
197
+ || event.resultTaskRevision !== event.previousTaskRevision + 1
198
+ || event.resultTaskRevision > task.revision) {
199
+ throw new WorkflowError('STATE_CORRUPT', 'Downstream proof invalidation revision binding is invalid.');
200
+ }
201
+ if (typeof event.planHash !== 'string' || !HASH_64.test(event.planHash)) {
202
+ throw new WorkflowError('STATE_CORRUPT', 'Downstream proof invalidation planHash is invalid.');
203
+ }
204
+ if (typeof event.preservedHeadCommit !== 'string' || !GIT_HASH.test(event.preservedHeadCommit)) {
205
+ throw new WorkflowError('STATE_CORRUPT', 'Downstream proof invalidation preservedHeadCommit is invalid.');
206
+ }
207
+ for (const [value, label] of [
208
+ [event.activeStepId, 'activeStepId'],
209
+ [event.actor, 'actor'],
210
+ [event.reason, 'reason'],
211
+ [event.packageVersion, 'packageVersion'],
212
+ ]) {
213
+ if (typeof value !== 'string' || !value.trim()) {
214
+ throw new WorkflowError('STATE_CORRUPT', `Downstream proof invalidation ${label} is required.`);
215
+ }
216
+ }
217
+ if (!Array.isArray(event.dirtyFiles) || event.dirtyFiles.length === 0
218
+ || event.dirtyFiles.some((file) => typeof file !== 'string' || !file.trim())
219
+ || new Set(event.dirtyFiles).size !== event.dirtyFiles.length
220
+ || JSON.stringify(event.dirtyFiles) !== JSON.stringify([...event.dirtyFiles].sort())) {
221
+ throw new WorkflowError('STATE_CORRUPT', 'Downstream proof invalidation dirtyFiles are invalid.');
222
+ }
223
+ if (!Array.isArray(event.invalidatedSteps) || event.invalidatedSteps.length === 0) {
224
+ throw new WorkflowError('STATE_CORRUPT', 'Downstream proof invalidation must identify invalidated Steps.');
225
+ }
226
+ const stepIds = new Set();
227
+ for (const step of event.invalidatedSteps) {
228
+ if (!step || typeof step !== 'object' || Array.isArray(step)
229
+ || JSON.stringify(Object.keys(step).sort()) !== JSON.stringify(['evidenceCommit', 'stepId', 'triggerFiles'])) {
230
+ throw new WorkflowError('STATE_CORRUPT', 'Downstream proof invalidated Step contains unexpected fields.');
231
+ }
232
+ if (typeof step.stepId !== 'string' || !step.stepId.trim() || stepIds.has(step.stepId)
233
+ || typeof step.evidenceCommit !== 'string' || !GIT_HASH.test(step.evidenceCommit)
234
+ || !(task.invalidatedStepCommits ?? []).includes(step.evidenceCommit)
235
+ || !Array.isArray(step.triggerFiles)
236
+ || new Set(step.triggerFiles).size !== step.triggerFiles.length
237
+ || step.triggerFiles.some((file) => typeof file !== 'string' || !event.dirtyFiles.includes(file))) {
238
+ throw new WorkflowError('STATE_CORRUPT', 'Downstream proof invalidated Step evidence is invalid.');
239
+ }
240
+ stepIds.add(step.stepId);
241
+ }
242
+ }
243
+ function normalizeRequired(value, label) {
244
+ if (typeof value !== 'string' || !value.trim()) {
245
+ throw new WorkflowError('INVALID_ARGUMENT', `${label} is required.`);
246
+ }
247
+ return value.trim();
248
+ }
249
+ //# sourceMappingURL=downstream-proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downstream-proof.js","sourceRoot":"","sources":["../../../src/alpha6/downstream-proof.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,OAAO,GAAG,sCAAsC,CAAC;AACvD,MAAM,OAAO,GAAG,gBAAgB,CAAC;AACjC,MAAM,QAAQ,GAAG,gBAAgB,CAAC;AAClC,MAAM,QAAQ,GAAG,8BAA8B,CAAC;AAwBhD,MAAM,UAAU,6BAA6B,CAC3C,KAAqB,EACrB,cAAsB,EACtB,IAAe;IAEf,gCAAgC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,IAAI,IAAI,CAAC;IACpF,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,UAAU;QAAE,OAAO,eAAe,EAAE,CAAC;IAE3E,MAAM,UAAU,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,sBAAsB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IACzG,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO;YACL,GAAG,eAAe,EAAE;YACpB,YAAY,EAAE,UAAU,CAAC,EAAE;YAC3B,UAAU;SACX,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;IACrH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,sDAAsD,IAAI,CAAC,UAAU,IAAI,WAAW,GAAG,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACpE,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,EAAE,uEAAuE,CAAC,CAAC;IACrH,CAAC;IAED,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACxC,IAAI,CAAC,MAAM,KAAK,WAAW;eACxB,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;eAC3B,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CACzC,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,eAAe,UAAU,CAAC,EAAE,0DAA0D,CAAC,CAAC;YAC7G,SAAS;QACX,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,cAAc,GAAG,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAChF,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK;SAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC7C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAC;QAChF,CAAC;QACD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;YAC9C,YAAY,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SAC7F,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAEtH,IAAI,CAAC;QACH,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC/B,YAAY,EAAE,UAAU,CAAC,EAAE;QAC3B,UAAU;QACV,sBAAsB;QACtB,gBAAgB;QAChB,mBAAmB,EAAE,UAAU,CAAC,cAAc,CAAC;QAC/C,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,KAAqB,EACrB,UAAqB,EACrB,UAA6C,EAC7C,KAIC,EACD,GAAS;IAET,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAClH,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,uDAAuD,EAAE;YACrG,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU,CAAC,QAAQ;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,kCAAkC,CAAC,CAAC;IACvG,IAAI,UAAU,CAAC,QAAQ,KAAK,KAAK,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,aAAa,CAAC,gBAAgB,EAAE,wDAAwD,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,MAAM,GAAG,gCAAgC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,oBAAoB,CAAmC,MAAM,EAAE;QAC9E,OAAO,EAAE,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE;QAC3C,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;QAC7B,MAAM,EAAE,UAAU,CAAC,EAAE;QACrB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,kBAAkB,EAAE,UAAU,CAAC,QAAQ;QACvC,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;SACrC,CAAC,CAAC;QACH,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC;QACtC,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,KAAK;QACL,MAAM;QACN,cAAc,EAAE,eAAe;KAChC,EAAE;QACD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC;KACvE,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAAqB,EACrB,IAAe;IAEf,OAAO,KAAK,CAAC,iBAAiB,CAC5B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,EACvC,OAAO,EACP,EAAE,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CACrE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC;IAChD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,eAAe;IACtB,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,EAAE;QACd,sBAAsB,EAAE,EAAE;QAC1B,gBAAgB,EAAE,EAAE;QACpB,mBAAmB,EAAE,IAAI;QACzB,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAe,EAAE,MAAc,EAAE,QAAkB;IACjF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,KAAK,GAAG,CAAC,WAAmB,EAAQ,EAAE;QAC1C,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,OAAO;QACpC,IAAI,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,iCAAiC,WAAW,GAAG,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,2CAA2C,WAAW,GAAG,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1B,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YAChD,KAAK,CAAC,UAAU,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,KAAK,CAAC,MAAM,CAAC,CAAC;IACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAChC,IAAe,EACf,OAA4B,EAC5B,cAAmC;IAEnC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,EAAE,CAAC;QACf,OAAO,GAAG,KAAK,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS;YACjG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACnE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAuC,EAAE,IAAe;IACzF,MAAM,YAAY,GAAG;QACnB,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB;QACnG,UAAU,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,QAAQ,EAAE,YAAY;QACtG,oBAAoB,EAAE,QAAQ;KAC/B,CAAC;IACF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;WAC1D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,iEAAiE,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,mDAAmD,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,uDAAuD,CAAC,CAAC;IAChI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC;WAC9E,KAAK,CAAC,kBAAkB,KAAK,KAAK,CAAC,oBAAoB,GAAG,CAAC;WAC3D,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,4DAA4D,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,oDAAoD,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,+DAA+D,CAAC,CAAC;IAC5G,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI;QAC3B,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC;QACpC,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;QACtB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;QACxB,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC;KAChC,EAAE,CAAC;QACX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,iCAAiC,KAAK,eAAe,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;WAChE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;WACzE,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU,CAAC,MAAM;WAC1D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,uDAAuD,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,gEAAgE,CAAC,CAAC;IAC7G,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;eACvD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YAC/G,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,+DAA+D,CAAC,CAAC;QAC5G,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;eACjF,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;eAC9E,CAAC,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;eAClE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;eACjC,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM;eAC5D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACpG,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,wDAAwD,CAAC,CAAC;QACrG,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,KAAa;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,GAAG,KAAK,eAAe,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC"}
package/dist/src/cli.js CHANGED
@@ -43,6 +43,7 @@ const CLI_ACTIONS = {
43
43
  'corrective-decision-recover',
44
44
  'remediation-mode-recover',
45
45
  'plan-integrity-recover',
46
+ 'downstream-proof-recover',
46
47
  'stop-override-prepare',
47
48
  'stop-override-apply',
48
49
  'corrective-decision',
@@ -128,6 +129,10 @@ const CLI_HELP_SPECS = {
128
129
  requiredOptions: ['--id', '--step', '--expected-revision', '--actor'],
129
130
  optionalOptions: ['--writer-token', '--repo', '--json'],
130
131
  },
132
+ 'task downstream-proof-recover': {
133
+ requiredOptions: ['--id', '--expected-revision', '--actor', '--writer-token', '--reason'],
134
+ optionalOptions: ['--repo', '--json'],
135
+ },
131
136
  'task stop-override-prepare': {
132
137
  requiredOptions: ['--id', '--step', '--expected-revision', '--actor', '--reason'],
133
138
  optionalOptions: ['--repo', '--json'],
@@ -382,6 +387,7 @@ function workflowCapabilities() {
382
387
  'retained-reviewed-history-recovery-v1',
383
388
  'milestone-progress-projection-v1',
384
389
  'bounded-plan-integrity-recovery-v1',
390
+ 'downstream-proof-predecessor-recovery-v1',
385
391
  'task-mechanical-feasibility-v1',
386
392
  'strict-reviewer-v1',
387
393
  'legacy-snapshot-v1',
@@ -709,6 +715,9 @@ async function dispatch(args) {
709
715
  if (noun === 'task' && action === 'plan-integrity-recover') {
710
716
  return workflow.recoverPlanIntegrity(repo, required(args, 'id'), required(args, 'step'), revision(args), required(args, 'actor'), option(args, 'writer-token') ?? null);
711
717
  }
718
+ if (noun === 'task' && action === 'downstream-proof-recover') {
719
+ return workflow.recoverDownstreamProof(repo, required(args, 'id'), revision(args), required(args, 'actor'), required(args, 'writer-token'), required(args, 'reason'));
720
+ }
712
721
  if (noun === 'task' && action === 'stop-override-prepare') {
713
722
  return workflow.prepareTaskStopOverride(repo, required(args, 'id'), required(args, 'step'), revision(args), required(args, 'actor'), required(args, 'reason'));
714
723
  }
@@ -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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"}
@@ -328,6 +328,23 @@ export interface SidecarEventRecord {
328
328
  recordedAt: string;
329
329
  eventHash: string;
330
330
  }
331
+ export interface DownstreamProofInvalidationEvent extends SidecarEventRecord {
332
+ taskId: string;
333
+ previousTaskRevision: number;
334
+ resultTaskRevision: number;
335
+ planHash: string;
336
+ activeStepId: string;
337
+ invalidatedSteps: Array<{
338
+ stepId: string;
339
+ evidenceCommit: string;
340
+ triggerFiles: string[];
341
+ }>;
342
+ dirtyFiles: string[];
343
+ preservedHeadCommit: string;
344
+ actor: string;
345
+ reason: string;
346
+ packageVersion: string;
347
+ }
331
348
  export interface PlanRiskAuditStepClassification {
332
349
  stepId: string;
333
350
  categories: GuardedRiskCategory[];
@@ -913,6 +930,8 @@ export interface TaskState extends RevisionedRecord {
913
930
  blockReason: string | null;
914
931
  mergedCommit: string | null;
915
932
  systemCommits: string[];
933
+ /** Product commits retained after bounded invalidation of stale completed-Step authority. */
934
+ invalidatedStepCommits?: string[];
916
935
  /** Audit trail for bounded adoption of exact Workflow dependency-only commits. */
917
936
  dependencyProvenanceRecoveries?: DependencyProvenanceRecoveryRecord[];
918
937
  /** Set only by the beta replacement transaction; absent on legacy states. */
package/dist/src/git.js CHANGED
@@ -104,6 +104,7 @@ export function validateTaskHistory(repositoryRoot, task) {
104
104
  const expected = [...new Set([
105
105
  ...task.steps.flatMap((step) => (step.evidence ? [step.evidence.commitSha] : [])),
106
106
  ...task.systemCommits,
107
+ ...(task.invalidatedStepCommits ?? []),
107
108
  ...(task.dependencyProvenanceRecoveries ?? []).flatMap((recovery) => recovery.retainedHistoricalCommits ?? []),
108
109
  ])];
109
110
  const missing = expected.filter((commit) => !actual.includes(commit));