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.
- package/README.md +60 -16
- package/dist/reviewer-runtime-build.json +1092 -0
- package/dist/src/alpha6/check-support-anchor.d.ts +24 -0
- package/dist/src/alpha6/check-support-anchor.js +102 -0
- package/dist/src/alpha6/check-support-anchor.js.map +1 -0
- package/dist/src/alpha6/component-owner.d.ts +28 -0
- package/dist/src/alpha6/component-owner.js +95 -0
- package/dist/src/alpha6/component-owner.js.map +1 -0
- package/dist/src/alpha6/downstream-proof.js +4 -2
- package/dist/src/alpha6/downstream-proof.js.map +1 -1
- package/dist/src/alpha6/mechanical-feasibility.js +42 -12
- package/dist/src/alpha6/mechanical-feasibility.js.map +1 -1
- package/dist/src/alpha6/milestone.d.ts +6 -2
- package/dist/src/alpha6/milestone.js +164 -10
- package/dist/src/alpha6/milestone.js.map +1 -1
- package/dist/src/alpha6/npm-check-contract.d.ts +11 -0
- package/dist/src/alpha6/npm-check-contract.js +36 -0
- package/dist/src/alpha6/npm-check-contract.js.map +1 -0
- package/dist/src/alpha6/plan-integrity.js +157 -27
- package/dist/src/alpha6/plan-integrity.js.map +1 -1
- package/dist/src/alpha6/plan-risk.js +3 -1
- package/dist/src/alpha6/plan-risk.js.map +1 -1
- package/dist/src/alpha6/remediation-cause.d.ts +13 -0
- package/dist/src/alpha6/remediation-cause.js +77 -0
- package/dist/src/alpha6/remediation-cause.js.map +1 -0
- package/dist/src/alpha6/remediation.d.ts +15 -4
- package/dist/src/alpha6/remediation.js +430 -67
- package/dist/src/alpha6/remediation.js.map +1 -1
- package/dist/src/alpha6/review.d.ts +6 -0
- package/dist/src/alpha6/review.js +46 -4
- package/dist/src/alpha6/review.js.map +1 -1
- package/dist/src/artifacts.js +6 -0
- package/dist/src/artifacts.js.map +1 -1
- package/dist/src/cli-actions.d.ts +25 -0
- package/dist/src/cli-actions.js +109 -0
- package/dist/src/cli-actions.js.map +1 -0
- package/dist/src/cli.js +244 -253
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +202 -5
- package/dist/src/credential-transport.d.ts +38 -0
- package/dist/src/credential-transport.js +156 -0
- package/dist/src/credential-transport.js.map +1 -0
- package/dist/src/dependency-provenance.d.ts +23 -2
- package/dist/src/dependency-provenance.js +239 -36
- package/dist/src/dependency-provenance.js.map +1 -1
- package/dist/src/domain/completed-step-carryover.d.ts +13 -0
- package/dist/src/domain/completed-step-carryover.js +71 -0
- package/dist/src/domain/completed-step-carryover.js.map +1 -0
- package/dist/src/domain/validation.d.ts +9 -1
- package/dist/src/domain/validation.js +86 -0
- package/dist/src/domain/validation.js.map +1 -1
- package/dist/src/gateway-handshake.d.ts +11 -0
- package/dist/src/gateway-handshake.js +92 -0
- package/dist/src/gateway-handshake.js.map +1 -0
- package/dist/src/git.js +1 -0
- package/dist/src/git.js.map +1 -1
- package/dist/src/historical-step-provenance.d.ts +20 -0
- package/dist/src/historical-step-provenance.js +111 -0
- package/dist/src/historical-step-provenance.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lifecycle/corrective-replan-binding-manifest.d.ts +5 -0
- package/dist/src/lifecycle/corrective-replan-binding-manifest.js +9 -0
- package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -1
- package/dist/src/lifecycle/corrective-replan.js +1 -1
- package/dist/src/lifecycle/corrective-replan.js.map +1 -1
- package/dist/src/lifecycle/semantic-registry.js +1 -1
- package/dist/src/observation.js +1 -2
- package/dist/src/observation.js.map +1 -1
- package/dist/src/observed-routes.d.ts +114 -0
- package/dist/src/observed-routes.js +545 -0
- package/dist/src/observed-routes.js.map +1 -0
- package/dist/src/operational-contract.d.ts +26 -0
- package/dist/src/operational-contract.js +94 -0
- package/dist/src/operational-contract.js.map +1 -0
- package/dist/src/reviewer.d.ts +218 -8
- package/dist/src/reviewer.js +927 -25
- package/dist/src/reviewer.js.map +1 -1
- package/dist/src/state/corrective-replan-executor.js +23 -15
- package/dist/src/state/corrective-replan-executor.js.map +1 -1
- package/dist/src/state/corrective-replan-public.js +35 -10
- package/dist/src/state/corrective-replan-public.js.map +1 -1
- package/dist/src/state/corrective-replan-transaction.js +12 -4
- package/dist/src/state/corrective-replan-transaction.js.map +1 -1
- package/dist/src/state/corrective-yield-transaction.js +11 -2
- package/dist/src/state/corrective-yield-transaction.js.map +1 -1
- package/dist/src/state/lock.d.ts +1 -0
- package/dist/src/state/lock.js +24 -0
- package/dist/src/state/lock.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/src/workflow.d.ts +70 -4
- package/dist/src/workflow.js +1888 -152
- package/dist/src/workflow.js.map +1 -1
- package/docs/autonomy-guardrails.md +41 -14
- package/docs/delegated-approval.md +6 -1
- package/docs/development-flow.md +42 -12
- package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
- package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
- package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
- package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +191 -22
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +163 -45
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +346 -52
- package/docs/problem-briefs/01-pre-implementation-integrity.md +11 -7
- package/docs/problem-briefs/04-task-dependency-and-structural-replacement-integrity.md +13 -6
- package/docs/problem-briefs/README.md +11 -11
- package/docs/release.md +89 -9
- package/docs/updating-existing-project.md +235 -0
- package/docs/validation-report.md +156 -98
- package/package.json +12 -3
- package/plugins/codex-workflow-gateway/.codex-plugin/plugin.json +1 -1
- package/plugins/codex-workflow-gateway/references/protocol.md +9 -0
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +67 -1
- package/schemas/authorization-event.schema.json +10 -3
- package/schemas/corrective-decision-event.schema.json +164 -9
- package/schemas/corrective-replan-credentials.private.schema.json +4 -2
- package/schemas/milestone-scope-change-event.schema.json +25 -1
- package/schemas/remediation-event.schema.json +17 -1
- package/schemas/review-result.schema.json +1 -0
- package/schemas/step-review-event.schema.json +15 -0
- package/schemas/task.schema.json +104 -1
- 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":"
|
|
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));
|
package/dist/src/git.js.map
CHANGED
|
@@ -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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"}
|
package/dist/src/index.d.ts
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';
|
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';
|
package/dist/src/index.js.map
CHANGED
|
@@ -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
|
|
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
|
},
|