codex-workflow-v2 2.0.0-beta.12.8 → 2.0.0-beta.13

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 (124) hide show
  1. package/README.md +60 -16
  2. package/dist/reviewer-runtime-build.json +1092 -0
  3. package/dist/src/alpha6/check-support-anchor.d.ts +24 -0
  4. package/dist/src/alpha6/check-support-anchor.js +102 -0
  5. package/dist/src/alpha6/check-support-anchor.js.map +1 -0
  6. package/dist/src/alpha6/component-owner.d.ts +28 -0
  7. package/dist/src/alpha6/component-owner.js +95 -0
  8. package/dist/src/alpha6/component-owner.js.map +1 -0
  9. package/dist/src/alpha6/downstream-proof.js +4 -2
  10. package/dist/src/alpha6/downstream-proof.js.map +1 -1
  11. package/dist/src/alpha6/mechanical-feasibility.js +42 -12
  12. package/dist/src/alpha6/mechanical-feasibility.js.map +1 -1
  13. package/dist/src/alpha6/milestone.d.ts +6 -2
  14. package/dist/src/alpha6/milestone.js +164 -10
  15. package/dist/src/alpha6/milestone.js.map +1 -1
  16. package/dist/src/alpha6/npm-check-contract.d.ts +11 -0
  17. package/dist/src/alpha6/npm-check-contract.js +36 -0
  18. package/dist/src/alpha6/npm-check-contract.js.map +1 -0
  19. package/dist/src/alpha6/plan-integrity.js +157 -27
  20. package/dist/src/alpha6/plan-integrity.js.map +1 -1
  21. package/dist/src/alpha6/plan-risk.js +3 -1
  22. package/dist/src/alpha6/plan-risk.js.map +1 -1
  23. package/dist/src/alpha6/remediation-cause.d.ts +13 -0
  24. package/dist/src/alpha6/remediation-cause.js +77 -0
  25. package/dist/src/alpha6/remediation-cause.js.map +1 -0
  26. package/dist/src/alpha6/remediation.d.ts +15 -4
  27. package/dist/src/alpha6/remediation.js +430 -67
  28. package/dist/src/alpha6/remediation.js.map +1 -1
  29. package/dist/src/alpha6/review.d.ts +6 -0
  30. package/dist/src/alpha6/review.js +46 -4
  31. package/dist/src/alpha6/review.js.map +1 -1
  32. package/dist/src/artifacts.js +6 -0
  33. package/dist/src/artifacts.js.map +1 -1
  34. package/dist/src/cli-actions.d.ts +25 -0
  35. package/dist/src/cli-actions.js +109 -0
  36. package/dist/src/cli-actions.js.map +1 -0
  37. package/dist/src/cli.js +244 -253
  38. package/dist/src/cli.js.map +1 -1
  39. package/dist/src/contracts.d.ts +202 -5
  40. package/dist/src/credential-transport.d.ts +38 -0
  41. package/dist/src/credential-transport.js +156 -0
  42. package/dist/src/credential-transport.js.map +1 -0
  43. package/dist/src/dependency-provenance.d.ts +23 -2
  44. package/dist/src/dependency-provenance.js +239 -36
  45. package/dist/src/dependency-provenance.js.map +1 -1
  46. package/dist/src/domain/completed-step-carryover.d.ts +13 -0
  47. package/dist/src/domain/completed-step-carryover.js +71 -0
  48. package/dist/src/domain/completed-step-carryover.js.map +1 -0
  49. package/dist/src/domain/validation.d.ts +9 -1
  50. package/dist/src/domain/validation.js +86 -0
  51. package/dist/src/domain/validation.js.map +1 -1
  52. package/dist/src/gateway-handshake.d.ts +11 -0
  53. package/dist/src/gateway-handshake.js +92 -0
  54. package/dist/src/gateway-handshake.js.map +1 -0
  55. package/dist/src/git.js +1 -0
  56. package/dist/src/git.js.map +1 -1
  57. package/dist/src/historical-step-provenance.d.ts +20 -0
  58. package/dist/src/historical-step-provenance.js +111 -0
  59. package/dist/src/historical-step-provenance.js.map +1 -0
  60. package/dist/src/index.d.ts +2 -0
  61. package/dist/src/index.js +2 -0
  62. package/dist/src/index.js.map +1 -1
  63. package/dist/src/lifecycle/corrective-replan-binding-manifest.d.ts +5 -0
  64. package/dist/src/lifecycle/corrective-replan-binding-manifest.js +9 -0
  65. package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -1
  66. package/dist/src/lifecycle/corrective-replan.js +1 -1
  67. package/dist/src/lifecycle/corrective-replan.js.map +1 -1
  68. package/dist/src/lifecycle/semantic-registry.js +1 -1
  69. package/dist/src/observation.js +1 -2
  70. package/dist/src/observation.js.map +1 -1
  71. package/dist/src/observed-routes.d.ts +114 -0
  72. package/dist/src/observed-routes.js +545 -0
  73. package/dist/src/observed-routes.js.map +1 -0
  74. package/dist/src/operational-contract.d.ts +26 -0
  75. package/dist/src/operational-contract.js +94 -0
  76. package/dist/src/operational-contract.js.map +1 -0
  77. package/dist/src/reviewer.d.ts +218 -8
  78. package/dist/src/reviewer.js +927 -25
  79. package/dist/src/reviewer.js.map +1 -1
  80. package/dist/src/state/corrective-replan-executor.js +23 -15
  81. package/dist/src/state/corrective-replan-executor.js.map +1 -1
  82. package/dist/src/state/corrective-replan-public.js +35 -10
  83. package/dist/src/state/corrective-replan-public.js.map +1 -1
  84. package/dist/src/state/corrective-replan-transaction.js +12 -4
  85. package/dist/src/state/corrective-replan-transaction.js.map +1 -1
  86. package/dist/src/state/corrective-yield-transaction.js +11 -2
  87. package/dist/src/state/corrective-yield-transaction.js.map +1 -1
  88. package/dist/src/state/lock.d.ts +1 -0
  89. package/dist/src/state/lock.js +24 -0
  90. package/dist/src/state/lock.js.map +1 -1
  91. package/dist/src/version.d.ts +1 -1
  92. package/dist/src/version.js +1 -1
  93. package/dist/src/version.js.map +1 -1
  94. package/dist/src/workflow.d.ts +70 -4
  95. package/dist/src/workflow.js +1888 -152
  96. package/dist/src/workflow.js.map +1 -1
  97. package/docs/autonomy-guardrails.md +41 -14
  98. package/docs/delegated-approval.md +6 -1
  99. package/docs/development-flow.md +42 -12
  100. package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
  101. package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
  102. package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
  103. package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +191 -22
  104. package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +163 -45
  105. package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +346 -52
  106. package/docs/problem-briefs/01-pre-implementation-integrity.md +11 -7
  107. package/docs/problem-briefs/04-task-dependency-and-structural-replacement-integrity.md +13 -6
  108. package/docs/problem-briefs/README.md +11 -11
  109. package/docs/release.md +89 -9
  110. package/docs/updating-existing-project.md +235 -0
  111. package/docs/validation-report.md +156 -98
  112. package/package.json +12 -3
  113. package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +1 -1
  114. package/plugins/codex-workflow-gateway/references/protocol.md +9 -0
  115. package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +67 -1
  116. package/schemas/authorization-event.schema.json +10 -3
  117. package/schemas/corrective-decision-event.schema.json +164 -9
  118. package/schemas/corrective-replan-credentials.private.schema.json +4 -2
  119. package/schemas/milestone-scope-change-event.schema.json +25 -1
  120. package/schemas/remediation-event.schema.json +17 -1
  121. package/schemas/review-result.schema.json +1 -0
  122. package/schemas/step-review-event.schema.json +15 -0
  123. package/schemas/task.schema.json +104 -1
  124. package/schemas/transition-definition.schema.json +8 -0
