@osovv/vv-opencode 1.3.7 → 1.4.0
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 +16 -0
- package/README.md +42 -2
- package/dist/commands/completion.js +10 -2
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/patch-provider.d.ts +97 -1
- package/dist/commands/patch-provider.js +97 -5
- package/dist/commands/patch-provider.js.map +1 -1
- package/dist/lib/orchestration.d.ts +2 -2
- package/dist/lib/orchestration.js +31 -2
- package/dist/lib/orchestration.js.map +1 -1
- package/dist/lib/spec-lint.d.ts +71 -1
- package/dist/lib/spec-lint.js +566 -8
- package/dist/lib/spec-lint.js.map +1 -1
- package/dist/lib/vvoc-config.d.ts +3 -3
- package/dist/lib/vvoc-preset-registry.d.ts +25 -1
- package/dist/lib/vvoc-preset-registry.js +22 -2
- package/dist/lib/vvoc-preset-registry.js.map +1 -1
- package/dist/plugins/hashline-edit/index.js.map +1 -1
- package/dist/plugins/web-tools/providers/brave.js +14 -8
- package/dist/plugins/web-tools/providers/brave.js.map +1 -1
- package/dist/plugins/workflow/checkpoint-io.d.ts +33 -0
- package/dist/plugins/workflow/checkpoint-io.js +224 -0
- package/dist/plugins/workflow/checkpoint-io.js.map +1 -0
- package/dist/plugins/workflow/checkpoints.d.ts +182 -0
- package/dist/plugins/workflow/checkpoints.js +1067 -0
- package/dist/plugins/workflow/checkpoints.js.map +1 -0
- package/dist/plugins/workflow/delegated.d.ts +158 -0
- package/dist/plugins/workflow/delegated.js +613 -0
- package/dist/plugins/workflow/delegated.js.map +1 -0
- package/dist/plugins/workflow/index.js +368 -20
- package/dist/plugins/workflow/index.js.map +1 -1
- package/dist/plugins/workflow/persistence.d.ts +32 -3
- package/dist/plugins/workflow/persistence.js +497 -70
- package/dist/plugins/workflow/persistence.js.map +1 -1
- package/dist/plugins/workflow/repair.js +3 -1
- package/dist/plugins/workflow/repair.js.map +1 -1
- package/dist/plugins/workflow/snapshots.d.ts +59 -0
- package/dist/plugins/workflow/snapshots.js +261 -0
- package/dist/plugins/workflow/snapshots.js.map +1 -0
- package/dist/plugins/workflow/state.d.ts +20 -2
- package/dist/plugins/workflow/state.js +127 -12
- package/dist/plugins/workflow/state.js.map +1 -1
- package/dist/plugins/workflow/tooling.d.ts +45 -0
- package/dist/plugins/workflow/tooling.js +344 -12
- package/dist/plugins/workflow/tooling.js.map +1 -1
- package/dist/plugins/workflow/transitions.js +2 -2
- package/dist/plugins/workflow/transitions.js.map +1 -1
- package/dist/tui/context/analyze.js +3 -1
- package/dist/tui/context/analyze.js.map +1 -1
- package/package.json +1 -1
- package/schemas/vvoc/v3.json +5 -3
- package/templates/agents/vv-code-reviewer.md +3 -1
- package/templates/agents/vv-implementer.md +5 -2
- package/templates/agents/vv-spec-reviewer.md +3 -0
- package/templates/skills/vv-execute/SKILL.md +62 -15
- package/templates/skills/vv-plan/SKILL.md +13 -3
- package/templates/skills/vv-plan/references/plan-template.xml +45 -0
- package/templates/skills/vv-review/SKILL.md +1 -0
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
// FILE: src/plugins/workflow/index.ts
|
|
2
|
-
// VERSION: 0.
|
|
2
|
+
// VERSION: 0.6.0
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
|
-
// PURPOSE: Register workflow tools and enforcement while injecting only startup-profile-compatible vv-controller guidance.
|
|
5
|
-
// SCOPE: work_item_open/list/close registration, tracked launch validation, result normalization and repair, round aggregation with bounded excerpts, implementation round limits, persistence, and profile-selected chat.message guidance.
|
|
6
|
-
// DEPENDS: [@opencode-ai/plugin, src/lib/config-layers.ts, src/lib/orchestration.ts, src/lib/plugin-toggle-config.ts, src/plugins/workflow/persistence.ts, src/plugins/workflow/protocol.ts, src/plugins/workflow/repair.ts, src/plugins/workflow/state.ts, src/plugins/workflow/
|
|
7
|
-
// LINKS: M-PLUGIN-WORKFLOW, M-ORCHESTRATION-PROFILES, M-WORKFLOW-PROTOCOL, M-WORKFLOW-REPAIR, M-WORKFLOW-STATE, M-WORKFLOW-TRANSITIONS, M-WORKFLOW-TOOLING, M-WORKFLOW-PERSISTENCE, V-M-PLUGIN-WORKFLOW
|
|
4
|
+
// PURPOSE: Register workflow tools and enforcement while injecting only startup-profile-compatible vv-controller guidance, including delegated control tools, host-call-bound attempts, and checkpoint reviewer linkage.
|
|
5
|
+
// SCOPE: work_item_open/list/close registration, delegated-only work_item_decide and work_checkpoint registration with root-session authorization, tracked launch validation with delegated barriers and overlapping-write gates, result normalization and repair, callID-bound delegated attempt results and checkpoint reviewer bookkeeping, round aggregation with bounded excerpts, implementation round limits, checked persistence, and profile-selected chat.message guidance.
|
|
6
|
+
// DEPENDS: [@opencode-ai/plugin, src/lib/config-layers.ts, src/lib/orchestration.ts, src/lib/plugin-toggle-config.ts, src/plugins/workflow/checkpoint-io.ts, src/plugins/workflow/checkpoints.ts, src/plugins/workflow/delegated.ts, src/plugins/workflow/persistence.ts, src/plugins/workflow/protocol.ts, src/plugins/workflow/repair.ts, src/plugins/workflow/state.ts, src/plugins/workflow/tooling.ts, src/plugins/workflow/transitions.ts]
|
|
7
|
+
// LINKS: M-PLUGIN-WORKFLOW, M-ORCHESTRATION-PROFILES, M-WORKFLOW-PROTOCOL, M-WORKFLOW-REPAIR, M-WORKFLOW-STATE, M-WORKFLOW-TRANSITIONS, M-WORKFLOW-TOOLING, M-WORKFLOW-PERSISTENCE, M-WORKFLOW-DELEGATED, M-WORKFLOW-CHECKPOINTS, V-M-PLUGIN-WORKFLOW
|
|
8
8
|
// ROLE: RUNTIME
|
|
9
9
|
// MAP_MODE: EXPORTS
|
|
10
10
|
// END_MODULE_CONTRACT
|
|
11
11
|
//
|
|
12
12
|
// START_MODULE_MAP
|
|
13
|
-
// WorkflowPlugin - Registers workflow work-item tools, tracked task protocol enforcement, and primary-session workflow guidance injection.
|
|
13
|
+
// WorkflowPlugin - Registers workflow work-item tools, delegated control tools under the delegated profile, tracked task protocol enforcement with callID-bound delegated attempts and checkpoint linkage, and primary-session workflow guidance injection.
|
|
14
14
|
// END_MODULE_MAP
|
|
15
15
|
//
|
|
16
16
|
// START_CHANGE_SUMMARY
|
|
17
|
-
// LAST_CHANGE: [
|
|
17
|
+
// LAST_CHANGE: [C-DELEGATED-WORKFLOW-ASTRA-PRESETS - Added delegated control tools with root-session authorization, callID-bound attempts, checkpoint reviewer linkage, barrier gates, and checked persistence.]
|
|
18
18
|
// END_CHANGE_SUMMARY
|
|
19
19
|
import { tool } from "@opencode-ai/plugin";
|
|
20
20
|
import { attemptTrackedResultRepair, isTrackedResultRepairEligible, unwrapResumableTaskResult, } from "./repair.js";
|
|
21
21
|
import { parseResultBlock, parseWorkItemHeader, TRACKED_SUBAGENT_NAMES, } from "./protocol.js";
|
|
22
22
|
import { applyTrackedResult, createWorkflowResultExcerpt, beginTrackedLaunch, createWorkItemStore, getReviewRound, getWorkItem, revertReviewerLaunch, } from "./state.js";
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
23
|
+
import { applyDelegatedResult, beginDelegatedLaunch, revertInFlightDelegatedLaunches, } from "./delegated.js";
|
|
24
|
+
import { checkpointBarrierUnsatisfied, findOverlappingInFlightReview, recordCheckpointReviewerLaunch, recordCheckpointReviewerResult, } from "./checkpoints.js";
|
|
25
|
+
import { getAllowedNextAgents, getAttemptedImplementationRound, getReviewerRoleForAgent, shouldBlockRound, } from "./transitions.js";
|
|
26
|
+
import { createWorkItemCloseTool, createWorkItemDecideTool, createWorkItemListTool, createWorkItemOpenTool, createWorkCheckpointTool, } from "./tooling.js";
|
|
25
27
|
import workflowSystemInstructionTemplate from "./system-instruction.md?raw";
|
|
26
28
|
import { loadVvocConfig } from "../../lib/config-layers.js";
|
|
27
29
|
import { resolveOrchestrationPolicy, } from "../../lib/orchestration.js";
|
|
28
30
|
import { isVvocPluginEnabled } from "../../lib/plugin-toggle-config.js";
|
|
29
|
-
import { deleteWorkflowSessionDir,
|
|
31
|
+
import { deleteWorkflowSessionDir, hydrateWorkflowStateChecked, snapshotWorkflowStateChecked, } from "./persistence.js";
|
|
32
|
+
import { loadApprovedDelegatedPlan } from "./checkpoint-io.js";
|
|
30
33
|
const z = tool.schema;
|
|
31
34
|
const TRACKED_SUBAGENT_SET = new Set(TRACKED_SUBAGENT_NAMES);
|
|
32
35
|
const WORK_ITEM_MISSING_MARKER = "__VVOC" + "_SECRET_BEARER_TOKEN_a6f582092f05__";
|
|
@@ -55,6 +58,28 @@ results are findings and do not route to an implementer. Treat BLOCKED and NEEDS
|
|
|
55
58
|
stops, validate delegated results yourself, run fresh verification, and close completed work items.
|
|
56
59
|
</workflow_protocol>
|
|
57
60
|
`.trim();
|
|
61
|
+
const DELEGATED_WORKFLOW_SYSTEM_INSTRUCTION = `
|
|
62
|
+
<workflow_protocol>
|
|
63
|
+
Delegated execution mechanics are available in this session. Open implementation tasks with
|
|
64
|
+
work_item_open using mode "delegated" and an empty requiredReviewers array, then dispatch exactly
|
|
65
|
+
one vv-implementer per task with a bounded task packet and the returned VVOC_WORK_ITEM_ID. Let the
|
|
66
|
+
worker complete its local edit, test, and fix cycle before it reports.
|
|
67
|
+
|
|
68
|
+
A DONE worker result waits in awaiting_acceptance: it never closes the work item and the worker
|
|
69
|
+
never accepts its own result. Inspect the changed code and evidence yourself, then call
|
|
70
|
+
work_item_decide with the attempt number to accept or request changes. DONE_WITH_CONCERNS requires
|
|
71
|
+
an explicit concerns disposition. Controller retries are bounded to one correction attempt before
|
|
72
|
+
explicit recovery; BLOCKED and NEEDS_CONTEXT remain hard stops.
|
|
73
|
+
|
|
74
|
+
Register an approved plan once with work_checkpoint register, start each declared review checkpoint
|
|
75
|
+
only after its prerequisite tasks are accepted, and run the due checkpoint before dependent waves.
|
|
76
|
+
A checkpoint passes only when every declared reviewer passes against the pinned snapshot; a closed
|
|
77
|
+
review-only FAIL report is a findings result, not approval. Do not write source files yourself:
|
|
78
|
+
delegate implementation edits, including fixes requested by reviewers, through bounded task
|
|
79
|
+
packets, while keeping planning artifacts, acceptance decisions, and verification commands in this
|
|
80
|
+
session.
|
|
81
|
+
</workflow_protocol>
|
|
82
|
+
`.trim();
|
|
58
83
|
/** Returns the exact workflow instruction compatible with one resolved policy. */
|
|
59
84
|
function getWorkflowSystemInstruction(policy) {
|
|
60
85
|
switch (policy.workflowGuidance) {
|
|
@@ -64,6 +89,8 @@ function getWorkflowSystemInstruction(policy) {
|
|
|
64
89
|
return SELECTIVE_WORKFLOW_SYSTEM_INSTRUCTION;
|
|
65
90
|
case "tracked":
|
|
66
91
|
return workflowSystemInstructionTemplate.trim();
|
|
92
|
+
case "delegated":
|
|
93
|
+
return DELEGATED_WORKFLOW_SYSTEM_INSTRUCTION;
|
|
67
94
|
}
|
|
68
95
|
}
|
|
69
96
|
function isTrackedSubagent(value) {
|
|
@@ -177,36 +204,122 @@ function createHardStopMessage(options) {
|
|
|
177
204
|
"Inspect work_item_list before retrying.",
|
|
178
205
|
].join("\n");
|
|
179
206
|
}
|
|
180
|
-
export const WorkflowPlugin = async ({ client, directory }) => {
|
|
207
|
+
export const WorkflowPlugin = async ({ client, directory, worktree }) => {
|
|
181
208
|
const vvoc = await loadVvocConfig({ cwd: directory });
|
|
182
209
|
if (!isVvocPluginEnabled(vvoc.config, "workflow"))
|
|
183
210
|
return {};
|
|
184
|
-
const
|
|
211
|
+
const resolvedPolicy = resolveOrchestrationPolicy(vvoc.config);
|
|
212
|
+
const workflowSystemInstruction = getWorkflowSystemInstruction(resolvedPolicy);
|
|
213
|
+
const delegatedProfileActive = resolvedPolicy.profile === "delegated";
|
|
214
|
+
const trustedWorkspaceRoot = worktree || directory;
|
|
185
215
|
// START_BLOCK_PERSISTENCE_SETUP
|
|
186
216
|
// Each session (main or subagent) gets its own isolated store.
|
|
187
217
|
// This prevents subagent tool calls from interfering with the main session's work items.
|
|
218
|
+
// Hydration uses the checked loader: invalid persisted state is tracked so new
|
|
219
|
+
// control transactions and snapshot writes fail closed instead of silently
|
|
220
|
+
// resetting a malformed run.
|
|
188
221
|
const stores = new Map();
|
|
222
|
+
const invalidHydrationSessions = new Set();
|
|
189
223
|
function getOrCreateStore(sessionId) {
|
|
190
224
|
let store = stores.get(sessionId);
|
|
191
225
|
if (!store) {
|
|
192
|
-
const hydrated =
|
|
193
|
-
|
|
226
|
+
const hydrated = hydrateWorkflowStateChecked(sessionId);
|
|
227
|
+
if (hydrated.status === "valid") {
|
|
228
|
+
store = createWorkItemStore(hydrated.data);
|
|
229
|
+
// A freshly hydrated session crossed a process-restart boundary: any
|
|
230
|
+
// persisted in-flight delegated attempt can never receive its host
|
|
231
|
+
// callback again, so reclaim it without consuming the attempt budget.
|
|
232
|
+
const reclaimed = revertInFlightDelegatedLaunches(store.getStoreData(), sessionId);
|
|
233
|
+
if (reclaimed.reverted > 0) {
|
|
234
|
+
void client.app
|
|
235
|
+
.log({
|
|
236
|
+
body: {
|
|
237
|
+
service: "workflow",
|
|
238
|
+
level: "info",
|
|
239
|
+
message: "[workflow][hydration][BLOCK_RECLAIM_ATTEMPTS] orphaned in-flight delegated attempts reverted",
|
|
240
|
+
extra: { sessionID: sessionId, workItemIds: reclaimed.workItemIds },
|
|
241
|
+
},
|
|
242
|
+
})
|
|
243
|
+
.catch(() => undefined);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
if (hydrated.status === "invalid") {
|
|
248
|
+
invalidHydrationSessions.add(sessionId);
|
|
249
|
+
}
|
|
250
|
+
store = createWorkItemStore();
|
|
251
|
+
}
|
|
194
252
|
stores.set(sessionId, store);
|
|
195
253
|
}
|
|
196
254
|
return store;
|
|
197
255
|
}
|
|
198
256
|
function snapshotSession(sessionId) {
|
|
199
257
|
const store = stores.get(sessionId);
|
|
200
|
-
if (store)
|
|
201
|
-
|
|
202
|
-
|
|
258
|
+
if (!store)
|
|
259
|
+
return { ok: true };
|
|
260
|
+
if (invalidHydrationSessions.has(sessionId)) {
|
|
261
|
+
return {
|
|
262
|
+
ok: false,
|
|
263
|
+
error: `persisted workflow state for session ${sessionId} is invalid; refusing to overwrite it`,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
const result = snapshotWorkflowStateChecked(sessionId, store.getStoreData());
|
|
267
|
+
return result.ok ? { ok: true } : { ok: false, error: result.error };
|
|
268
|
+
}
|
|
269
|
+
// END_BLOCK_PERSISTENCE_SETUP
|
|
270
|
+
// START_BLOCK_DELEGATED_AUTHORIZATION
|
|
271
|
+
// New control mutations require the primary vv-controller session: the calling
|
|
272
|
+
// agent must be vv-controller, the session must be a root session (no
|
|
273
|
+
// parentID), and the ToolContext workspace must match the plugin's trusted
|
|
274
|
+
// directory/worktree. None of this identity comes from tool arguments.
|
|
275
|
+
async function assertPrimaryControllerMutation(agent, sessionId, contextWorkspace, toolName) {
|
|
276
|
+
if (!canUseWorkflowTools(agent)) {
|
|
277
|
+
throw new Error(`CONTROL_DENIED: ${toolName} is only available to ${WORKFLOW_CONTROLLER_AGENT} sessions. Current agent: ${agent?.trim() || "unknown-agent"}.`);
|
|
278
|
+
}
|
|
279
|
+
if (contextWorkspace.worktree !== undefined &&
|
|
280
|
+
contextWorkspace.worktree !== worktree &&
|
|
281
|
+
contextWorkspace.worktree !== trustedWorkspaceRoot) {
|
|
282
|
+
throw new Error(`CONTROL_DENIED: ${toolName} workspace ${contextWorkspace.worktree} does not match the trusted plugin workspace.`);
|
|
283
|
+
}
|
|
284
|
+
if (contextWorkspace.worktree === undefined &&
|
|
285
|
+
contextWorkspace.directory !== undefined &&
|
|
286
|
+
contextWorkspace.directory !== directory) {
|
|
287
|
+
throw new Error(`CONTROL_DENIED: ${toolName} directory ${contextWorkspace.directory} does not match the trusted plugin directory.`);
|
|
288
|
+
}
|
|
289
|
+
if (invalidHydrationSessions.has(sessionId)) {
|
|
290
|
+
throw new Error(`CONTROL_DENIED: persisted workflow state for session ${sessionId} is invalid; resolve or remove it before new control mutations.`);
|
|
291
|
+
}
|
|
292
|
+
let parentID;
|
|
293
|
+
try {
|
|
294
|
+
const response = await client.session.get({ path: { id: sessionId } });
|
|
295
|
+
if (!response.data) {
|
|
296
|
+
throw new Error("missing session payload");
|
|
203
297
|
}
|
|
204
|
-
|
|
205
|
-
|
|
298
|
+
parentID = response.data.parentID;
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
throw new Error(`CONTROL_DENIED: ${toolName} requires root-session identity for ${sessionId}, which could not be verified: ${error.message}`);
|
|
302
|
+
}
|
|
303
|
+
if (parentID !== undefined && parentID !== null && parentID !== "") {
|
|
304
|
+
throw new Error(`CONTROL_DENIED: ${toolName} may only run in the root session; session ${sessionId} is a child of ${parentID}.`);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// END_BLOCK_DELEGATED_AUTHORIZATION
|
|
308
|
+
// START_BLOCK_CHECKPOINT_LINKAGE
|
|
309
|
+
/** Find the in-flight checkpoint generation whose linked review item matches. */
|
|
310
|
+
function findCheckpointByReviewItem(sessionId, reviewWorkItemId) {
|
|
311
|
+
for (const run of getOrCreateStore(sessionId).getStoreData().planRuns.values()) {
|
|
312
|
+
if (run.sessionId !== sessionId)
|
|
313
|
+
continue;
|
|
314
|
+
for (const checkpoint of run.checkpoints.values()) {
|
|
315
|
+
if (checkpoint.currentReview?.reviewWorkItemId === reviewWorkItemId) {
|
|
316
|
+
return { run, checkpointId: checkpoint.checkpointId };
|
|
317
|
+
}
|
|
206
318
|
}
|
|
207
319
|
}
|
|
320
|
+
return undefined;
|
|
208
321
|
}
|
|
209
|
-
//
|
|
322
|
+
// END_BLOCK_CHECKPOINT_LINKAGE
|
|
210
323
|
// START_BLOCK_PLUGIN_ENTRY
|
|
211
324
|
// Tool wrappers still need a store reference for description/args shape
|
|
212
325
|
// but execute handlers resolve the right store per-call
|
|
@@ -214,6 +327,8 @@ export const WorkflowPlugin = async ({ client, directory }) => {
|
|
|
214
327
|
const workItemOpenTool = createWorkItemOpenTool(dummyStore);
|
|
215
328
|
const workItemListTool = createWorkItemListTool(dummyStore);
|
|
216
329
|
const workItemCloseTool = createWorkItemCloseTool(dummyStore);
|
|
330
|
+
const workItemDecideTool = createWorkItemDecideTool(dummyStore);
|
|
331
|
+
const workCheckpointTool = createWorkCheckpointTool(dummyStore);
|
|
217
332
|
return {
|
|
218
333
|
tool: {
|
|
219
334
|
work_item_open: tool({
|
|
@@ -224,6 +339,9 @@ export const WorkflowPlugin = async ({ client, directory }) => {
|
|
|
224
339
|
title: z.string(),
|
|
225
340
|
mode: z.string(),
|
|
226
341
|
requiredReviewers: z.array(z.string()),
|
|
342
|
+
writeScope: z.array(z.string()).optional(),
|
|
343
|
+
planRunId: z.string().optional(),
|
|
344
|
+
planTaskId: z.string().optional(),
|
|
227
345
|
})),
|
|
228
346
|
},
|
|
229
347
|
async execute(args, context) {
|
|
@@ -258,6 +376,73 @@ export const WorkflowPlugin = async ({ client, directory }) => {
|
|
|
258
376
|
return stringifyToolOutput(closed);
|
|
259
377
|
},
|
|
260
378
|
}),
|
|
379
|
+
// The delegated control tools are registered only under the delegated
|
|
380
|
+
// startup profile; other profiles keep their current tool-schema footprint.
|
|
381
|
+
...(delegatedProfileActive
|
|
382
|
+
? {
|
|
383
|
+
work_item_decide: tool({
|
|
384
|
+
description: workItemDecideTool.description,
|
|
385
|
+
args: {
|
|
386
|
+
workItemId: z.string(),
|
|
387
|
+
attempt: z.number().int().min(1),
|
|
388
|
+
decision: z.enum(["accept", "request_changes", "rework"]),
|
|
389
|
+
rationale: z.string(),
|
|
390
|
+
evidence: z.array(z.string()),
|
|
391
|
+
concernsDisposition: z.string().optional(),
|
|
392
|
+
runId: z.string().optional(),
|
|
393
|
+
checkpointId: z.string().optional(),
|
|
394
|
+
},
|
|
395
|
+
async execute(args, context) {
|
|
396
|
+
// Resolve the store first so invalid persisted state is detected
|
|
397
|
+
// before the authorization check reports it as a control denial.
|
|
398
|
+
const sessionStore = getOrCreateStore(context.sessionID);
|
|
399
|
+
await assertPrimaryControllerMutation(context.agent, context.sessionID, { directory: context.directory, worktree: context.worktree }, "work_item_decide");
|
|
400
|
+
const decided = workItemDecideTool.execute(args, { sessionId: context.sessionID }, sessionStore);
|
|
401
|
+
if (decided.ok) {
|
|
402
|
+
const persisted = snapshotSession(context.sessionID);
|
|
403
|
+
if (!persisted.ok) {
|
|
404
|
+
throw new Error(`PERSISTENCE_FAILED: decision applied in memory but could not be persisted: ${persisted.error}`);
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
return stringifyToolOutput(decided);
|
|
408
|
+
},
|
|
409
|
+
}),
|
|
410
|
+
work_checkpoint: tool({
|
|
411
|
+
description: workCheckpointTool.description,
|
|
412
|
+
args: {
|
|
413
|
+
action: z.enum(["register", "start", "verify"]),
|
|
414
|
+
planPath: z.string().optional(),
|
|
415
|
+
runId: z.string().optional(),
|
|
416
|
+
checkpointId: z.string().optional(),
|
|
417
|
+
complete: z.boolean().optional(),
|
|
418
|
+
},
|
|
419
|
+
async execute(args, context) {
|
|
420
|
+
// Resolve the store first so invalid persisted state is detected
|
|
421
|
+
// before the authorization check reports it as a control denial.
|
|
422
|
+
const sessionStore = getOrCreateStore(context.sessionID);
|
|
423
|
+
await assertPrimaryControllerMutation(context.agent, context.sessionID, { directory: context.directory, worktree: context.worktree }, "work_checkpoint");
|
|
424
|
+
const toolContext = {
|
|
425
|
+
sessionId: context.sessionID,
|
|
426
|
+
workspaceRoot: trustedWorkspaceRoot,
|
|
427
|
+
loadPlan: async (planPath, workspaceRoot) => {
|
|
428
|
+
const loaded = await loadApprovedDelegatedPlan({ workspaceRoot, planPath });
|
|
429
|
+
return loaded.ok
|
|
430
|
+
? loaded.plan
|
|
431
|
+
: { loadError: `${loaded.code}: ${loaded.message}` };
|
|
432
|
+
},
|
|
433
|
+
};
|
|
434
|
+
const result = await workCheckpointTool.execute({ ...args }, toolContext, sessionStore);
|
|
435
|
+
if (result.ok) {
|
|
436
|
+
const persisted = snapshotSession(context.sessionID);
|
|
437
|
+
if (!persisted.ok) {
|
|
438
|
+
throw new Error(`PERSISTENCE_FAILED: checkpoint change applied in memory but could not be persisted: ${persisted.error}`);
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
return stringifyToolOutput(result);
|
|
442
|
+
},
|
|
443
|
+
}),
|
|
444
|
+
}
|
|
445
|
+
: {}),
|
|
261
446
|
},
|
|
262
447
|
"tool.execute.before": async (input, output) => {
|
|
263
448
|
if (input.tool !== "task") {
|
|
@@ -362,6 +547,76 @@ export const WorkflowPlugin = async ({ client, directory }) => {
|
|
|
362
547
|
});
|
|
363
548
|
throw new Error(`${INVALID_NEXT_AGENT_MARKER} LAUNCH_REJECTED_INVALID_TRANSITION: ${workItem.workItemId} in state ${workItem.state} only allows ${launched.allowedAgents.join(", ") || "no tracked agent"}. ${launched.message}`);
|
|
364
549
|
}
|
|
550
|
+
// START_BLOCK_DELEGATED_LAUNCH_BINDING
|
|
551
|
+
// Delegated implementer launches consume a callID-bound attempt after the
|
|
552
|
+
// checkpoint barrier and overlapping-write gates pass. Reviewer launches
|
|
553
|
+
// on a checkpoint-linked review item bind their call identity to the
|
|
554
|
+
// current generation.
|
|
555
|
+
if (workItem.mode === "delegated" && subagentType === "vv-implementer") {
|
|
556
|
+
const data = sessionStore.getStoreData();
|
|
557
|
+
const planRunId = workItem.delegated?.planRunId;
|
|
558
|
+
if (planRunId) {
|
|
559
|
+
const run = data.planRuns.get(planRunId);
|
|
560
|
+
const binding = run
|
|
561
|
+
? [...run.tasks.values()].find((task) => task.workItemId === workItem.workItemId)
|
|
562
|
+
: undefined;
|
|
563
|
+
const taskDefinition = run?.definition.tasks.find((task) => task.taskId === binding?.taskId);
|
|
564
|
+
if (run && taskDefinition) {
|
|
565
|
+
const barrier = checkpointBarrierUnsatisfied(data, planRunId, taskDefinition.wave);
|
|
566
|
+
if (barrier.ok && barrier.blockers.length > 0) {
|
|
567
|
+
throw new Error(`LAUNCH_REJECTED_CHECKPOINT_BARRIER: ${workItem.workItemId} is in wave ${taskDefinition.wave} blocked by unpassed checkpoint(s) ${barrier.blockers.join(", ")}.`);
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
const overlapping = findOverlappingInFlightReview(data, planRunId, workItem.delegated?.writeScope ?? []);
|
|
571
|
+
if (overlapping) {
|
|
572
|
+
throw new Error(`LAUNCH_REJECTED_OVERLAPPING_REVIEW: declared write scope overlaps checkpoint ${overlapping} currently in review.`);
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
const delegatedLaunch = beginDelegatedLaunch(sessionStore, {
|
|
576
|
+
sessionId: input.sessionID,
|
|
577
|
+
workItemId: workItem.workItemId,
|
|
578
|
+
callId: input.callID,
|
|
579
|
+
});
|
|
580
|
+
if (!delegatedLaunch.ok) {
|
|
581
|
+
await client.app.log({
|
|
582
|
+
body: {
|
|
583
|
+
service: "workflow",
|
|
584
|
+
level: "warn",
|
|
585
|
+
message: "[workflow][launchValidation][BLOCK_VALIDATE_LAUNCH] launch rejected",
|
|
586
|
+
extra: {
|
|
587
|
+
sessionID: input.sessionID,
|
|
588
|
+
agent: subagentType,
|
|
589
|
+
workItemId: workItem.workItemId,
|
|
590
|
+
reason: delegatedLaunch.errorCode,
|
|
591
|
+
},
|
|
592
|
+
},
|
|
593
|
+
});
|
|
594
|
+
throw new Error(`LAUNCH_REJECTED_DELEGATED_${delegatedLaunch.errorCode}: ${delegatedLaunch.message}`);
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
else {
|
|
598
|
+
const reviewerRole = getReviewerRoleForAgent(subagentType);
|
|
599
|
+
if (reviewerRole) {
|
|
600
|
+
const linked = findCheckpointByReviewItem(input.sessionID, workItem.workItemId);
|
|
601
|
+
if (linked) {
|
|
602
|
+
const bound = recordCheckpointReviewerLaunch(sessionStore, {
|
|
603
|
+
runId: linked.run.runId,
|
|
604
|
+
checkpointId: linked.checkpointId,
|
|
605
|
+
reviewer: reviewerRole,
|
|
606
|
+
callId: input.callID,
|
|
607
|
+
});
|
|
608
|
+
if (!bound.ok) {
|
|
609
|
+
revertReviewerLaunch(sessionStore, {
|
|
610
|
+
sessionId: input.sessionID,
|
|
611
|
+
workItemId: workItem.workItemId,
|
|
612
|
+
agent: subagentType,
|
|
613
|
+
});
|
|
614
|
+
throw new Error(`LAUNCH_REJECTED_CHECKPOINT_REVIEW: ${bound.errorCode}: ${bound.message}`);
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
// END_BLOCK_DELEGATED_LAUNCH_BINDING
|
|
365
620
|
snapshotSession(input.sessionID);
|
|
366
621
|
await client.app.log({
|
|
367
622
|
body: {
|
|
@@ -540,6 +795,99 @@ export const WorkflowPlugin = async ({ client, directory }) => {
|
|
|
540
795
|
formatResultExcerptForError(resultExcerpt),
|
|
541
796
|
].join("\n"));
|
|
542
797
|
}
|
|
798
|
+
// START_BLOCK_DELEGATED_RESULT_BINDING
|
|
799
|
+
// Delegated implementer results apply to their matching callID-bound
|
|
800
|
+
// attempt; reviewer results on checkpoint-linked review items are
|
|
801
|
+
// recorded into the current generation before the legacy round applies.
|
|
802
|
+
if (current.mode === "delegated" && subagentType === "vv-implementer") {
|
|
803
|
+
const appliedDelegated = applyDelegatedResult(sessionStore, {
|
|
804
|
+
sessionId: input.sessionID,
|
|
805
|
+
workItemId: parsed.value.workItemId,
|
|
806
|
+
callId: input.callID,
|
|
807
|
+
resultStatus: parsed.value.status,
|
|
808
|
+
resultExcerpt,
|
|
809
|
+
});
|
|
810
|
+
if (!appliedDelegated.ok) {
|
|
811
|
+
await client.app.log({
|
|
812
|
+
body: {
|
|
813
|
+
service: "workflow",
|
|
814
|
+
level: "warn",
|
|
815
|
+
message: "[workflow][resultParsing][BLOCK_PARSE_RESULT] protocol error",
|
|
816
|
+
extra: {
|
|
817
|
+
sessionID: input.sessionID,
|
|
818
|
+
agent: subagentType,
|
|
819
|
+
workItemId: parsed.value.workItemId,
|
|
820
|
+
reason: appliedDelegated.errorCode,
|
|
821
|
+
},
|
|
822
|
+
},
|
|
823
|
+
});
|
|
824
|
+
throw new Error([
|
|
825
|
+
`RESULT_PROTOCOL_ERROR: ${appliedDelegated.message}`,
|
|
826
|
+
formatResultExcerptForError(resultExcerpt),
|
|
827
|
+
].join("\n"));
|
|
828
|
+
}
|
|
829
|
+
await client.app.log({
|
|
830
|
+
body: {
|
|
831
|
+
service: "workflow",
|
|
832
|
+
level: "info",
|
|
833
|
+
message: "[workflow][stateTransition][BLOCK_TRANSITION_STATE] state transitioned",
|
|
834
|
+
extra: {
|
|
835
|
+
sessionID: input.sessionID,
|
|
836
|
+
agent: subagentType,
|
|
837
|
+
workItemId: parsed.value.workItemId,
|
|
838
|
+
fromState: appliedDelegated.fromState,
|
|
839
|
+
toState: appliedDelegated.toState,
|
|
840
|
+
mode: "delegated",
|
|
841
|
+
attempt: appliedDelegated.attempt,
|
|
842
|
+
},
|
|
843
|
+
},
|
|
844
|
+
});
|
|
845
|
+
snapshotSession(input.sessionID);
|
|
846
|
+
if (appliedDelegated.record.state === "needs_context" ||
|
|
847
|
+
appliedDelegated.record.state === "blocked") {
|
|
848
|
+
throw new Error(createHardStopMessage({
|
|
849
|
+
record: appliedDelegated.record,
|
|
850
|
+
triggeringAgent: subagentType,
|
|
851
|
+
triggeringStatus: parsed.value.status,
|
|
852
|
+
triggeringExcerpt: resultExcerpt,
|
|
853
|
+
}));
|
|
854
|
+
}
|
|
855
|
+
return;
|
|
856
|
+
}
|
|
857
|
+
const reviewerRoleForCheckpoint = getReviewerRoleForAgent(subagentType);
|
|
858
|
+
if (reviewerRoleForCheckpoint) {
|
|
859
|
+
const linked = findCheckpointByReviewItem(input.sessionID, parsed.value.workItemId);
|
|
860
|
+
if (linked) {
|
|
861
|
+
const recorded = recordCheckpointReviewerResult(sessionStore, {
|
|
862
|
+
runId: linked.run.runId,
|
|
863
|
+
checkpointId: linked.checkpointId,
|
|
864
|
+
reviewer: reviewerRoleForCheckpoint,
|
|
865
|
+
callId: input.callID,
|
|
866
|
+
status: parsed.value.status,
|
|
867
|
+
});
|
|
868
|
+
if (!recorded.ok) {
|
|
869
|
+
await client.app.log({
|
|
870
|
+
body: {
|
|
871
|
+
service: "workflow",
|
|
872
|
+
level: "warn",
|
|
873
|
+
message: "[workflow][resultParsing][BLOCK_PARSE_RESULT] protocol error",
|
|
874
|
+
extra: {
|
|
875
|
+
sessionID: input.sessionID,
|
|
876
|
+
agent: subagentType,
|
|
877
|
+
workItemId: parsed.value.workItemId,
|
|
878
|
+
reason: recorded.errorCode,
|
|
879
|
+
},
|
|
880
|
+
},
|
|
881
|
+
});
|
|
882
|
+
revertLaunch();
|
|
883
|
+
throw new Error([
|
|
884
|
+
`RESULT_PROTOCOL_ERROR: checkpoint ${linked.checkpointId} rejected the reviewer result: ${recorded.message}`,
|
|
885
|
+
formatResultExcerptForError(resultExcerpt),
|
|
886
|
+
].join("\n"));
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
// END_BLOCK_DELEGATED_RESULT_BINDING
|
|
543
891
|
const applied = applyTrackedResult(sessionStore, {
|
|
544
892
|
sessionId: input.sessionID,
|
|
545
893
|
workItemId: parsed.value.workItemId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/workflow/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/workflow/index.ts"],"names":[],"mappings":"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"}
|