codex-workflow-v2 2.0.0-alpha.7.2.1 → 2.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/README.md +63 -7
  2. package/dist/src/alpha6/adoption.js +13 -3
  3. package/dist/src/alpha6/adoption.js.map +1 -1
  4. package/dist/src/alpha6/handoff.d.ts +23 -0
  5. package/dist/src/alpha6/handoff.js +221 -28
  6. package/dist/src/alpha6/handoff.js.map +1 -1
  7. package/dist/src/alpha6/milestone.d.ts +29 -0
  8. package/dist/src/alpha6/milestone.js +167 -1
  9. package/dist/src/alpha6/milestone.js.map +1 -1
  10. package/dist/src/alpha6/plan-risk.d.ts +1 -0
  11. package/dist/src/alpha6/plan-risk.js +15 -7
  12. package/dist/src/alpha6/plan-risk.js.map +1 -1
  13. package/dist/src/alpha6/remediation.js +18 -6
  14. package/dist/src/alpha6/remediation.js.map +1 -1
  15. package/dist/src/alpha6/review.d.ts +3 -0
  16. package/dist/src/alpha6/review.js +24 -0
  17. package/dist/src/alpha6/review.js.map +1 -1
  18. package/dist/src/beta1/project-transaction.d.ts +52 -0
  19. package/dist/src/beta1/project-transaction.js +297 -0
  20. package/dist/src/beta1/project-transaction.js.map +1 -0
  21. package/dist/src/cli.js +478 -32
  22. package/dist/src/cli.js.map +1 -1
  23. package/dist/src/contracts.d.ts +189 -5
  24. package/dist/src/contracts.js +1 -1
  25. package/dist/src/credential-output.d.ts +10 -0
  26. package/dist/src/credential-output.js +73 -0
  27. package/dist/src/credential-output.js.map +1 -0
  28. package/dist/src/dependency-provenance.d.ts +19 -0
  29. package/dist/src/dependency-provenance.js +185 -0
  30. package/dist/src/dependency-provenance.js.map +1 -0
  31. package/dist/src/diagnostics.d.ts +11 -0
  32. package/dist/src/diagnostics.js +54 -0
  33. package/dist/src/diagnostics.js.map +1 -1
  34. package/dist/src/errors.d.ts +1 -1
  35. package/dist/src/errors.js.map +1 -1
  36. package/dist/src/git.js +7 -9
  37. package/dist/src/git.js.map +1 -1
  38. package/dist/src/index.d.ts +1 -1
  39. package/dist/src/index.js +1 -1
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/lifecycle/canonical-hash.d.ts +6 -0
  42. package/dist/src/lifecycle/canonical-hash.js +24 -0
  43. package/dist/src/lifecycle/canonical-hash.js.map +1 -0
  44. package/dist/src/lifecycle/catalog.d.ts +26 -0
  45. package/dist/src/lifecycle/catalog.js +208 -0
  46. package/dist/src/lifecycle/catalog.js.map +1 -0
  47. package/dist/src/lifecycle/compiler-inspection.d.ts +48 -0
  48. package/dist/src/lifecycle/compiler-inspection.js +29 -0
  49. package/dist/src/lifecycle/compiler-inspection.js.map +1 -0
  50. package/dist/src/lifecycle/core-static-readiness.d.ts +6 -0
  51. package/dist/src/lifecycle/core-static-readiness.js +130 -0
  52. package/dist/src/lifecycle/core-static-readiness.js.map +1 -0
  53. package/dist/src/lifecycle/corrective-replan-authority.d.ts +53 -0
  54. package/dist/src/lifecycle/corrective-replan-authority.js +139 -0
  55. package/dist/src/lifecycle/corrective-replan-authority.js.map +1 -0
  56. package/dist/src/lifecycle/corrective-replan-binding-manifest.d.ts +21 -0
  57. package/dist/src/lifecycle/corrective-replan-binding-manifest.js +35 -0
  58. package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -0
  59. package/dist/src/lifecycle/corrective-replan-credential-core.d.ts +86 -0
  60. package/dist/src/lifecycle/corrective-replan-credential-core.js +563 -0
  61. package/dist/src/lifecycle/corrective-replan-credential-core.js.map +1 -0
  62. package/dist/src/lifecycle/corrective-replan-credential-schema.d.ts +17 -0
  63. package/dist/src/lifecycle/corrective-replan-credential-schema.js +44 -0
  64. package/dist/src/lifecycle/corrective-replan-credential-schema.js.map +1 -0
  65. package/dist/src/lifecycle/corrective-replan-credentials.d.ts +47 -0
  66. package/dist/src/lifecycle/corrective-replan-credentials.js +103 -0
  67. package/dist/src/lifecycle/corrective-replan-credentials.js.map +1 -0
  68. package/dist/src/lifecycle/corrective-replan.d.ts +64 -0
  69. package/dist/src/lifecycle/corrective-replan.js +548 -0
  70. package/dist/src/lifecycle/corrective-replan.js.map +1 -0
  71. package/dist/src/lifecycle/evaluator.d.ts +2 -0
  72. package/dist/src/lifecycle/evaluator.js +35 -0
  73. package/dist/src/lifecycle/evaluator.js.map +1 -0
  74. package/dist/src/lifecycle/fingerprint.d.ts +31 -0
  75. package/dist/src/lifecycle/fingerprint.js +388 -0
  76. package/dist/src/lifecycle/fingerprint.js.map +1 -0
  77. package/dist/src/lifecycle/immutable.d.ts +1 -0
  78. package/dist/src/lifecycle/immutable.js +10 -0
  79. package/dist/src/lifecycle/immutable.js.map +1 -0
  80. package/dist/src/lifecycle/implementation-table.d.ts +29 -0
  81. package/dist/src/lifecycle/implementation-table.js +87 -0
  82. package/dist/src/lifecycle/implementation-table.js.map +1 -0
  83. package/dist/src/lifecycle/index.d.ts +4 -0
  84. package/dist/src/lifecycle/index.js +5 -0
  85. package/dist/src/lifecycle/index.js.map +1 -0
  86. package/dist/src/lifecycle/schema-artifact.d.ts +12 -0
  87. package/dist/src/lifecycle/schema-artifact.js +214 -0
  88. package/dist/src/lifecycle/schema-artifact.js.map +1 -0
  89. package/dist/src/lifecycle/semantic-registry.d.ts +6 -0
  90. package/dist/src/lifecycle/semantic-registry.js +489 -0
  91. package/dist/src/lifecycle/semantic-registry.js.map +1 -0
  92. package/dist/src/lifecycle/types.d.ts +718 -0
  93. package/dist/src/lifecycle/types.js +4 -0
  94. package/dist/src/lifecycle/types.js.map +1 -0
  95. package/dist/src/observation.d.ts +20 -0
  96. package/dist/src/observation.js +171 -0
  97. package/dist/src/observation.js.map +1 -0
  98. package/dist/src/reviewer.d.ts +43 -1
  99. package/dist/src/reviewer.js +203 -50
  100. package/dist/src/reviewer.js.map +1 -1
  101. package/dist/src/state/corrective-replan-executor.d.ts +64 -0
  102. package/dist/src/state/corrective-replan-executor.js +608 -0
  103. package/dist/src/state/corrective-replan-executor.js.map +1 -0
  104. package/dist/src/state/corrective-replan-public-schema.d.ts +3 -0
  105. package/dist/src/state/corrective-replan-public-schema.js +43 -0
  106. package/dist/src/state/corrective-replan-public-schema.js.map +1 -0
  107. package/dist/src/state/corrective-replan-public.d.ts +95 -0
  108. package/dist/src/state/corrective-replan-public.js +665 -0
  109. package/dist/src/state/corrective-replan-public.js.map +1 -0
  110. package/dist/src/state/corrective-replan-transaction.d.ts +160 -0
  111. package/dist/src/state/corrective-replan-transaction.js +730 -0
  112. package/dist/src/state/corrective-replan-transaction.js.map +1 -0
  113. package/dist/src/state/corrective-yield-executor.d.ts +31 -0
  114. package/dist/src/state/corrective-yield-executor.js +236 -0
  115. package/dist/src/state/corrective-yield-executor.js.map +1 -0
  116. package/dist/src/state/corrective-yield-transaction.d.ts +97 -0
  117. package/dist/src/state/corrective-yield-transaction.js +591 -0
  118. package/dist/src/state/corrective-yield-transaction.js.map +1 -0
  119. package/dist/src/state/lock.d.ts +76 -3
  120. package/dist/src/state/lock.js +611 -30
  121. package/dist/src/state/lock.js.map +1 -1
  122. package/dist/src/state/store.d.ts +3 -0
  123. package/dist/src/state/store.js +65 -12
  124. package/dist/src/state/store.js.map +1 -1
  125. package/dist/src/transition-core.d.ts +67 -0
  126. package/dist/src/transition-core.js +318 -0
  127. package/dist/src/transition-core.js.map +1 -0
  128. package/dist/src/version.d.ts +1 -1
  129. package/dist/src/version.js +1 -1
  130. package/dist/src/version.js.map +1 -1
  131. package/dist/src/workflow.d.ts +93 -25
  132. package/dist/src/workflow.js +1712 -218
  133. package/dist/src/workflow.js.map +1 -1
  134. package/docs/autonomy-guardrails.md +43 -3
  135. package/docs/beta1-stabilization-brief.md +165 -0
  136. package/docs/beta2-initial-assembly-navigation-brief.md +616 -0
  137. package/docs/delegated-approval.md +30 -4
  138. package/docs/development-flow.md +38 -6
  139. package/docs/lifecycle/state-machine-stabilization.md +641 -0
  140. package/docs/project-memory.md +7 -5
  141. package/docs/release.md +25 -3
  142. package/docs/split-required-recovery.md +54 -0
  143. package/docs/stable-release-defect-register.md +730 -0
  144. package/docs/updating-existing-project.md +59 -4
  145. package/docs/validation-report.md +85 -56
  146. package/package.json +6 -2
  147. package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +10 -3
  148. package/plugins/codex-workflow-gateway/references/protocol.md +80 -5
  149. package/plugins/codex-workflow-gateway/scripts/chat-registry.mjs +376 -0
  150. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +255 -3
  151. package/references/state-machine.md +4 -1
  152. package/roles/delivery-coordinator.md +39 -0
  153. package/schemas/adoption-posture-event.schema.json +1 -1
  154. package/schemas/context-envelope.schema.json +1 -1
  155. package/schemas/corrective-replan-credentials.private.schema.json +98 -0
  156. package/schemas/corrective-replan-execution-event.private.schema.json +53 -0
  157. package/schemas/corrective-replan-public.schema.json +142 -0
  158. package/schemas/corrective-replan-task-transaction.private.schema.json +151 -0
  159. package/schemas/corrective-yield-task-transaction.private.schema.json +98 -0
  160. package/schemas/remediation-event.schema.json +11 -1
  161. package/schemas/task-handoff-event.schema.json +1 -1
  162. package/schemas/task.schema.json +25 -0
  163. package/schemas/transition-definition.schema.json +2609 -0
  164. package/schemas/transition-payloads.schema.json +140 -0