@@ -0,0 +1,13 @@
1
+ import type { PlanStepInput, TaskPlanInput, TaskState } from '../contracts.js';
2
+ type TaskStep = TaskState['steps'][number];
3
+ /**
4
+ * Derive the completed Steps whose authority remains valid under a replacement Plan.
5
+ *
6
+ * A completed Step is retained only when its executable definition is unchanged and
7
+ * every dependency is itself retained. The recursive dependency check makes the
8
+ * result independent from candidate Plan ordering and fails closed on malformed
9
+ * dependency cycles even though ordinary Plan validation rejects cycles earlier.
10
+ */
11
+ export declare function deriveCompletedStepCarryover(task: TaskState, candidateSteps: readonly TaskPlanInput['steps'][number][]): ReadonlyMap<string, TaskStep>;
12
+ export declare function normalizePlanStepDefinition(step: PlanStepInput | TaskStep): PlanStepInput;
13
+ export {};
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Derive the completed Steps whose authority remains valid under a replacement Plan.
3
+ *
4
+ * A completed Step is retained only when its executable definition is unchanged and
5
+ * every dependency is itself retained. The recursive dependency check makes the
6
+ * result independent from candidate Plan ordering and fails closed on malformed
7
+ * dependency cycles even though ordinary Plan validation rejects cycles earlier.
8
+ */
9
+ export function deriveCompletedStepCarryover(task, candidateSteps) {
10
+ const duplicateCandidateIds = new Set();
11
+ const candidateById = new Map();
12
+ for (const candidate of candidateSteps) {
13
+ if (candidateById.has(candidate.id))
14
+ duplicateCandidateIds.add(candidate.id);
15
+ else
16
+ candidateById.set(candidate.id, normalizePlanStepDefinition(candidate));
17
+ }
18
+ const exactCompletedById = new Map();
19
+ for (const previous of task.steps) {
20
+ if (previous.status !== 'completed' || duplicateCandidateIds.has(previous.id))
21
+ continue;
22
+ const candidate = candidateById.get(previous.id);
23
+ if (!candidate)
24
+ continue;
25
+ if (samePlanStepDefinition(previous, candidate))
26
+ exactCompletedById.set(previous.id, previous);
27
+ }
28
+ const retained = new Map();
29
+ const rejected = new Set();
30
+ const visiting = new Set();
31
+ const retain = (stepId) => {
32
+ if (retained.has(stepId))
33
+ return true;
34
+ if (rejected.has(stepId) || visiting.has(stepId))
35
+ return false;
36
+ const previous = exactCompletedById.get(stepId);
37
+ if (!previous) {
38
+ rejected.add(stepId);
39
+ return false;
40
+ }
41
+ visiting.add(stepId);
42
+ const dependenciesRetained = previous.dependencies.every((dependencyId) => retain(dependencyId));
43
+ visiting.delete(stepId);
44
+ if (!dependenciesRetained) {
45
+ rejected.add(stepId);
46
+ return false;
47
+ }
48
+ retained.set(stepId, previous);
49
+ return true;
50
+ };
51
+ for (const stepId of exactCompletedById.keys())
52
+ retain(stepId);
53
+ return retained;
54
+ }
55
+ export function normalizePlanStepDefinition(step) {
56
+ return {
57
+ id: step.id,
58
+ title: step.title,
59
+ objective: step.objective,
60
+ requirements: [...step.requirements],
61
+ dependencies: [...step.dependencies],
62
+ expectedOutputs: [...step.expectedOutputs],
63
+ allowedWrites: [...step.allowedWrites],
64
+ forbiddenScope: [...step.forbiddenScope],
65
+ checks: [...step.checks],
66
+ };
67
+ }
68
+ function samePlanStepDefinition(previous, candidate) {
69
+ return JSON.stringify(normalizePlanStepDefinition(previous)) === JSON.stringify(candidate);
70
+ }
71
+ //# sourceMappingURL=completed-step-carryover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completed-step-carryover.js","sourceRoot":"","sources":["../../../src/domain/completed-step-carryover.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
- import type { TaskPlanInput } from '../contracts.js';
1
+ import type { PlanRiskAuditStepClassification, TaskPlanInput, TaskState } from '../contracts.js';
2
2
  export declare function validatePlan(plan: TaskPlanInput): void;
