codex-workflow-v2 2.0.0-alpha.6.2 → 2.0.0-alpha.7.1

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 (48) hide show
  1. package/README.md +43 -71
  2. package/dist/src/alpha6/handoff.d.ts +1 -0
  3. package/dist/src/alpha6/handoff.js +6 -0
  4. package/dist/src/alpha6/handoff.js.map +1 -1
  5. package/dist/src/alpha6/milestone.d.ts +3 -0
  6. package/dist/src/alpha6/milestone.js +57 -3
  7. package/dist/src/alpha6/milestone.js.map +1 -1
  8. package/dist/src/alpha6/plan-risk.js +61 -0
  9. package/dist/src/alpha6/plan-risk.js.map +1 -1
  10. package/dist/src/alpha6/remediation.d.ts +4 -20
  11. package/dist/src/alpha6/remediation.js +73 -150
  12. package/dist/src/alpha6/remediation.js.map +1 -1
  13. package/dist/src/alpha7/autonomy.d.ts +61 -0
  14. package/dist/src/alpha7/autonomy.js +256 -0
  15. package/dist/src/alpha7/autonomy.js.map +1 -0
  16. package/dist/src/cli.js +23 -16
  17. package/dist/src/cli.js.map +1 -1
  18. package/dist/src/contracts.d.ts +11 -6
  19. package/dist/src/index.d.ts +3 -0
  20. package/dist/src/index.js +3 -0
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/state/lock.d.ts +1 -3
  23. package/dist/src/state/lock.js +2 -5
  24. package/dist/src/state/lock.js.map +1 -1
  25. package/dist/src/version.d.ts +1 -1
  26. package/dist/src/version.js +1 -1
  27. package/dist/src/workflow.d.ts +21 -65
  28. package/dist/src/workflow.js +548 -657
  29. package/dist/src/workflow.js.map +1 -1
  30. package/docs/alpha7.1-implementation-brief.md +268 -0
  31. package/docs/autonomy-guardrails.md +56 -20
  32. package/docs/decisions.md +16 -4
  33. package/docs/delegated-approval.md +12 -5
  34. package/docs/development-flow.md +12 -7
  35. package/docs/release.md +4 -6
  36. package/docs/updating-existing-project.md +9 -39
  37. package/docs/validation-report.md +50 -63
  38. package/package.json +2 -2
  39. package/plugins/codex-workflow-gateway/references/protocol.md +53 -17
  40. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +33 -9
  41. package/references/state-machine.md +31 -13
  42. package/roles/delivery-coordinator.md +10 -1
  43. package/roles/technical-planner.md +3 -0
  44. package/schemas/context-envelope.schema.json +0 -10
  45. package/schemas/milestone-autonomy-event.schema.json +45 -0
  46. package/schemas/milestone-scope-change-event.schema.json +3 -1
  47. package/schemas/plan-risk-audit-event.schema.json +21 -4
  48. package/schemas/corrective-plan-audit-record.schema.json +0 -47
package/README.md CHANGED
@@ -19,9 +19,12 @@ automation do not import anything from the parent V1 project.
19
19
  - one writer lease and one atomic Git commit per completed Step;
20
20
  - explicit execution authorization, independent review, and a state-bound human final-acceptance gate;
21
21
  - high-risk Plan guidance and a mandatory separate corrective audit after two failed reviews;
22
+ - executable proof obligations with hostile counterexamples for every guarded failure mode;
22
23
  - read-only update preflight for clean checkout, running-Step, and writer-lease blockers;
23
- - narrow alpha.6 C1 strict-review rescue without deleting or rotating the bound writer lease;
24
+ - narrow, read-only alpha.6 strict-review rescue preflight for the lifecycle deadlock fixed in alpha.7;
24
25
  - optional time-bound delegated approval with project/Milestone/Task scope and an explicit audit trail;
26
+ - one bounded Milestone Autonomy Contract for approvals, guarded content-only context refresh,
27
+ and membership-only Task-graph evolution;
25
28
  - Milestones aggregate already merged Tasks on the base branch, without an integration branch;
26
29
  - V1 transition is snapshot-only and never performs semantic import.
27
30
 
