codex-workflow-v2 2.0.0-alpha.4 → 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 (82) hide show
  1. package/README.md +114 -10
  2. package/dist/src/alpha6/adoption.d.ts +55 -0
  3. package/dist/src/alpha6/adoption.js +920 -0
  4. package/dist/src/alpha6/adoption.js.map +1 -0
  5. package/dist/src/alpha6/handoff.d.ts +40 -0
  6. package/dist/src/alpha6/handoff.js +981 -0
  7. package/dist/src/alpha6/handoff.js.map +1 -0
  8. package/dist/src/alpha6/journal.d.ts +30 -0
  9. package/dist/src/alpha6/journal.js +369 -0
  10. package/dist/src/alpha6/journal.js.map +1 -0
  11. package/dist/src/alpha6/milestone.d.ts +52 -0
  12. package/dist/src/alpha6/milestone.js +1103 -0
  13. package/dist/src/alpha6/milestone.js.map +1 -0
  14. package/dist/src/alpha6/plan-risk.d.ts +32 -0
  15. package/dist/src/alpha6/plan-risk.js +908 -0
  16. package/dist/src/alpha6/plan-risk.js.map +1 -0
  17. package/dist/src/alpha6/remediation.d.ts +21 -0
  18. package/dist/src/alpha6/remediation.js +754 -0
  19. package/dist/src/alpha6/remediation.js.map +1 -0
  20. package/dist/src/alpha6/review.d.ts +46 -0
  21. package/dist/src/alpha6/review.js +785 -0
  22. package/dist/src/alpha6/review.js.map +1 -0
  23. package/dist/src/alpha6/store-sidecars.d.ts +35 -0
  24. package/dist/src/alpha6/store-sidecars.js +281 -0
  25. package/dist/src/alpha6/store-sidecars.js.map +1 -0
  26. package/dist/src/alpha7/autonomy.d.ts +61 -0
  27. package/dist/src/alpha7/autonomy.js +256 -0
  28. package/dist/src/alpha7/autonomy.js.map +1 -0
  29. package/dist/src/cli.js +109 -19
  30. package/dist/src/cli.js.map +1 -1
  31. package/dist/src/contracts.d.ts +268 -0
  32. package/dist/src/git.js +2 -1
  33. package/dist/src/git.js.map +1 -1
  34. package/dist/src/index.d.ts +5 -0
  35. package/dist/src/index.js +3 -0
  36. package/dist/src/index.js.map +1 -1
  37. package/dist/src/reviewer.d.ts +6 -1
  38. package/dist/src/reviewer.js +145 -32
  39. package/dist/src/reviewer.js.map +1 -1
  40. package/dist/src/state/lock.d.ts +1 -0
  41. package/dist/src/state/lock.js +7 -1
  42. package/dist/src/state/lock.js.map +1 -1
  43. package/dist/src/state/store.d.ts +39 -1
  44. package/dist/src/state/store.js +127 -1
  45. package/dist/src/state/store.js.map +1 -1
  46. package/dist/src/version.d.ts +1 -1
  47. package/dist/src/version.js +1 -1
  48. package/dist/src/workflow.d.ts +113 -8
  49. package/dist/src/workflow.js +1635 -78
  50. package/dist/src/workflow.js.map +1 -1
  51. package/docs/autonomy-guardrails.md +164 -0
  52. package/docs/decisions.md +39 -0
  53. package/docs/delegated-approval.md +37 -5
  54. package/docs/development-flow.md +45 -1
  55. package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +155 -136
  56. package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +236 -223
  57. package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +225 -206
  58. package/docs/project-memory.md +7 -0
  59. package/docs/release.md +9 -0
  60. package/docs/updating-existing-project.md +63 -5
  61. package/docs/validation-report.md +52 -34
  62. package/package.json +1 -1
  63. package/plugins/codex-workflow-gateway/references/protocol.md +182 -6
  64. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +35 -1
  65. package/references/git-policy.md +5 -2
  66. package/references/state-machine.md +43 -0
  67. package/references/validation-and-review.md +28 -1
  68. package/roles/delivery-coordinator.md +21 -1
  69. package/roles/independent-reviewer.md +3 -0
  70. package/roles/technical-planner.md +10 -0
  71. package/roles/worker.md +4 -0
  72. package/schemas/adoption-posture-event.schema.json +129 -0
  73. package/schemas/corrective-decision-event.schema.json +55 -0
  74. package/schemas/corrective-plan-audit.schema.json +20 -0
  75. package/schemas/milestone-autonomy-event.schema.json +45 -0
  76. package/schemas/milestone-scope-change-event.schema.json +70 -0
  77. package/schemas/milestone-transaction-journal.schema.json +95 -0
  78. package/schemas/plan-risk-audit-event.schema.json +107 -0
  79. package/schemas/remediation-event.schema.json +53 -0
  80. package/schemas/reviewer-attestation-event.schema.json +49 -0
  81. package/schemas/step-review-event.schema.json +74 -0
  82. package/schemas/task-handoff-event.schema.json +116 -0