3
+ /**
4
+ * Derive the narrow beta.13 structural integration obligation from the independent
5
+ * Plan Risk Audit rather than trusting the planner-owned opt-in flag. This is not
6
+ * semantic output-to-evidence authority (P02): it only proves that a multi-Step
7
+ * runtime-composition Plan names an inbound production hand-off and executes its
8
+ * exact check in the consumer Step.
9
+ */
10
+ export declare function validateStructuralProductionEdgeAuthority(task: Pick<TaskState, 'id' | 'steps' | 'productionEdges' | 'requiresProductionEdges'>, classifications: readonly PlanRiskAuditStepClassification[]): void;
3
11
  export declare function pathAllowed(file: string, patterns: string[]): boolean;
@@ -77,9 +77,95 @@ export function validatePlan(plan) {
77
77
  };
78
78
  for (const step of plan.steps)
79
79
  visit(step.id);
80
+ const productionEdges = plan.productionEdges ?? [];
81
+ if (plan.requiresProductionEdges && productionEdges.length === 0) {
82
+ issues.push('Plan requiresProductionEdges but declares no explicit production edge.');
83
+ }
84
+ if (!plan.requiresProductionEdges && productionEdges.length > 0) {
85
+ issues.push('Plan declares productionEdges without the explicit requiresProductionEdges boundary.');
86
+ }
87
+ const edgeKeys = new Set();
88
+ for (const edge of productionEdges) {
89
+ const key = `${edge.ownerStepId}\0${edge.consumerStepId}\0${edge.checkRef}`;
90
+ if (edgeKeys.has(key))
91
+ issues.push(`Duplicate production edge: ${edge.ownerStepId} -> ${edge.consumerStepId}.`);
92
+ edgeKeys.add(key);
93
+ const owner = byId.get(edge.ownerStepId);
94
+ const consumer = byId.get(edge.consumerStepId);
95
+ if (!owner)
96
+ issues.push(`Production edge owner is missing: ${edge.ownerStepId}.`);
97
+ if (!consumer)
98
+ issues.push(`Production edge consumer is missing: ${edge.consumerStepId}.`);
99
+ if (owner && consumer && owner.id === consumer.id)
100
+ issues.push(`Production edge cannot self-reference ${owner.id}.`);
101
+ if (owner && consumer && !transitiveDependencies(consumer.id, byId).has(owner.id)) {
102
+ issues.push(`Production edge owner ${owner.id} is not a transitive dependency of consumer ${consumer.id}.`);
103
+ }
104
+ if (consumer && !consumer.checks.includes(edge.checkRef)) {
105
+ issues.push(`Production edge ${edge.ownerStepId} -> ${edge.consumerStepId} names a check not executed by its consumer.`);
106
+ }
107
+ }
80
108
  if (issues.length > 0)
81
109
  throw new WorkflowError('TRANSITION_BLOCKED', 'Plan is not execution-ready.', { issues });
82
110
  }
