@osovv/vv-opencode 1.4.1 → 1.4.3-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +17 -5
  3. package/dist/lib/orchestration.js +8 -3
  4. package/dist/lib/orchestration.js.map +1 -1
  5. package/dist/plugins/system-context-injection/index.js +17 -8
  6. package/dist/plugins/system-context-injection/index.js.map +1 -1
  7. package/dist/plugins/workflow/checkpoints.d.ts +53 -1
  8. package/dist/plugins/workflow/checkpoints.js +350 -33
  9. package/dist/plugins/workflow/checkpoints.js.map +1 -1
  10. package/dist/plugins/workflow/delegated.d.ts +144 -2
  11. package/dist/plugins/workflow/delegated.js +542 -12
  12. package/dist/plugins/workflow/delegated.js.map +1 -1
  13. package/dist/plugins/workflow/index.js +269 -20
  14. package/dist/plugins/workflow/index.js.map +1 -1
  15. package/dist/plugins/workflow/persistence.d.ts +6 -4
  16. package/dist/plugins/workflow/persistence.js +192 -31
  17. package/dist/plugins/workflow/persistence.js.map +1 -1
  18. package/dist/plugins/workflow/repair.d.ts +3 -0
  19. package/dist/plugins/workflow/repair.js +39 -31
  20. package/dist/plugins/workflow/repair.js.map +1 -1
  21. package/dist/plugins/workflow/state.js +16 -3
  22. package/dist/plugins/workflow/state.js.map +1 -1
  23. package/dist/plugins/workflow/tooling.d.ts +36 -6
  24. package/dist/plugins/workflow/tooling.js +137 -20
  25. package/dist/plugins/workflow/tooling.js.map +1 -1
  26. package/package.json +1 -1
  27. package/schemas/vvoc/v3.json +1 -1
  28. package/templates/agents/investigator.md +3 -0
  29. package/templates/agents/vv-code-reviewer.md +10 -3
  30. package/templates/agents/vv-controller.md +28 -6
  31. package/templates/agents/vv-implementer.md +6 -3
  32. package/templates/agents/vv-spec-reviewer.md +4 -0
  33. package/templates/skills/vv-execute/SKILL.md +11 -7
  34. package/templates/skills/vv-plan/SKILL.md +3 -1
  35. package/templates/skills/vv-review/SKILL.md +2 -0
  36. package/templates/skills/vv-spec/SKILL.md +2 -1
@@ -66,6 +66,8 @@ You are the vv-plan skill. Your job is to take an approved spec and write an imp
66
66
  <rule>Every task contains an &lt;acceptance&gt; section with one or more &lt;criterion&gt; elements.</rule>
67
67
  <rule>Each criterion is ONE specific, testable condition. If you cannot write a test for it, it is not specific enough.</rule>
68
68
  <rule>Criteria cover: success paths, failure paths, edge cases, boundary conditions, concurrency when relevant.</rule>
69
+ <rule>Derive acceptance criteria and verification commands from the spec contract and the directly affected consumers, not from a preferred implementation. Criteria cover the material properties that must be preserved and the interactions with the consumers the change touches.</rule>
70
+ <rule>Choose verification at the level where the risk arises: name the targeted command or scenario that exercises the changed behavior, and do not present a general check that cannot reach the changed path as evidence for a material criterion.</rule>
69
71
  <rule>Use plain English assertions: "Returns X when Y", "Throws Z if W", "Handles N concurrent calls without data loss".</rule>
70
72
  <rule>Each criterion is a separate child tag: &lt;criterion&gt;...&lt;/criterion&gt;. Line breaks between them for readability. No numbered tags.</rule>
71
73
  </acceptance_criteria_format>
