@osovv/vv-opencode 0.29.0 → 0.29.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.
@@ -1,10 +1,10 @@
1
1
  // FILE: src/plugins/workflow/index.ts
2
- // VERSION: 0.2.3
2
+ // VERSION: 0.2.5
3
3
  // START_MODULE_CONTRACT
4
4
  // PURPOSE: Register workflow work-item tools, tracked task launch/result hooks, and primary-session workflow guidance injection.
5
- // SCOPE: work_item_open/list/close tool registration, tracked launch validation on task tool, OpenCode task-result wrapper normalization, tracked result parsing/state transitions, round-limit gating, and chat.message guidance injection with subagent filtering.
6
- // DEPENDS: [@opencode-ai/plugin, src/lib/managed-agents.ts, src/plugins/workflow/protocol.ts, src/plugins/workflow/state.ts, src/plugins/workflow/transitions.ts, src/plugins/workflow/tooling.ts]
7
- // LINKS: [M-PLUGIN-WORKFLOW, M-WORKFLOW-PROTOCOL, M-WORKFLOW-STATE, M-WORKFLOW-TRANSITIONS, M-WORKFLOW-TOOLING]
5
+ // SCOPE: work_item_open/list/close tool registration, tracked launch validation on task tool, OpenCode task-result wrapper normalization, one-shot resumable result repair, tracked result parsing/state transitions, round-limit gating, and chat.message guidance injection with subagent filtering.
6
+ // DEPENDS: [@opencode-ai/plugin, src/lib/managed-agents.ts, src/plugins/workflow/protocol.ts, src/plugins/workflow/repair.ts, src/plugins/workflow/state.ts, src/plugins/workflow/transitions.ts, src/plugins/workflow/tooling.ts]
7
+ // LINKS: [M-PLUGIN-WORKFLOW, M-WORKFLOW-PROTOCOL, M-WORKFLOW-REPAIR, M-WORKFLOW-STATE, M-WORKFLOW-TRANSITIONS, M-WORKFLOW-TOOLING]
8
8
  // ROLE: RUNTIME
9
9
  // MAP_MODE: EXPORTS
10
10
  // END_MODULE_CONTRACT
@@ -14,6 +14,8 @@
14
14
  // END_MODULE_MAP
15
15
  //
16
16
  // START_CHANGE_SUMMARY
17
+ // LAST_CHANGE: [v0.2.5 - Limited resumable result repair to safe format-only protocol errors and disabled tool use during repair prompts where supported.]
18
+ // LAST_CHANGE: [v0.2.4 - Added a single same-session repair attempt for malformed tracked results inside recognized resumable OpenCode task envelopes.]
17
19
  // LAST_CHANGE: [v0.2.3 - Tightened OpenCode task-result envelope detection to the known resumable task header shape before unwrapping.]
18
20
  // LAST_CHANGE: [v0.2.2 - Restricted task-result wrapper extraction to recognized OpenCode task envelopes so foreign `<task_result>` text still fails strict parsing.]
19
21
  // LAST_CHANGE: [v0.2.1 - Extracted inner OpenCode `<task_result>` content before strict tracked result parsing so task wrapper metadata does not trip protocol validation.]
@@ -23,6 +25,7 @@
23
25
  // END_CHANGE_SUMMARY
24
26
  import { tool } from "@opencode-ai/plugin";
25
27
  import { MANAGED_SUBAGENT_NAMES } from "../../lib/managed-agents.js";
28
+ import { attemptTrackedResultRepair, isTrackedResultRepairEligible, unwrapResumableTaskResult, } from "./repair.js";
26
29
  import { parseResultBlock, parseWorkItemHeader, TRACKED_SUBAGENT_NAMES, } from "./protocol.js";
27
30
  import { createWorkItemStore, getReviewRound, getWorkItem, transitionWorkItemState, } from "./state.js";
28
31
  import { getAllowedNextAgent, getNextState, isAllowedTransition, shouldBlockRound, } from "./transitions.js";