111
+ /**
112
+ * Derive the narrow beta.13 structural integration obligation from the independent
113
+ * Plan Risk Audit rather than trusting the planner-owned opt-in flag. This is not
114
+ * semantic output-to-evidence authority (P02): it only proves that a multi-Step
115
+ * runtime-composition Plan names an inbound production hand-off and executes its
116
+ * exact check in the consumer Step.
117
+ */
118
+ export function validateStructuralProductionEdgeAuthority(task, classifications) {
119
+ if (task.steps.length < 2)
120
+ return;
121
+ const integrationConsumerIds = classifications
122
+ .filter((classification) => classification.categories.includes('runtime-composition'))
123
+ .map((classification) => classification.stepId)
124
+ .sort();
125
+ if (integrationConsumerIds.length === 0)
126
+ return;
127
+ const edges = task.productionEdges ?? [];
128
+ const byId = new Map(task.steps.map((step) => [step.id, step]));
129
+ const missingConsumerEdgeIds = integrationConsumerIds.filter((consumerStepId) => !edges.some((edge) => edge.consumerStepId === consumerStepId));
130
+ const blockingGuardIds = [
131
+ ...(task.requiresProductionEdges === true ? [] : ['task.production-edge.explicit-boundary']),
132
+ ...(edges.length > 0 ? [] : ['task.production-edge.non-empty']),
133
+ ...(missingConsumerEdgeIds.length > 0 ? ['task.production-edge.runtime-consumer-covered'] : []),
134
+ ];
135
+ for (const edge of edges) {
136
+ const consumer = byId.get(edge.consumerStepId);
137
+ const owner = byId.get(edge.ownerStepId);
138
+ if (!consumer || !owner || !transitiveDependencies(consumer.id, byId).has(owner.id)
139
+ || !consumer.checks.includes(edge.checkRef)) {
140
+ blockingGuardIds.push('task.production-edge.executable-predecessor-binding');
141
+ break;
142
+ }
143
+ }
144
+ if (blockingGuardIds.length === 0)
145
+ return;
146
+ throw new WorkflowError('TRANSITION_BLOCKED', `Runtime-composition authority for Task ${task.id} requires explicit production-edge coverage.`, {
147
+ diagnosticCode: 'STRUCTURAL_PRODUCTION_EDGE_REQUIRED',
148
+ triggerAuthority: 'plan-risk-audit.runtime-composition',
149
+ integrationConsumerStepIds: integrationConsumerIds,
150
+ missingConsumerEdgeIds,
151
+ blockingGuardIds: [...new Set(blockingGuardIds)],
152
+ semanticAuthorityClaimed: false,
153
+ requiredAction: 'Declare requiresProductionEdges=true and bind each runtime-composition consumer to a transitive owner and one exact consumer check.',
154
+ });
155
+ }
156
+ function transitiveDependencies(stepId, byId) {
157
+ const result = new Set();
158
+ const visit = (candidateId) => {
159
+ for (const dependency of byId.get(candidateId)?.dependencies ?? []) {
160
+ if (result.has(dependency))
161
+ continue;
162
+ result.add(dependency);
163
+ visit(dependency);
164
+ }
165
+ };
166
+ visit(stepId);
167
+ return result;
168
+ }
83
169
  export function pathAllowed(file, patterns) {
84
170
  const normalized = file.replaceAll('\\', '/').replace(/^\.\//, '');
85
171
  return patterns.some((pattern) => {
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/domain/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,UAAU,YAAY,CAAC,IAAmB;IAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACzF,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC/F,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAC1F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC3G,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,eAAe,yCAAyC,CAAC,CAAC;IAChG,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,IAAI,qBAAqB,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,IAAI,2BAA2B,CAAC,CAAC;IAClH,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACnE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,gCAAgC,CAAC,CAAC;QAC1G,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,uCAAuC,CAAC,CAAC;QACnG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,gCAAgC,CAAC,CAAC;QAC/F,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,8CAA8C,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,uBAAuB,UAAU,GAAG,CAAC,CAAC;YACtF,IAAI,UAAU,KAAK,IAAI,CAAC,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACzE,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,2CAA2C,WAAW,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,CAAC,MAAc,EAAQ,EAAE;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,kCAAkC,MAAM,GAAG,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,IAAI,EAAE;YAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACjF,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,8BAA8B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,QAAkB;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACnE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,UAAU,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7H,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,UAAU,KAAK,SAAS,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/domain/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { PROTOCOL_VERSION, STATE_SCHEMA_VERSION } from './contracts.js';
2
+ import { PACKAGE_NAME, PACKAGE_VERSION } from './version.js';
3
+ export interface GatewayHandshake {
4
+ packageName: typeof PACKAGE_NAME;
5
+ packageVersion: typeof PACKAGE_VERSION;
6
+ protocolVersion: typeof PROTOCOL_VERSION;
7
+ stateSchemaVersion: typeof STATE_SCHEMA_VERSION;
8
+ capabilities: string[];
9
+ }
10
+ export declare function gatewayHandshake(): GatewayHandshake;
11
+ export declare function workflowCapabilities(): string[];
@@ -0,0 +1,92 @@
1
+ import { PROTOCOL_VERSION, STATE_SCHEMA_VERSION } from './contracts.js';
2
+ import { PACKAGE_NAME, PACKAGE_VERSION } from './version.js';
3
+ export function gatewayHandshake() {
4
+ return {
5
+ packageName: PACKAGE_NAME,
6
+ packageVersion: PACKAGE_VERSION,
7
+ protocolVersion: PROTOCOL_VERSION,
8
+ stateSchemaVersion: STATE_SCHEMA_VERSION,
9
+ capabilities: workflowCapabilities(),
10
+ };
11
+ }
12
+ export function workflowCapabilities() {
13
+ return [
14
+ 'project-memory-v1',
15
+ 'graph-binding-v1',
16
+ 'local-state-v1',
17
+ 'milestone-lifecycle-v1',
18
+ 'milestone-human-final-gate-v1',
19
+ 'delegated-approval-v1',
20
+ 'task-knowledge-rebind-v1',
21
+ 'task-context-refresh-v1',
22
+ 'corrective-plan-audit-v1',
23
+ 'safe-update-preflight-v1',
24
+ 'bounded-dependency-provenance-recovery-v1',
25
+ 'task-local-dependency-provenance-recovery-v1',
26
+ 'legacy-stop-escalate-override-v1',
27
+ 'stop-override-context-rebind-v1',
28
+ 'stop-override-context-rebind-chain-v1',
29
+ 'stop-override-post-audit-dependency-revision-v1',
30
+ 'retained-reviewed-history-recovery-v1',
31
+ 'historical-step-provenance-recovery-v1',
32
+ 'milestone-progress-projection-v1',
33
+ 'bounded-plan-integrity-recovery-v1',
34
+ 'check-support-scope-augmentation-v1',
35
+ 'coherent-plan-integrity-update-source-v1',
36
+ 'historical-check-support-scope-adoption-v1',
37
+ 'historical-check-support-dirty-carryover-v1',
38
+ 'downstream-proof-predecessor-recovery-v1',
39
+ 'downstream-proof-replan-recovery-v1',
40
+ 'active-downstream-proof-dependency-recovery-v1',
41
+ 'downstream-proof-replan-update-recovery-v1',
42
+ 'plan-integrity-update-recovery-v1',
43
+ 'task-mechanical-feasibility-v1',
44
+ 'task-human-gate-lease-release-v1',
45
+ 'strict-reviewer-v1',
46
+ 'legacy-snapshot-v1',
47
+ 'plan-risk-audit-sidecar-v1',
48
+ 'step-strict-review-sidecar-v1',
49
+ 'step-remediation-circuit-breaker-sidecar-v1',
50
+ 'milestone-scope-change-sidecar-v1',
51
+ 'milestone-membership-integrity-v1',
52
+ 'milestone-task-dependency-dag-v1',
53
+ 'milestone-initial-plan-transaction-v1',
54
+ 'task-c1-handoff-sidecar-v1',
55
+ 'semantic-plan-risk-audit-v2',
56
+ 'guarded-remediation-continuation-v1',
57
+ 'cause-bound-rolling-refinement-v1',
58
+ 'failed-step-continuation-transaction-v1',
59
+ 'host-safe-credential-reference-v1',
60
+ 'structural-production-edge-contract-v1',
61
+ 'structural-production-edge-authority-v1',
62
+ 'observed-route-matrix-v2',
63
+ 'compact-status-v1',
64
+ 'reviewer-runtime-preflight-v1',
65
+ 'explicit-review-mode-v1',
66
+ 'app-owned-operational-preflight-v1',
67
+ 'milestone-reverse-membership-integrity-v1',
68
+ 'task-c1-handoff-bundle-v2',
69
+ 'alpha6-adoption-posture-v1',
70
+ 'alpha6-strict-review-rescue-v1',
71
+ 'milestone-initial-assembly-v1',
72
+ 'milestone-initial-assembly-navigation-v2',
73
+ 'milestone-autonomy-contract-v1',
74
+ 'milestone-autonomy-content-refresh-v1',
75
+ 'milestone-autonomous-membership-evolution-v1',
76
+ 'audited-remediation-topology-v1',
77
+ 'audited-remediation-dependency-knowledge-refresh-v1',
78
+ 'corrective-derived-task-authority-v1',
79
+ 'task-c1-derived-worker-actor-v1',
80
+ 'guarded-corrective-auditor-routing-v1',
81
+ 'corrective-decision-context-recovery-v1',
82
+ 'remediation-mode-recovery-v1',
83
+ 'plan-proof-obligations-v1',
84
+ 'structural-task-replacement-disabled-v1',
85
+ 'project-composite-transaction-journal-v1',
86
+ 'corrective-yield-journal-v1',
87
+ 'corrective-replan-journal-v1',
88
+ 'corrective-replan-human-gate-v1',
89
+ 'corrective-replan-protocol-v2',
90
+ ];
91
+ }
92
+ //# sourceMappingURL=gateway-handshake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-handshake.js","sourceRoot":"","sources":["../../src/gateway-handshake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAU7D,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,WAAW,EAAE,YAAY;QACzB,cAAc,EAAE,eAAe;QAC/B,eAAe,EAAE,gBAAgB;QACjC,kBAAkB,EAAE,oBAAoB;QACxC,YAAY,EAAE,oBAAoB,EAAE;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,mBAAmB;QACnB,kBAAkB;QAClB,gBAAgB;QAChB,wBAAwB;QACxB,+BAA+B;QAC/B,uBAAuB;QACvB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,0BAA0B;QAC1B,2CAA2C;QAC3C,8CAA8C;QAC9C,kCAAkC;QAClC,iCAAiC;QACjC,uCAAuC;QACvC,iDAAiD;QACjD,uCAAuC;QACvC,wCAAwC;QACxC,kCAAkC;QAClC,oCAAoC;QACpC,qCAAqC;QACrC,0CAA0C;QAC1C,4CAA4C;QAC5C,6CAA6C;QAC7C,0CAA0C;QAC1C,qCAAqC;QACrC,gDAAgD;QAChD,4CAA4C;QAC5C,mCAAmC;QACnC,gCAAgC;QAChC,kCAAkC;QAClC,oBAAoB;QACpB,oBAAoB;QACpB,4BAA4B;QAC5B,+BAA+B;QAC/B,6CAA6C;QAC7C,mCAAmC;QACnC,mCAAmC;QACnC,kCAAkC;QAClC,uCAAuC;QACvC,4BAA4B;QAC5B,6BAA6B;QAC7B,qCAAqC;QACrC,mCAAmC;QACnC,yCAAyC;QACzC,mCAAmC;QACnC,wCAAwC;QACxC,yCAAyC;QACzC,0BAA0B;QAC1B,mBAAmB;QACnB,+BAA+B;QAC/B,yBAAyB;QACzB,oCAAoC;QACpC,2CAA2C;QAC3C,2BAA2B;QAC3B,4BAA4B;QAC5B,gCAAgC;QAChC,+BAA+B;QAC/B,0CAA0C;QAC1C,gCAAgC;QAChC,uCAAuC;QACvC,8CAA8C;QAC9C,iCAAiC;QACjC,qDAAqD;QACrD,sCAAsC;QACtC,iCAAiC;QACjC,uCAAuC;QACvC,yCAAyC;QACzC,8BAA8B;QAC9B,2BAA2B;QAC3B,yCAAyC;QACzC,0CAA0C;QAC1C,6BAA6B;QAC7B,8BAA8B;QAC9B,iCAAiC;QACjC,+BAA+B;KAChC,CAAC;AACJ,CAAC"}
package/dist/src/git.js CHANGED
@@ -106,6 +106,7 @@ export function validateTaskHistory(repositoryRoot, task, historyBoundary = 'HEA
106
106
  ...task.steps.flatMap((step) => (step.evidence ? [step.evidence.commitSha] : [])),
107
107
  ...task.systemCommits,
108
108
  ...(task.invalidatedStepCommits ?? []),
109
+ ...(task.historicalStepProvenanceRecoveries ?? []).map((recovery) => recovery.commitSha),
109
110
  ...(task.dependencyProvenanceRecoveries ?? []).flatMap((recovery) => recovery.retainedHistoricalCommits ?? []),
110
111
  ])];
111
112
  const missing = expected.filter((commit) => !actual.includes(commit));
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { HistoricalStepProvenanceRecoveryPreflight, TaskState } from './contracts.js';
2
+ export interface HistoricalStepProvenanceEnvironment {
3
+ activeLeaseCount: number;
4
+ staleLeaseCount: number;
5
+ pendingTransactionCount: number;
6
+ corruptTransactionCount: number;
7
+ coreOperationCount: number;
8
+ verifiedHistoricalStepBindings: Array<{
9
+ stepId: string;
10
+ commitSha: string;
11
+ planHash: string;
12
+ recordedAt: string;
13
+ }>;
14
+ }
15
+ export interface HistoricalStepProvenanceInspectionOptions {
16
+ historyBoundary?: string;
17
+ preservedHeadCommit?: string;
18
+ }
19
+ export declare function omittedStepEvidenceCommits(task: TaskState, nextSteps: ReadonlyArray<Pick<TaskState['steps'][number], 'evidence'>>): string[];
20
+ export declare function inspectHistoricalStepProvenanceRecovery(repositoryRoot: string, task: TaskState, environment: HistoricalStepProvenanceEnvironment, options?: HistoricalStepProvenanceInspectionOptions): HistoricalStepProvenanceRecoveryPreflight;
@@ -0,0 +1,111 @@
1
+ import { changedFiles, currentBranch, headCommit, runGit } from './repository.js';
2
+ export function omittedStepEvidenceCommits(task, nextSteps) {
3
+ const retainedByCurrentPlan = new Set(nextSteps.flatMap((step) => step.evidence ? [step.evidence.commitSha] : []));
4
+ return [...new Set(task.steps.flatMap((step) => step.evidence && !retainedByCurrentPlan.has(step.evidence.commitSha)
5
+ ? [step.evidence.commitSha]
6
+ : []))];
7
+ }
8
+ export function inspectHistoricalStepProvenanceRecovery(repositoryRoot, task, environment, options = {}) {
9
+ const blockers = [];
10
+ const dirty = changedFiles(repositoryRoot);
11
+ const historyBoundary = options.historyBoundary ?? 'HEAD';
12
+ const head = options.preservedHeadCommit ?? headCommit(repositoryRoot);
13
+ const activeSteps = task.steps.filter((step) => step.status === 'in_progress');
14
+ const activeStep = activeSteps.length === 1 ? activeSteps[0] : null;
15
+ if (task.status !== 'in_progress')
16
+ blockers.push('The Task must be in progress.');
17
+ if (activeSteps.length !== 1)
18
+ blockers.push('Exactly one Step must be in progress.');
19
+ if (activeStep && dirty.some((file) => !activeStep.allowedWrites.includes(file))) {
20
+ blockers.push('Dirty files must remain confined to the active Step allowedWrites.');
21
+ }
22
+ if (task.workspaceOwner !== 'local')
23
+ blockers.push('Recovery is limited to a local Task workspace.');
24
+ if (!task.taskBranch || currentBranch(repositoryRoot) !== task.taskBranch) {
25
+ blockers.push('The current branch must be the recorded Task branch.');
26
+ }
27
+ if (!task.baseCommit)
28
+ blockers.push('The Task must have a recorded base commit.');
29
+ if (!task.planHash)
30
+ blockers.push('The Task must have a current Plan hash.');
31
+ if (environment.activeLeaseCount > 0)
32
+ blockers.push('No active writer lease may exist.');
33
+ if (environment.staleLeaseCount > 0)
34
+ blockers.push('No stale writer lease may exist.');
35
+ if (environment.pendingTransactionCount > 0)
36
+ blockers.push('No pending Workflow transaction may exist.');
37
+ if (environment.corruptTransactionCount > 0)
38
+ blockers.push('No corrupt Workflow transaction may exist.');
39
+ if (environment.coreOperationCount > 0)
40
+ blockers.push('No Core Task operation may exist.');
41
+ let candidate = null;
42
+ let sourceFinalAcceptanceRecordedAt = null;
43
+ if (task.baseCommit) {
44
+ try {
45
+ const output = runGit(repositoryRoot, ['rev-list', '--reverse', `${task.baseCommit}..${historyBoundary}`]);
46
+ const actual = output ? output.split('\n') : [];
47
+ const expected = [...new Set([
48
+ ...task.steps.flatMap((step) => (step.evidence ? [step.evidence.commitSha] : [])),
49
+ ...task.systemCommits,
50
+ ...(task.invalidatedStepCommits ?? []),
51
+ ...(task.dependencyProvenanceRecoveries ?? []).flatMap((recovery) => recovery.retainedHistoricalCommits ?? []),
52
+ ])];
53
+ const missing = expected.filter((commit) => !actual.includes(commit));
54
+ const unexpected = actual.filter((commit) => !expected.includes(commit));
55
+ if (missing.length > 0)
56
+ blockers.push('Recorded Task history contains missing commits.');
57
+ if (unexpected.length !== 1)
58
+ blockers.push('Recovery requires exactly one unregistered historical commit.');
59
+ candidate = unexpected.length === 1 ? unexpected[0] : null;
60
+ const verifiedBindings = candidate
61
+ ? environment.verifiedHistoricalStepBindings.filter((binding) => binding.commitSha === candidate)
62
+ : [];
63
+ if (verifiedBindings.length === 0) {
64
+ blockers.push('The historical commit lacks a complete passed strict Step Review chain.');
65
+ }
66
+ const finalAcceptance = candidate
67
+ ? task.authorizations.find((authorization) => authorization.kind === 'final_acceptance'
68
+ && ['approved', 'superseded'].includes(authorization.decision)
69
+ && authorization.headCommit === candidate
70
+ && authorization.planHash
71
+ && authorization.resultHash
72
+ && authorization.evidenceHash)
73
+ : null;
74
+ if (!finalAcceptance) {
75
+ blockers.push('The historical commit lacks a hash-bound prior final acceptance.');
76
+ }
77
+ else {
78
+ sourceFinalAcceptanceRecordedAt = finalAcceptance.recordedAt;
79
+ if (!verifiedBindings.some((binding) => binding.planHash === finalAcceptance.planHash
80
+ && binding.recordedAt <= finalAcceptance.recordedAt)) {
81
+ blockers.push('The prior final acceptance does not bind the passed historical Step Review Plan.');
82
+ }
83
+ }
84
+ if (candidate) {
85
+ const subject = runGit(repositoryRoot, ['show', '-s', '--format=%s', candidate]);
86
+ if (!subject.startsWith(`${task.id}/STEP-`)) {
87
+ blockers.push('The historical commit subject is not bound to this Task and a Step.');
88
+ }
89
+ }
90
+ }
91
+ catch {
92
+ blockers.push('The Task history could not be inspected.');
93
+ }
94
+ }
95
+ return {
96
+ eligible: blockers.length === 0,
97
+ action: blockers.length === 0 ? 'task historical-step-provenance-recover' : null,
98
+ projectId: task.projectId,
99
+ taskId: task.id,
100
+ taskRevision: task.revision,
101
+ briefHash: task.briefHash,
102
+ planHash: task.planHash,
103
+ headCommit: head,
104
+ activeStepId: activeStep?.id ?? null,
105
+ dirtyFiles: dirty,
106
+ commitSha: blockers.length === 0 ? candidate : null,
107
+ sourceFinalAcceptanceRecordedAt: blockers.length === 0 ? sourceFinalAcceptanceRecordedAt : null,
108
+ blockers,
109
+ };
110
+ }
111
+ //# sourceMappingURL=historical-step-provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"historical-step-provenance.js","sourceRoot":"","sources":["../../src/historical-step-provenance.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export * from './memory.js';
7
7
  export * from './migration.js';
8
8
  export * from './repository.js';
9
9
  export * from './reviewer.js';
10
+ export * from './observed-routes.js';
11
+ export * from './operational-contract.js';
10
12
  export * from './state/store.js';
11
13
  export * from './workflow.js';
12
14
  export * from './version.js';
package/dist/src/index.js CHANGED
@@ -7,6 +7,8 @@ export * from './memory.js';
7
7
  export * from './migration.js';
8
8
  export * from './repository.js';
9
9
  export * from './reviewer.js';
10
+ export * from './observed-routes.js';
11
+ export * from './operational-contract.js';
10
12
  export * from './state/store.js';
11
13
  export * from './workflow.js';
12
14
  export * from './version.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -18,4 +18,9 @@ export declare const correctiveReplanBindingManifest: {
18
18
  }[];
19
19
  };
