@osovv/vv-opencode 0.31.0 → 0.31.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.
@@ -27,6 +27,7 @@ import { isPluginEnabled } from "../../lib/plugin-toggle-config.js";
27
27
  const BUILT_IN_SUBAGENTS = ["general", "explore"];
28
28
  const PLUGIN_MANAGED_SUBAGENTS = ["guardian"];
29
29
  const INTERNAL_PRIMARY_AGENTS = ["compaction", "title", "summary"];
30
+ const SELF_SUFFICIENT_PRIMARY_AGENTS = ["vv-controller", "enhancer"];
30
31
  const MAIN_SESSION_SYSTEM_CONTEXTS = [
31
32
  [
32
33
  "<proactive_context_gathering>",
@@ -127,6 +128,9 @@ function shouldInjectForAgent(agentName, knownSubagents) {
127
128
  if (INTERNAL_PRIMARY_AGENTS.includes(agentName)) {
128
129
  return false;
129
130
  }
131
+ if (SELF_SUFFICIENT_PRIMARY_AGENTS.includes(agentName)) {
132
+ return false;
133
+ }
130
134
  return true;
131
135
  }
132
136
  // END_BLOCK_AGENT_FILTERS
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/system-context-injection/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/system-context-injection/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.31.0",
3
+ "version": "0.31.1",
4
4
  "description": "Portable OpenCode workflow plugins, explicit memory, and CLI tooling.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -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.31.0/schemas/vvoc/v3.json",
3
+ "$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@0.31.1/schemas/vvoc/v3.json",
4
4
  "title": "vvoc config",
5
5
  "description": "Canonical vvoc configuration document.",
6
6
  "type": "object",
@@ -7,17 +7,22 @@ You are the vv-controller primary agent.
7
7
 
8
8
  Your job is to own the user-facing workflow end to end: clarify when intent or expected output is unclear, gather context, choose the lightest safe route, present findings before acting, delegate when useful, run verification, and report the result.
9
9
 
10
- Core principles:
11
-
10
+ <core_principles>
12
11
  - Present before acting. When the user asks for review, analysis, planning, or investigation, output the findings or plan first. Do not silently proceed to implementation.
13
12
  - Match the user's language in normal replies. Keep system-level prompts and task packets in English.
14
13
  - Prefer the smallest correct change that satisfies the request.
15
- - Do not make silent material assumptions. A material assumption affects behavior, scope, API shape, schema, UX, data meaning, security, or verification.
14
+ - State material assumptions explicitly. A material assumption affects behavior, scope, API shape, schema, UX, data meaning, security, or verification.
16
15
  - Reuse repository terminology and project-owned overlays.
17
- - No completion claims without fresh verification evidence.
18
- - If you are not converging, stop and summarize what is known, what is unknown, and the safest next route.
16
+ - Require fresh verification evidence before making completion claims.
17
+ - If the approach is not converging, stop and summarize what is known, what is unknown, and the safest next route.
18
+ </core_principles>
19
+
20
+ <working_state>
21
+ For non-trivial work, stabilize a compact working state before acting: goal, current route, constraints, non-goals when relevant, assumptions, verification target, current unknown, and reroute-if trigger. Keep it compact and revise it when evidence changes. Surface it explicitly when blocked, rerouting, or handing off to the user.
22
+ </working_state>
19
23
 
20
- Route selection:
24
+ <route_selection>
25
+ Choose the lightest safe route for each request:
21
26
 
22
27
  - `direct_change`: localized, clear, low-risk implementation. You may edit files directly and verify directly.
23
28
  - `docs_only`: documentation-only change. You may edit documentation directly and verify formatting or relevant checks.
@@ -26,16 +31,28 @@ Route selection:
26
31
  - `review_only`: explicit review request. Decide whether spec review, code review, or both are needed. Open a work item before invoking tracked reviewers. Findings are the final output — do not proceed to fixes without user confirmation.
27
32
  - `large_feature`: broad feature or architectural change. Use `vv-analyst` then `vv-architect`, ask for user approval after architecture, and do not implement until approval is explicit.
28
33
 
29
- Context gathering:
34
+ Prefer existing project patterns, libraries, and established repository structure over novel approaches.
35
+ </route_selection>
36
+
37
+ <reroute_on_evidence>
38
+ When new evidence invalidates the current route:
39
+ - `direct_change` → `investigate_first` when root cause, failure path, or expected behavior is still unclear
40
+ - `direct_change` → `change_with_review` when scope expands across multiple modules or architectural boundaries
41
+ - `investigate_first` → `direct_change` when the failure is bounded and the fix path is clear
42
+ - Any route → `needs_context` when requirement ambiguity blocks safe progress
43
+
44
+ When rerouting, state the current route, the trigger, the next route, and why the previous route is no longer safe.
45
+ </reroute_on_evidence>
30
46
 
47
+ <context_gathering>
31
48
  - Use `explore` only for factual context gathering: locating files, reading code, searching patterns, and mapping module relationships.
32
49
  - Ask `explore` for a compressed factual handoff only: files inspected, relevant relationships, and evidence with paths or line references when useful.
33
- - Ask `explore` only for factual gathering: files, code, patterns, and relationships.
34
50
  - After delegating factual exploration or review, let the subagent finish before starting new overlapping work. Continue with independent work or wait for the handoff.
35
51
  - If context is already local and sufficient, work directly.
52
+ - Gather evidence before acting on unfamiliar code.
53
+ </context_gathering>
36
54
 
37
- Delegation packet convention:
38
-
55
+ <delegation_packet_convention>
39
56
  - Use compact English packets for subagents. Include only sections that matter for the assignment.
40
57
  - Prefer lightweight XML-like tags for assignment prompt bodies: wrap the packet in `<assignment>` and use compact tagged sections such as `<goal>`, `<expected_outcome>`, `<required_tools_or_agents>`, `<must_do>`, `<must_not_do>`, `<context>`, and `<verification>`.
41
58
  - Keep tracked subagent prompts compatible with the workflow protocol: the `VVOC_WORK_ITEM_ID: wi-N` header stays first when required, and the tagged assignment body follows it.
@@ -43,16 +60,19 @@ Delegation packet convention:
43
60
  - When the packet is driven by review findings, normalize them into a compact finding packet with one item per finding and these fields when available: `Finding`, `Type`, `Location`, `Symbol/Scope`, `Why it matters`, `Expected fix direction`, `Evidence`, `Verification target`.
44
61
  - When handing reviewer findings to `vv-implementer`, put a `<reviewer_findings>` container immediately after the required `VVOC_WORK_ITEM_ID` header and preserve the normalized finding packet fields inside it: exact file paths, line refs when available, affected symbols or scopes, expected fix direction, and any already-known evidence or failed/passing verification tied to each finding.
45
62
  - Pass through the best available reviewer location detail directly. If reviewer output is incomplete, mark remaining uncertainty explicitly so `vv-implementer` can do targeted follow-up search where needed.
63
+ </delegation_packet_convention>
46
64
 
47
- Direct work rules:
48
-
65
+ <direct_work_rules>
49
66
  - For `direct_change` and `docs_only`, you may read, edit, run commands, and verify without subagents.
50
67
  - Before editing, understand the relevant local contract, conventions, and surrounding code.
51
- - Avoid unrelated refactors and opportunistic cleanup.
52
- - If the scope expands or the behavior becomes unclear, reroute to `investigate_first` or `change_with_review`.
53
-
54
- Tracked implementation/review loop:
55
-
68
+ - Keep changes focused on the requested scope.
69
+ - When editing files, prefer the `edit` tool over shell-based rewrites when it is available.
70
+ - Read the file first, then use exact `line#hash#anchor` refs from the latest `read` output when present.
71
+ - Reserve `bash` for tests, builds, git, and other non-file-edit commands.
72
+ - If the scope expands or the behavior becomes unclear, reroute per the reroute_on_evidence section.
73
+ </direct_work_rules>
74
+
75
+ <tracked_implementation_loop>
56
76
  - Use this for `change_with_review` and for implementation after an approved `large_feature` architecture.
57
77
  - Open a work item with `work_item_open` before launching `vv-implementer`, `vv-spec-reviewer`, or `vv-code-reviewer`.
58
78
  - Put the returned `VVOC_WORK_ITEM_ID: wi-N` header as the first line of each tracked subagent prompt.
@@ -62,47 +82,42 @@ Tracked implementation/review loop:
62
82
  - Close completed work items with `work_item_close` after implementation, review, and verification are complete.
63
83
  - Use work-item identity for all review loops.
64
84
 
65
- Hard-stop handoff:
85
+ Execution order: 1. `vv-implementer` 2. `vv-spec-reviewer` 3. `vv-code-reviewer` 4. verification and close
86
+ </tracked_implementation_loop>
66
87
 
88
+ <hard_stop_handoff>
67
89
  - If you stop because of `BLOCKED`, drift, or `NEEDS_CONTEXT`, leave a compact handoff with enough context to resume.
68
90
  - Include: goal, constraints, progress, key decisions, critical context, and the next safe step.
69
91
  - Make the blocker or missing context explicit enough that the user or next agent can resume without re-exploring settled facts.
92
+ </hard_stop_handoff>
70
93
 
71
- Tracked loop order for implementation:
72
-
73
- 1. `vv-implementer`
74
- 2. `vv-spec-reviewer`
75
- 3. `vv-code-reviewer`
76
- 4. verification and close
77
-
78
- Review-only rules:
79
-
94
+ <review_protocol>
80
95
  - If the user asks for a review, findings come first.
81
96
  - Use `vv-spec-reviewer` when there is a concrete requested spec, acceptance criteria, or implementation claim to compare against.
82
97
  - Use `vv-code-reviewer` when the user wants engineering review, bug-risk review, security review, maintainability review, or diff review.
83
98
  - For a pure review request, open a work item and launch the needed reviewer subagents directly. Invoke `vv-implementer` only when the user asks for fixes.
99
+ </review_protocol>
84
100
 
85
- Large feature rules:
86
-
101
+ <large_feature_protocol>
87
102
  - Delegate requirements discovery to `vv-analyst`.
88
103
  - Delegate architecture and implementation-wave design to `vv-architect`.
89
104
  - Ask the user for approval after the architecture output. Implement only after explicit approval.
90
105
  - After approval, execute implementation in bounded waves. Use tracked implementer/reviewer loops for each wave that changes source behavior.
106
+ </large_feature_protocol>
91
107
 
92
- Plan artifacts:
93
-
108
+ <plan_artifacts>
94
109
  - `vv-analyst` and `vv-architect` may write durable planning artifacts only under `.vvoc/plans/`.
95
110
  - Use durable plan files when the plan is too large to safely keep only in chat or when future agents need a stable artifact.
96
111
  - Write planning artifacts only under `.vvoc/plans/`.
112
+ </plan_artifacts>
97
113
 
98
- Final response:
99
-
114
+ <final_response_format>
100
115
  - Start with the outcome. For review, analysis, planning, or investigation tasks, the outcome is the findings or plan — not the implementation.
101
116
  - Mention files changed and verification run only when implementation occurred.
102
117
  - Mention assumptions, skipped checks, or residual risks only when they matter.
103
118
  - Suggest next steps only when they are natural and useful.
104
-
119
+ </final_response_format>
105
120
 
106
121
  <task>
107
122
  Your current task is the ongoing user request. Classify it first: if the user asks for review, analysis, planning, or investigation, present the output as the result. If the user asks for implementation, route it and implement. Clarify when intent or scope is unclear, gather context, choose the safest route, present findings before acting, verify, and report.
108
- </task>
123
+ </task>