@@ -157,7 +159,7 @@ export type CacheStoreOptions = {
157
159
  <self_review>
158
160
  <check>Spec coverage: For each requirement in the spec, identify the task that implements it. List any gaps as issues to fix.</check>
159
161
  <check>Contract completeness: Does every task's contract show all public signatures and types? Are edge cases covered by acceptance criteria?</check>
160
- <check>Acceptance criteria quality: Is every criterion testable? Could a reviewer or implementer write a failing test for it?</check>
162
+ <check>Acceptance criteria quality: Is every criterion testable? Could a reviewer or implementer write a failing test for it? Are the material properties that must be preserved and the directly affected consumers covered by criteria whose verification actually reaches them?</check>
161
163
  <check>Type consistency: Do types, signatures, and property names match across tasks? A function called `clearLayers()` in Task 3 but `clearFullLayers()` in Task 7 is a bug.</check>
162
164
  <rule>Fix issues inline as you find them. No second review pass needed — just fix and continue.</rule>
163
165
  <check>Format compliance: Are there zero XML attributes? Is every snippet in CDATA? Is every task a &lt;TASK-T-NNN&gt; element with identity in the element name and no child id element?</check>
@@ -18,6 +18,8 @@ You are the vv-review skill. Your job is to route review requests to the appropr
18
18
  <step>Put the VVOC_WORK_ITEM_ID header as the first line of each reviewer sub-agent prompt.</step>
19
19
  <step>Collect findings from each required reviewer. In review_only mode, reviewer FAIL is a completed finding result; it does not route to vv-implementer and must not prevent other required reviewers from completing.</step>
20
20
  <step>Findings are the FINAL output. Do NOT proceed to fixes without explicit user confirmation.</step>
21
+ <step>When the request is a re-review after a fix, scope the reviewer packets to a scoped re-review: verify the prior findings against the fix and the fix's material effects — including directly affected consumers where necessary — rather than re-reviewing an entire unchanged change from scratch. Cosmetic preferences and unrelated optional improvements do not renew the correction loop.</step>
22
+ <step>Present findings honestly: "no findings" means no defect was discovered within the reviewed scope, not a guarantee of correctness. Note material verification gaps and what the review could not establish; do not turn an empty findings list into a completion or correctness claim.</step>
21
23
  <step>Close the work item with work_item_close after the review is complete.</step>
22
24
  <step>When this review is a delegated-execution checkpoint review, the linked review work item is already open with the declared reviewer set: launch exactly those reviewers with the returned header and report the collected findings. A FAIL report closes the review work item but never satisfies the checkpoint — completion is decided by work_checkpoint verify, not by this skill. Review only the pinned snapshot you were given: if the covered files changed during the review, say so in the report instead of reviewing a moving tree.</step>
23
25
  </workflow>
@@ -23,6 +23,7 @@ UX cues (roadmap, progress markers, depth estimates, checkpoints) are TRANSPAREN
23
23
  <principle>Before asking the user, check whether the question can be answered by exploring the codebase. If the answer exists in existing code, patterns, configs, or docs, explore first and present what you found. Only ask the user when the codebase cannot answer.</principle>
24
24
  <principle>Resolve dependencies in order. Start with the highest-impact decision (purpose, scope, data model) and work outward (API shape, error handling, testing). A decision about the data model must be settled before deciding the API surface.</principle>
25
25
  <principle>Understand the full landscape: purpose, constraints, success criteria, non-goals, edge cases, existing code patterns.</principle>
26
+ <principle>While walking components and data flow, capture the material properties that must be preserved — existing behavior, contracts, and consumers the change must not break — so testing and error handling can demand their verification instead of covering only the new happy path.</principle>
26
27
  <principle>When the decision tree reaches a fork (2-3 viable approaches), present all options with trade-offs. Lead with your recommendation and explain why. The user picks one — that closes the fork and the tree continues from that branch.</principle>
27
28
  <principle>When presenting design sections, do it one section at a time. After each section: "Does this look right?" If yes, move to the next. If no, resolve concerns before continuing.</principle>
28
29
  <principle>Cover every section of the spec template: goal, architecture, tech_stack, components, data_flow, error_handling, testing, non_goals. The roadmap shown at the start IS the coverage checklist. A section is "closed" only when its template element is fully decidable.</principle>
@@ -82,7 +83,7 @@ UX cues (roadmap, progress markers, depth estimates, checkpoints) are TRANSPAREN
82
83
  <check>Placeholder scan: Any TBD, TODO, incomplete sections, or vague requirements? Fix them.</check>
83
84
  <check>Internal consistency: Do any sections contradict each other? Does the architecture match the component descriptions?</check>
84
85
  <check>Scope check: Is this focused enough for a single implementation plan, or does it need decomposition into sub-projects?</check>
85
- <check>Ambiguity check: Could any requirement be interpreted two different ways? If so, pick one interpretation and make it explicit.</check>
86
+ <check>Ambiguity check: Could any requirement be interpreted two different ways? Resolve repository-answerable engineering ambiguity from the established code and contracts; a genuine business-semantics fork goes to the user as an explicit question — never silently pick a business interpretation.</check>
86
87
  <rule>Fix issues inline. No need to re-review — just fix and move on.</rule>
87
88
  </self_review>
88
89