@@ -0,0 +1,318 @@
1
+ import { WorkflowService } from './workflow.js';
2
+ import { CoreTaskOperationLockManager } from './state/lock.js';
3
+ import { correctiveReplanTerminalReadback, driveCorrectiveReplanTransaction } from './state/corrective-replan-executor.js';
4
+ import { CorrectiveReplanTaskTransactionStore } from './state/corrective-replan-transaction.js';
5
+ import { GuardedTransitionCatalog, validateTransitionDefinitionSemantics } from './lifecycle/catalog.js';
6
+ import { installedAuthoritySemanticBindings, projectAuthoritySemanticBundle } from './lifecycle/corrective-replan-authority.js';
7
+ import { correctiveReplanCredentialFunctionBindings } from './lifecycle/corrective-replan-credential-core.js';
8
+ import { correctiveReplanCredentialSchemaArtifacts, correctiveReplanCredentialSchemaValidators } from './lifecycle/corrective-replan-credential-schema.js';
9
+ import { diagnoseCorrectiveReplanCredentialClosure } from './lifecycle/corrective-replan-credentials.js';
10
+ import { hashCorrectivePlanBytes, taskCorrectiveReplanDefinition } from './lifecycle/corrective-replan.js';
11
+ import { evaluateTransition } from './lifecycle/evaluator.js';
12
+ import { evaluateInstalledReleaseRulesForCore, installedCoreRuleBindings, projectReleaseRuleContextForCore, } from './lifecycle/core-static-readiness.js';
13
+ import { hashCanonical, runtimeCatalogHash, runtimeSemanticFingerprint, runtimeSemanticProjection as runtimeProjection, transitionDefinitionManifestHash } from './lifecycle/fingerprint.js';
14
+ import { deepFreeze } from './lifecycle/immutable.js';
15
+ import { createCorrectiveReplanImplementationTable } from './lifecycle/implementation-table.js';
16
+ import { installedPayloadSchemaArtifacts, installedPayloadSchemaValidators, installedTransitionDefinitionArtifact, installedTransitionDefinitionValidator, transitionDefinitionDocumentSha256, transitionDefinitionVocabularySha256, } from './lifecycle/schema-artifact.js';
17
+ import { transitionSemanticRegistry } from './lifecycle/semantic-registry.js';
18
+ import { LIFECYCLE_EPOCH, TRANSITION_DEFINITION_FORMAT_VERSION, } from './lifecycle/types.js';
19
+ const guards = taskCorrectiveReplanDefinition.guards.map((guard) => guard.evaluate);
20
+ const credentialReceiptVerifier = correctiveReplanCredentialFunctionBindings.find((entry) => entry.id === 'credential-verifier.corrective-replan.receipt');
21
+ if (!credentialReceiptVerifier)
22
+ throw new TypeError('Installed corrective-replan receipt verifier is missing.');
23
+ const credentialClosure = diagnoseCorrectiveReplanCredentialClosure();
24
+ if (!credentialClosure.closed)
25
+ throw new TypeError('Installed corrective-replan credential bundle is not closed.');
26
+ const executableTable = createCorrectiveReplanImplementationTable({
27
+ guards,
28
+ identityComparators: installedAuthoritySemanticBindings.filter((entry) => entry.kind === 'identity-comparator').map((entry) => entry.callable),
29
+ verifyReceipt: credentialReceiptVerifier.callable,
30
+ acquireTaskLock: CoreTaskOperationLockManager.prototype.acquire,
31
+ createJournalIntent: CorrectiveReplanTaskTransactionStore.prototype.createIntent,
32
+ recoverCorrectiveReplan: driveCorrectiveReplanTransaction,
33
+ executeCorrectiveReplan: WorkflowService.prototype.executeCorrectiveReplan,
34
+ terminalReadback: correctiveReplanTerminalReadback,
35
+ canonicalJsonSha256: hashCanonical, rawPlanSha256: hashCorrectivePlanBytes,
36
+ });
37
+ const installedExecutables = deepFreeze(Object.values(executableTable).flat());
38
+ const installedFamilySemantics = runtimeProjection(taskCorrectiveReplanDefinition.metadata).semantics;
39
+ const installedTransitionExecutableBinding = deepFreeze({
40
+ transitionId: taskCorrectiveReplanDefinition.metadata.transitionId, version: 1,
41
+ runtimeSemanticFingerprint: taskCorrectiveReplanDefinition.runtimeSemanticFingerprint,
42
+ implementationId: 'implementation.transition.task-corrective-replan', implementationVersion: 2,
43
+ guardCallables: taskCorrectiveReplanDefinition.guards.map((guard, index) => {
44
+ const binding = executable(taskCorrectiveReplanDefinition.metadata.guards[index].evaluator);
45
+ return { guardId: guard.metadata.guardId, semanticVersion: guard.metadata.semanticVersion,
46
+ implementationId: binding.semanticId, implementationVersion: binding.semanticVersion, callable: guard.evaluate };
47
+ }),
48
+ executableSlots: declaredExecutableSlots(), evaluate: evaluateTransition,
49
+ });
50
+ export const installedTransitionExecutableBindings = deepFreeze([installedTransitionExecutableBinding]);
51
+ const issuedCatalogs = new WeakMap();
52
+ export const guardedTransitionCatalog = deepFreeze(new GuardedTransitionCatalog([taskCorrectiveReplanDefinition]));
53
+ export function compileCoreTransitionCatalog(raw) {
54
+ if (!Array.isArray(raw))
55
+ return failed([{ diagnosticId: 'compiler.catalog.input-invalid', path: '/', message: 'Core catalog input must be an array.' }]);
56
+ const diagnostics = diagnoseClosure(raw, installedCoreRuleBindings, installedTransitionExecutableBindings, installedPayloadSchemaArtifacts, installedPayloadSchemaValidators);
57
+ if (diagnostics.length > 0)
58
+ return failed(diagnostics);
59
+ const ir = [];
60
+ const seen = new Set();
61
+ for (const candidate of raw) {
62
+ const definition = structuredClone(candidate);
63
+ if (seen.has(definition.transitionId)) {
64
+ diagnostics.push({ diagnosticId: 'compiler.catalog.transition-duplicate', path: '/transitionId', ref: definition.transitionId, message: 'Transition ID is duplicated.' });
65
+ continue;
66
+ }
67
+ seen.add(definition.transitionId);
68
+ const payloadSchemas = bindPayloadSchemas(definition, installedPayloadSchemaArtifacts, installedPayloadSchemaValidators, diagnostics);
69
+ const rules = installedCoreRuleBindings.map((binding) => ({ ...binding, context: projectReleaseRuleContextForCore(definition, binding.id) }));
70
+ const payloadSchemaClosureSha256 = hashCanonical(payloadSchemas.map(projectPayloadBinding));
71
+ const definitionSchema = { schema: { id: installedTransitionDefinitionArtifact.id, version: 1 },
72
+ artifact: installedTransitionDefinitionArtifact, validator: installedTransitionDefinitionValidator };
73
+ ir.push(deepFreeze({ transitionId: definition.transitionId, serializedDefinition: definition,
74
+ transitionExecutableBinding: installedTransitionExecutableBinding, authoritySemanticBindings: installedAuthoritySemanticBindings,
75
+ credentialSemanticBindings: correctiveReplanCredentialFunctionBindings,
76
+ credentialClosureSha256: credentialClosure.closureSha256,
77
+ definitionSchema, rules, payloadSchemas, payloadSchemaClosureSha256 }));
78
+ }
79
+ if (diagnostics.length > 0)
80
+ return failed(diagnostics);
81
+ ir.sort((left, right) => left.transitionId.localeCompare(right.transitionId));
82
+ const frozenIr = deepFreeze(ir);
83
+ const readiness = readinessFromIr(frozenIr);
84
+ const serialized = frozenIr.map((entry) => entry.serializedDefinition);
85
+ const order = frozenIr.map((entry) => semanticOrder(entry.serializedDefinition));
86
+ const canonicalIr = frozenIr.map(projectPrivateIr);
87
+ const provenance = {
88
+ compilerId: 'codex-workflow-exact-family-compiler', compilerVersion: '4.0.0',
89
+ compilerBuildSha256: hashCanonical({ implementation: 'corrective-replan-exact-family', version: 2 }),
90
+ definitionFormatVersion: TRANSITION_DEFINITION_FORMAT_VERSION, lifecycleEpoch: LIFECYCLE_EPOCH,
91
+ rawCatalogSha256: hashCanonical(serialized), runtimeCatalogHash: runtimeCatalogHash(serialized),
92
+ staticCatalogHash: hashCanonical(readiness),
93
+ semanticRegistryClosureSha256: hashCanonical(canonicalIr.map((entry) => entry.registryClosure)),
94
+ executableRegistryClosureSha256: hashCanonical(canonicalIr.map((entry) => entry.transitionExecutableBinding)),
95
+ transitionSchemaArtifactSha256: transitionDefinitionDocumentSha256,
96
+ transitionSchemaVocabularySha256: transitionDefinitionVocabularySha256,
97
+ transitionSchemaValidatorSha256: hashCanonical(projectPayloadValidator(installedTransitionDefinitionValidator)),
98
+ payloadSchemaClosureSha256: frozenIr[0]?.payloadSchemaClosureSha256 ?? hashCanonical([]),
99
+ officialProfileSha256: hashCanonical({}),
100
+ ruleSetSha256: hashCanonical(installedCoreRuleBindings.map(projectRule)),
101
+ canonicalOrderSha256: hashCanonical(order), irSha256: hashCanonical({ transitions: canonicalIr, order, readiness }),
102
+ };
103
+ const catalog = deepFreeze({ kind: 'core-compiled-transition-catalog', provenance,
104
+ transitions: frozenIr.map((entry) => ({ transitionId: entry.transitionId,
105
+ runtimeSemanticFingerprint: entry.serializedDefinition.runtimeSemanticFingerprint,
106
+ definitionManifestHash: entry.serializedDefinition.definitionManifestHash })) });
107
+ issuedCatalogs.set(catalog, deepFreeze({ ir: frozenIr, readiness }));
108
+ return { ok: true, catalog, diagnostics: [], diagnosticsHash: hashCanonical([]) };
109
+ }
110
+ export function evaluateCoreStaticReadiness(catalog) {
111
+ return requireRecord(catalog).readiness;
112
+ }
113
+ export function inspectCorePrivateIr(catalog) {
114
+ return requireRecord(catalog).ir;
115
+ }
116
+ export function diagnoseCoreIssuanceClosure(input) {
117
+ const diagnostics = diagnoseClosure(input.definitions, input.ruleBindings ?? installedCoreRuleBindings, input.transitionExecutableBindings ?? installedTransitionExecutableBindings, input.schemaArtifacts ?? installedPayloadSchemaArtifacts, input.schemaValidators ?? installedPayloadSchemaValidators, input.authoritySemanticBindings ?? installedAuthoritySemanticBindings);
118
+ const ordered = orderDiagnostics(diagnostics);
119
+ return deepFreeze({ issuable: ordered.length === 0, diagnostics: ordered, diagnosticsHash: hashCanonical(ordered) });
120
+ }
121
+ function diagnoseClosure(definitions, rules, transitionBindings, artifacts, validators, authorityBindings = installedAuthoritySemanticBindings) {
122
+ const diagnostics = [];
123
+ exactRules(rules, diagnostics);
124
+ exactTransitionBindings(transitionBindings, diagnostics);
125
+ exactAuthorityBindings(authorityBindings, diagnostics);
126
+ for (const raw of definitions) {
127
+ if (!installedTransitionDefinitionArtifact || !installedTransitionDefinitionValidator.callable(raw)) {
128
+ diagnostics.push({ diagnosticId: 'compiler.schema.document-invalid', path: '/', message: 'Definition fails the installed root schema.' });
129
+ continue;
130
+ }
131
+ const semantic = validateTransitionDefinitionSemantics(raw);
132
+ semantic.issues.forEach((entry) => diagnostics.push(entry.ref === undefined
133
+ ? { diagnosticId: `compiler.semantic.${entry.ruleId.slice('validation.'.length)}`, path: entry.path, message: entry.message }
134
+ : { diagnosticId: `compiler.semantic.${entry.ruleId.slice('validation.'.length)}`, path: entry.path, ref: entry.ref, message: entry.message }));
135
+ const definition = raw;
136
+ if (definition.transitionId !== 'task.plan.corrective-replan')
137
+ diagnostics.push({ diagnosticId: 'compiler.family.unsupported', path: '/transitionId', ref: definition.transitionId, message: 'No installed exact family compiler.' });
138
+ try {
139
+ const metadata = stripHashes(definition);
140
+ const mismatch = firstDifferencePath(installedFamilySemantics, runtimeProjection(metadata).semantics);
141
+ if (mismatch)
142
+ diagnostics.push({ diagnosticId: 'core.transition-binding.semantic-mismatch', path: mismatch, ref: definition.transitionId, message: `Definition semantics differ from the installed exact family at ${mismatch}.` });
143
+ if (runtimeSemanticFingerprint(metadata) !== definition.runtimeSemanticFingerprint)
144
+ diagnostics.push({ diagnosticId: 'compiler.fingerprint.runtime-mismatch', path: '/runtimeSemanticFingerprint', message: 'Runtime fingerprint is stale.' });
145
+ if (transitionDefinitionManifestHash(metadata, definition.runtimeSemanticFingerprint) !== definition.definitionManifestHash)
146
+ diagnostics.push({ diagnosticId: 'compiler.fingerprint.manifest-mismatch', path: '/definitionManifestHash', message: 'Manifest hash is stale.' });
147
+ }
148
+ catch (error) {
149
+ const ref = error.ref;
150
+ diagnostics.push(ref === undefined
151
+ ? { diagnosticId: 'compiler.registry.reference-unresolved', path: '/', message: error instanceof Error ? error.message : String(error) }
152
+ : { diagnosticId: 'compiler.registry.reference-unresolved', path: '/', ref, message: error instanceof Error ? error.message : String(error) });
153
+ }
154
+ bindPayloadSchemas(definition, artifacts, validators, diagnostics);
155
+ }
156
+ return diagnostics;
157
+ }
158
+ function exactRules(candidate, diagnostics) {
159
+ for (const installed of installedCoreRuleBindings) {
160
+ const matches = candidate.filter((entry) => sameRef(entry, installed));
161
+ if (matches.length !== 1)
162
+ diagnostics.push({ diagnosticId: matches.length === 0 ? 'core.rule-binding.missing' : 'core.rule-binding.duplicate', path: `/ruleBindings/${installed.id}`, ref: refKey(installed), message: `${installed.id} must be bound exactly once.` });
163
+ else if (matches[0] !== installed || matches[0].callable !== installed.callable
164
+ || matches[0].implementationId !== installed.implementationId || matches[0].implementationVersion !== installed.implementationVersion) {
165
+ diagnostics.push({ diagnosticId: 'core.rule-binding.callable-substituted', path: `/ruleBindings/${installed.id}`, ref: refKey(installed), message: `${installed.id} callable differs from installed Core identity.` });
166
+ }
167
+ }
168
+ }
169
+ function exactAuthorityBindings(candidate, diagnostics) {
170
+ const issue = (id, installed) => diagnostics.push({ diagnosticId: `core.authority-binding.${id}`,
171
+ path: `/authoritySemanticBindings/${installed.id}`, ref: installed.id, message: `${installed.id} authority callable differs from Core.` });
172
+ for (const installed of installedAuthoritySemanticBindings) {
173
+ const matches = candidate.filter((entry) => sameRef(entry, installed));
174
+ if (matches.length !== 1)
175
+ issue(matches.length === 0 ? 'missing' : 'duplicate', installed);
176
+ else if (typeof matches[0].callable !== 'function')
177
+ issue('callable-missing', installed);
178
+ else if (matches[0] !== installed || matches[0].callable !== installed.callable)
179
+ issue('callable-substituted', installed);
180
+ }
181
+ candidate.filter((entry) => !installedAuthoritySemanticBindings.some((installed) => sameRef(entry, installed)))
182
+ .forEach((entry) => issue('extra', entry));
183
+ }
184
+ function exactTransitionBindings(candidate, diagnostics) {
185
+ const expected = installedTransitionExecutableBinding;
186
+ const matches = candidate.filter((entry) => entry.transitionId === expected.transitionId);
187
+ const issue = (id, path, ref) => diagnostics.push({ diagnosticId: `core.transition-binding.${id}`, path, ref, message: `Exact transition binding mismatch: ${ref}.` });
188
+ if (matches.length !== 1)
189
+ issue(matches.length === 0 ? 'missing' : 'duplicate', `/transitionExecutableBindings/${expected.transitionId}`, expected.transitionId);
190
+ candidate.filter((entry) => entry.transitionId !== expected.transitionId).forEach((entry) => issue('extra', '/transitionExecutableBindings', entry.transitionId));
191
+ if (matches.length !== 1 || matches[0] === expected)
192
+ return;
193
+ const actual = matches[0];
194
+ expected.guardCallables.filter((guard) => !actual.guardCallables.some((entry) => entry.guardId === guard.guardId)).forEach((guard) => issue('guard-missing', '/transitionExecutableBindings/guards', guard.guardId));
195
+ actual.guardCallables.filter((guard) => !expected.guardCallables.some((entry) => entry.guardId === guard.guardId) || actual.guardCallables.filter((entry) => entry.guardId === guard.guardId).length > 1).forEach((guard) => issue('guard-extra', '/transitionExecutableBindings/guards', guard.guardId));
196
+ if (actual.guardCallables.map((entry) => entry.guardId).join('\0') !== expected.guardCallables.map((entry) => entry.guardId).join('\0'))
197
+ issue('guard-order-mismatch', '/transitionExecutableBindings/guards', expected.transitionId);
198
+ expected.guardCallables.forEach((guard, index) => { const entry = actual.guardCallables[index]; if (entry?.guardId === guard.guardId && (entry.callable !== guard.callable || entry.semanticVersion !== guard.semanticVersion || entry.implementationId !== guard.implementationId || entry.implementationVersion !== guard.implementationVersion))
199
+ issue('guard-callable-substituted', `/transitionExecutableBindings/guards/${index}`, guard.guardId); });
200
+ if (actual.version !== expected.version)
201
+ issue('semantic-mismatch', '/transitionExecutableBindings/version', expected.transitionId);
202
+ if (actual.runtimeSemanticFingerprint !== expected.runtimeSemanticFingerprint || actual.evaluate !== expected.evaluate || actual.implementationId !== expected.implementationId || actual.implementationVersion !== expected.implementationVersion || actual.executableSlots !== expected.executableSlots)
203
+ issue('semantic-mismatch', '/transitionExecutableBindings', expected.transitionId);
204
+ }
205
+ function bindPayloadSchemas(definition, artifacts, validators, diagnostics) {
206
+ let schemaRefs = [];
207
+ try {
208
+ const closure = runtimeSemanticProjectionForCore(stripHashes(definition));
209
+ schemaRefs = closure.filter((entry) => entry.category === 'schemas').map((entry) => entry.entry);
210
+ }
211
+ catch {
212
+ return [];
213
+ }
214
+ return schemaRefs.map((schema) => {
215
+ const installedArtifact = onlyInstalled(installedPayloadSchemaArtifacts, schema);
216
+ const installedValidator = onlyInstalled(installedPayloadSchemaValidators, schema);
217
+ const artifactMatches = artifacts.filter((entry) => sameRef(entry, schema));
218
+ const validatorMatches = validators.filter((entry) => sameRef(entry, schema));
219
+ if (artifactMatches.length !== 1)
220
+ diagnostics.push({ diagnosticId: artifactMatches.length === 0 ? 'core.payload-artifact.missing' : 'core.payload-artifact.duplicate', path: `/schemaArtifacts/${schema.id}`, ref: refKey(schema), message: `${schema.id} artifact must occur exactly once.` });
221
+ else if (artifactMatches[0] !== installedArtifact)
222
+ diagnostics.push({ diagnosticId: 'core.payload-artifact.subschema-substituted', path: `/schemaArtifacts/${schema.id}`, ref: refKey(schema), message: `${schema.id} artifact identity or subschema differs from Core.` });
223
+ if (validatorMatches.length !== 1)
224
+ diagnostics.push({ diagnosticId: validatorMatches.length === 0 ? 'core.payload-validator.missing' : 'core.payload-validator.duplicate', path: `/schemaValidators/${schema.id}`, ref: refKey(schema), message: `${schema.id} validator must occur exactly once.` });
225
+ else if (validatorMatches[0] !== installedValidator || validatorMatches[0].callable !== installedValidator.callable)
226
+ diagnostics.push({ diagnosticId: 'core.payload-validator.callable-substituted', path: `/schemaValidators/${schema.id}`, ref: refKey(schema), message: `${schema.id} validator differs from Core.` });
227
+ return { schema, artifact: installedArtifact, validator: installedValidator };
228
+ });
229
+ }
230
+ function runtimeSemanticProjectionForCore(metadata) {
231
+ return runtimeProjection(metadata).resolvedRegistryEntries;
232
+ }
233
+ function readinessFromIr(ir) {
234
+ const transitions = ir.map((entry) => ({ transitionId: entry.transitionId,
235
+ blockers: [...evaluateInstalledReleaseRulesForCore(entry.rules)] }));
236
+ const content = { staticReady: ir.length > 0 && transitions.every((entry) => entry.blockers.length === 0),
237
+ catalogBlockers: ir.length === 0 ? ['static.catalog.empty'] : [], transitions };
238
+ return deepFreeze({ ...content, reportHash: hashCanonical(content) });
239
+ }
240
+ function semanticOrder(definition) {
241
+ return { transitionId: definition.transitionId, guards: definition.guards.map((entry) => entry.guardId),
242
+ effects: definition.effects.orderedNodes.map((entry) => ({ id: entry.effectId, ordinal: entry.ordinal, dependsOn: entry.dependsOn })),
243
+ revalidations: definition.admissionBoundary.orderedRevalidations.map((entry) => ({ id: entry.revalidationId, ordinal: entry.ordinal })) };
244
+ }
245
+ function projectPrivateIr(ir) {
246
+ const runtime = runtimeProjection(stripHashes(ir.serializedDefinition));
247
+ return { transitionId: ir.transitionId, semantics: runtime.semantics, registryClosure: runtime.resolvedRegistryEntries,
248
+ transitionExecutableBinding: projectTransitionBinding(ir.transitionExecutableBinding), authoritySemanticBundle: projectAuthoritySemanticBundle(ir.authoritySemanticBindings),
249
+ credentialSemanticBundle: {
250
+ manifestSha256: credentialClosure.manifestSha256,
251
+ closureSha256: ir.credentialClosureSha256,
252
+ artifacts: correctiveReplanCredentialSchemaArtifacts.map(({ document: _document, ...entry }) => entry),
253
+ validators: correctiveReplanCredentialSchemaValidators.map(({ callable: _callable, ...entry }) => entry),
254
+ functions: ir.credentialSemanticBindings.map(({ callable: _callable, ...entry }) => entry),
255
+ },
256
+ definitionSchema: projectPayloadBinding(ir.definitionSchema), rules: ir.rules.map(projectRule),
257
+ payloadSchemas: ir.payloadSchemas.map(projectPayloadBinding), blockers: evaluateInstalledReleaseRulesForCore(ir.rules) };
258
+ }
259
+ function projectTransitionBinding(entry) { return { transitionId: entry.transitionId, version: entry.version, runtimeSemanticFingerprint: entry.runtimeSemanticFingerprint, implementationId: entry.implementationId, implementationVersion: entry.implementationVersion, guards: entry.guardCallables.map(({ callable: _callable, ...guard }) => guard), executableSlots: entry.executableSlots.map((slot) => ({ path: slot.path, binding: projectExecutable(slot.binding) })) }; }
260
+ function projectExecutable(entry) { return { id: entry.id, version: entry.version, semanticId: entry.semanticId, semanticVersion: entry.semanticVersion, wiring: entry.wiring ?? null, implementationResult: entry.implementationResult ?? null, projectionWiring: entry.projectionWiring ?? null }; }
261
+ function projectRule(entry) { return { id: entry.id, version: entry.version, implementationId: entry.implementationId, implementationVersion: entry.implementationVersion }; }
262
+ function projectPayloadBinding(entry) { return { schema: entry.schema, artifact: projectPayloadArtifact(entry.artifact), validator: projectPayloadValidator(entry.validator) }; }
263
+ function projectPayloadArtifact(entry) { return { id: entry.id, version: entry.version, implementationId: entry.implementationId, implementationVersion: entry.implementationVersion, documentSha256: entry.documentSha256, schemaPointer: entry.schemaPointer, subschemaSha256: entry.subschemaSha256 }; }
264
+ function projectPayloadValidator(entry) { return { id: entry.id, version: entry.version, implementationId: entry.implementationId, implementationVersion: entry.implementationVersion, artifactSha256: entry.artifactSha256, subschemaSha256: entry.subschemaSha256 }; }
265
+ function stripHashes(definition) { const { runtimeSemanticFingerprint: _r, semanticFingerprint: _s, definitionManifestHash: _m, ...metadata } = definition; return metadata; }
266
+ function onlyInstalled(entries, ref) { const matches = entries.filter((entry) => sameRef(entry, ref)); return matches.length === 1 ? matches[0] : undefined; }
267
+ function sameRef(left, right) { return left.id === right.id && left.version === right.version; }
268
+ function refKey(ref) { return `${ref.id}@${ref.version}`; }
269
+ function executable(ref) { const matches = installedExecutables.filter((entry) => sameRef(entry, ref)); if (matches.length !== 1)
270
+ throw new TypeError(`Installed executable ${refKey(ref)} is not exact-one.`); return matches[0]; }
271
+ function declaredExecutableSlots() {
272
+ const metadata = taskCorrectiveReplanDefinition.metadata;
273
+ const refs = [
274
+ ...metadata.guards.map((guard, index) => [`/guards/${index}/evaluator`, guard.evaluator]),
275
+ ...metadata.effects.orderedNodes.map((effect, index) => [`/effects/orderedNodes/${index}/adapter`, effect.adapter]),
276
+ ...metadata.admissionBoundary.orderedRevalidations.map((entry, index) => [`/admissionBoundary/orderedRevalidations/${index}/evaluator`, entry.evaluator]),
277
+ ...metadata.authority.separationOfDuty.map((constraint, index) => [`/authority/separationOfDuty/${index}/comparator`, constraint.comparator]),
278
+ ...metadata.authority.forbiddenCombinations.map((constraint, index) => [`/authority/forbiddenCombinations/${index}/comparator`, constraint.comparator]),
279
+ ['/authority/credentialVerifier', { id: 'credential-verifier.corrective-replan.receipt', version: 1 }],
280
+ ['/admissionBoundary/lock/policy', metadata.admissionBoundary.lock.policy],
281
+ ['/atomicity/journal/adapter', metadata.atomicity.journal.mode === 'required' ? metadata.atomicity.journal.adapter : { id: 'journal-adapter.unreachable', version: 1 }],
282
+ ['/atomicity/recovery/adapter', metadata.atomicity.recovery.mode !== 'manual-integrity-stop' ? metadata.atomicity.recovery.adapter : { id: 'recovery-adapter.unreachable', version: 1 }],
283
+ ['/executorAdapter', metadata.executorAdapter], ['/atomicity/executionKey/hashPolicy', metadata.atomicity.executionKey.hashPolicy],
284
+ ['/atomicity/readback/adapter', metadata.atomicity.readback.adapter], ['/atomicity/readback/resultDigestPolicy', metadata.atomicity.readback.resultDigestPolicy],
285
+ ];
286
+ metadata.inputContract.forEach((contract, index) => { const input = transitionSemanticRegistry.inputs.find((entry) => sameRef(entry, contract.input)); if (input?.hashPolicy)
287
+ refs.push([`/inputContract/${index}/hashPolicy`, input.hashPolicy]); });
288
+ return refs.map(([path, ref]) => ({ path, binding: executable(ref) }));
289
+ }
290
+ function firstDifferencePath(left, right, path = '') {
291
+ if (Object.is(left, right))
292
+ return null;
293
+ if (Array.isArray(left) && Array.isArray(right)) {
294
+ for (let index = 0; index < Math.max(left.length, right.length); index += 1) {
295
+ const mismatch = firstDifferencePath(left[index], right[index], `${path}/${index}`);
296
+ if (mismatch)
297
+ return mismatch;
298
+ }
299
+ return null;
300
+ }
301
+ if (left !== null && right !== null && typeof left === 'object' && typeof right === 'object') {
302
+ for (const key of [...new Set([...Object.keys(left), ...Object.keys(right)])].filter((entry) => entry !== 'description').sort()) {
303
+ const mismatch = firstDifferencePath(left[key], right[key], `${path}/${key}`);
304
+ if (mismatch)
305
+ return mismatch;
306
+ }
307
+ return null;
308
+ }
309
+ return path || '/';
310
+ }
311
+ function requireRecord(catalog) { const record = catalog !== null && typeof catalog === 'object' ? issuedCatalogs.get(catalog) : undefined; if (!record) {
312
+ const error = new TypeError('Invalid compiled provenance: catalog was not issued by Workflow Core.');
313
+ Object.assign(error, { code: 'INVALID_COMPILED_PROVENANCE' });
314
+ throw error;
315
+ } return record; }
316
+ function failed(diagnostics) { const ordered = orderDiagnostics(diagnostics); return { ok: false, diagnostics: ordered, diagnosticsHash: hashCanonical(ordered) }; }
317
+ function orderDiagnostics(diagnostics) { return [...diagnostics].sort((left, right) => `${left.path}\0${left.diagnosticId}\0${left.ref ?? ''}`.localeCompare(`${right.path}\0${right.diagnosticId}\0${right.ref ?? ''}`)); }
318
+ //# sourceMappingURL=transition-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-core.js","sourceRoot":"","sources":["../../src/transition-core.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export declare const PACKAGE_NAME = "codex-workflow-v2";
2
- export declare const PACKAGE_VERSION = "2.0.0-alpha.7.2.1";
2
+ export declare const PACKAGE_VERSION = "2.0.0-beta.10";
@@ -1,3 +1,3 @@
1
1
  export const PACKAGE_NAME = 'codex-workflow-v2';
