@osovv/vv-opencode 0.35.5 → 0.35.9
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 +12 -10
- package/dist/lib/managed-skills.d.ts +1 -1
- package/dist/lib/managed-skills.js +10 -3
- package/dist/lib/managed-skills.js.map +1 -1
- package/dist/lib/model-roles.js +3 -2
- package/dist/lib/model-roles.js.map +1 -1
- package/dist/plugins/system-context-injection/index.js +11 -2
- package/dist/plugins/system-context-injection/index.js.map +1 -1
- package/dist/plugins/workflow/index.js +16 -37
- package/dist/plugins/workflow/index.js.map +1 -1
- package/package.json +6 -2
- package/schemas/vvoc/v3.json +1 -1
- package/templates/skills/vv-reflect/SKILL.md +121 -0
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ bun add -g @osovv/vv-opencode
|
|
|
17
17
|
vvoc install
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
That's it. `vvoc install` pins the package, scaffolds managed agents and skills, writes canonical config, and sets `vv-controller` as your default OpenCode agent with auto-triggered spec, planning, and
|
|
20
|
+
That's it. `vvoc install` pins the package, scaffolds managed agents and skills, writes canonical config, and sets `vv-controller` as your default OpenCode agent with auto-triggered spec, planning, review, and reflection skills.
|
|
21
21
|
|
|
22
22
|
To scope everything to the current project instead of the global OpenCode config:
|
|
23
23
|
|
|
@@ -86,7 +86,7 @@ grep '/\*\*' .vvoc/plans/*.xml
|
|
|
86
86
|
grep '<component>' .vvoc/plans/*.xml
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
-
All
|
|
89
|
+
All four skills are auto-triggered by `vv-controller` via its built-in `<skill_trigger_rule>` — no slash commands needed. The controller checks whether `vv-spec`, `vv-plan`, `vv-review`, or `vv-reflect` applies before routing any request.
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
@@ -97,7 +97,7 @@ Setting up OpenCode for serious daily work means juggling config files, agent pr
|
|
|
97
97
|
**vv-opencode collapses that into a single `vvoc install`.** It owns the wiring so you don't have to:
|
|
98
98
|
|
|
99
99
|
- **Six plugins, one entry** — all plugins are exported from a single pinned package entry
|
|
100
|
-
- **Managed agent & skill system** — `vv-controller` auto-triggers `vv-spec`, `vv-plan`, and `vv-
|
|
100
|
+
- **Managed agent & skill system** — `vv-controller` auto-triggers `vv-spec`, `vv-plan`, `vv-review`, and `vv-reflect` skills before routing to domain-specialized subagents
|
|
101
101
|
- **Model roles & presets** — assign models to roles (`smart`, `fast`, `vision`, …) and switch provider presets with one command
|
|
102
102
|
- **Security-first** — a `guardian` agent reviews permission requests, secrets are redacted from LLM-bound chat
|
|
103
103
|
- **Stale-line-number defense** — hashline-backed `edit` prevents write-against-wrong-snapshot bugs
|
|
@@ -110,7 +110,7 @@ Setting up OpenCode for serious daily work means juggling config files, agent pr
|
|
|
110
110
|
|---|---|
|
|
111
111
|
| **Plugins** | 6 plugins in one pinned package entry — workflow orchestration, model roles, guardian, hashline edit, system context injection, secrets redaction |
|
|
112
112
|
| **Agent System** | `vv-controller` routes work: direct for small changes, `investigator` for bugs, implementer+reviewer loop for risky work, analyst+architect for large features |
|
|
113
|
-
| **Skills** | `vv-spec` interviews you and writes an XML spec; `vv-plan` maps the spec to interface contracts and acceptance criteria; `vv-review` runs a review-only workflow — all auto-triggered |
|
|
113
|
+
| **Skills** | `vv-spec` interviews you and writes an XML spec; `vv-plan` maps the spec to interface contracts and acceptance criteria; `vv-review` runs a review-only workflow; `vv-reflect` preserves reusable session findings as repository memory — all auto-triggered |
|
|
114
114
|
| **Spec-to-Code Pipeline** | `vv-spec` → spec review → `vv-plan` → plan review → `vv-implementer` → code review. Three independent review gates cover requirements, contracts, and implementation |
|
|
115
115
|
| **One-Click Setup** | `vvoc install` or `vvoc sync` bootstraps everything — config, agents, skills, prompts, presets |
|
|
116
116
|
| **CLI Tooling** | 15+ commands: install, sync, status, doctor, role management, presets, guardian config, shell completion, upgrade |
|
|
@@ -191,6 +191,8 @@ Managed skills → $XDG_CONFIG_HOME/vvoc/skills/*/SKILL.md (global)
|
|
|
191
191
|
Spec documents → ./.vvoc/specs/*
|
|
192
192
|
Planning artifacts → ./.vvoc/plans/*
|
|
193
193
|
Persisted data → $XDG_DATA_HOME/vvoc/
|
|
194
|
+
Repository memory → ./.vvoc/lessons/*.xml (lazy vv-reflect fallback)
|
|
195
|
+
./.vvoc/runbooks/*.xml (lazy vv-reflect fallback)
|
|
194
196
|
```
|
|
195
197
|
|
|
196
198
|
Schema is versioned and published with the package — source of truth at `schemas/vvoc/v3.json`.
|
|
@@ -217,13 +219,16 @@ All prompt files are scaffolded by `vvoc install` / `vvoc sync`:
|
|
|
217
219
|
|
|
218
220
|
## Managed Skills
|
|
219
221
|
|
|
220
|
-
|
|
222
|
+
Four workflow skills are scaffolded alongside agents:
|
|
221
223
|
|
|
222
224
|
| Skill | Trigger | Output | Grep-able |
|
|
223
225
|
|---|---|---|---|
|
|
224
226
|
| `vv-spec` | Creative/feature request, no spec exists | `.vvoc/specs/*.xml` | `<user-story>`, `<fr-1>`, `<sc-1>` |
|
|
225
227
|
| `vv-plan` | Approved spec exists | `.vvoc/plans/*-plan.xml` | `<task-N>`, `<criterion-N>`, `<depends-on>`, `/**` JSDoc |
|
|
226
228
|
| `vv-review` | Review request | Findings report | — |
|
|
229
|
+
| `vv-reflect` | End of a long development, debugging, bugfix, ops, or investigation session | Existing repo docs or `.vvoc/lessons/*.xml` / `.vvoc/runbooks/*.xml` | XML fallback indexes and entry tags |
|
|
230
|
+
|
|
231
|
+
`vv-reflect` creates `.vvoc/lessons` and `.vvoc/runbooks` lazily only after approved fallback writes. It prefers an existing repository documentation convention when there is a high-confidence match.
|
|
227
232
|
|
|
228
233
|
Skills are loaded by OpenCode at session start through `config.skills.paths` (registered by the SystemContextInjectionPlugin). The `vv-controller` agent's `<skill_trigger_rule>` ensures they are invoked automatically when the user's request matches their trigger conditions.
|
|
229
234
|
|
|
@@ -274,12 +279,9 @@ This will:
|
|
|
274
279
|
3. Update `schemas/vvoc/v3.json` `$id` to the new version
|
|
275
280
|
4. Run `release:check` for consistency
|
|
276
281
|
5. Create a release commit and annotated tag `vX.Y.Z`
|
|
282
|
+
6. Push the current branch and the created tag to `origin`
|
|
277
283
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
```bash
|
|
281
|
-
git push && git push --tags
|
|
282
|
-
```
|
|
284
|
+
Run `release:bump` from a checked-out branch with push access to `origin`. The tag push is what triggers the publish workflow.
|
|
283
285
|
|
|
284
286
|
The GitHub Actions workflow triggers on `v*` tag pushes, verifies the tag matches
|
|
285
287
|
`package.json`, runs full validation (typecheck, lint, fmt check, tests, build, pack
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const MANAGED_SKILL_NAMES: readonly ["vv-spec", "vv-plan", "vv-review", "vv-execute"];
|
|
1
|
+
export declare const MANAGED_SKILL_NAMES: readonly ["vv-spec", "vv-plan", "vv-review", "vv-execute", "vv-reflect"];
|
|
2
2
|
export type ManagedSkillName = (typeof MANAGED_SKILL_NAMES)[number];
|
|
3
3
|
export declare function getManagedSkillFilePath(skillsDirPath: string, name: ManagedSkillName): string;
|
|
4
4
|
export declare function loadManagedSkillTemplate(name: ManagedSkillName): Promise<string>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// FILE: src/lib/managed-skills.ts
|
|
2
|
-
// VERSION: 0.5.
|
|
2
|
+
// VERSION: 0.5.2
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
4
|
// PURPOSE: Describe vvoc-managed OpenCode skills and load them from bundled templates or scoped vvoc config roots.
|
|
5
5
|
// SCOPE: Managed skill names, skill file path resolution, bundled template loading, reference file discovery, and project/global skill lookup.
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// END_MODULE_CONTRACT
|
|
11
11
|
//
|
|
12
12
|
// START_MODULE_MAP
|
|
13
|
-
// MANAGED_SKILL_NAMES - Canonical vvoc-managed skill names.
|
|
13
|
+
// MANAGED_SKILL_NAMES - Canonical vvoc-managed skill names, including vv-reflect.
|
|
14
14
|
// ManagedSkillName - Type for vvoc-managed skill names.
|
|
15
15
|
// getManagedSkillFilePath - Resolves the skill file path inside a vvoc skills directory.
|
|
16
16
|
// loadManagedSkillTemplate - Loads the bundled skill template for a managed skill.
|
|
@@ -20,13 +20,20 @@
|
|
|
20
20
|
// END_MODULE_MAP
|
|
21
21
|
//
|
|
22
22
|
// START_CHANGE_SUMMARY
|
|
23
|
+
// LAST_CHANGE: [v0.5.2 - Added vv-reflect to the canonical managed skill set.]
|
|
23
24
|
// LAST_CHANGE: [v0.5.1 - Added loadManagedSkillReference and listManagedSkillReferenceNames for copying reference files alongside skill templates.]
|
|
24
25
|
// LAST_CHANGE: [v0.5.0 - Initial module for managed skill file resolution and template loading.]
|
|
25
26
|
// END_CHANGE_SUMMARY
|
|
26
27
|
import { readdir, readFile } from "node:fs/promises";
|
|
27
28
|
import { join } from "node:path";
|
|
28
29
|
import { getGlobalVvocDir, getProjectVvocDir, getVvocSkillsDir } from "./vvoc-paths.js";
|
|
29
|
-
export const MANAGED_SKILL_NAMES = [
|
|
30
|
+
export const MANAGED_SKILL_NAMES = [
|
|
31
|
+
"vv-spec",
|
|
32
|
+
"vv-plan",
|
|
33
|
+
"vv-review",
|
|
34
|
+
"vv-execute",
|
|
35
|
+
"vv-reflect",
|
|
36
|
+
];
|
|
30
37
|
export function getManagedSkillFilePath(skillsDirPath, name) {
|
|
31
38
|
return join(skillsDirPath, name, "SKILL.md");
|
|
32
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-skills.js","sourceRoot":"","sources":["../../src/lib/managed-skills.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,iBAAiB;AACjB,wBAAwB;AACxB,qHAAqH;AACrH,iJAAiJ;AACjJ,4EAA4E;AAC5E,kCAAkC;AAClC,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,
|
|
1
|
+
{"version":3,"file":"managed-skills.js","sourceRoot":"","sources":["../../src/lib/managed-skills.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/model-roles.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// FILE: src/lib/model-roles.ts
|
|
2
|
-
// VERSION: 0.2.
|
|
2
|
+
// VERSION: 0.2.1
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
4
|
// PURPOSE: Define built-in role IDs, role-reference parsing, concrete model-selection parsing, and deterministic built-in role bindings.
|
|
5
5
|
// SCOPE: Role ID validation, vv-role reference detection/resolution, provider/model parsing, and hard-coded built-in role binding lookup.
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
// END_MODULE_MAP
|
|
26
26
|
//
|
|
27
27
|
// START_CHANGE_SUMMARY
|
|
28
|
+
// LAST_CHANGE: [v0.2.1 - Rebound managed vv-controller to the built-in smart role while leaving root OpenCode defaults and other managed agents unchanged.]
|
|
28
29
|
// LAST_CHANGE: [v0.5.0 - Removed vv-analyst and vv-architect role bindings. Analysis and architecture are now done directly by the expensive model through interactive skills (vv-spec, vv-plan).
|
|
29
30
|
// LAST_CHANGE: [v0.1.3 - Removed variant splitting from model selection parsing so provider/model:free passes through unchanged.]
|
|
30
31
|
// LAST_CHANGE: [v0.1.2 - Renamed tracked managed-agent role binding keys to vv-* names for implementer/spec/code reviewer roles.]
|
|
@@ -48,7 +49,7 @@ const BUILTIN_ROLE_BINDINGS = {
|
|
|
48
49
|
},
|
|
49
50
|
managedAgents: {
|
|
50
51
|
guardian: "fast",
|
|
51
|
-
"vv-controller": "
|
|
52
|
+
"vv-controller": "smart",
|
|
52
53
|
enhancer: "smart",
|
|
53
54
|
"vv-implementer": "default",
|
|
54
55
|
"vv-spec-reviewer": "smart",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-roles.js","sourceRoot":"","sources":["../../src/lib/model-roles.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,iBAAiB;AACjB,wBAAwB;AACxB,2IAA2I;AAC3I,4IAA4I;AAC5I,oBAAoB;AACpB,2BAA2B;AAC3B,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,mEAAmE;AACnE,0DAA0D;AAC1D,qEAAqE;AACrE,uEAAuE;AACvE,qFAAqF;AACrF,wGAAwG;AACxG,wDAAwD;AACxD,sDAAsD;AACtD,0DAA0D;AAC1D,mEAAmE;AACnE,4DAA4D;AAC5D,4DAA4D;AAC5D,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,oMAAoM;AACpM,oIAAoI;AACpI,oIAAoI;AACpI,wKAAwK;AACxK,4JAA4J;AAC5J,qBAAqB;AAErB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAGlF,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AA+ChD,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAC5C,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAExD,MAAM,qBAAqB,GAAwB;IACjD,gBAAgB,EAAE;QAChB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,MAAM;KACnB;IACD,cAAc,EAAE;QACd,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,MAAM;KAChB;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM;QAChB,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"model-roles.js","sourceRoot":"","sources":["../../src/lib/model-roles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// FILE: src/plugins/system-context-injection/index.ts
|
|
2
|
-
// VERSION: 0.4.
|
|
2
|
+
// VERSION: 0.4.2
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
4
|
// PURPOSE: Inject reusable vvoc system context into primary chat sessions without polluting known subagent prompts.
|
|
5
|
-
// SCOPE: Main-session system instruction definitions, editing-workflow guidance, known subagent filtering, config-aware custom subagent tracking, and chat.message system prompt injection.
|
|
5
|
+
// SCOPE: Main-session system instruction definitions, editing-workflow guidance, repository-memory lookup guidance, known subagent filtering, config-aware custom subagent tracking, and chat.message system prompt injection.
|
|
6
6
|
// DEPENDS: [@opencode-ai/plugin, src/lib/managed-agents.ts, src/lib/vvoc-paths.ts]
|
|
7
7
|
// LINKS: [M-PLUGIN-SYSTEM-CONTEXT-INJECTION, M-CLI-MANAGED-AGENTS]
|
|
8
8
|
// ROLE: RUNTIME
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
// END_MODULE_MAP
|
|
15
15
|
//
|
|
16
16
|
// START_CHANGE_SUMMARY
|
|
17
|
+
// LAST_CHANGE: [v0.4.2 - Added scoped repository-memory guidance for .vvoc lessons and runbooks indexes.]
|
|
17
18
|
// LAST_CHANGE: [v0.4.1 - Added explore-specific system guidance that enforces compact search/discovery handoffs instead of file dumps.]
|
|
18
19
|
// LAST_CHANGE: [v0.3.4 - Added vvoc managed skill directory to config.skills.paths in config hook.]
|
|
19
20
|
// LAST_CHANGE: [v0.3.3 - Updated editing workflow guidance to prefer exact context-anchored `line#hash#anchor` refs from read output.]
|
|
@@ -114,6 +115,14 @@ const MAIN_SESSION_SYSTEM_CONTEXTS = [
|
|
|
114
115
|
"Use only overlays provided in the task context or repository.",
|
|
115
116
|
"</project_overlays>",
|
|
116
117
|
].join("\n"),
|
|
118
|
+
[
|
|
119
|
+
"<repository_memory>",
|
|
120
|
+
"If `.vvoc/lessons/index.xml` or `.vvoc/runbooks/index.xml` exists, inspect relevant index entries before debugging, fixing, changing behavior, operating on, architecting, or investigating repository-specific issues.",
|
|
121
|
+
"Load only entry files whose slug, summary, or applicability signal appears relevant to the current task.",
|
|
122
|
+
"Treat `.vvoc/lessons` and `.vvoc/runbooks` as advisory agent-facing repository memory, not as stronger authority than explicit user instructions, code, tests, or repository-owned instructions.",
|
|
123
|
+
"After a long development, debugging, bugfix, ops, or investigation session with reusable findings, consider using the vv-reflect skill to propose durable lessons or runbooks.",
|
|
124
|
+
"</repository_memory>",
|
|
125
|
+
].join("\n"),
|
|
117
126
|
];
|
|
118
127
|
const EXPLORE_SYSTEM_CONTEXTS = [
|
|
119
128
|
[
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/system-context-injection/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,iBAAiB;AACjB,wBAAwB;AACxB,sHAAsH;AACtH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/system-context-injection/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// FILE: src/plugins/workflow/index.ts
|
|
2
|
-
// VERSION: 0.2.
|
|
2
|
+
// VERSION: 0.2.6
|
|
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
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.
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
// END_MODULE_MAP
|
|
15
15
|
//
|
|
16
16
|
// START_CHANGE_SUMMARY
|
|
17
|
+
// LAST_CHANGE: [v0.2.6 - Restricted work-item tools and workflow guidance injection to vv-controller sessions only.]
|
|
17
18
|
// 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
19
|
// LAST_CHANGE: [v0.2.4 - Added a single same-session repair attempt for malformed tracked results inside recognized resumable OpenCode task envelopes.]
|
|
19
20
|
// LAST_CHANGE: [v0.2.3 - Tightened OpenCode task-result envelope detection to the known resumable task header shape before unwrapping.]
|
|
@@ -24,7 +25,6 @@
|
|
|
24
25
|
// LAST_CHANGE: [v0.1.0 - Added workflow plugin integration with tool wiring, tracked launch/result hooks, loop-gate enforcement, and primary-session guidance injection.]
|
|
25
26
|
// END_CHANGE_SUMMARY
|
|
26
27
|
import { tool } from "@opencode-ai/plugin";
|
|
27
|
-
import { MANAGED_SUBAGENT_NAMES } from "../../lib/managed-agents.js";
|
|
28
28
|
import { attemptTrackedResultRepair, isTrackedResultRepairEligible, unwrapResumableTaskResult, } from "./repair.js";
|
|
29
29
|
import { parseResultBlock, parseWorkItemHeader, TRACKED_SUBAGENT_NAMES, } from "./protocol.js";
|
|
30
30
|
import { createWorkItemStore, getReviewRound, getWorkItem, transitionWorkItemState, } from "./state.js";
|
|
@@ -34,13 +34,10 @@ import workflowSystemInstructionTemplate from "./system-instruction.md?raw";
|
|
|
34
34
|
import { isPluginEnabled } from "../../lib/plugin-toggle-config.js";
|
|
35
35
|
import { deleteWorkflowSessionDir, hydrateWorkflowState, snapshotWorkflowState, } from "./persistence.js";
|
|
36
36
|
const z = tool.schema;
|
|
37
|
-
const BUILT_IN_SUBAGENTS = ["general", "explore"];
|
|
38
|
-
const PLUGIN_MANAGED_SUBAGENTS = ["guardian"];
|
|
39
|
-
const INTERNAL_PRIMARY_AGENTS = ["compaction", "title", "summary"];
|
|
40
|
-
const HELPER_PRIMARY_AGENTS = ["enhancer"];
|
|
41
37
|
const TRACKED_SUBAGENT_SET = new Set(TRACKED_SUBAGENT_NAMES);
|
|
42
38
|
const WORK_ITEM_MISSING_MARKER = "__VVOC" + "_SECRET_BEARER_TOKEN_a6f582092f05__";
|
|
43
39
|
const INVALID_NEXT_AGENT_MARKER = "__VVOC" + "_SECRET_BEARER_TOKEN_513fa2de603d__";
|
|
40
|
+
const WORKFLOW_CONTROLLER_AGENT = "vv-controller";
|
|
44
41
|
const WORKFLOW_SYSTEM_INSTRUCTION = workflowSystemInstructionTemplate.trim();
|
|
45
42
|
function isTrackedSubagent(value) {
|
|
46
43
|
return typeof value === "string" && TRACKED_SUBAGENT_SET.has(value);
|
|
@@ -66,35 +63,18 @@ function readTaskPrompt(args) {
|
|
|
66
63
|
}
|
|
67
64
|
return value;
|
|
68
65
|
}
|
|
69
|
-
function
|
|
70
|
-
return
|
|
71
|
-
...BUILT_IN_SUBAGENTS,
|
|
72
|
-
...PLUGIN_MANAGED_SUBAGENTS,
|
|
73
|
-
...MANAGED_SUBAGENT_NAMES,
|
|
74
|
-
...TRACKED_SUBAGENT_NAMES,
|
|
75
|
-
]);
|
|
66
|
+
function canUseWorkflowTools(agentName) {
|
|
67
|
+
return agentName === WORKFLOW_CONTROLLER_AGENT;
|
|
76
68
|
}
|
|
77
|
-
function
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
knownSubagents.add(name);
|
|
81
|
-
}
|
|
69
|
+
function assertWorkflowToolAccess(agentName, toolName) {
|
|
70
|
+
if (canUseWorkflowTools(agentName)) {
|
|
71
|
+
return;
|
|
82
72
|
}
|
|
73
|
+
const resolvedAgent = agentName?.trim() || "unknown-agent";
|
|
74
|
+
throw new Error(`WORKFLOW_TOOL_DENIED: ${toolName} is only available to ${WORKFLOW_CONTROLLER_AGENT} sessions. Current agent: ${resolvedAgent}.`);
|
|
83
75
|
}
|
|
84
|
-
function shouldInjectForAgent(agentName
|
|
85
|
-
|
|
86
|
-
return false;
|
|
87
|
-
}
|
|
88
|
-
if (knownSubagents.has(agentName)) {
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
if (INTERNAL_PRIMARY_AGENTS.includes(agentName)) {
|
|
92
|
-
return false;
|
|
93
|
-
}
|
|
94
|
-
if (HELPER_PRIMARY_AGENTS.includes(agentName)) {
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
return true;
|
|
76
|
+
function shouldInjectForAgent(agentName) {
|
|
77
|
+
return canUseWorkflowTools(agentName);
|
|
98
78
|
}
|
|
99
79
|
function appendSystemInstruction(existingSystem, instruction) {
|
|
100
80
|
if (!existingSystem?.trim()) {
|
|
@@ -144,7 +124,6 @@ export const WorkflowPlugin = async ({ client, directory }) => {
|
|
|
144
124
|
}
|
|
145
125
|
}
|
|
146
126
|
// END_BLOCK_PERSISTENCE_SETUP
|
|
147
|
-
const knownSubagents = createKnownSubagentSet();
|
|
148
127
|
// Tool wrappers still need a store reference for description/args shape
|
|
149
128
|
// but execute handlers resolve the right store per-call
|
|
150
129
|
const dummyStore = createWorkItemStore();
|
|
@@ -152,9 +131,6 @@ export const WorkflowPlugin = async ({ client, directory }) => {
|
|
|
152
131
|
const workItemListTool = createWorkItemListTool(dummyStore);
|
|
153
132
|
const workItemCloseTool = createWorkItemCloseTool(dummyStore);
|
|
154
133
|
return {
|
|
155
|
-
config: async (config) => {
|
|
156
|
-
syncConfiguredSubagents(config, knownSubagents);
|
|
157
|
-
},
|
|
158
134
|
tool: {
|
|
159
135
|
work_item_open: tool({
|
|
160
136
|
description: workItemOpenTool.description,
|
|
@@ -165,6 +141,7 @@ export const WorkflowPlugin = async ({ client, directory }) => {
|
|
|
165
141
|
})),
|
|
166
142
|
},
|
|
167
143
|
async execute(args, context) {
|
|
144
|
+
assertWorkflowToolAccess(context.agent, "work_item_open");
|
|
168
145
|
const sessionStore = getOrCreateStore(context.sessionID);
|
|
169
146
|
const opened = workItemOpenTool.execute(args, { sessionId: context.sessionID }, sessionStore);
|
|
170
147
|
snapshotSession(context.sessionID);
|
|
@@ -177,6 +154,7 @@ export const WorkflowPlugin = async ({ client, directory }) => {
|
|
|
177
154
|
includeClosed: z.boolean().optional(),
|
|
178
155
|
},
|
|
179
156
|
async execute(args, context) {
|
|
157
|
+
assertWorkflowToolAccess(context.agent, "work_item_list");
|
|
180
158
|
const sessionStore = getOrCreateStore(context.sessionID);
|
|
181
159
|
return stringifyToolOutput(workItemListTool.execute(args, { sessionId: context.sessionID }, sessionStore));
|
|
182
160
|
},
|
|
@@ -187,6 +165,7 @@ export const WorkflowPlugin = async ({ client, directory }) => {
|
|
|
187
165
|
workItemId: z.string(),
|
|
188
166
|
},
|
|
189
167
|
async execute(args, context) {
|
|
168
|
+
assertWorkflowToolAccess(context.agent, "work_item_close");
|
|
190
169
|
const sessionStore = getOrCreateStore(context.sessionID);
|
|
191
170
|
const closed = workItemCloseTool.execute(args, { sessionId: context.sessionID }, sessionStore);
|
|
192
171
|
snapshotSession(context.sessionID);
|
|
@@ -478,7 +457,7 @@ export const WorkflowPlugin = async ({ client, directory }) => {
|
|
|
478
457
|
}
|
|
479
458
|
},
|
|
480
459
|
"chat.message": async (_input, output) => {
|
|
481
|
-
if (!shouldInjectForAgent(output.message.agent
|
|
460
|
+
if (!shouldInjectForAgent(output.message.agent)) {
|
|
482
461
|
return;
|
|
483
462
|
}
|
|
484
463
|
output.message.system = appendSystemInstruction(output.message.system, WORKFLOW_SYSTEM_INSTRUCTION);
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osovv/vv-opencode",
|
|
3
|
-
"version": "0.35.
|
|
3
|
+
"version": "0.35.9",
|
|
4
4
|
"description": "Portable OpenCode workflow plugins, explicit memory, and CLI tooling.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -91,5 +91,9 @@
|
|
|
91
91
|
"engines": {
|
|
92
92
|
"bun": ">=1.3.8"
|
|
93
93
|
},
|
|
94
|
-
"packageManager": "bun@1.3.8"
|
|
94
|
+
"packageManager": "bun@1.3.8",
|
|
95
|
+
"repository": {
|
|
96
|
+
"type": "git",
|
|
97
|
+
"url": "git+https://github.com/osovv/vv-opencode.git"
|
|
98
|
+
}
|
|
95
99
|
}
|
package/schemas/vvoc/v3.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@0.35.
|
|
3
|
+
"$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@0.35.9/schemas/vvoc/v3.json",
|
|
4
4
|
"title": "vvoc config",
|
|
5
5
|
"description": "Canonical vvoc configuration document.",
|
|
6
6
|
"type": "object",
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vv-reflect
|
|
3
|
+
description: Use at the end of a long development, debugging, bugfix, ops, or investigation session to preserve reusable findings as durable repository memory for future agents.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<skill>
|
|
7
|
+
<identity>
|
|
8
|
+
You are the vv-reflect skill. Your job is to reflect on the current visible session and propose durable repository memory entries for future agents. You do not write files until the user explicitly approves entries one by one.
|
|
9
|
+
</identity>
|
|
10
|
+
|
|
11
|
+
<scope>
|
|
12
|
+
<rule>Use only the current visible chat context and any summary the user explicitly provides in this session.</rule>
|
|
13
|
+
<rule>Do not reconstruct hidden, compacted, or unavailable history.</rule>
|
|
14
|
+
<rule>Do not use or create .vvoc/reflect.jsonc or any reflect-specific config.</rule>
|
|
15
|
+
<rule>Do not add a CLI command, hook behavior, or automatic writer behavior.</rule>
|
|
16
|
+
</scope>
|
|
17
|
+
|
|
18
|
+
<workflow>
|
|
19
|
+
<step>Assess whether the current visible session contains enough information to identify durable findings, root causes, fixes, traps, and evidence. If not, ask the user for a compact summary before proposing memory.</step>
|
|
20
|
+
<step>Extract candidate findings from the current session. Reject candidates that are obvious, one-off, unactionable, unsupported by evidence, or duplicate without new durable value.</step>
|
|
21
|
+
<step>Classify each remaining candidate as a lesson, a runbook, or a linked lesson plus runbook.</step>
|
|
22
|
+
<step>Search for an existing repository-owned documentation destination. Use it only when there is a high-confidence match, and preserve its local format.</step>
|
|
23
|
+
<step>If no high-confidence destination exists, propose the vvoc-owned fallback under .vvoc/lessons or .vvoc/runbooks.</step>
|
|
24
|
+
<step>Present a proposal for each entry and wait for explicit per-entry approve, edit, or reject instructions.</step>
|
|
25
|
+
<step>Write only approved entries. If only some entries are approved, write only those entries.</step>
|
|
26
|
+
</workflow>
|
|
27
|
+
|
|
28
|
+
<classification>
|
|
29
|
+
<lesson>A lesson preserves what future agents should remember: a caveat, invariant, recurring trap, non-obvious repository behavior, or mistake to avoid.</lesson>
|
|
30
|
+
<runbook>A runbook preserves what future agents should do: an ordered debugging, fix, ops, or investigation procedure.</runbook>
|
|
31
|
+
<mixed>If the durable value includes both memory and procedure, propose linked lesson and runbook entries unless the steps are the main value, in which case propose a runbook.</mixed>
|
|
32
|
+
</classification>
|
|
33
|
+
|
|
34
|
+
<destination_routing>
|
|
35
|
+
<rule>Prefer existing repository-owned documentation only when the match is high-confidence, such as an existing troubleshooting document, runbook directory, ADR area, package-local README, or established docs convention.</rule>
|
|
36
|
+
<rule>Never invent a new docs directory or repository documentation convention when the repository does not already provide a high-confidence home.</rule>
|
|
37
|
+
<rule>If destination ownership or format is ambiguous, propose the .vvoc fallback and list plausible alternatives.</rule>
|
|
38
|
+
<rule>Existing repository docs keep their local format, even when that format is Markdown.</rule>
|
|
39
|
+
</destination_routing>
|
|
40
|
+
|
|
41
|
+
<fallback_memory>
|
|
42
|
+
<rule>Create fallback directories and indexes lazily only after an approved fallback write.</rule>
|
|
43
|
+
<lesson_path>.vvoc/lessons/lesson-<topic-slug>.xml</lesson_path>
|
|
44
|
+
<runbook_path>.vvoc/runbooks/runbook-<topic-slug>.xml</runbook_path>
|
|
45
|
+
<lesson_index>.vvoc/lessons/index.xml</lesson_index>
|
|
46
|
+
<runbook_index>.vvoc/runbooks/index.xml</runbook_index>
|
|
47
|
+
<rule>Use one durable entry per file.</rule>
|
|
48
|
+
<rule>The root tag, file stem, and index slug must match exactly, such as lesson-managed-skills-must-update-registration.</rule>
|
|
49
|
+
<rule>If the slug already exists, propose either updating the existing entry for the same durable topic or creating a more specific new slug for a distinct topic. Never silently overwrite.</rule>
|
|
50
|
+
</fallback_memory>
|
|
51
|
+
|
|
52
|
+
<fallback_schemas>
|
|
53
|
+
<lesson_example>
|
|
54
|
+
```xml
|
|
55
|
+
<lesson-example-topic>
|
|
56
|
+
<summary>Short scan-friendly summary.</summary>
|
|
57
|
+
<description>Durable explanation of what was learned, why it matters, and how it should change future agent behavior.</description>
|
|
58
|
+
<context>What happened in the current session or repository context that produced this lesson.</context>
|
|
59
|
+
<applies-when>Signals that this lesson is relevant.</applies-when>
|
|
60
|
+
<avoid>Wrong assumptions, traps, or actions to avoid.</avoid>
|
|
61
|
+
<evidence>Commands, files, errors, traces, review findings, or observed behavior that support the lesson.</evidence>
|
|
62
|
+
</lesson-example-topic>
|
|
63
|
+
```
|
|
64
|
+
</lesson_example>
|
|
65
|
+
<runbook_example>
|
|
66
|
+
```xml
|
|
67
|
+
<runbook-example-topic>
|
|
68
|
+
<summary>Short scan-friendly procedural purpose.</summary>
|
|
69
|
+
<description>What this procedure is for and why it exists.</description>
|
|
70
|
+
<when-to-use>Signals that this runbook applies.</when-to-use>
|
|
71
|
+
<steps>Ordered diagnostic or fix workflow.</steps>
|
|
72
|
+
<evidence-to-collect>What to inspect before changing code.</evidence-to-collect>
|
|
73
|
+
<common-traps>Known false paths or mistakes.</common-traps>
|
|
74
|
+
<related-lessons>Optional related lesson slugs or paths.</related-lessons>
|
|
75
|
+
</runbook-example-topic>
|
|
76
|
+
```
|
|
77
|
+
</runbook_example>
|
|
78
|
+
<lesson_index_example>
|
|
79
|
+
```xml
|
|
80
|
+
<vvoc-lessons-index>
|
|
81
|
+
<entry>
|
|
82
|
+
<slug>lesson-example-topic</slug>
|
|
83
|
+
<path>.vvoc/lessons/lesson-example-topic.xml</path>
|
|
84
|
+
<summary>Short scan-friendly summary.</summary>
|
|
85
|
+
<applies-when>Signals that this lesson is relevant.</applies-when>
|
|
86
|
+
</entry>
|
|
87
|
+
</vvoc-lessons-index>
|
|
88
|
+
```
|
|
89
|
+
</lesson_index_example>
|
|
90
|
+
<runbook_index_example>
|
|
91
|
+
```xml
|
|
92
|
+
<vvoc-runbooks-index>
|
|
93
|
+
<entry>
|
|
94
|
+
<slug>runbook-example-topic</slug>
|
|
95
|
+
<path>.vvoc/runbooks/runbook-example-topic.xml</path>
|
|
96
|
+
<summary>Short scan-friendly procedural purpose.</summary>
|
|
97
|
+
<when-to-use>Signals that this runbook applies.</when-to-use>
|
|
98
|
+
</entry>
|
|
99
|
+
</vvoc-runbooks-index>
|
|
100
|
+
```
|
|
101
|
+
</runbook_index_example>
|
|
102
|
+
</fallback_schemas>
|
|
103
|
+
|
|
104
|
+
<proposal_format>
|
|
105
|
+
<rule>Present one proposal item per candidate entry.</rule>
|
|
106
|
+
<fields>finding, type, durability reason, destination, why this destination, proposed content, alternatives if destination is ambiguous, collision handling if slug or file exists</fields>
|
|
107
|
+
<rule>Approval is per entry. Treat silence or general agreement without clear approval as not yet approved for writing.</rule>
|
|
108
|
+
</proposal_format>
|
|
109
|
+
|
|
110
|
+
<write_rules>
|
|
111
|
+
<rule>Write no files before explicit per-entry approval.</rule>
|
|
112
|
+
<rule>If no durable findings remain after filtering, report that nothing should be written.</rule>
|
|
113
|
+
<rule>If approved content is malformed or materially vague, tighten it before writing. If tightening changes meaning, show the revised content and ask again.</rule>
|
|
114
|
+
<rule>If the root tag, file stem, or index slug would not match, stop before writing and revise the proposal.</rule>
|
|
115
|
+
<rule>After writing fallback memory, update the corresponding index in the same change.</rule>
|
|
116
|
+
</write_rules>
|
|
117
|
+
|
|
118
|
+
<task>
|
|
119
|
+
Your current task is the ongoing user request. Reflect on the current visible session, propose durable repository memory entries, wait for explicit per-entry approval, then write only approved entries to a high-confidence existing repository destination or the .vvoc XML-first fallback memory convention.
|
|
120
|
+
</task>
|
|
121
|
+
</skill>
|