@@ -33,7 +36,7 @@ cross-machine synchronization are not part of its contract.
33
36
  Node.js 22 or newer is required. Consumers pin the exact package version:
34
37
 
35
38
  ```bash
36
- npm install --save-dev --save-exact codex-workflow-v2@2.0.0-alpha.6.2
39
+ npm install --save-dev --save-exact codex-workflow-v2@2.0.0-alpha.7.1
37
40
  npx codex-workflow gateway handshake --repo .
38
41
  npx codex-workflow doctor --repo .
39
42
  ```
@@ -49,11 +52,11 @@ npm run plugin:check
49
52
  npm run release:check
50
53
  ```
51
54
 
52
- ## Alpha.6 Task flow
55
+ ## Alpha.7 Task flow
53
56
 
54
57
  The CLI emits JSON. Every update after creation requires the current state revision.
55
58
 
56
- For a fresh alpha.6 project, registration writes the adoption posture automatically. For an
59
+ For a fresh alpha.7 project, registration writes the adoption posture automatically. For an
57
60
  existing schema 2 project, apply adoption before execution:
58
61
 
59
62
  ```bash
@@ -62,62 +65,7 @@ codex-workflow state adoption-prepare --repo .
62
65
  codex-workflow state adoption-apply --repo . --actor user:owner --confirmation-code ADA-...
63
66
  ```
64
67
 
65
- Do not use `state migrate` for alpha.6 adoption.
66
-
67
- ### Alpha.6 claimed-C1 strict-review rescue
68
-
69
- `2.0.0-alpha.6.1` is a narrow external rescue runner for an exact deadlock: the project still
70
- declares `2.0.0-alpha.6`, one guarded Step has a pending review at the clean completion HEAD,
71
- the Project Knowledge Map advanced after that commit, and the Task retains its claimed C1
72
- lease and original bound writer token. It does not update the project dependency or migrate
73
- state.
74
-
75
- Run the read-only preflight from the exact `2.0.0-alpha.6.1` package. Continue only when it
76
- returns `eligible=true` and one `update rescue-review` action. The rescue command requires the
77
- exact Task, Step, revision, claimant actor, and original writer token returned by the C1 lease.
78
- It preserves and heartbeats that lease; never run `locks repair` first.
79
-
80
- ```bash
81
- npx --yes --package codex-workflow-v2@2.0.0-alpha.6.1 -- \
82
- codex-workflow update rescue-preflight --repo .
83
- npx --yes --package codex-workflow-v2@2.0.0-alpha.6.1 -- \
84
- codex-workflow update rescue-review --repo . --id TASK-... --step STEP-... \
85
- --expected-revision ... --actor agent:task-worker --writer-token <BOUND-TOKEN>
86
- ```
87
-
88
- The preflight and CLI output never expose the plaintext token. A missing lease, wrong actor or
89
- token, dirty checkout, advanced HEAD, unrelated writer lease, or ambiguous
90
- pending review fails closed without repairing state. After a successful review, follow `next`
91
- through ordinary Knowledge reconcile/rebind and reach a safe update boundary before changing
92
- the installed package.
93
-
94
- ### Alpha.6 signal_v4 corrective rescue
95
-
96
- `2.0.0-alpha.6.2` is a separate narrow runner for the exact post-review breaker state at
97
- Task revision 14: `STEP-001` failed twice under verified strict review, the Task is `ready`, C1
98
- is still claimed, and its writer lease remains bound to the original claimant and token. The
99
- project dependency must remain exactly `2.0.0-alpha.6` and the checkout must be clean at HEAD
100
- `5c63798cc7b8fbb5e1c8b26ebf93876bc642295a`.
101
-
102
- First run the mutation-free preflight. Apply requires the original token plus three JSON files:
103
- the complete replacement Plan, an independent `continue-fix` decision audit, and a second,
104
- independent corrective Plan audit. An active or stale bound lease is accepted; the token is
105
- never returned and the lease is not removed.
106
-
107
- ```bash
108
- npx --yes --package codex-workflow-v2@2.0.0-alpha.6.2 -- \
109
- codex-workflow update corrective-rescue-preflight --repo .
110
- npx --yes --package codex-workflow-v2@2.0.0-alpha.6.2 -- \
111
- codex-workflow update corrective-rescue-apply --repo . --id TASK-... \
112
- --expected-revision 14 --actor <CLAIMANT> --writer-token <BOUND-TOKEN> \
113
- --plan-file corrective-plan.json --decision-file corrective-decision.json \
114
- --corrective-audit-file corrective-plan-audit.json
115
- ```
116
-
117
- The rescue rejects ambiguous candidates, unrelated leases, changed Brief/scope, malformed or
118
- missing review evidence, a dirty checkout, an advanced HEAD, and any actor/token mismatch. It
119
- uses the canonical corrective-decision and Plan transitions; do not edit state or repair/delete
120
- the lease manually.
68
+ Do not use `state migrate` for schema-2 adoption.
121
69
 
122
70
  ```bash