2
- export const PACKAGE_VERSION = '2.0.0-alpha.7.2.1';
2
+ export const PACKAGE_VERSION = '2.0.0-beta.10';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
@@ -1,12 +1,13 @@
1
- import { type AdoptionPostureEvent, type ContextEnvelope, type CorrectivePlanAuditInput, type DelegationGrant, type DelegationGrantGate, type DelegationPolicyInput, type DiscoveryState, type MilestonePlanInput, type MilestoneState, type KnowledgeSelection, type GraphBinding, type GraphKind, type GraphMode, type GraphRefreshEvidence, type GraphRefreshRequest, type PlanRiskAuditEvent, type ProjectKnowledgeMap, type ReviewInput, type TaskPlanInput, type TaskContextRefreshResult, type TaskState, type UpdatePreflightResult, type WriterLease, type WorkflowRole, type WorkspaceOwner } from './contracts.js';
1
+ import { type AdoptionPostureEvent, type ContextEnvelope, type CorrectivePlanAuditInput, type DependencyProvenanceRecoveryPreflight, type DelegationGrant, type DelegationGrantGate, type DelegationPolicyInput, type DiscoveryState, type MilestonePlanInput, type MilestoneProgressProjection, type MilestoneState, type KnowledgeSelection, type GraphBinding, type GraphKind, type GraphMode, type GraphRefreshEvidence, type GraphRefreshRequest, type PlanRiskAuditEvent, type PublicWriterLease, type PublicWriterLeaseDiagnostic, type PublicWriterLeaseRepairResult, type ProjectKnowledgeMap, type ReviewInput, type TaskPlanInput, type TaskContextRefreshResult, type TaskState, type UpdatePreflightResult, type WriterCredentialResult, type WriterCredentialStatus, type WorkflowObservation, type WorkflowRole, type WorkspaceOwner } from './contracts.js';
2
2
  import { appendTaskClaim, appendTaskHandback, readTaskC1Posture } from './alpha6/handoff.js';