@@ -103,39 +106,6 @@ function appendSystemInstruction(existingSystem, instruction) {
103
106
  function stringifyToolOutput(value) {
104
107
  return JSON.stringify(value, null, 2);
105
108
  }
106
- function extractTaskResultText(output) {
107
- const startTag = "<task_result>";
108
- const endTag = "</task_result>";
109
- const normalizedOutput = output.replace(/\r\n/g, "\n");
110
- const lines = normalizedOutput.split("\n");
111
- const firstMeaningfulIndex = lines.findIndex((line) => line.trim().length > 0);
112
- if (firstMeaningfulIndex < 0) {
113
- return output;
114
- }
115
- const firstMeaningfulLine = lines[firstMeaningfulIndex]?.trim() ?? "";
116
- if (!/^task_id:\s+\S+\s+\(for resuming to continue this task if needed\)$/.test(firstMeaningfulLine)) {
117
- return output;
118
- }
119
- let startTagIndex = firstMeaningfulIndex + 1;
120
- while (startTagIndex < lines.length && (lines[startTagIndex] ?? "").trim().length === 0) {
121
- startTagIndex += 1;
122
- }
123
- if ((lines[startTagIndex] ?? "").trim() !== startTag) {
124
- return output;
125
- }
126
- const endTagIndex = lines.findIndex((line, index) => index > startTagIndex && line.trim() === endTag);
127
- if (endTagIndex < 0) {
128
- return output;
129
- }
130
- const suffixLines = lines.slice(endTagIndex + 1);
131
- if (suffixLines.some((line) => line.trim().length > 0)) {
132
- return output;
133
- }
134
- return lines
135
- .slice(startTagIndex + 1, endTagIndex)
136
- .join("\n")
137
- .trim();
138
- }
139
109
  function createRoundLimitMessage(record, attemptedRound) {
140
110
  return [
141
111
  "LAUNCH_REJECTED_ROUND_LIMIT: review loop gate blocked tracked launch before entering round 3.",
@@ -144,7 +114,7 @@ function createRoundLimitMessage(record, attemptedRound) {
144
114
  ].join(" ");
145
115
  }
146
116
  // START_BLOCK_PLUGIN_ENTRY
147
- export const WorkflowPlugin = async ({ client }) => {
117
+ export const WorkflowPlugin = async ({ client, directory }) => {
148
118
  const store = createWorkItemStore();
149
119
  const knownSubagents = createKnownSubagentSet();
150
120
  const workItemOpenTool = createWorkItemOpenTool(store);
@@ -341,11 +311,47 @@ export const WorkflowPlugin = async ({ client }) => {
341
311
  });
342
312
  throw new Error("RESULT_PROTOCOL_ERROR: tracked task output must be a string");
343
313
  }
344
- const parsed = parseResultBlock({
314
+ const unwrapped = unwrapResumableTaskResult(output.output);
315
+ let parsed = parseResultBlock({
345
316
  agent: subagentType,
346
- output: extractTaskResultText(output.output),
317
+ output: unwrapped.normalizedOutput,
347
318
  expectedWorkItemId: header.value,
348
319
  });
320
+ if (!parsed.ok) {
321
+ if (unwrapped.envelope && isTrackedResultRepairEligible(parsed.error.code)) {
322
+ await client.app.log({
323
+ body: {
324
+ service: "workflow",
325
+ level: "info",
326
+ message: "[workflow][resultParsing][BLOCK_PARSE_RESULT] repair attempted",
327
+ extra: {
328
+ sessionID: input.sessionID,
329
+ agent: subagentType,
330
+ workItemId: header.value,
331
+ taskId: unwrapped.envelope.taskId,
332
+ reason: parsed.error.code,
333
+ attempt: 1,
334
+ },
335
+ },
336
+ });
337
+ const repairedOutput = await attemptTrackedResultRepair({
338
+ client,
339
+ directory,
340
+ taskId: unwrapped.envelope.taskId,
341
+ agent: subagentType,
342
+ workItemId: header.value,
343
+ malformedOutput: unwrapped.normalizedOutput,
344
+ parseErrorMessage: parsed.error.message,
345
+ });
346
+ if (repairedOutput) {
347
+ parsed = parseResultBlock({
348
+ agent: subagentType,
349
+ output: repairedOutput,
350
+ expectedWorkItemId: header.value,
351
+ });
352
+ }
353
+ }
354
+ }
349
355
  if (!parsed.ok) {
350
356
  await client.app.log({
351
357
  body: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/workflow/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iBAAiB;AACjB,wBAAwB;AACxB,mIAAmI;AACnI,uQAAuQ;AACvQ,qMAAqM;AACrM,kHAAkH;AAClH,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,6IAA6I;AAC7I,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,0IAA0I;AAC1I,wKAAwK;AACxK,8KAA8K;AAC9K,2IAA2I;AAC3I,uKAAuK;AACvK,4KAA4K;AAC5K,qBAAqB;AAErB,OAAO,EAA4B,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,uBAAuB,GAExB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,iCAAiC,MAAM,6BAA6B,CAAC;AAE5E,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAEtB,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAU,CAAC;AAC3D,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAU,CAAC;AAC1E,MAAM,uBAAuB,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;AAC5E,MAAM,qBAAqB,GAAG,CAAC,UAAU,CAAU,CAAC;AACpD,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS,sBAAsB,CAAC,CAAC;AACrE,MAAM,wBAAwB,GAAG,QAAQ,GAAG,qCAAqC,CAAC;AAClF,MAAM,yBAAyB,GAAG,QAAQ,GAAG,qCAAqC,CAAC;AAEnF,MAAM,2BAA2B,GAAG,iCAAiC,CAAC,IAAI,EAAE,CAAC;AAM7E,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAa;IACzC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAI,IAAoC,CAAC,aAAa,CAAC;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,UAAU,IAAI,SAAS,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAI,IAA6B,CAAC,MAAM,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,IAAI,GAAG,CAAC;QACb,GAAG,kBAAkB;QACrB,GAAG,wBAAwB;QAC3B,GAAG,sBAAsB;QACzB,GAAG,sBAAsB;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAc,EAAE,cAA2B;IAC1E,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACpE,IAAK,UAA2C,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACtE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,SAA6B,EAAE,cAA2B;IACtF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,uBAAuB,CAAC,QAAQ,CAAC,SAAqD,CAAC,EAAE,CAAC;QAC5F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,qBAAqB,CAAC,QAAQ,CAAC,SAAmD,CAAC,EAAE,CAAC;QACxF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,cAAkC,EAAE,WAAmB;IACtF,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,WAAW,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA8B;IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC;IACjC,MAAM,MAAM,GAAG,gBAAgB,CAAC;IAChC,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,oBAAoB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/E,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtE,IACE,CAAC,qEAAqE,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAChG,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,GAAG,oBAAoB,GAAG,CAAC,CAAC;IAC7C,OAAO,aAAa,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxF,aAAa,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CACjC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,CACjE,CAAC;IACF,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IACjD,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,KAAK;SACT,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,WAAW,CAAC;SACrC,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAsB,EAAE,cAAsB;IAC7E,OAAO;QACL,+FAA+F;QAC/F,aAAa,MAAM,CAAC,UAAU,gBAAgB,MAAM,CAAC,KAAK,mBAAmB,cAAc,CAAC,MAAM,CAAC,2BAA2B,cAAc,GAAG;QAC/I,oKAAoK;KACrK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,2BAA2B;AAC3B,MAAM,CAAC,MAAM,cAAc,GAAW,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACzD,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC;IACpC,MAAM,cAAc,GAAG,sBAAsB,EAAE,CAAC;IAEhD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAEzD,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvB,uBAAuB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,EAAE;YACJ,cAAc,EAAE,IAAI,CAAC;gBACnB,WAAW,EAAE,gBAAgB,CAAC,WAAW;gBACzC,IAAI,EAAE;oBACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;wBACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;wBACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;qBAClB,CAAC,CACH;iBACF;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;oBACzB,OAAO,mBAAmB,CACxB,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE;wBAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CACH,CAAC;gBACJ,CAAC;aACF,CAAC;YACF,cAAc,EAAE,IAAI,CAAC;gBACnB,WAAW,EAAE,gBAAgB,CAAC,WAAW;gBACzC,IAAI,EAAE;oBACJ,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;iBACtC;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;oBACzB,OAAO,mBAAmB,CACxB,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE;wBAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CACH,CAAC;gBACJ,CAAC;aACF,CAAC;YACF,eAAe,EAAE,IAAI,CAAC;gBACpB,WAAW,EAAE,iBAAiB,CAAC,WAAW;gBAC1C,IAAI,EAAE;oBACJ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;iBACvB;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;oBACzB,OAAO,mBAAmB,CACxB,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE;wBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CACH,CAAC;gBACJ,CAAC;aACF,CAAC;SACH;QACD,qBAAqB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7C,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK;4BACxB,MAAM,EAAE,oBAAoB;yBAC7B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CACb,GAAG,wBAAwB,yDAAyD,MAAM,CAAC,KAAK,uFAAuF,CACxL,CAAC;YACJ,CAAC;YAED,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;gBACvD,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,gBAAgB;4BAChB,MAAM,EAAE,oBAAoB;yBAC7B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CACb,GAAG,yBAAyB,wCAAwC,QAAQ,CAAC,UAAU,aAAa,QAAQ,CAAC,KAAK,gBAAgB,gBAAgB,IAAI,kBAAkB,GAAG,CAC5K,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,YAAY,KAAK,gBAAgB,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACzF,MAAM,YAAY,GAAG,YAAY,KAAK,gBAAgB,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAE3F,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,iEAAiE;oBAC1E,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,KAAK,EAAE,YAAY;wBACnB,WAAW;wBACX,cAAc;wBACd,OAAO,EAAE,YAAY;qBACtB;iBACF;aACF,CAAC,CAAC;YAEH,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,qEAAqE;wBAC9E,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,KAAK,EAAE,YAAY;4BACnB,WAAW;yBACZ;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,sEAAsE;oBAC/E,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,KAAK,EAAE,YAAY;wBACnB,WAAW;qBACZ;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QACD,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,qBAAqB;yBAC9B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;YAED,MAAM,MAAM,GAAG,gBAAgB,CAAC;gBAC9B,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC5C,kBAAkB,EAAE,MAAM,CAAC,KAAK;aACjC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK;4BACxB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;yBAC1B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,6DAA6D;oBACtE,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,KAAK,EAAE,YAAY;wBACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;wBACnC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;wBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;qBAC1B;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;4BACnC,MAAM,EAAE,oBAAoB;yBAC7B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,CAAC,KAAK,CAAC,UAAU,yBAAyB,CAC7F,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,uBAAuB,CAAC,KAAK,EAAE;gBAClD,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;gBACnC,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;gBACrB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;oBACnB,IAAI,EAAE;wBACJ,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,8DAA8D;wBACvE,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,KAAK,EAAE,YAAY;4BACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;4BACnC,MAAM,EAAE,YAAY,CAAC,SAAS;yBAC/B;qBACF;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,wEAAwE;oBACjF,KAAK,EAAE;wBACL,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,KAAK,EAAE,YAAY;wBACnB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;wBACnC,SAAS,EAAE,OAAO,CAAC,KAAK;wBACxB,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK;wBAClC,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,eAAe;wBACpD,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,eAAe;qBACrD;iBACF;aACF,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,eAAe,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjF,MAAM,IAAI,KAAK,CACb,qBAAqB,MAAM,CAAC,KAAK,CAAC,MAAM,yEAAyE,CAClH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;gBAChE,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,uBAAuB,CAC7C,MAAM,CAAC,OAAO,CAAC,MAAM,EACrB,2BAA2B,CAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AACF,yBAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/workflow/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { Plugin } from "@opencode-ai/plugin";
2
+ import type { ProtocolErrorCode, TrackedAgentName } from "./protocol.js";
3
+ export type ResumableTaskEnvelope = {
4
+ taskId: string;
5
+ innerResult: string;
6
+ };
7
+ export declare function unwrapResumableTaskResult(output: string): {
8
+ normalizedOutput: string;
9
+ envelope?: ResumableTaskEnvelope;
10
+ };
11
+ export declare function buildTrackedResultRepairPrompt(options: {
12
+ agent: TrackedAgentName;
13
+ workItemId: string;
14
+ malformedOutput: string;
15
+ parseErrorMessage: string;
16
+ }): string;
17
+ export declare function isTrackedResultRepairEligible(code: ProtocolErrorCode): boolean;
18
+ export declare function attemptTrackedResultRepair(options: {
19
+ client: Parameters<Plugin>[0]["client"];
20
+ directory: string;
21
+ taskId: string;
22
+ agent: TrackedAgentName;
23
+ workItemId: string;
24
+ malformedOutput: string;
25
+ parseErrorMessage: string;
26
+ }): Promise<string | undefined>;
@@ -0,0 +1,163 @@
1
+ // FILE: src/plugins/workflow/repair.ts
2
+ // VERSION: 0.1.2
3
+ // START_MODULE_CONTRACT
4
+ // PURPOSE: Recognize resumable OpenCode task envelopes and perform one bounded tracked-result repair attempt in the same child session.
5
+ // SCOPE: OpenCode task envelope parsing, repair prompt construction, repaired text extraction, and same-session repair calls for tracked workflow results.
6
+ // DEPENDS: [@opencode-ai/plugin, @opencode-ai/sdk, src/plugins/workflow/protocol.ts]
7
+ // LINKS: [M-WORKFLOW-REPAIR, M-WORKFLOW-PROTOCOL, M-PLUGIN-WORKFLOW]
8
+ // ROLE: RUNTIME
9
+ // MAP_MODE: EXPORTS
10
+ // END_MODULE_CONTRACT
11
+ //
12
+ // START_MODULE_MAP
13
+ // ResumableTaskEnvelope - Recognized OpenCode resumable task wrapper metadata plus inner tracked result text.
14
+ // unwrapResumableTaskResult - Extracts tracked result text only from known resumable OpenCode task envelopes.
15
+ // buildTrackedResultRepairPrompt - Constructs the strict one-shot repair prompt for the same child session.
16
+ // isTrackedResultRepairEligible - Restricts one-shot repair to safe format-only protocol error classes.
17
+ // attemptTrackedResultRepair - Resumes the same child session once and returns repaired tracked result text when possible.
18
+ // END_MODULE_MAP
19
+ //
20
+ // START_CHANGE_SUMMARY
21
+ // LAST_CHANGE: [v0.1.2 - Excluded duplicate strict top-block field errors from same-session repair so ambiguous tracked results fail closed.]
22
+ // LAST_CHANGE: [v0.1.1 - Restricted repair to safe format-only protocol errors and sent format-only prompt requests with tools disabled where supported.]
23
+ // LAST_CHANGE: [v0.1.0 - Added bounded same-session result repair helpers for malformed tracked workflow outputs in resumable OpenCode task envelopes.]
24
+ // END_CHANGE_SUMMARY
25
+ const RESUMABLE_TASK_ID_RE = /^task_id:\s+(\S+)\s+\(for resuming to continue this task if needed\)$/;
26
+ const SAFE_TRACKED_RESULT_REPAIR_CODES = new Set([
27
+ "MISSING_STATUS",
28
+ "MISSING_ROUTE",
29
+ "UNEXPECTED_TOP_BLOCK_LINE",
30
+ ]);
31
+ const FORMAT_ONLY_REPAIR_SYSTEM_PROMPT = "Format-only workflow repair. Do not call tools, do not perform implementation or review work, and do not cause side effects. Return only the corrected final response text.";
32
+ const FORMAT_ONLY_REPAIR_DISABLED_TOOLS = {
33
+ apply_patch: false,
34
+ bash: false,
35
+ edit: false,
36
+ glob: false,
37
+ grep: false,
38
+ multi_tool_use: false,
39
+ read: false,
40
+ task: false,
41
+ work_item_close: false,
42
+ work_item_list: false,
43
+ work_item_open: false,
44
+ write: false,
45
+ };
46
+ function parseResumableTaskEnvelope(output) {
47
+ const normalizedOutput = output.replace(/\r\n/g, "\n");
48
+ const lines = normalizedOutput.split("\n");
49
+ const firstMeaningfulIndex = lines.findIndex((line) => line.trim().length > 0);
50
+ if (firstMeaningfulIndex < 0) {
51
+ return undefined;
52
+ }
53
+ const firstMeaningfulLine = lines[firstMeaningfulIndex]?.trim() ?? "";
54
+ const taskIdMatch = RESUMABLE_TASK_ID_RE.exec(firstMeaningfulLine);
55
+ if (!taskIdMatch) {
56
+ return undefined;
57
+ }
58
+ let startTagIndex = firstMeaningfulIndex + 1;
59
+ while (startTagIndex < lines.length && (lines[startTagIndex] ?? "").trim().length === 0) {
60
+ startTagIndex += 1;
61
+ }
62
+ if ((lines[startTagIndex] ?? "").trim() !== "<task_result>") {
63
+ return undefined;
64
+ }
65
+ const endTagIndex = lines.findIndex((line, index) => index > startTagIndex && line.trim() === "</task_result>");
66
+ if (endTagIndex < 0) {
67
+ return undefined;
68
+ }
69
+ const suffixLines = lines.slice(endTagIndex + 1);
70
+ if (suffixLines.some((line) => line.trim().length > 0)) {
71
+ return undefined;
72
+ }
73
+ return {
74
+ taskId: taskIdMatch[1],
75
+ innerResult: lines
76
+ .slice(startTagIndex + 1, endTagIndex)
77
+ .join("\n")
78
+ .trim(),
79
+ };
80
+ }
81
+ export function unwrapResumableTaskResult(output) {
82
+ const envelope = parseResumableTaskEnvelope(output);
83
+ return {
84
+ normalizedOutput: envelope?.innerResult ?? output,
85
+ ...(envelope ? { envelope } : {}),
86
+ };
87
+ }
88
+ export function buildTrackedResultRepairPrompt(options) {
89
+ const statusGuidance = options.agent === "vv-implementer"
90
+ ? "Allowed VVOC_STATUS values: DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED."
91
+ : "Allowed VVOC_STATUS values: PASS | FAIL | NEEDS_CONTEXT.";
92
+ const routeGuidance = options.agent === "vv-implementer"
93
+ ? "Include `VVOC_ROUTE` in the strict top block and preserve the route that matches your prior result."
94
+ : "Do not include `VVOC_ROUTE`.";
95
+ const exactFormat = [
96
+ `VVOC_WORK_ITEM_ID: ${options.workItemId}`,
97
+ "VVOC_STATUS: <allowed status>",
98
+ ...(options.agent === "vv-implementer" ? ["VVOC_ROUTE: <existing route>"] : []),
99
+ "",
100
+ "<brief result handoff>",
101
+ ].join("\n");
102
+ return [
103
+ `Your previous final response for ${options.workItemId} was malformed for the workflow result protocol.`,
104
+ `Protocol error: ${options.parseErrorMessage}`,
105
+ "Repair only the response format. Do not do additional implementation or review work.",
106
+ "Keep the same underlying outcome and same work item.",
107
+ statusGuidance,
108
+ routeGuidance,
109
+ "Return only the corrected final response in this exact shape:",
110
+ exactFormat,
111
+ "Previous malformed response:",
112
+ "<<<MALFORMED_RESULT",
113
+ options.malformedOutput.trim() || "<empty>",
114
+ ">>>",
115
+ ].join("\n");
116
+ }
117
+ export function isTrackedResultRepairEligible(code) {
118
+ return SAFE_TRACKED_RESULT_REPAIR_CODES.has(code);
119
+ }
120
+ function extractTextParts(parts) {
121
+ return parts
122
+ .filter((part) => part.type === "text")
123
+ .map((part) => part.text)
124
+ .join("")
125
+ .trim();
126
+ }
127
+ export async function attemptTrackedResultRepair(options) {
128
+ try {
129
+ const response = await options.client.session.prompt({
130
+ path: {
131
+ id: options.taskId,
132
+ },
133
+ query: {
134
+ directory: options.directory,
135
+ },
136
+ body: {
137
+ agent: options.agent,
138
+ system: FORMAT_ONLY_REPAIR_SYSTEM_PROMPT,
139
+ tools: FORMAT_ONLY_REPAIR_DISABLED_TOOLS,
140
+ parts: [
141
+ {
142
+ type: "text",
143
+ text: buildTrackedResultRepairPrompt({
144
+ agent: options.agent,
145
+ workItemId: options.workItemId,
146
+ malformedOutput: options.malformedOutput,
147
+ parseErrorMessage: options.parseErrorMessage,
148
+ }),
149
+ },
150
+ ],
151
+ },
152
+ });
153
+ if (response.error || !response.data) {
154
+ return undefined;
155
+ }
156
+ const repairedOutput = extractTextParts(response.data.parts ?? []);
157
+ return repairedOutput || undefined;
158
+ }
159
+ catch {
160
+ return undefined;
161
+ }
162
+ }
163
+ //# sourceMappingURL=repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair.js","sourceRoot":"","sources":["../../../src/plugins/workflow/repair.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,10 @@ For tracked subagents (`vv-implementer`, `vv-spec-reviewer`, `vv-code-reviewer`)
6
6
  1. Open work items first with `work_item_open`.
7
7
  2. Reuse the returned `VVOC_WORK_ITEM_ID`.
8
8
  3. Put that header as the first line in tracked subagent prompts.
9
- 4. Treat `NEEDS_CONTEXT` as a hard stop.
10
- 5. Use `work_item_list` to inspect workflow state before retrying.
11
- 6. Avoid free-form review loops without explicit work-item identity.
9
+ 4. Prefer lightweight XML-like tagged assignment bodies after the header, such as `<assignment>`, `<goal>`, `<context>`, and `<verification>`.
10
+ 5. Treat `NEEDS_CONTEXT` as a hard stop.
11
+ 6. Use `work_item_list` to inspect workflow state before retrying.
12
+ 7. Avoid free-form review loops without explicit work-item identity.
12
13
 
13
14
  Use `work_item_close` explicitly when a work item is complete.
14
15
  </workflow_protocol>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osovv/vv-opencode",
3
- "version": "0.29.0",
3
+ "version": "0.29.1",
4
4
  "description": "Portable OpenCode workflow plugins, explicit memory, and CLI tooling.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -65,6 +65,7 @@
65
65
  },
66
66
  "scripts": {
67
67
  "build": "rm -rf dist && tsc -p tsconfig.build.json && mkdir -p dist/plugins/memory dist/plugins/workflow && cp src/plugins/memory/system-instruction.md dist/plugins/memory/system-instruction.md && cp src/plugins/workflow/system-instruction.md dist/plugins/workflow/system-instruction.md",
68
+ "prepublishOnly": "bun run build",
68
69
  "typecheck": "tsc --noEmit -p tsconfig.json",
69
70
  "lint": "oxlint --deny warnings src",
70
71
  "fmt": "oxfmt --write src",