123
71
  codex-workflow project-memory scan --repo .
@@ -144,11 +92,14 @@ codex-workflow task step-complete --repo . --id TASK-... --step STEP-001 \
144
92
  either records completion immediately or leaves the Step non-terminal for `task step-review`
145
93
  when the current Plan Risk Audit marks it for strict review.
146
94
 
147
- The Plan Risk Audit is mandatory for every new alpha.6 Task before execution authorization,
95
+ The Plan Risk Audit is mandatory for every new alpha.7 Task before execution authorization,
148
96
  including a positive `approved` decision for a Plan with no guarded Steps. The audit sidecar
149
97
  must identify a Plan author and an independent auditor, classify every current Step exactly
150
98
  once, describe guarded failure modes, and bind required evidence to exact executable Step
151
- checks. `split-required` and `stop-escalate` block authorization.
99
+ checks. Every guarded failure mode additionally needs one `proofObligations` entry containing
100
+ the hostile `counterexample`, expected safe result, and an exact executable evidence command.
101
+ `split-required` and `stop-escalate` block authorization. Historical alpha.6 audit sidecars
102
+ remain readable for strict-review recovery, but newly recorded audits must use proof obligations.
152
103
 
153
104
  `task review-launch` starts the strict read-only reviewer after submission. If a completed Step changes approved project