20
20
  export declare const correctiveReplanBindingIds: string[];
21
+ export declare const historicalCompletedCorrectiveReplanBindingIdentities: readonly [{
22
+ readonly manifestSha256: "edab7ee7ac4018e759f5fc702a11a0fd113ef4f2cf8ed8fa823a59fde3012a1a";
23
+ readonly runtimeFingerprint: "bd4e7a0ddfcb6abc0c5eb107775e6aea7e08c4606dda4d945d77af8a4520710d";
24
+ readonly catalogHash: "fa1d11860d4f07978c3b8e85d1f91cd3d15b17284b05f41e05d462d3bb092aed";
25
+ }];
21
26
  export {};
@@ -9,6 +9,7 @@ let rowsOrdinal = 0;
9
9
  const protocol = (id, field, kind, canonical) => row(id, 'projection.corrective-replan.protocol', field, kind, canonical);
10
10
  const state = (id, field, kind, canonical) => row(id, 'projection.corrective-replan.state', field, kind, canonical);
11
11
  const candidate = (id, field) => row(id, 'projection.corrective-replan.candidate', field, 'sha256', 'lowercase-hex');
12
+ const candidateState = (id, field, kind, canonical) => row(id, 'projection.corrective-replan.candidate', field, kind, canonical);
12
13
  const authority = (id, field, kind, canonical) => row(id, 'projection.corrective-replan.authority', field, kind, canonical);
