@osovv/vv-opencode 0.35.17 → 0.35.19

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 CHANGED
@@ -1,3 +1,19 @@
1
+ ## <small>0.35.19 (2026-06-15)</small>
2
+
3
+ ### Summary
4
+
5
+ The vv-reflect skill now synthesizes generalized lessons and reusable procedures instead of session recaps, capturing durable domain knowledge, business context, and product intent so that future agents can apply insights to similar-but-not-identical tasks rather than replaying what happened in a single session.
6
+
7
+ * feat(skills): improve vv-reflect lesson synthesis ([d458c15](https://github.com/osovv/vv-opencode/commit/d458c15))
8
+
9
+ ## <small>0.35.18 (2026-06-15)</small>
10
+
11
+ ### Summary
12
+
13
+ Updated the vv-osovv preset's smart agent to use `openai/vv-gpt-5.5-xhigh`, replacing the previous DeepSeek-based model, to deliver higher-quality responses for complex reasoning tasks while continuing to use existing fast, vision, and default agents for other workloads.
14
+
15
+ * feat(preset): update vv-osovv smart model to openai/vv-gpt-5.5-xhigh ([89752e2](https://github.com/osovv/vv-opencode/commit/89752e2))
16
+
1
17
  ## <small>0.35.17 (2026-06-14)</small>
2
18
 
3
19
  ### Summary
@@ -36,11 +36,11 @@ export declare const BUILTIN_VVOC_PRESET_REGISTRY: {
36
36
  };
37
37
  };
38
38
  readonly "vv-osovv": {
39
- readonly description: "Personal osovv role assignments (deepseek + stepfun + minimax).";
39
+ readonly description: "Personal osovv role assignments (deepseek + stepfun + minimax + gpt).";
40
40
  readonly agents: {
41
41
  readonly default: "deepseek/deepseek-v4-flash";
42
42
  readonly fast: "stepfun/step-3.7-flash";
43
- readonly smart: "deepseek/deepseek-v4-pro";
43
+ readonly smart: "openai/vv-gpt-5.5-xhigh";
44
44
  readonly vision: "minimax-coding-plan/MiniMax-M2.7";
45
45
  };
46
46
  };
@@ -57,11 +57,11 @@ export const BUILTIN_VVOC_PRESET_REGISTRY = {
57
57
  },
58
58
  },
59
59
  "vv-osovv": {
60
- description: "Personal osovv role assignments (deepseek + stepfun + minimax).",
60
+ description: "Personal osovv role assignments (deepseek + stepfun + minimax + gpt).",
61
61
  agents: {
62
62
  default: "deepseek/deepseek-v4-flash",
63
63
  fast: "stepfun/step-3.7-flash",
64
- smart: "deepseek/deepseek-v4-pro",
64
+ smart: "openai/vv-gpt-5.5-xhigh",
65
65
  vision: "minimax-coding-plan/MiniMax-M2.7",
66
66
  },
67
67
  },
@@ -1 +1 @@
1
- {"version":3,"file":"vvoc-preset-registry.js","sourceRoot":"","sources":["../../src/lib/vvoc-preset-registry.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,iBAAiB;AACjB,wBAAwB;AACxB,wGAAwG;AACxG,kGAAkG;AAClG,oBAAoB;AACpB,kFAAkF;AAClF,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,uGAAuG;AACvG,yGAAyG;AACzG,oEAAoE;AACpE,sFAAsF;AACtF,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,iIAAiI;AACjI,qBAAqB;AAOrB,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,WAAW,EAAE;QACX,WAAW,EAAE,0DAA0D;QACvE,MAAM,EAAE;YACN,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,gBAAgB;SACzB;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,uDAAuD;QACpE,MAAM,EAAE;YACN,OAAO,EAAE,6BAA6B;YACtC,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,8BAA8B;YACpC,MAAM,EAAE,0BAA0B;SACnC;KACF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,2DAA2D;QACxE,MAAM,EAAE;YACN,OAAO,EAAE,kCAAkC;YAC3C,KAAK,EAAE,kCAAkC;YACzC,IAAI,EAAE,kCAAkC;YACxC,MAAM,EAAE,kCAAkC;SAC3C;KACF;IACD,aAAa,EAAE;QACb,WAAW,EAAE,4DAA4D;QACzE,MAAM,EAAE;YACN,OAAO,EAAE,4BAA4B;YACrC,KAAK,EAAE,0BAA0B;YACjC,IAAI,EAAE,4BAA4B;YAClC,MAAM,EAAE,0BAA0B;SACnC;KACF;IACD,UAAU,EAAE;QACV,WAAW,EAAE,iEAAiE;QAC9E,MAAM,EAAE;YACN,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,0BAA0B;YACjC,MAAM,EAAE,kCAAkC;SAC3C;KACF;CAC6D,CAAC;AAIjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CACpD,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAA4B,CACrE,CAAC;AAEF,0CAA0C;AAC1C,0FAA0F;AAC1F,sDAAsD;AACtD,0FAA0F;AAC1F,uBAAuB;AACvB,gDAAgD;AAChD,wCAAwC;AACxC,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"vvoc-preset-registry.js","sourceRoot":"","sources":["../../src/lib/vvoc-preset-registry.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,iBAAiB;AACjB,wBAAwB;AACxB,wGAAwG;AACxG,kGAAkG;AAClG,oBAAoB;AACpB,kFAAkF;AAClF,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,uGAAuG;AACvG,yGAAyG;AACzG,oEAAoE;AACpE,sFAAsF;AACtF,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,iIAAiI;AACjI,qBAAqB;AAOrB,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,WAAW,EAAE;QACX,WAAW,EAAE,0DAA0D;QACvE,MAAM,EAAE;YACN,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,gBAAgB;SACzB;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,uDAAuD;QACpE,MAAM,EAAE;YACN,OAAO,EAAE,6BAA6B;YACtC,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,8BAA8B;YACpC,MAAM,EAAE,0BAA0B;SACnC;KACF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,2DAA2D;QACxE,MAAM,EAAE;YACN,OAAO,EAAE,kCAAkC;YAC3C,KAAK,EAAE,kCAAkC;YACzC,IAAI,EAAE,kCAAkC;YACxC,MAAM,EAAE,kCAAkC;SAC3C;KACF;IACD,aAAa,EAAE;QACb,WAAW,EAAE,4DAA4D;QACzE,MAAM,EAAE;YACN,OAAO,EAAE,4BAA4B;YACrC,KAAK,EAAE,0BAA0B;YACjC,IAAI,EAAE,4BAA4B;YAClC,MAAM,EAAE,0BAA0B;SACnC;KACF;IACD,UAAU,EAAE;QACV,WAAW,EAAE,uEAAuE;QACpF,MAAM,EAAE;YACN,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,yBAAyB;YAChC,MAAM,EAAE,kCAAkC;SAC3C;KACF;CAC6D,CAAC;AAIjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CACpD,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAA4B,CACrE,CAAC;AAEF,0CAA0C;AAC1C,0FAA0F;AAC1F,sDAAsD;AACtD,0FAA0F;AAC1F,uBAAuB;AACvB,gDAAgD;AAChD,wCAAwC;AACxC,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osovv/vv-opencode",
3
- "version": "0.35.17",
3
+ "version": "0.35.19",
4
4
  "description": "Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.",
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.35.17/schemas/vvoc/v3.json",
3
+ "$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@0.35.19/schemas/vvoc/v3.json",
4
4
  "title": "vvoc config",
5
5
  "description": "Canonical vvoc configuration document.",
6
6
  "type": "object",
@@ -5,7 +5,7 @@ description: Use at the end of a long development, debugging, bugfix, ops, or in
5
5
 
6
6
  <skill>
7
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.
8
+ You are the vv-reflect skill. Your job is to reflect on the current visible session and propose durable, synthesized repository knowledge for future agents. You do not preserve a session transcript or incident recap. You extract transferable lessons and reusable procedures, and you do not write files until the user explicitly approves entries one by one.
9
9
  </identity>
10
10
 
11
11
  <scope>
@@ -17,7 +17,9 @@ You are the vv-reflect skill. Your job is to reflect on the current visible sess
17
17
 
18
18
  <workflow>
19
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>
20
+ <step>Extract candidate findings from the current session, then generalize them into lessons or procedures that would help in a similar-but-not-identical future task. Reject candidates that merely retell what happened in this session.</step>
21
+ <step>Include durable user-provided knowledge as a candidate when the user explained business context, domain semantics, product intent, repository policy, terminology, constraints, or rationale that is not already visible in repository files and should affect future work.</step>
22
+ <step>Reject candidates that are obvious, one-off, unactionable, unsupported by evidence, duplicate without new durable value, or useful only as a historical note about the current task.</step>
21
23
  <step>Classify each remaining candidate as a lesson, a runbook, or a linked lesson plus runbook.</step>
22
24
  <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
25
  <step>If no high-confidence destination exists, propose the vvoc-owned fallback under .vvoc/lessons or .vvoc/runbooks.</step>
@@ -26,11 +28,22 @@ You are the vv-reflect skill. Your job is to reflect on the current visible sess
26
28
  </workflow>
27
29
 
28
30
  <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>
31
+ <lesson>A lesson preserves generalized knowledge that future agents should remember: a caveat, invariant, recurring trap, non-obvious repository behavior, decision heuristic, or mistake to avoid. A lesson is not a transcript, changelog item, bug report, or solved-task summary.</lesson>
30
32
  <runbook>A runbook preserves what future agents should do: an ordered debugging, fix, ops, or investigation procedure.</runbook>
31
33
  <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
34
  </classification>
33
35
 
36
+ <synthesis_rules>
37
+ <rule>Start from concrete session evidence, but ask: "What general pattern, invariant, or reusable decision rule does this reveal?" Propose that generalized knowledge, not the session narrative.</rule>
38
+ <rule>Treat explicit user explanations as first-class evidence. If the user reveals durable domain knowledge, business meaning, product intent, terminology, or repository policy that future agents would otherwise miss, synthesize it into a lesson or repository-doc update proposal.</rule>
39
+ <rule>Use the current session only as context and evidence. The durable entry should remain useful after file names, branch names, exact errors, or one-off task details fade.</rule>
40
+ <rule>Prefer lessons that change future behavior: what to inspect first, what assumption to avoid, which repository convention dominates, which abstraction boundary matters, or which verification evidence is required.</rule>
41
+ <rule>Do not preserve arbitrary user chatter, temporary preferences, or private/personal details unless they materially affect the repository, product behavior, domain interpretation, or future engineering decisions.</rule>
42
+ <rule>Prefer runbooks when the reusable value is an ordered procedure with a clear trigger, evidence to collect, stopping condition, and common traps.</rule>
43
+ <rule>If the best candidate title would be "what we fixed today" or "the problem in this session", it is probably not a durable lesson. Generalize it or skip it.</rule>
44
+ <rule>If generalization would remove the only useful content, report that nothing durable should be written.</rule>
45
+ </synthesis_rules>
46
+
34
47
  <destination_routing>
35
48
  <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
49
  <rule>Never invent a new docs directory or repository documentation convention when the repository does not already provide a high-confidence home.</rule>
@@ -53,11 +66,11 @@ You are the vv-reflect skill. Your job is to reflect on the current visible sess
53
66
  <lesson_example>
54
67
  ```xml
55
68
  <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>
69
+ <summary>Short scan-friendly generalized lesson, not a session recap.</summary>
70
+ <description>Durable explanation of the transferable pattern, why it matters, and how it should change future agent behavior.</description>
71
+ <context>Brief concrete context that produced the lesson; keep this as evidence, not the main content.</context>
72
+ <applies-when>Signals that a future, similar-but-not-identical task should load this lesson.</applies-when>
73
+ <avoid>Wrong assumptions, traps, or actions to avoid in that broader class of tasks.</avoid>
61
74
  <evidence>Commands, files, errors, traces, review findings, or observed behavior that support the lesson.</evidence>
62
75
  </lesson-example-topic>
63
76
  ```
@@ -103,19 +116,20 @@ You are the vv-reflect skill. Your job is to reflect on the current visible sess
103
116
 
104
117
  <proposal_format>
105
118
  <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>
119
+ <fields>finding, generalized lesson or reusable procedure, type, durability reason, future-use trigger, destination, why this destination, proposed content, alternatives if destination is ambiguous, collision handling if slug or file exists</fields>
107
120
  <rule>Approval is per entry. Treat silence or general agreement without clear approval as not yet approved for writing.</rule>
108
121
  </proposal_format>
109
122
 
110
123
  <write_rules>
111
124
  <rule>Write no files before explicit per-entry approval.</rule>
112
125
  <rule>If no durable findings remain after filtering, report that nothing should be written.</rule>
126
+ <rule>If proposed content reads like a current-session recap, stop and rewrite it as generalized knowledge. If it cannot be generalized without losing the useful content, skip it.</rule>
113
127
  <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
128
  <rule>If the root tag, file stem, or index slug would not match, stop before writing and revise the proposal.</rule>
115
129
  <rule>After writing fallback memory, update the corresponding index in the same change.</rule>
116
130
  </write_rules>
117
131
 
118
132
  <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.
133
+ Your current task is the ongoing user request. Reflect on the current visible session, synthesize generalized lessons or reusable procedures, propose durable repository knowledge 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
134
  </task>
121
135
  </skill>