@@ -0,0 +1,256 @@
1
+ import { STATE_SCHEMA_VERSION } from '../contracts.js';
2
+ import { hashDelegationPolicy } from '../delegation.js';
3
+ import { WorkflowError } from '../errors.js';
4
+ import { createEntityId, createUlid } from '../ulid.js';
5
+ import { canonicalJsonStringify, sha256Hex } from '../alpha6/store-sidecars.js';
6
+ const AUTONOMY_SIDECAR = 'autonomy-contract-events.jsonl';
7
+ const MAX_AUTONOMY_MS = 72 * 60 * 60 * 1000;
8
+ const AUTONOMY_TRANSITIONS = [
9
+ 'milestone.execution_authorize',
10
+ 'milestone.final_accept',
11
+ 'project_memory.approve',
12
+ 'task.execution_authorize',
13
+ 'task.final_accept',
14
+ ];
15
+ export function milestoneSemanticScopeHash(milestone) {
16
+ return sha256Hex(canonicalJsonStringify({
17
+ version: 'milestone-autonomy-semantic-scope-v1',
18
+ milestoneId: milestone.id,
19
+ discoveryId: milestone.discoveryId,
20
+ baseBranch: milestone.baseBranch,
21
+ outcome: milestone.outcome,
22
+ successSignal: milestone.successSignal,
23
+ acceptance: milestone.acceptance,
24
+ checks: milestone.checks,
25
+ }));
26
+ }
27
+ export function prepareMilestoneAutonomyContract(options) {
28
+ const { projectId, milestone, now } = options;
29
+ if (milestone.status !== 'awaiting_execution_authorization' || !milestone.planHash) {
30
+ throw new WorkflowError('TRANSITION_BLOCKED', 'Milestone autonomy may be granted only after the complete initial Plan is recorded and before execution.', { milestoneId: milestone.id, status: milestone.status });
31
+ }
32
+ const principal = options.principal.trim();
33
+ const delegate = options.delegate.trim();
34
+ if (!principal || principal.startsWith('agent:')) {
35
+ throw new WorkflowError('INVALID_ARGUMENT', 'Milestone autonomy principal must be an explicit human actor.');
36
+ }
37
+ if (!delegate.startsWith('agent:') || delegate === principal) {
38
+ throw new WorkflowError('INVALID_ARGUMENT', 'Milestone autonomy delegate must be a distinct agent actor.');
39
+ }
40
+ const expiry = new Date(options.expiresAt);
41
+ if (!Number.isFinite(expiry.getTime()) || expiry.getTime() <= now.getTime()) {
42
+ throw new WorkflowError('INVALID_ARGUMENT', 'Milestone autonomy expiresAt must be a future ISO-8601 timestamp.');
43
+ }
44
+ if (expiry.getTime() - now.getTime() > MAX_AUTONOMY_MS) {
45
+ throw new WorkflowError('INVALID_ARGUMENT', 'Milestone autonomy cannot exceed 72 hours.');
46
+ }
47
+ const expiresAt = expiry.toISOString();
48
+ const delegationPolicy = {
49
+ principal,
50
+ delegate,
51
+ scope: { kind: 'milestone', id: milestone.id },
52
+ transitions: [...AUTONOMY_TRANSITIONS],
53
+ expiresAt,
54
+ };
55
+ const delegationPolicyHash = hashDelegationPolicy(projectId, delegationPolicy);
56
+ const semanticScopeHash = milestoneSemanticScopeHash(milestone);
57
+ const confirmationCodeBindingHash = sha256Hex(canonicalJsonStringify({
58
+ version: 'milestone-autonomy-contract-v1',
59
+ projectId,
60
+ milestoneId: milestone.id,
61
+ milestoneRevision: milestone.revision,
62
+ planHash: milestone.planHash,
63
+ semanticScopeHash,
64
+ delegationPolicyHash,
65
+ }));
66
+ return {
67
+ kind: 'milestone_autonomy_contract',
68
+ projectId,
69
+ milestoneId: milestone.id,
70
+ milestoneRevision: milestone.revision,
71
+ principal,
72
+ delegate,
73
+ expiresAt,
74
+ semanticScopeHash,
75
+ delegationPolicy,
76
+ delegationPolicyHash,
77
+ confirmationCodeBindingHash,
78
+ confirmationCode: `MAC-${confirmationCodeBindingHash.slice(0, 24).toUpperCase()}`,
79
+ };
80
+ }
81
+ export function applyMilestoneAutonomyContract(options) {
82
+ const prepared = prepareMilestoneAutonomyContract(options);
83
+ if (options.confirmationCode.trim() !== prepared.confirmationCode) {
84
+ throw new WorkflowError('TRANSITION_BLOCKED', 'Milestone autonomy confirmation does not match the exact bounded contract.', {
85
+ milestoneId: options.milestone.id,
86
+ confirmationCodeBindingHash: prepared.confirmationCodeBindingHash,
87
+ });
88
+ }
89
+ const root = options.store.milestoneRoot(options.projectId, options.milestone.id);
90
+ const existing = readMilestoneAutonomyEvents(options.store, options.projectId, options.milestone.id);
91
+ let event = existing.at(-1) ?? null;
92
+ if (event) {
93
+ const exactRetry = event.milestoneRevision === options.milestone.revision
94
+ && event.principal === prepared.principal
95
+ && event.delegate === prepared.delegate
96
+ && event.expiresAt === prepared.expiresAt
97
+ && event.semanticScopeHash === prepared.semanticScopeHash
98
+ && event.delegationPolicyHash === prepared.delegationPolicyHash;
99
+ try {
100
+ const previousGrant = options.store.readDelegation(options.projectId, event.delegationGrantId);
101
+ if (exactRetry && previousGrant.status === 'active') {
102
+ return requireActiveMilestoneAutonomy({
103
+ store: options.store,
104
+ projectId: options.projectId,
105
+ milestone: options.milestone,
106
+ actor: prepared.delegate,
107
+ now: options.now,
108
+ });
109
+ }
110
+ if (!exactRetry
111
+ && previousGrant.status === 'active'
112
+ && Date.parse(previousGrant.expiresAt) > options.now.getTime()
113
+ && event.semanticScopeHash === milestoneSemanticScopeHash(options.milestone)) {
114
+ throw new WorkflowError('TRANSITION_BLOCKED', 'Milestone already has an active autonomy contract.', {
115
+ eventId: event.eventId,
116
+ delegationGrantId: event.delegationGrantId,
117
+ expiresAt: previousGrant.expiresAt,
118
+ });
119
+ }
120
+ // An expired, revoked, or semantically invalidated contract may be replaced only by
121
+ // another exact human-confirmed MAC binding.
122
+ event = null;
123
+ }
124
+ catch (error) {
125
+ if (!(error instanceof WorkflowError) || error.code !== 'NOT_FOUND' || !exactRetry)
126
+ throw error;
127
+ // The append-only contract is written before its grant. An exact retry may finish a
128
+ // crash-interrupted issuance; the contract remains inert until this write succeeds.
129
+ }
130
+ }
131
+ if (!event) {
132
+ const grantId = createEntityId('DGR', options.now.getTime());
133
+ event = options.store.appendSidecarEvent(root, AUTONOMY_SIDECAR, {
134
+ eventId: `MAC-${createUlid(options.now.getTime())}`,
135
+ recordedAt: options.now.toISOString(),
136
+ eventType: 'issued',
137
+ projectId: options.projectId,
138
+ milestoneId: options.milestone.id,
139
+ milestoneRevision: options.milestone.revision,
140
+ principal: prepared.principal,
141
+ delegate: prepared.delegate,
142
+ issuedAt: options.now.toISOString(),
143
+ expiresAt: prepared.expiresAt,
144
+ semanticScopeHash: prepared.semanticScopeHash,
145
+ delegationGrantId: grantId,
146
+ delegationPolicyHash: prepared.delegationPolicyHash,
147
+ }, {
148
+ validateEvent: (candidate) => validateMilestoneAutonomyEvent(candidate, options.projectId, options.milestone.id),
149
+ });
150
+ }
151
+ const grantId = event.delegationGrantId;
152
+ const timestamp = options.now.toISOString();
153
+ const grant = options.store.writeDelegation({
154
+ schemaVersion: STATE_SCHEMA_VERSION,
155
+ revision: 0,
156
+ id: grantId,
157
+ projectId: options.projectId,
158
+ createdAt: timestamp,
159
+ updatedAt: timestamp,
160
+ kind: 'delegation-grant',
161
+ status: 'active',
162
+ principal: prepared.principal,
163
+ delegate: prepared.delegate,
164
+ scope: prepared.delegationPolicy.scope,
165
+ transitions: prepared.delegationPolicy.transitions,
166
+ expiresAt: prepared.expiresAt,
167
+ policyHash: prepared.delegationPolicyHash,
168
+ revokedAt: null,
169
+ revokedBy: null,
170
+ revokeReason: null,
171
+ }, null);
172
+ return { contract: event, grant };
173
+ }
174
+ export function requireActiveMilestoneAutonomy(options) {
175
+ const events = readMilestoneAutonomyEvents(options.store, options.projectId, options.milestone.id);
176
+ const contract = events.at(-1);
177
+ if (!contract) {
178
+ throw new WorkflowError('TRANSITION_BLOCKED', `Milestone ${options.milestone.id} has no autonomy contract.`);
179
+ }
180
+ if (contract.delegate !== options.actor.trim()) {
181
+ throw new WorkflowError('TRANSITION_BLOCKED', 'Milestone autonomy contract does not authorize this actor.', {
182
+ expectedDelegate: contract.delegate,
183
+ });
184
+ }
185
+ if (Date.parse(contract.expiresAt) <= options.now.getTime()) {
186
+ throw new WorkflowError('TRANSITION_BLOCKED', 'Milestone autonomy contract has expired.', {
187
+ expiresAt: contract.expiresAt,
188
+ });
189
+ }
190
+ if (contract.semanticScopeHash !== milestoneSemanticScopeHash(options.milestone)) {
191
+ throw new WorkflowError('TRANSITION_BLOCKED', 'Milestone semantic scope changed after autonomy was granted.');
192
+ }
193
+ const grant = options.store.readDelegation(options.projectId, contract.delegationGrantId);
194
+ const expectedPolicyHash = hashDelegationPolicy(options.projectId, {
195
+ principal: grant.principal,
196
+ delegate: grant.delegate,
197
+ scope: grant.scope,
198
+ transitions: grant.transitions,
199
+ expiresAt: grant.expiresAt,
200
+ });
201
+ if (grant.status !== 'active'
202
+ || grant.policyHash !== expectedPolicyHash
203
+ || grant.policyHash !== contract.delegationPolicyHash) {
204
+ throw new WorkflowError('TRANSITION_BLOCKED', 'Milestone autonomy delegation is revoked or invalid.');
205
+ }
206
+ return { contract, grant };
207
+ }
208
+ export function assertAutonomousPlanEvolution(milestone, plan, contract) {
209
+ const candidateScopeHash = sha256Hex(canonicalJsonStringify({
210
+ version: 'milestone-autonomy-semantic-scope-v1',
211
+ milestoneId: milestone.id,
212
+ discoveryId: milestone.discoveryId,
213
+ baseBranch: milestone.baseBranch,
214
+ outcome: plan.outcome.trim(),
215
+ successSignal: plan.successSignal.trim(),
216
+ acceptance: plan.acceptance,
217
+ checks: plan.checks,
218
+ }));
219
+ if (candidateScopeHash !== contract.semanticScopeHash) {
220
+ throw new WorkflowError('TRANSITION_BLOCKED', 'Autonomous Milestone evolution may change only Task membership; semantic scope requires a new human contract.', { expectedSemanticScopeHash: contract.semanticScopeHash, candidateSemanticScopeHash: candidateScopeHash });
221
+ }
222
+ }
223
+ export function readMilestoneAutonomyEvents(store, projectId, milestoneId) {
224
+ return store.readSidecarEvents(store.milestoneRoot(projectId, milestoneId), AUTONOMY_SIDECAR, { validateEvent: (event) => validateMilestoneAutonomyEvent(event, projectId, milestoneId) });
225
+ }
226
+ function validateMilestoneAutonomyEvent(event, expectedProjectId, expectedMilestoneId) {
227
+ if (event.eventType !== 'issued'
228
+ || event.projectId !== expectedProjectId
229
+ || event.milestoneId !== expectedMilestoneId) {
230
+ throw new WorkflowError('STATE_CORRUPT', 'Milestone autonomy event identity is invalid.');
231
+ }
232
+ if (!event.principal || event.principal.startsWith('agent:') || !event.delegate.startsWith('agent:')) {
233
+ throw new WorkflowError('STATE_CORRUPT', 'Milestone autonomy event actors are invalid.');
234
+ }
235
+ for (const [label, value] of [
236
+ ['semanticScopeHash', event.semanticScopeHash],
237
+ ['delegationPolicyHash', event.delegationPolicyHash],
238
+ ]) {
239
+ if (!/^[a-f0-9]{64}$/.test(value)) {
240
+ throw new WorkflowError('STATE_CORRUPT', `Milestone autonomy ${label} is invalid.`);
241
+ }
242
+ }
243
+ if (!/^DGR-[0-9A-HJKMNP-TV-Z]{26}$/.test(event.delegationGrantId)) {
244
+ throw new WorkflowError('STATE_CORRUPT', 'Milestone autonomy delegationGrantId is invalid.');
245
+ }
246
+ if (!Number.isFinite(Date.parse(event.issuedAt)) || !Number.isFinite(Date.parse(event.expiresAt))) {
247
+ throw new WorkflowError('STATE_CORRUPT', 'Milestone autonomy timestamps are invalid.');
248
+ }
249
+ if (Date.parse(event.expiresAt) <= Date.parse(event.issuedAt)) {
250
+ throw new WorkflowError('STATE_CORRUPT', 'Milestone autonomy expiry must follow issuance.');
251
+ }
252
+ if (!Number.isInteger(event.milestoneRevision) || event.milestoneRevision < 1) {
253
+ throw new WorkflowError('STATE_CORRUPT', 'Milestone autonomy revision is invalid.');
254
+ }
255
+ }
256
+ //# sourceMappingURL=autonomy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autonomy.js","sourceRoot":"","sources":["../../../src/alpha7/autonomy.ts"],"names":[],"mappings":"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"}
package/dist/src/cli.js CHANGED
@@ -2,6 +2,7 @@
2
2
  import { readFileSync } from 'node:fs';
