codex-workflow-v2 2.0.0-alpha.6 → 2.0.0-alpha.7

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 (42) hide show
  1. package/README.md +43 -15
  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 +1 -0
  11. package/dist/src/alpha6/remediation.js +6 -0
  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 +24 -3
  17. package/dist/src/cli.js.map +1 -1
  18. package/dist/src/contracts.d.ts +9 -0
  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/version.d.ts +1 -1
  23. package/dist/src/version.js +1 -1
  24. package/dist/src/workflow.d.ts +35 -0
  25. package/dist/src/workflow.js +342 -23
  26. package/dist/src/workflow.js.map +1 -1
  27. package/docs/autonomy-guardrails.md +32 -11
  28. package/docs/decisions.md +16 -0
  29. package/docs/delegated-approval.md +12 -5
  30. package/docs/development-flow.md +12 -7
  31. package/docs/release.md +4 -2
  32. package/docs/updating-existing-project.md +10 -0
  33. package/docs/validation-report.md +51 -46
  34. package/package.json +1 -1
  35. package/plugins/codex-workflow-gateway/references/protocol.md +42 -10
  36. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +19 -0
  37. package/references/state-machine.md +17 -10
  38. package/roles/delivery-coordinator.md +10 -1
  39. package/roles/technical-planner.md +3 -0
  40. package/schemas/milestone-autonomy-event.schema.json +45 -0
  41. package/schemas/milestone-scope-change-event.schema.json +3 -1
  42. package/schemas/plan-risk-audit-event.schema.json +21 -4
package/README.md CHANGED
@@ -19,8 +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;
24
+ - narrow, read-only alpha.6 strict-review rescue preflight for the lifecycle deadlock fixed in alpha.7;
23
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;
24
28
  - Milestones aggregate already merged Tasks on the base branch, without an integration branch;
25
29
  - V1 transition is snapshot-only and never performs semantic import.
26
30
 
@@ -32,7 +36,7 @@ cross-machine synchronization are not part of its contract.
32
36
  Node.js 22 or newer is required. Consumers pin the exact package version:
33
37
 
34
38
  ```bash
35
- npm install --save-dev --save-exact codex-workflow-v2@2.0.0-alpha.6
39
+ npm install --save-dev --save-exact codex-workflow-v2@2.0.0-alpha.7
36
40
  npx codex-workflow gateway handshake --repo .
37
41
  npx codex-workflow doctor --repo .
38
42
  ```
@@ -48,11 +52,11 @@ npm run plugin:check
48
52
  npm run release:check
49
53
  ```
50
54
 
51
- ## Alpha.6 Task flow
55
+ ## Alpha.7 Task flow
52
56
 
53
57
  The CLI emits JSON. Every update after creation requires the current state revision.
54
58
 
55
- 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
56
60
  existing schema 2 project, apply adoption before execution:
57
61
 
58
62
  ```bash
@@ -61,7 +65,7 @@ codex-workflow state adoption-prepare --repo .
61
65
  codex-workflow state adoption-apply --repo . --actor user:owner --confirmation-code ADA-...
62
66
  ```
63
67
 
64
- Do not use `state migrate` for alpha.6 adoption.
68
+ Do not use `state migrate` for schema-2 adoption.
65
69
 
66
70
  ```bash
67
71
  codex-workflow project-memory scan --repo .
@@ -88,11 +92,14 @@ codex-workflow task step-complete --repo . --id TASK-... --step STEP-001 \
88
92
  either records completion immediately or leaves the Step non-terminal for `task step-review`
89
93
  when the current Plan Risk Audit marks it for strict review.
90
94
 
91
- 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,
92
96
  including a positive `approved` decision for a Plan with no guarded Steps. The audit sidecar
93
97
  must identify a Plan author and an independent auditor, classify every current Step exactly
94
98
  once, describe guarded failure modes, and bind required evidence to exact executable Step
95
- 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.
96
103
 
97
104
  `task review-launch` starts the strict read-only reviewer after submission. If a completed Step changes approved project
98
105
  knowledge, reconcile and approve the map, then run `task knowledge-rebind --repo . --id
@@ -110,16 +117,16 @@ codex-workflow task context-refresh --repo . --id TASK-... \
110
117
 
111
118
  New/removed sources, category/authority changes, gaps, or conflicts are never auto-approved.
112
119
 
113
- ## Alpha.6 sidecars
120
+ ## Alpha.7 sidecars
114
121
 
115
- 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
116
123
  sidecars:
117
124
 
118
125
  - project: `adoption-posture.jsonl`
119
126
  - task: `plan-risk-audits.jsonl`, `step-review-events.jsonl`,
120
127
  `reviewer-attestations.jsonl`, `remediation-events.jsonl`,
121
128
  `corrective-decisions.jsonl`, `handoffs.jsonl`
122
- - milestone: `scope-change-events.jsonl`
129
+ - milestone: `scope-change-events.jsonl`, `autonomy-contract-events.jsonl`
123
130
 
124
131
  Milestone scope-change recovery also uses Milestone-local `.transactions/` journal files.
125
132
  Broken JSONL, duplicate event ids, broken hash chains, stale revision/hash/commit bindings,
@@ -142,17 +149,38 @@ codex-workflow task authorize --repo . --id TASK-... --expected-revision 2 \
142
149
 
143
150
  Policies may allow only `project_memory.approve`, `task.execution_authorize`, `task.final_accept`,
144
151
  `milestone.execution_authorize`, and/or `milestone.final_accept`. Scope is one project,
145
- Milestone, or Task; Project Knowledge Map approval requires project scope. Alpha.6 does not
146
- extend this allow-list to adoption apply, Milestone scope change, or other new human-only
147
- actions. Revocation is immediate for future uses. The original human path remains available
148
- 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.
149
176
 
150
177
  ## C1 handoff and legacy adoption
151
178
 
152
179
  `C1` coordination uses `task handoff-prepare` (with `task handoff` retained as an alias),
153
180
  `task claim --claim-token ...`, and `task handback-create` (with `task handback` retained as
154
181
  an alias). `task handoff-show` returns the persisted safe bindings but never the plaintext
155
- 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
156
184
  revision, Brief/Plan/Knowledge hashes, Milestone display positions, delegate/grant, expiry,
157
185
  and exact expected next action. Only the token hash is persisted. Milestone-linked Tasks must
158
186
  be claimed before start; terminal handback records result, evidence, review, knowledge,
@@ -166,7 +194,7 @@ For legacy schema 2 projects:
166
194
  - completed and skipped Steps in active Tasks keep their recorded status and evidence;
167
195
  - remaining non-completed, non-skipped legacy Steps need a bootstrap Plan Risk Audit at a
168
196
  safe boundary;
169
- - 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.
170
198
 
171
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),
172
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 = {}) {