13
14
  const rows = [
14
15
  protocol('transitionId', 'field.transition-id', 'literal', 'exact'), protocol('runtimeFingerprint', 'field.runtime-fingerprint', 'sha256', 'lowercase-hex'),
@@ -16,6 +17,7 @@ const rows = [
16
17
  state('taskId', 'field.task-id', 'entity-id', 'nfc-trim'), state('revision', 'field.task-revision', 'safe-integer', 'safe-nonnegative-integer'),
17
18
  state('currentPlanHash', 'field.current-plan-hash', 'sha256', 'lowercase-hex'), state('briefHash', 'field.brief-hash', 'sha256', 'lowercase-hex'),
18
19
  state('knowledgeRevision', 'field.knowledge-revision', 'safe-integer', 'safe-nonnegative-integer'), state('knowledgeHash', 'field.knowledge-hash', 'sha256', 'lowercase-hex'),
20
+ candidateState('targetKnowledgeRevision', 'field.target-knowledge-revision', 'safe-integer', 'safe-nonnegative-integer'), candidate('targetKnowledgeHash', 'field.target-knowledge-hash'),
19
21
  state('gitHead', 'field.git-head', 'git-oid', 'lowercase-git-oid'), state('guardedStepId', 'field.guarded-step-id', 'entity-id', 'nfc-trim'),
20
22
  state('correctiveDecisionEventId', 'field.corrective-decision-event-id', 'entity-id', 'nfc-trim'), state('correctiveDecisionHash', 'field.corrective-decision-hash', 'sha256', 'lowercase-hex'),
21
23
  state('attemptCount', 'field.attempt-count', 'safe-integer', 'safe-nonnegative-integer'), state('remediationTailHash', 'field.remediation-tail-hash', 'sha256', 'lowercase-hex'),
@@ -32,4 +34,11 @@ export const correctiveReplanBindingManifest = deepFreeze({
32
34
  manifestSha256: hashCanonical({ ...identity, rows: [...rows].sort((a, b) => a.bindingId.localeCompare(b.bindingId)) }),
33
35
  });
34
36
  export const correctiveReplanBindingIds = deepFreeze(rows.map(({ bindingId }) => bindingId));
37
+ export const historicalCompletedCorrectiveReplanBindingIdentities = deepFreeze([
38
+ {
39
+ manifestSha256: 'edab7ee7ac4018e759f5fc702a11a0fd113ef4f2cf8ed8fa823a59fde3012a1a',
40
+ runtimeFingerprint: 'bd4e7a0ddfcb6abc0c5eb107775e6aea7e08c4606dda4d945d77af8a4520710d',
41
+ catalogHash: 'fa1d11860d4f07978c3b8e85d1f91cd3d15b17284b05f41e05d462d3bb092aed',
42
+ },
43
+ ]);
35
44
  //# sourceMappingURL=corrective-replan-binding-manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"corrective-replan-binding-manifest.js","sourceRoot":"","sources":["../../../src/lifecycle/corrective-replan-binding-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"corrective-replan-binding-manifest.js","sourceRoot":"","sources":["../../../src/lifecycle/corrective-replan-binding-manifest.ts"],"names":[],"mappings":"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"}
@@ -81,7 +81,7 @@ const guards = [
81
81
  const boundedPlanIntegrity = snapshot.remediationAttemptCount === 1
82
82
  && decision?.triggeringAttemptCount === 2
83
83
  && decision.recoveryBasis === 'plan-integrity'
84
- && decision.planIntegrityEvidence?.remediationEventHash !== undefined;
84
+ && decision.planIntegrityEvidence !== undefined;
85
85
  const passed = ordinaryThreshold || boundedPlanIntegrity;
86
86
  return verdict(attemptGuardMetadata, passed, 'ATTEMPT_BINDING_INVALID', 'Corrective replan requires either one bounded Plan-integrity failure or two ordinary failed attempts, with an exact next-ordinal decision.');
87
87
  },