3
3
  import path from 'node:path';
4
4
  import process from 'node:process';
5
+ import { defaultTaskWorkerActor } from './alpha6/handoff.js';
5
6
  import { integrationDiagnostics } from './diagnostics.js';
6
7
  import { WorkflowError } from './errors.js';
7
8
  import { prepareGraphView } from './graph.js';
@@ -52,6 +53,13 @@ function revision(args) {
52
53
  }
53
54
  return value;
54
55
  }
56
+ function positiveIntegerOption(args, name) {
57
+ const value = Number(required(args, name));
58
+ if (!Number.isInteger(value) || value < 1) {
59
+ throw new WorkflowError('INVALID_ARGUMENT', `--${name} must be a positive integer.`);
60
+ }
61
+ return value;
62
+ }
55
63
  function optionalRevision(args) {
56
64
  const raw = option(args, 'expected-revision');
57
65
  if (raw === undefined)
@@ -100,6 +108,41 @@ function stdinJson() {
100
108
  function repository(args) {
101
109
  return path.resolve(option(args, 'repo') ?? '.');
102
110
  }
111
+ function workflowCapabilities() {
112
+ return [
113
+ 'project-memory-v1',
114
+ 'graph-binding-v1',
115
+ 'local-state-v1',
116
+ 'milestone-lifecycle-v1',
117
+ 'milestone-human-final-gate-v1',
118
+ 'delegated-approval-v1',
119
+ 'task-knowledge-rebind-v1',
120
+ 'task-context-refresh-v1',
121
+ 'corrective-plan-audit-v1',
122
+ 'safe-update-preflight-v1',
123
+ 'strict-reviewer-v1',
124
+ 'legacy-snapshot-v1',
125
+ 'plan-risk-audit-sidecar-v1',
126
+ 'step-strict-review-sidecar-v1',
127
+ 'step-remediation-circuit-breaker-sidecar-v1',
128
+ 'milestone-scope-change-sidecar-v1',
129
+ 'milestone-membership-integrity-v1',
130
+ 'task-c1-handoff-sidecar-v1',
131
+ 'semantic-plan-risk-audit-v2',
132
+ 'guarded-remediation-hard-stop-v1',
133
+ 'milestone-reverse-membership-integrity-v1',
134
+ 'task-c1-handoff-bundle-v2',
135
+ 'alpha6-adoption-posture-v1',
136
+ 'alpha6-strict-review-rescue-v1',
137
+ 'milestone-initial-assembly-v1',
138
+ 'milestone-autonomy-contract-v1',
139
+ 'milestone-autonomy-content-refresh-v1',
140
+ 'milestone-autonomous-membership-evolution-v1',
141
+ 'task-c1-derived-worker-actor-v1',
142
+ 'guarded-corrective-auditor-routing-v1',
143
+ 'plan-proof-obligations-v1',
144
+ ];
145
+ }
103
146
  async function dispatch(args) {
104
147
  const [noun, action] = args.positionals;
105
148
  const repo = repository(args);
@@ -109,17 +152,7 @@ async function dispatch(args) {
109
152
  packageVersion: PACKAGE_VERSION,
110
153
  protocolVersion: PROTOCOL_VERSION,
111
154
  stateSchemaVersion: STATE_SCHEMA_VERSION,
112
- capabilities: [
113
- 'project-memory-v1',
114
- 'graph-binding-v1',
115
- 'local-state-v1',
116
- 'milestone-lifecycle-v1',
117
- 'milestone-human-final-gate-v1',
118
- 'delegated-approval-v1',
119
- 'task-knowledge-rebind-v1',
120
- 'strict-reviewer-v1',
121
- 'legacy-snapshot-v1',
122
- ],
155
+ capabilities: workflowCapabilities(),
123
156
  };
124
157
  }
125
158
  const workflow = new WorkflowService();
@@ -148,6 +181,11 @@ async function dispatch(args) {
148
181
  return workflow.status(repo);
149
182
  if (noun === 'next')
150
183
  return workflow.next(repo);
184
+ if (noun === 'update' && action === 'preflight')
185
+ return workflow.updatePreflight(repo);
186
+ if (noun === 'update' && action === 'rescue-preflight') {
187
+ return workflow.alpha6StrictReviewRescuePreflight(repo);
188
+ }
151
189
  if (noun === 'delegation' && action === 'prepare') {
152
190
  return workflow.prepareDelegation(repo, jsonFile(args));
153
191
  }
@@ -189,6 +227,15 @@ async function dispatch(args) {
189
227
  }
190
228
  return migrateState(repo, workflow.store, dryRun, snapshot);
191
229
  }
230
+ if (noun === 'state' && action === 'adoption-prepare') {
231
+ return workflow.prepareAdoption(repo);
232
+ }
233
+ if (noun === 'state' && action === 'adoption-apply') {
234
+ return workflow.applyAdoption(repo, required(args, 'actor'), required(args, 'confirmation-code'));
235
+ }
236
+ if (noun === 'milestone' && action === 'recover') {
237
+ return workflow.recoverMilestoneTransactions(repo);
238
+ }
192
239
  if (noun === 'graph' && action === 'prepare') {
193
240
  return prepareGraphView(option(args, 'target') ? path.resolve(required(args, 'target')) : undefined);
194
241
  }
@@ -272,14 +319,22 @@ async function dispatch(args) {
272
319
  return context.store.readTask(context.identity.projectId, required(args, 'id'));
273
320
  }
274
321
  if (noun === 'task' && action === 'plan-set') {
275
- return workflow.setTaskPlan(repo, required(args, 'id'), revision(args), jsonFile(args));
322
+ return workflow.setTaskPlan(repo, required(args, 'id'), revision(args), jsonFile(args), option(args, 'corrective-audit-file')
323
+ ? jsonFile(args, 'corrective-audit-file')
324
+ : null, jsonFile(args, 'risk-audit-file'));
276
325
  }
277
326
  if (noun === 'task' && action === 'knowledge-rebind') {
278
327
  return workflow.rebindTaskKnowledge(repo, required(args, 'id'), revision(args));
279
328
  }
329
+ if (noun === 'task' && action === 'context-refresh') {
330
+ return workflow.refreshTaskContext(repo, required(args, 'id'), positiveIntegerOption(args, 'expected-task-revision'), positiveIntegerOption(args, 'expected-map-revision'), required(args, 'actor'), required(args, 'delegation-grant'));
331
+ }
280
332
  if (noun === 'task' && action === 'authorize') {
281
333
  return workflow.authorizeTask(repo, required(args, 'id'), revision(args), option(args, 'actor') ?? 'user', option(args, 'reason') ?? '', option(args, 'delegation-grant') ?? null);
282
334
  }
335
+ if (noun === 'task' && action === 'plan-risk-audit') {
336
+ return workflow.recordPlanRiskAudit(repo, required(args, 'id'), revision(args), jsonFile(args));
337
+ }
283
338
  if (noun === 'task' && action === 'start') {
284
339
  const owner = required(args, 'workspace-owner');
285
340
  if (owner !== 'local' && owner !== 'external') {
@@ -291,14 +346,14 @@ async function dispatch(args) {
291
346
  return workflow.runStep(repo, required(args, 'id'), required(args, 'step'), revision(args), option(args, 'owner') ?? 'worker', option(args, 'writer-token') ?? null);
292
347
  }
293
348
  if (noun === 'task' && action === 'step-complete') {
294
- return workflow.completeStep(repo, required(args, 'id'), required(args, 'step'), revision(args), required(args, 'writer-token'), repeated(args, 'note'));
349
+ return workflow.completeStep(repo, required(args, 'id'), required(args, 'step'), revision(args), required(args, 'writer-token'), repeated(args, 'note'), option(args, 'actor'));
295
350
  }
296
351
  if (noun === 'task' && action === 'submit') {
297
- return workflow.submitTask(repo, required(args, 'id'), revision(args), required(args, 'writer-token'));
352
+ return workflow.submitTask(repo, required(args, 'id'), revision(args), required(args, 'writer-token'), option(args, 'actor'));
298
353
  }
299
354
  if (noun === 'task' && action === 'review-record') {
300
355
  const review = jsonFile(args);
301
- return workflow.recordReview(repo, required(args, 'id'), revision(args), review);
356
+ return workflow.recordReview(repo, required(args, 'id'), revision(args), review, option(args, 'actor'), option(args, 'writer-token') ?? null);
302
357
  }
303
358
  if (noun === 'task' && action === 'review-launch') {
304
359
  const context = workflow.context(repo);
@@ -313,9 +368,29 @@ async function dispatch(args) {
313
368
  }
314
369
  const envelope = workflow.taskContext(repo, id, 'independent-reviewer');
315
370
  const launch = launchStrictReviewer(context.identity.repositoryRoot, task, context.store.taskRoot(task.projectId, task.id), envelope);
316
- const saved = workflow.recordReview(repo, id, expectedRevision, launch.review);
371
+ const saved = workflow.recordReview(repo, id, expectedRevision, launch.review, option(args, 'actor'), option(args, 'writer-token') ?? null);
317
372
  return { launch, task: saved };
318
373
  }
374
+ if (noun === 'task' && action === 'step-review') {
375
+ return workflow.reviewStep(repo, required(args, 'id'), required(args, 'step'), revision(args), undefined, option(args, 'actor'), option(args, 'writer-token') ?? null);
376
+ }
377
+ if (noun === 'task' && action === 'corrective-decision') {
378
+ return workflow.recordStepCorrectiveDecision(repo, required(args, 'id'), required(args, 'step'), revision(args), jsonFile(args), option(args, 'actor'), option(args, 'writer-token') ?? null);
379
+ }
380
+ if (noun === 'task' && (action === 'handoff' || action === 'handoff-prepare')) {
381
+ return workflow.handoffTask(repo, required(args, 'id'), revision(args), required(args, 'actor'), option(args, 'target-actor') ?? defaultTaskWorkerActor(required(args, 'id')), required(args, 'reason'), option(args, 'writer-token') ?? null, option(args, 'delegation-grant') ?? null, option(args, 'expires-at') ?? null);
382
+ }
383
+ if (noun === 'task' && action === 'handoff-show') {
384
+ return workflow.showTaskHandoff(repo, required(args, 'id'));
385
+ }
386
+ if (noun === 'task' && action === 'claim') {
387
+ return workflow.claimTask(repo, required(args, 'id'), revision(args), required(args, 'actor'), required(args, 'claim-token'), option(args, 'writer-token') ?? null);
388
+ }
389
+ if (noun === 'task' && (action === 'handback' || action === 'handback-create')) {
390
+ return workflow.handbackTask(repo, required(args, 'id'), revision(args), required(args, 'actor'), required(args, 'reason'), option(args, 'writer-token') ?? null, repeated(args, 'limitation'), action === 'handback-create'
391
+ ? required(args, 'recommended-next')
392
+ : option(args, 'recommended-next') ?? 'Coordinator reviews the terminal Task result and recorded evidence.');
393
+ }
319
394
  if (noun === 'task' && action === 'result-set') {
320
395
  return workflow.setTaskResult(repo, required(args, 'id'), revision(args), required(args, 'summary'), repeated(args, 'limitation'));
321
396
  }
@@ -326,10 +401,10 @@ async function dispatch(args) {
326
401
  return workflow.syncTaskBase(repo, required(args, 'id'), revision(args));
327
402
  }
328
403
  if (noun === 'task' && action === 'merge') {
329
- return workflow.mergeTask(repo, required(args, 'id'), revision(args), required(args, 'writer-token'));
404
+ return workflow.mergeTask(repo, required(args, 'id'), revision(args), required(args, 'writer-token'), option(args, 'actor'));
330
405
  }
331
406
  if (noun === 'task' && action === 'merge-confirm') {
332
- return workflow.confirmExternalMerge(repo, required(args, 'id'), revision(args), required(args, 'writer-token'));
407
+ return workflow.confirmExternalMerge(repo, required(args, 'id'), revision(args), required(args, 'writer-token'), option(args, 'actor'));
333
408
  }
334
409
  if (noun === 'milestone' && action === 'show') {
335
410
  const context = workflow.context(repo);
@@ -338,6 +413,21 @@ async function dispatch(args) {
338
413
  if (noun === 'milestone' && action === 'plan-set') {
339
414
  return workflow.setMilestonePlan(repo, required(args, 'id'), revision(args), jsonFile(args));
340
415
  }
416
+ if (noun === 'milestone' && action === 'scope-change-prepare') {
417
+ return workflow.prepareMilestoneScopeChange(repo, required(args, 'id'), revision(args), jsonFile(args), required(args, 'actor'));
418
+ }
419
+ if (noun === 'milestone' && action === 'scope-change-apply') {
420
+ return workflow.applyMilestoneScopeChange(repo, required(args, 'id'), revision(args), jsonFile(args), required(args, 'actor'), required(args, 'confirmation-code'));
421
+ }
422
+ if (noun === 'milestone' && action === 'autonomy-prepare') {
423
+ return workflow.prepareMilestoneAutonomy(repo, required(args, 'id'), revision(args), required(args, 'principal'), required(args, 'delegate'), required(args, 'expires-at'));
424
+ }
425
+ if (noun === 'milestone' && action === 'autonomy-grant') {
426
+ return workflow.grantMilestoneAutonomy(repo, required(args, 'id'), revision(args), required(args, 'principal'), required(args, 'delegate'), required(args, 'expires-at'), required(args, 'confirmation-code'));
427
+ }
428
+ if (noun === 'milestone' && action === 'autonomy-evolve') {
429
+ return workflow.evolveMilestonePlanAutonomously(repo, required(args, 'id'), revision(args), jsonFile(args), required(args, 'actor'));
430
+ }
341
431
  if (noun === 'milestone' && action === 'authorize') {
342
432
  return workflow.authorizeMilestone(repo, required(args, 'id'), revision(args), option(args, 'actor') ?? 'user', option(args, 'reason') ?? '', option(args, 'delegation-grant') ?? null);
343
433
  }
@@ -357,7 +447,7 @@ async function dispatch(args) {
357
447
  }
358
448
  throw new WorkflowError('INVALID_ARGUMENT', 'Unknown command.', {
359
449
  command: args.positionals.join(' '),
360
- hint: 'Use doctor, status, next, delegation <action>, project-memory <action>, discovery <action>, task <action>, milestone <action>, or locks <action>.',
450
+ hint: 'Use doctor, status, next, update preflight, state <action>, delegation <action>, project-memory <action>, discovery <action>, task <action>, milestone <action>, or locks <action>.',
361
451
  });
362
452
  }
363
453
  async function main() {
@@ -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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"}