154
105
  knowledge, reconcile and approve the map, then run `task knowledge-rebind --repo . --id
@@ -166,16 +117,16 @@ codex-workflow task context-refresh --repo . --id TASK-... \
166
117
 
167
118
  New/removed sources, category/authority changes, gaps, or conflicts are never auto-approved.
168
119
 
169
- ## Alpha.6 sidecars
120
+ ## Alpha.7 sidecars
170
121
 
171
- Alpha.6 keeps canonical entity JSON unchanged and stores guardrail evidence in append-only
122
+ Alpha.7 keeps canonical entity JSON unchanged and stores guardrail evidence in append-only
172
123
  sidecars:
173
124
 
174
125
  - project: `adoption-posture.jsonl`
175
126
  - task: `plan-risk-audits.jsonl`, `step-review-events.jsonl`,
176
127
  `reviewer-attestations.jsonl`, `remediation-events.jsonl`,
177
128
  `corrective-decisions.jsonl`, `handoffs.jsonl`
178
- - milestone: `scope-change-events.jsonl`
129
+ - milestone: `scope-change-events.jsonl`, `autonomy-contract-events.jsonl`
179
130
 
180
131
  Milestone scope-change recovery also uses Milestone-local `.transactions/` journal files.
181
132
  Broken JSONL, duplicate event ids, broken hash chains, stale revision/hash/commit bindings,
@@ -198,17 +149,38 @@ codex-workflow task authorize --repo . --id TASK-... --expected-revision 2 \
198
149
 
199
150
  Policies may allow only `project_memory.approve`, `task.execution_authorize`, `task.final_accept`,
200
151
  `milestone.execution_authorize`, and/or `milestone.final_accept`. Scope is one project,
201
- Milestone, or Task; Project Knowledge Map approval requires project scope. Alpha.6 does not
202
- extend this allow-list to adoption apply, Milestone scope change, or other new human-only
203
- actions. Revocation is immediate for future uses. The original human path remains available
204
- and unchanged.
152
+ Milestone, or Task; ordinary Project Knowledge Map approval requires project scope. Alpha.7 does
153
+ not extend this allow-list. A separate Milestone Autonomy Contract may authorize membership-only
154
+ evolution and the `project_memory.approve` half of an atomic, content-only Task context refresh
155
+ for the same Milestone. It cannot approve Project Memory as a standalone operation. Outcome,
156
+ success signal, acceptance, checks, discovery, and base branch remain cryptographically fixed.
157
+ Adoption apply and semantic scope changes stay human-only. Revocation is immediate for future
158
+ uses. The original human path remains available and unchanged.
159
+
160
+ ## Milestone autonomy and alpha.6 rescue
161
+
162
+ Materialize all linked Task discoveries while the new Milestone remains in its initial planning
163
+ posture, then call `milestone plan-set` once with the complete classified membership. Execution
164
+ is unavailable until that full Plan exists. To approve a bounded autonomous run for up to 72
165
+ hours, use `milestone autonomy-prepare` and, after confirming its `MAC-*` binding,
166
+ `milestone autonomy-grant`. The resulting milestone-scoped grant covers Task/Milestone execution
167
+ and final-acceptance approvals plus Project Memory approval only inside an atomic content-only
168
+ Task context refresh for the same Milestone. `milestone autonomy-evolve` may change only
169
+ memberships and always supersedes the current execution authorization; semantic changes require
170
+ the ordinary human scope-change path.
171
+
172
+ `update rescue-preflight` is a read-only compatibility route for one exact deadlock shape:
173
+ the project is pinned to `2.0.0-alpha.6`, exactly one strict review is pending, the checkout and
174
+ completion HEAD are exact, and no active lease exists. It returns only stale-lock repair and
175
+ strict-review actions. It neither installs alpha.7 nor rewrites state.
205
176
 
206
177
  ## C1 handoff and legacy adoption
207
178
 
208
179
  `C1` coordination uses `task handoff-prepare` (with `task handoff` retained as an alias),
209
180
  `task claim --claim-token ...`, and `task handback-create` (with `task handback` retained as
210
181
  an alias). `task handoff-show` returns the persisted safe bindings but never the plaintext
211
- claim token. Preparation returns a one-time claim token and a prompt bound to `handoffId`, Task
182
+ claim token. If `--target-actor` is omitted, alpha.7 deterministically derives a distinct
183
+ `agent:worker:<task-id>` actor. Preparation returns a one-time claim token and a prompt bound to `handoffId`, Task
212
184
  revision, Brief/Plan/Knowledge hashes, Milestone display positions, delegate/grant, expiry,
213
185
  and exact expected next action. Only the token hash is persisted. Milestone-linked Tasks must
214
186
  be claimed before start; terminal handback records result, evidence, review, knowledge,
@@ -222,7 +194,7 @@ For legacy schema 2 projects:
222
194
  - completed and skipped Steps in active Tasks keep their recorded status and evidence;
223
195
  - remaining non-completed, non-skipped legacy Steps need a bootstrap Plan Risk Audit at a
224
196
  safe boundary;
225
- - newly created Milestones, Tasks, and Steps use the full alpha.6 contract.
197
+ - newly created Milestones, Tasks, and Steps use the full alpha.7 contract.
226
198
 
227
199
  See [development flow](docs/development-flow.md), [autonomy guardrails](docs/autonomy-guardrails.md), [delegated approval](docs/delegated-approval.md), [updating an existing project](docs/updating-existing-project.md), [project memory](docs/project-memory.md),
228
200
  [accepted decisions](docs/decisions.md), [validation report](docs/validation-report.md), and
@@ -28,6 +28,7 @@ export interface PrepareTaskHandoffInput {
28
28
  grantId: string | null;
29
29
  expiresAt: string;
30
30
  }
31
+ export declare function defaultTaskWorkerActor(taskId: string): string;
31
32
  export declare function readTaskHandoffEvents(store: FileStateStore, task: TaskState): TaskHandoffEvent[];
32
33
  export declare function readTaskC1Posture(store: FileStateStore, task: TaskState): TaskC1Posture;
33
34
  export declare function appendTaskHandoff(store: FileStateStore, task: TaskState, input: PrepareTaskHandoffInput, now: Date): {
@@ -20,6 +20,12 @@ const NON_TERMINAL_TASK_STATUSES = new Set([
20
20
  ]);
21
21
  const HANDOFF_EVENT_TYPES = new Set(['handoff', 'claim', 'handback']);
22
22
  const COORDINATION_LEVEL = 'C1';
23
+ export function defaultTaskWorkerActor(taskId) {
24
+ if (!/^TASK-[0-9A-HJKMNP-TV-Z]{26}$/.test(taskId)) {
25
+ throw new WorkflowError('INVALID_ARGUMENT', `Cannot derive a C1 Worker actor from invalid Task ID ${taskId}.`);
26
+ }
27
+ return `agent:worker:${taskId.toLowerCase()}`;
28
+ }
23
29
  export function readTaskHandoffEvents(store, task) {
24
30
  const sidecarPath = path.join(resolveAlpha6TaskRoot(store, task), HANDOFF_SIDECAR);
25
31
  assertNoSymlinkPathComponents(sidecarPath, { label: 'Task handoff sidecar path', requireLeaf: true });
@@ -1 +1 @@
1
- {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/alpha6/handoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/alpha6/handoff.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ export interface PreparedMilestoneScopeChange {
25
25
  after: MilestoneScopeSnapshot;
26
26
  confirmationCodeBindingHash: string;
27
27
  confirmationCode: string;
28
+ authorizationMode: 'human' | 'milestone-autonomy';
29
+ autonomyContractEventHash: string | null;
28
30
  }
29
31
  export declare function normalizeMilestonePlan(plan: MilestonePlanInput): NormalizedMilestonePlan;
30
32
  export declare function readMilestoneWithIntegrity(store: FileStateStore, projectId: string, milestoneId: string, readTask: ReadTask, listTasks?: ListTasks): MilestoneState;
@@ -37,6 +39,7 @@ export declare function prepareMilestoneScopeChangeCandidate(options: {
37
39
  plan: MilestonePlanInput;
38
40
  readTask: ReadTask;
39
41
  actor: string;
42
+ autonomyContractEventHash?: string;
40
43
  }): PreparedMilestoneScopeChange;
41
44
  export declare function applyMilestoneScopeChangeTransaction(options: {
42
45
  store: FileStateStore;
@@ -129,11 +129,16 @@ export function prepareMilestoneScopeChangeCandidate(options) {
129
129
  if (!trimmedActor) {
130
130
  throw new WorkflowError('INVALID_ARGUMENT', 'Milestone scope change requires an explicit actor.');
131
131
  }
132
- if (trimmedActor.startsWith('agent:')) {
132
+ if (trimmedActor.startsWith('agent:') && !options.autonomyContractEventHash) {
133
133
  throw new WorkflowError('TRANSITION_BLOCKED', 'Milestone scope change is human-only and rejects delegated agent actors.', {
134
134
  actor: trimmedActor,
135
135
  });
136
136
  }
137
+ if (options.autonomyContractEventHash) {
138
+ assertHash64(options.autonomyContractEventHash, 'Milestone autonomy contract event hash');
139
+ }
140
+ const authorizationMode = options.autonomyContractEventHash ? 'milestone-autonomy' : 'human';
141
+ const autonomyContractEventHash = options.autonomyContractEventHash ?? null;
137
142
  const normalizedPlan = normalizeMilestonePlan(plan);
138
143
  const before = milestoneScopeSnapshotFromState(milestone);
139
144
  const after = milestoneScopeSnapshotFromPlan(normalizedPlan);
@@ -188,6 +193,8 @@ export function prepareMilestoneScopeChangeCandidate(options) {
188
193
  candidateMembershipRevision,
189
194
  actor: trimmedActor,
190
195
  after,
196
+ authorizationMode,
197
+ autonomyContractEventHash,
191
198
  });
192
199
  return {
193
200
  milestoneId: milestone.id,
@@ -200,6 +207,8 @@ export function prepareMilestoneScopeChangeCandidate(options) {
200
207
  after,
201
208
  confirmationCodeBindingHash,
202
209
  confirmationCode: milestoneScopeChangeConfirmationCode(confirmationCodeBindingHash),
210
+ authorizationMode,
211
+ autonomyContractEventHash,
203
212
  };
204
213
  }
205
214
  export function applyMilestoneScopeChangeTransaction(options) {
@@ -224,6 +233,8 @@ export function applyMilestoneScopeChangeTransaction(options) {
224
233
  candidatePlanHash: stagedPlan.hash,
225
234
  candidateMembershipRevision: prepared.candidateMembershipRevision,
226
235
  confirmationCodeBindingHash: prepared.confirmationCodeBindingHash,
236
+ authorizationMode: prepared.authorizationMode,
237
+ autonomyContractEventHash: prepared.autonomyContractEventHash,
227
238
  }), { validateEvent: (candidate) => validateMilestoneScopeChangeEvent(candidate, milestone.id) });
228
239
  if (preparedSidecar.event.actor !== prepared.actor) {
229
240
  throw new WorkflowError('STATE_CORRUPT', 'Prepared Milestone scope-change actor drifted before journal apply.', {
@@ -418,12 +429,23 @@ function validateMilestoneScopeChangeEvent(event, expectedMilestoneId) {
418
429
  if (!event.actor.trim()) {
419
430
  throw new WorkflowError('STATE_CORRUPT', 'Milestone scope-change actor is required.', { eventId: event.eventId });
420
431
  }
421
- if (event.actor.startsWith('agent:')) {
432
+ if (event.actor.startsWith('agent:') && event.authorizationMode !== 'milestone-autonomy') {
422
433
  throw new WorkflowError('STATE_CORRUPT', 'Milestone scope-change actor must be human-only.', {
423
434
  eventId: event.eventId,
424
435
  actor: event.actor,
425
436
  });
426
437
  }
438
+ if (event.authorizationMode === 'milestone-autonomy') {
439
+ if (!event.actor.startsWith('agent:') || !event.autonomyContractEventHash) {
440
+ throw new WorkflowError('STATE_CORRUPT', 'Autonomous Milestone scope change requires an agent actor and contract evidence.', {
441
+ eventId: event.eventId,
442
+ });
443
+ }
444
+ assertHash64(event.autonomyContractEventHash, 'Milestone scope-change autonomyContractEventHash');
445
+ }
446
+ else if (event.autonomyContractEventHash !== undefined && event.autonomyContractEventHash !== null) {
447
+ throw new WorkflowError('STATE_CORRUPT', 'Human Milestone scope change cannot carry autonomy contract evidence.');
448
+ }
427
449
  if (!event.confirmationCodeBindingHash.trim()) {
428
450
  throw new WorkflowError('STATE_CORRUPT', 'Milestone scope-change confirmationCodeBindingHash is required.', {
429
451
  eventId: event.eventId,
@@ -439,6 +461,10 @@ function validateMilestoneScopeChangeEvent(event, expectedMilestoneId) {
439
461
  candidateMembershipRevision: event.candidateMembershipRevision,
440
462
  actor: event.actor,
441
463
  after: event.after,
464
+ ...(event.authorizationMode === undefined ? {} : { authorizationMode: event.authorizationMode }),
465
+ ...(event.autonomyContractEventHash === undefined
466
+ ? {}
467
+ : { autonomyContractEventHash: event.autonomyContractEventHash }),
442
468
  });
443
469
  if (event.confirmationCodeBindingHash !== expectedBindingHash) {
444
470
  throw new WorkflowError('STATE_CORRUPT', 'Milestone scope-change confirmationCodeBindingHash is inconsistent.', {
@@ -720,7 +746,7 @@ function parseMilestoneScopeChangeEvents(content, milestoneId) {
720
746
  return events;
721
747
  }
722
748
  function createMilestoneScopeChangeEvent(options) {
723
- const { milestone, normalizedPlan, actor, now, previousEventHash, candidatePlanHash, candidateMembershipRevision, confirmationCodeBindingHash, } = options;
749
+ const { milestone, normalizedPlan, actor, now, previousEventHash, candidatePlanHash, candidateMembershipRevision, confirmationCodeBindingHash, authorizationMode, autonomyContractEventHash, } = options;
724
750
  return {
725
751
  eventId: createEntityId('MS', now.getTime()),
726
752
  previousEventHash,
@@ -735,6 +761,9 @@ function createMilestoneScopeChangeEvent(options) {
735
761
  after: milestoneScopeSnapshotFromPlan(normalizedPlan),
736
762
  actor: actor.trim(),
737
763
  confirmationCodeBindingHash,
764
+ ...(authorizationMode === 'milestone-autonomy'
765
+ ? { authorizationMode, autonomyContractEventHash }
766
+ : {}),
738
767
  };
739
768
  }
740
769
  function milestoneScopeSnapshotFromState(milestone) {
@@ -766,6 +795,8 @@ function parseMilestoneScopeChangeEventRecord(parsed, milestoneId, line) {
766
795
  'after',
767
796
  'actor',
768
797
  'confirmationCodeBindingHash',
798
+ 'authorizationMode',
799
+ 'autonomyContractEventHash',
769
800
  'eventHash',
770
801
  ]);
771
802
  const extraKeys = Object.keys(record).filter((key) => !allowedKeys.has(key));
@@ -788,6 +819,12 @@ function parseMilestoneScopeChangeEventRecord(parsed, milestoneId, line) {
788
819
  const after = parseMilestoneScopeSnapshot(record.after, milestoneId, line, 'after');
789
820
  const actor = requireNonEmptyString(record.actor, `Milestone ${milestoneId} scope-change actor`, { line });
790
821
  const confirmationCodeBindingHash = requireHash64(record.confirmationCodeBindingHash, `Milestone ${milestoneId} scope-change confirmationCodeBindingHash`, { line });
822
+ const authorizationMode = record.authorizationMode === undefined
823
+ ? undefined
824
+ : requireMilestoneScopeChangeAuthorizationMode(record.authorizationMode, milestoneId, line);
825
+ const autonomyContractEventHash = record.autonomyContractEventHash === undefined
826
+ ? undefined
827
+ : requireNullableHash64(record.autonomyContractEventHash, `Milestone ${milestoneId} scope-change autonomyContractEventHash`, { line });
791
828
  const eventHash = requireHash64(record.eventHash, `Milestone ${milestoneId} scope-change eventHash`, { line });
792
829
  return {
793
830
  eventId,
@@ -803,9 +840,20 @@ function parseMilestoneScopeChangeEventRecord(parsed, milestoneId, line) {
803
840
  after,
804
841
  actor,
805
842
  confirmationCodeBindingHash,
843
+ ...(authorizationMode === undefined ? {} : { authorizationMode }),
844
+ ...(autonomyContractEventHash === undefined ? {} : { autonomyContractEventHash }),
806
845
  eventHash,
807
846
  };
808
847
  }
848
+ function requireMilestoneScopeChangeAuthorizationMode(value, milestoneId, line) {
849
+ if (value !== 'human' && value !== 'milestone-autonomy') {
850
+ throw new WorkflowError('STATE_CORRUPT', `Milestone ${milestoneId} scope-change authorizationMode is invalid.`, {
851
+ line,
852
+ value,
853
+ });
854
+ }
855
+ return value;
856
+ }
809
857
  function parseMilestoneScopeSnapshot(value, milestoneId, line, label) {
810
858
  if (!value || typeof value !== 'object' || Array.isArray(value)) {
811
859
  throw new WorkflowError('STATE_CORRUPT', `Milestone ${milestoneId} scope-change ${label} snapshot must be an object.`, { line });
@@ -945,6 +993,12 @@ function computeMilestoneScopeChangeBindingHash(input) {
945
993
  candidateMembershipRevision: input.candidateMembershipRevision,
946
994
  actor: input.actor,
947
995
  after: input.after,
996
+ ...(input.authorizationMode === 'milestone-autonomy'
997
+ ? {
998
+ authorizationMode: input.authorizationMode,
999
+ autonomyContractEventHash: input.autonomyContractEventHash,
1000
+ }
1001
+ : {}),
948
1002
  }));
949
1003
  }
950
1004
  function assertSnapshotTaskIdsMatchMemberships(snapshot, milestoneId, details = {}) {