3
3
  import { type AdoptionPreparation } from './alpha6/adoption.js';
4
4
  import { type RecordPlanRiskAuditInput } from './alpha6/plan-risk.js';
5
5
  import { type ActiveMilestoneAutonomy, type MilestoneAutonomyPreparation } from './alpha7/autonomy.js';
6
- import { type RepositoryIdentity } from './repository.js';
7
- import { type ReviewerCommandRunner } from './reviewer.js';
8
- import { WriterLockManager } from './state/lock.js';
6
+ import { type ExternalStrictStepReviewInput, type ExternalStrictTaskReviewInput, type ReviewerCommandRunner } from './reviewer.js';
9
7
  import { FileStateStore } from './state/store.js';
8
+ import { type CorrectiveYieldExecutionResult } from './state/corrective-yield-executor.js';
9
+ import { type CorrectiveReplanHumanGate, type CorrectiveReplanHumanGateResult, type CorrectiveReplanPublicCandidate, type CorrectiveReplanPublicCredential } from './state/corrective-replan-public.js';
10
+ import type { CorrectiveReplanExecutionResult } from './state/corrective-replan-executor.js';
10
11
  export interface DiscoveryInput {
11
12
  goal: string;
12
13
  outcome?: string;
@@ -24,10 +25,15 @@ export interface DiscoveryPatch extends Omit<DiscoveryInput, 'goal'> {
24
25
  goal?: string;
25
26
  resolveUnknowns?: string[];
26
27
  }
27
- export interface WorkflowContext {
28
- identity: RepositoryIdentity;
29
- store: FileStateStore;
30
- locks: WriterLockManager;
28
+ export interface WorkflowStatusResult {
29
+ projectId: string;
30
+ discoveries: DiscoveryState[];
31
+ tasks: TaskState[];
32
+ milestones: MilestoneState[];
33
+ milestoneInitialAssembly: MilestoneInitialAssemblyNavigation[];
34
+ delegations: DelegationGrant[];
35
+ adoption: AdoptionPreparation | null;
36
+ observation: WorkflowObservation;
31
37
  }
32
38
  export interface MilestoneScopeChangePreparation {
33
39
  milestoneId: string;
@@ -55,8 +61,8 @@ export interface Alpha6StrictReviewRescuePreflight {
55
61
  projectId: string;
56
62
  repositoryRoot: string;
57
63
  clean: boolean;
58
- activeLeases: WriterLease[];
59
- staleLeases: WriterLease[];
64
+ activeLeases: PublicWriterLease[];
65
+ staleLeases: PublicWriterLease[];
60
66
  candidate: {
61
67
  taskId: string;
62
68
  taskRevision: number;
@@ -74,11 +80,33 @@ export interface Alpha6StrictReviewRescuePreflight {
74
80
  expectedRevision?: number;
75
81
  }>;
76
82
  }
83
+ interface MilestoneInitialAssemblyOption {
84
+ action: 'linked-task-assembly' | 'milestone plan-set';
85
+ commands: string[];
86
+ description: string;
87
+ }
88
+ interface MilestoneInitialAssemblyNavigation {
89
+ milestoneId: string;
90
+ revision: number;
91
+ linkedTaskIds: string[];
92
+ executionAvailable: false;
93
+ options: MilestoneInitialAssemblyOption[];
94
+ }
77
95
  export declare class WorkflowService {
96
+ #private;
78
97
  readonly store: FileStateStore;
79
98
  private readonly now;
80
99
  constructor(store?: FileStateStore, now?: () => Date);
81
- context(repository: string): WorkflowContext;
100
+ inspectWriterLease(repository: string, entityId: string): PublicWriterLeaseDiagnostic | null;
101
+ repairStaleWriterLease(repository: string, entityId: string): PublicWriterLeaseRepairResult;
102
+ prepareCorrectiveReplan(repository: string, taskId: string, candidate: CorrectiveReplanPublicCandidate): CorrectiveReplanHumanGateResult;
103
+ confirmCorrectiveReplan(repository: string, taskId: string, candidate: CorrectiveReplanPublicCandidate, gate: CorrectiveReplanHumanGate, confirmationCode: string): CorrectiveReplanPublicCredential;
104
+ executeCorrectiveReplan(repository: string, taskId: string, candidate: CorrectiveReplanPublicCandidate, credential: CorrectiveReplanPublicCredential): CorrectiveReplanExecutionResult;
105
+ recoverCorrectiveReplan(repository: string, taskId: string, transactionId: string): CorrectiveReplanExecutionResult;
106
+ executeCorrectiveYield(repository: string, taskId: string, expectedTaskRevision: number, actor: string, writerToken: string, reason: string): CorrectiveYieldExecutionResult;
107
+ recoverCorrectiveYield(repository: string, taskId: string, transactionId: string): CorrectiveYieldExecutionResult;
108
+ private correctiveReplanController;
109
+ private observationSnapshot;
82
110
  prepareDelegation(repository: string, input: DelegationPolicyInput): DelegationGrantGate;
83
111
  grantDelegation(repository: string, input: DelegationPolicyInput, confirmationCode: string): DelegationGrant;
84
112
  revokeDelegation(repository: string, grantId: string, expectedRevision: number, actor: string, reason: string): DelegationGrant;
@@ -89,6 +117,12 @@ export declare class WorkflowService {
89
117
  task: TaskState;
90
118
  taskRoot: string;
91
119
  };
120
+ replaceSplitRequiredTask(repository: string, oldTaskId: string, expectedOldTaskRevision: number, discoveryId: string, expectedDiscoveryRevision: number, expectedMilestoneRevision: number, title: string, actor: string): {
121
+ oldTask: TaskState;
122
+ replacementTask: TaskState;
123
+ discovery: DiscoveryState;
124
+ milestone: MilestoneState;
125
+ };
92
126
  materializeMilestone(repository: string, discoveryId: string, expectedRevision: number, title: string, baseBranch?: string): {
93
127
  discovery: DiscoveryState;
94
128
  milestone: MilestoneState;
@@ -114,7 +148,7 @@ export declare class WorkflowService {
114
148
  posture: ReturnType<typeof readTaskC1Posture>;
115
149
  claimTokenAvailable: false;
116
150
  };
117
- handoffTask(repository: string, taskId: string, expectedRevision: number, actor: string, targetActor: string, reason: string, writerToken?: string | null, grantId?: string | null, expiresAt?: string | null): {
151
+ handoffTask(repository: string, taskId: string, expectedRevision: number, actor: string, targetActor: string, reason: string, writerToken?: string | null, grantId?: string | null, expiresAt?: string | null, replacePending?: boolean): {
118
152
  task: TaskState;
119
153
  event: import("./contracts.js").TaskHandoffEvent;
120
154
  bundle: import("./contracts.js").TaskHandoffBundle;
@@ -122,7 +156,15 @@ export declare class WorkflowService {
122
156
  claimTask(repository: string, taskId: string, expectedRevision: number, actor: string, claimToken: string, writerToken?: string | null): {
123
157
  task: TaskState;
124
158
  event: ReturnType<typeof appendTaskClaim>;
125
- lease: WriterLease;
159
+ lease: PublicWriterLease;
160
+ writerCredential: WriterCredentialResult;
161
+ };
162
+ replaceClaimedWriterCredential(repository: string, taskId: string, expectedRevision: number, actor: string): {
163
+ task: TaskState;
164
+ lease: PublicWriterLease;
165
+ writerCredential: Extract<WriterCredentialResult, {
166
+ disposition: 'issued';
167
+ }>;
126
168
  };
127
169
  handbackTask(repository: string, taskId: string, expectedRevision: number, actor: string, reason: string, writerToken?: string | null, limitations?: readonly string[], recommendedNext?: string): {
128
170
  task: TaskState;
@@ -131,12 +173,29 @@ export declare class WorkflowService {
131
173
  startTask(repository: string, taskId: string, expectedRevision: number, workspaceOwner: WorkspaceOwner): TaskState;
132
174
  runStep(repository: string, taskId: string, stepId: string, expectedRevision: number, actor: string, writerToken: string | null): {
133
175
  task: TaskState;
134
- lease: WriterLease;
176
+ lease: PublicWriterLease;
177
+ writerCredential: WriterCredentialStatus;
135
178
  envelope: ContextEnvelope;
136
179
  };
137
180
  taskContext(repository: string, taskId: string, role: Exclude<WorkflowRole, 'scope-lead' | 'worker'>): ContextEnvelope;
138
181
  completeStep(repository: string, taskId: string, stepId: string, expectedRevision: number, writerToken: string, notes: string[], actor?: string): TaskState;
139
182
  reviewStep(repository: string, taskId: string, stepId: string, expectedRevision: number, runner?: ReviewerCommandRunner, actor?: string, writerToken?: string | null): TaskState;
183
+ prepareExternalStepReview(repository: string, taskId: string, stepId: string, expectedRevision: number): import("./reviewer.js").ExternalStrictStepReviewPacket;
184
+ recordExternalStepReview(repository: string, taskId: string, stepId: string, expectedRevision: number, input: ExternalStrictStepReviewInput, actor: string, writerToken?: string | null): {
185
+ mode: "external-sealed";
186
+ packetHash: string;
187
+ repositorySealHash: string;
188
+ reviewerThreadId: string;
189
+ task: TaskState;
190
+ };
191
+ prepareExternalTaskReview(repository: string, taskId: string, expectedRevision: number): import("./reviewer.js").ExternalStrictTaskReviewPacket;
192
+ recordExternalTaskReview(repository: string, taskId: string, expectedRevision: number, input: ExternalStrictTaskReviewInput, actor: string, writerToken?: string | null): {
193
+ mode: "external-sealed";
194
+ packetHash: string;
195
+ repositorySealHash: string;
196
+ reviewerThreadId: string;
197
+ task: TaskState;
198
+ };
140
199
  submitTask(repository: string, taskId: string, expectedRevision: number, writerToken: string, actor?: string): TaskState;
141
200
  recordReview(repository: string, taskId: string, expectedRevision: number, review: ReviewInput, actor?: string, writerToken?: string | null): TaskState;
142
201
  recoverStepCorrectiveDecision(repository: string, taskId: string, stepId: string, expectedRevision: number, actor: string, writerToken: string | null): import("./contracts.js").CorrectiveDecisionRecoveryEvent;
@@ -147,14 +206,7 @@ export declare class WorkflowService {
147
206
  syncTaskBase(repository: string, taskId: string, expectedRevision: number): TaskState;
148
207
  mergeTask(repository: string, taskId: string, expectedRevision: number, writerToken: string, actor?: string): TaskState;
149
208
  confirmExternalMerge(repository: string, taskId: string, expectedRevision: number, writerToken: string, actor?: string): TaskState;
150
- status(repository: string): {
151
- projectId: string;
152
- discoveries: DiscoveryState[];
153
- tasks: TaskState[];
154
- milestones: MilestoneState[];
155
- delegations: DelegationGrant[];
156
- adoption: AdoptionPreparation;
157
- };
209
+ status(repository: string): WorkflowStatusResult;
158
210
  recoverMilestoneTransactions(repository: string): {
159
211
  projectId: string;
160
212
  recoveredMilestoneIds: string[];
@@ -162,15 +214,18 @@ export declare class WorkflowService {
162
214
  prepareAdoption(repository: string): AdoptionPreparation;
163
215
  applyAdoption(repository: string, actor: string, confirmationCode: string): AdoptionPostureEvent;
164
216
  updatePreflight(repository: string): UpdatePreflightResult & {
165
- adoption: AdoptionPreparation;
217
+ adoption: AdoptionPreparation | null;
166
218
  };
219
+ dependencyProvenanceRecoveryPreflight(repository: string, taskId: string): DependencyProvenanceRecoveryPreflight;
220
+ recoverDependencyProvenance(repository: string, taskId: string, expectedRevision: number, actor: string, reason: string): TaskState;
221
+ milestoneProgress(repository: string, milestoneId: string): MilestoneProgressProjection;
167
222
  alpha6StrictReviewRescuePreflight(repository: string): Alpha6StrictReviewRescuePreflight;
168
223
  scanKnowledgeMap(repository: string): ProjectKnowledgeMap;
169
224
  showKnowledgeMap(repository: string): ProjectKnowledgeMap;
170
225
  knowledgeMapStatus(repository: string): ProjectKnowledgeMap;
171
226
  approveKnowledgeMap(repository: string, expectedRevision: number, selections: KnowledgeSelection[], actor: string, delegationGrantId?: string | null): ProjectKnowledgeMap;
172
227
  private approveKnowledgeMapForTaskRefresh;
173
- reconcileKnowledgeMap(repository: string, expectedRevision: number): ProjectKnowledgeMap;
228
+ reconcileKnowledgeMap(repository: string, expectedRevision: number, allowAtomicTaskRefresh?: boolean): ProjectKnowledgeMap;
174
229
  graphRefreshRequest(repository: string, graphKind: GraphKind, mode?: GraphMode): GraphRefreshRequest;
175
230
  graphStatus(repository: string, graphKind: GraphKind, mode?: GraphMode): {
176
231
  request: GraphRefreshRequest;
@@ -178,12 +233,17 @@ export declare class WorkflowService {
178
233
  };
179
234
  bindGraph(repository: string, expectedRevision: number | null, request: GraphRefreshRequest, evidence: GraphRefreshEvidence): GraphBinding;
180
235
  recordGraphFallback(repository: string, graphKind: GraphKind, mode: GraphMode, expectedRevision: number | null, reason: string): GraphBinding;
181
- next(repository: string): Record<string, unknown>;
236
+ next(repository: string, taskId?: string | null): Record<string, unknown>;
182
237
  private delegatedAuthorization;
183
238
  private assertHandoffGrant;
184
239
  private nextForTaskWithDelegation;
240
+ private taskPlanContract;
241
+ private assertTaskContextChangeAllowed;
242
+ private taskHasTerminalCorrectiveDecision;
243
+ private taskTerminalCorrectivePosture;
185
244
  private delegatedApprovalOptions;
186
245
  private delegatedContextRefreshOptions;
246
+ private findDelegatedContextRefreshOwner;
187
247
  private assertPlanBoundedSupportingSourceGrant;
188
248
  private assertDelegationScopeExists;
189
249
  private assertExecutionAuthorizationFresh;
@@ -191,7 +251,14 @@ export declare class WorkflowService {
191
251
  private readMilestoneCurrent;
192
252
  private readMilestoneScopeChangeCurrent;
193
253
  private listMilestonesCurrent;
254
+ private listMilestonesObserved;
255
+ private taskGitNavigationOverride;
256
+ private inspectDependencyProvenanceCandidate;
257
+ private withTaskNavigationContracts;
258
+ private writerCredentialRecoveryActor;
259
+ private describeMilestoneInitialAssembly;
194
260
  private prepareMilestoneScopeChangeCandidate;
261
+ private publicWriterLeaseDiagnostic;
195
262
  private proveWriterLeaseTokenForHandoff;
196
263
  private proveOptionalWriterLeaseToken;
197
264
  private assertTaskMutationAllowedByHandoff;
@@ -208,3 +275,4 @@ export declare class WorkflowService {
208
275
  private validateKnowledgeTargets;
209
276
  private assertReviewFresh;
210
277
  }
278
+ export {};