@osovv/vv-opencode 1.4.2 → 1.4.3-rc.1
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/CHANGELOG.md +20 -0
- package/README.md +20 -6
- package/dist/lib/orchestration.js +12 -3
- package/dist/lib/orchestration.js.map +1 -1
- package/dist/lib/spec-lint.d.ts +2 -64
- package/dist/lib/spec-lint.js +47 -45
- package/dist/lib/spec-lint.js.map +1 -1
- package/dist/lib/workflow-contract.d.ts +277 -0
- package/dist/lib/workflow-contract.js +636 -0
- package/dist/lib/workflow-contract.js.map +1 -0
- package/dist/plugins/system-context-injection/index.js +15 -7
- package/dist/plugins/system-context-injection/index.js.map +1 -1
- package/dist/plugins/workflow/authority.d.ts +99 -0
- package/dist/plugins/workflow/authority.js +435 -0
- package/dist/plugins/workflow/authority.js.map +1 -0
- package/dist/plugins/workflow/checkpoint-io.d.ts +10 -1
- package/dist/plugins/workflow/checkpoint-io.js +22 -3
- package/dist/plugins/workflow/checkpoint-io.js.map +1 -1
- package/dist/plugins/workflow/checkpoints.d.ts +58 -1
- package/dist/plugins/workflow/checkpoints.js +362 -34
- package/dist/plugins/workflow/checkpoints.js.map +1 -1
- package/dist/plugins/workflow/delegated.d.ts +150 -2
- package/dist/plugins/workflow/delegated.js +551 -15
- package/dist/plugins/workflow/delegated.js.map +1 -1
- package/dist/plugins/workflow/execution.d.ts +361 -0
- package/dist/plugins/workflow/execution.js +1807 -0
- package/dist/plugins/workflow/execution.js.map +1 -0
- package/dist/plugins/workflow/index.js +539 -80
- package/dist/plugins/workflow/index.js.map +1 -1
- package/dist/plugins/workflow/persistence.d.ts +18 -4
- package/dist/plugins/workflow/persistence.js +439 -42
- package/dist/plugins/workflow/persistence.js.map +1 -1
- package/dist/plugins/workflow/repair.d.ts +2 -0
- package/dist/plugins/workflow/repair.js +16 -8
- package/dist/plugins/workflow/repair.js.map +1 -1
- package/dist/plugins/workflow/snapshots.js +3 -3
- package/dist/plugins/workflow/snapshots.js.map +1 -1
- package/dist/plugins/workflow/state.d.ts +13 -0
- package/dist/plugins/workflow/state.js +37 -7
- package/dist/plugins/workflow/state.js.map +1 -1
- package/dist/plugins/workflow/system-instruction.md +15 -1
- package/dist/plugins/workflow/tooling.d.ts +81 -6
- package/dist/plugins/workflow/tooling.js +956 -23
- package/dist/plugins/workflow/tooling.js.map +1 -1
- package/dist/plugins/workflow/transactions.d.ts +54 -0
- package/dist/plugins/workflow/transactions.js +147 -0
- package/dist/plugins/workflow/transactions.js.map +1 -0
- package/package.json +1 -1
- package/schemas/vvoc/v3.json +1 -1
- package/templates/agents/vv-code-reviewer.md +1 -0
- package/templates/agents/vv-controller.md +26 -13
- package/templates/agents/vv-implementer.md +1 -0
- package/templates/agents/vv-spec-reviewer.md +1 -0
- package/templates/skills/vv-execute/SKILL.md +6 -5
- package/templates/skills/vv-plan/SKILL.md +1 -1
- package/templates/skills/vv-review/SKILL.md +1 -0
- package/templates/skills/vv-spec/SKILL.md +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { DelegatedPlanDefinition, WorkflowExecutionSource } from "../../lib/workflow-contract.js";
|
|
2
2
|
export interface LoadedDelegatedPlan {
|
|
3
3
|
/** Canonical absolute plan.xml path. */
|
|
4
4
|
planPath: string;
|
|
@@ -30,4 +30,13 @@ export interface LoadApprovedDelegatedPlanInput {
|
|
|
30
30
|
}
|
|
31
31
|
/** Deterministic SHA-256 hex digest over provided text. */
|
|
32
32
|
export declare function contentSha256(text: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* Convert a fully validated native package into the common immutable source
|
|
35
|
+
* identity. This is deliberately a pure mapping: native validation, lifecycle
|
|
36
|
+
* checks, and hash binding have already happened during loading, and no generic
|
|
37
|
+
* caller may invoke this to bypass them.
|
|
38
|
+
*/
|
|
39
|
+
export declare function nativeExecutionSource(plan: LoadedDelegatedPlan): Extract<WorkflowExecutionSource, {
|
|
40
|
+
kind: "native-package";
|
|
41
|
+
}>;
|
|
33
42
|
export declare function loadApprovedDelegatedPlan(input: LoadApprovedDelegatedPlanInput): Promise<LoadApprovedDelegatedPlanResult>;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
4
|
// PURPOSE: Filesystem adapter that loads and fully validates an approved active vvoc delegated plan and its linked approved spec for runtime registration.
|
|
5
5
|
// SCOPE: Trusted-root containment, regular-file and archive rejection, strict parse, lifecycle status checks, full cross-file lint through the shared engine, typed delegated extraction, and content-hash capture. Domain transitions and fingerprint capture live elsewhere.
|
|
6
|
-
// DEPENDS: [node:crypto, node:fs/promises, node:path, src/lib/spec-lint.ts]
|
|
7
|
-
// LINKS: [M-WORKFLOW-CHECKPOINTS, M-SPEC-LINT, M-WORKFLOW-DELEGATED, V-M-WORKFLOW-CHECKPOINTS]
|
|
6
|
+
// DEPENDS: [node:crypto, node:fs/promises, node:path, src/lib/spec-lint.ts, src/lib/workflow-contract.ts]
|
|
7
|
+
// LINKS: [M-WORKFLOW-CHECKPOINTS, M-SPEC-LINT, M-WORKFLOW-CONTRACT, M-WORKFLOW-DELEGATED, V-M-WORKFLOW-CHECKPOINTS]
|
|
8
8
|
// ROLE: RUNTIME
|
|
9
9
|
// MAP_MODE: EXPORTS
|
|
10
10
|
// END_MODULE_CONTRACT
|
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
// LoadApprovedDelegatedPlanInput - Workspace root and plan path (absolute or root-relative).
|
|
17
17
|
// loadApprovedDelegatedPlan - Load, validate, lint, and extract one approved delegated plan package.
|
|
18
18
|
// contentSha256 - Deterministic SHA-256 over provided text.
|
|
19
|
+
// nativeExecutionSource - Map a validated native package onto the common immutable source identity.
|
|
19
20
|
// END_MODULE_MAP
|
|
20
21
|
//
|
|
21
22
|
// START_CHANGE_SUMMARY
|
|
22
|
-
// LAST_CHANGE: [C-
|
|
23
|
+
// LAST_CHANGE: [C-WORKFLOW-PLAN-INDEPENDENCE - Added pure native-to-common source adaptation; delegated definition types now come from the shared contract module.]
|
|
23
24
|
// END_CHANGE_SUMMARY
|
|
24
25
|
import { createHash } from "node:crypto";
|
|
25
26
|
import { readFile, realpath, stat } from "node:fs/promises";
|
|
@@ -32,6 +33,24 @@ export function contentSha256(text) {
|
|
|
32
33
|
return createHash("sha256").update(text, "utf8").digest("hex");
|
|
33
34
|
}
|
|
34
35
|
// END_BLOCK_HASH_HELPER
|
|
36
|
+
// START_BLOCK_NATIVE_SOURCE_ADAPTER
|
|
37
|
+
/**
|
|
38
|
+
* Convert a fully validated native package into the common immutable source
|
|
39
|
+
* identity. This is deliberately a pure mapping: native validation, lifecycle
|
|
40
|
+
* checks, and hash binding have already happened during loading, and no generic
|
|
41
|
+
* caller may invoke this to bypass them.
|
|
42
|
+
*/
|
|
43
|
+
export function nativeExecutionSource(plan) {
|
|
44
|
+
return {
|
|
45
|
+
kind: "native-package",
|
|
46
|
+
planPath: plan.planPath,
|
|
47
|
+
specPath: plan.specPath,
|
|
48
|
+
planSha256: plan.planSha256,
|
|
49
|
+
specSha256: plan.specSha256,
|
|
50
|
+
definition: plan.definition,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
// END_BLOCK_NATIVE_SOURCE_ADAPTER
|
|
35
54
|
// START_CONTRACT: loadApprovedDelegatedPlan
|
|
36
55
|
// PURPOSE: Load an active project-local approved vvoc delegated plan plus its linked approved spec, fully linted and typed.
|
|
37
56
|
// INPUTS: { input: LoadApprovedDelegatedPlanInput - trusted workspace root and plan path }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint-io.js","sourceRoot":"","sources":["../../../src/plugins/workflow/checkpoint-io.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,iBAAiB;AACjB,wBAAwB;AACxB,6JAA6J;AAC7J,iRAAiR;AACjR,
|
|
1
|
+
{"version":3,"file":"checkpoint-io.js","sourceRoot":"","sources":["../../../src/plugins/workflow/checkpoint-io.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { DelegatedPlanDefinition, DelegatedReviewer } from "../../lib/spec-lint.js";
|
|
2
2
|
import { type LoadedDelegatedPlan } from "./checkpoint-io.js";
|
|
3
|
+
import { type DelegatedRecoveryKind, type LookupRecoveryUserMessage } from "./delegated.js";
|
|
3
4
|
import { type WorkItemStore, type WorkItemStoreData } from "./state.js";
|
|
4
5
|
export declare const MAX_CHECKPOINT_REVIEW_ATTEMPTS = 2;
|
|
5
6
|
export interface DelegatedReviewerOutcome {
|
|
@@ -17,10 +18,25 @@ export interface DelegatedCheckpointReview {
|
|
|
17
18
|
}
|
|
18
19
|
export interface DelegatedCheckpointHistoryEntry {
|
|
19
20
|
generation: number;
|
|
20
|
-
outcome: "passed" | "failed" | "stale";
|
|
21
|
+
outcome: "passed" | "failed" | "stale" | "stopped";
|
|
21
22
|
fingerprint: string;
|
|
22
23
|
completedAt: string;
|
|
23
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* One bounded checkpoint recovery event. `resume` settles a stopped
|
|
27
|
+
* generation without manufacturing budget; grant kinds add exactly one
|
|
28
|
+
* generation each and stay replay-protected by recoveryId and userMessageId.
|
|
29
|
+
*/
|
|
30
|
+
export interface DelegatedCheckpointRecoveryRecord {
|
|
31
|
+
recoveryId: string;
|
|
32
|
+
targetGeneration: number;
|
|
33
|
+
kind: DelegatedRecoveryKind;
|
|
34
|
+
diagnosis: string;
|
|
35
|
+
changedCondition: string;
|
|
36
|
+
verification: string[];
|
|
37
|
+
recoveredAt: string;
|
|
38
|
+
userMessageId?: string;
|
|
39
|
+
}
|
|
24
40
|
export interface DelegatedRunCheckpoint {
|
|
25
41
|
checkpointId: string;
|
|
26
42
|
kind: "milestone" | "final";
|
|
@@ -33,6 +49,7 @@ export interface DelegatedRunCheckpoint {
|
|
|
33
49
|
lastOutcome?: "passed" | "failed" | "stale" | "stopped" | "incomplete";
|
|
34
50
|
currentReview?: DelegatedCheckpointReview;
|
|
35
51
|
history: DelegatedCheckpointHistoryEntry[];
|
|
52
|
+
recoveryHistory: DelegatedCheckpointRecoveryRecord[];
|
|
36
53
|
}
|
|
37
54
|
export interface DelegatedRunTask {
|
|
38
55
|
taskId: string;
|
|
@@ -54,6 +71,14 @@ export interface DelegatedPlanRun {
|
|
|
54
71
|
tasks: Map<string, DelegatedRunTask>;
|
|
55
72
|
checkpoints: Map<string, DelegatedRunCheckpoint>;
|
|
56
73
|
}
|
|
74
|
+
/** Deep clone of one registered run for staged persistence commits. */
|
|
75
|
+
export declare function cloneDelegatedPlanRun(run: DelegatedPlanRun): DelegatedPlanRun;
|
|
76
|
+
/** Count of budget-granting checkpoint recovery entries. */
|
|
77
|
+
export declare function checkpointRecoveryGrantCount(history: readonly DelegatedCheckpointRecoveryRecord[]): number;
|
|
78
|
+
/** Allowed generation count: the ordinary maximum plus one per recovery grant. */
|
|
79
|
+
export declare function checkpointGenerationBudget(checkpoint: DelegatedRunCheckpoint): number;
|
|
80
|
+
/** Whether the single autonomous checkpoint grant is already recorded. */
|
|
81
|
+
export declare function checkpointAutonomousGrantConsumed(history: readonly DelegatedCheckpointRecoveryRecord[]): boolean;
|
|
57
82
|
export type RegisterDelegatedPlanResult = {
|
|
58
83
|
ok: true;
|
|
59
84
|
runId: string;
|
|
@@ -168,6 +193,38 @@ export interface AuthorizeReworkInput {
|
|
|
168
193
|
}
|
|
169
194
|
export declare function authorizeReworkFromFailedCheckpoint(store: WorkItemStore, input: AuthorizeReworkInput): AuthorizeReworkResult;
|
|
170
195
|
export declare function authorizeReworkFromFailedCheckpointInStore(data: WorkItemStoreData, input: AuthorizeReworkInput): AuthorizeReworkResult;
|
|
196
|
+
export type RecoverDelegatedCheckpointResult = {
|
|
197
|
+
ok: true;
|
|
198
|
+
checkpoint: DelegatedRunCheckpoint;
|
|
199
|
+
recoveryId: string;
|
|
200
|
+
kind: DelegatedRecoveryKind;
|
|
201
|
+
generationBudget: number;
|
|
202
|
+
settledStoppedGeneration?: number;
|
|
203
|
+
} | {
|
|
204
|
+
ok: false;
|
|
205
|
+
errorCode: "RUN_NOT_FOUND" | "SESSION_MISMATCH" | "CHECKPOINT_NOT_FOUND" | "RUN_SEALED" | "ALREADY_PASSED" | "INVALID_TARGET_STATE" | "DUPLICATE_RECOVERY_ID" | "INVALID_INPUT" | "AUTONOMOUS_GRANT_EXHAUSTED" | "AUTHORIZATION_LOOKUP_FAILED" | "AUTHORIZATION_NOT_FOUND" | "AUTHORIZATION_NOT_USER_MESSAGE" | "AUTHORIZATION_SESSION_MISMATCH" | "AUTHORIZATION_ID_MISMATCH" | "AUTHORIZATION_STALE" | "AUTHORIZATION_REUSED";
|
|
206
|
+
message: string;
|
|
207
|
+
};
|
|
208
|
+
export interface RecoverDelegatedCheckpointInput {
|
|
209
|
+
sessionId: string;
|
|
210
|
+
runId: string;
|
|
211
|
+
checkpointId: string;
|
|
212
|
+
diagnosis: string;
|
|
213
|
+
changedCondition: string;
|
|
214
|
+
verification: string[];
|
|
215
|
+
recoveryId: string;
|
|
216
|
+
/** Fresh root-user message authorizing one further generation for this target. */
|
|
217
|
+
userMessageId?: string;
|
|
218
|
+
/** Read-only authorization lookup supplied by the tool layer. */
|
|
219
|
+
lookupUserMessage?: LookupRecoveryUserMessage;
|
|
220
|
+
/**
|
|
221
|
+
* Set by the transaction layer after it has validated and reserved one
|
|
222
|
+
* advance-authority unit for this exact recovery.
|
|
223
|
+
*/
|
|
224
|
+
advanceGrantApproved?: boolean;
|
|
225
|
+
}
|
|
226
|
+
export declare function recoverDelegatedCheckpoint(store: WorkItemStore, input: RecoverDelegatedCheckpointInput): Promise<RecoverDelegatedCheckpointResult>;
|
|
227
|
+
export declare function recoverDelegatedCheckpointInStore(data: WorkItemStoreData, input: RecoverDelegatedCheckpointInput): Promise<RecoverDelegatedCheckpointResult>;
|
|
171
228
|
/** Unsatisfied checkpoint barriers blocking task launches for the given wave, in declaration order. */
|
|
172
229
|
export declare function checkpointBarrierUnsatisfied(data: WorkItemStoreData, runId: string, wave: string): {
|
|
173
230
|
ok: true;
|