@osovv/vv-opencode 0.35.30 → 0.35.32
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 +20 -0
- package/README.md +9 -4
- package/dist/lib/managed-skills.d.ts +1 -1
- package/dist/lib/managed-skills.js +4 -2
- package/dist/lib/managed-skills.js.map +1 -1
- package/dist/plugins/workflow/index.js +91 -9
- package/dist/plugins/workflow/index.js.map +1 -1
- package/dist/plugins/workflow/persistence.js +31 -1
- package/dist/plugins/workflow/persistence.js.map +1 -1
- package/dist/plugins/workflow/protocol.d.ts +2 -1
- package/dist/plugins/workflow/protocol.js +47 -12
- package/dist/plugins/workflow/protocol.js.map +1 -1
- package/dist/plugins/workflow/repair.d.ts +2 -0
- package/dist/plugins/workflow/repair.js +10 -2
- package/dist/plugins/workflow/repair.js.map +1 -1
- package/dist/plugins/workflow/state.d.ts +18 -0
- package/dist/plugins/workflow/state.js +53 -7
- package/dist/plugins/workflow/state.js.map +1 -1
- package/dist/plugins/workflow/tooling.js +4 -2
- package/dist/plugins/workflow/tooling.js.map +1 -1
- package/package.json +1 -1
- package/schemas/vvoc/v3.json +1 -1
- package/templates/skills/vv-handoff/SKILL.md +71 -0
- package/templates/skills/vv-spec/SKILL.md +2 -2
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vv-handoff
|
|
3
|
+
description: Use at the end of a session to write a project-local XML handoff note from already-visible context only.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<skill>
|
|
7
|
+
<identity>
|
|
8
|
+
You are the vv-handoff skill. Your job is to preserve the current visible session context as a handoff note for a future agent or human. You write one XML file in the current project. You do not investigate, verify, summarize hidden history, or run commands.
|
|
9
|
+
</identity>
|
|
10
|
+
|
|
11
|
+
<scope>
|
|
12
|
+
<rule>Use only the current visible chat context and facts already known in this session.</rule>
|
|
13
|
+
<rule>Do not reconstruct hidden, compacted, unavailable, or earlier conversation history.</rule>
|
|
14
|
+
<rule>Do not run shell commands, tests, lint, build, git status, git diff, web searches, repository scans, or any other fresh context collection step.</rule>
|
|
15
|
+
<rule>If git status, git diff, verification, or other evidence was not already collected in the current session, record it as not collected in current session rather than collecting it during handoff.</rule>
|
|
16
|
+
<rule>Do not create a CLI command, plugin, runtime hook, automatic writer, schema validator, or handoff.md artifact.</rule>
|
|
17
|
+
</scope>
|
|
18
|
+
|
|
19
|
+
<destination>
|
|
20
|
+
<rule>Write exactly one canonical handoff artifact under the current project: .vvoc/handoff/YYYY-MM-DD-<session-slug>/handoff.xml.</rule>
|
|
21
|
+
<rule>Derive <session-slug> from the main session goal using lowercase words, hyphens, and only URL/path-safe characters.</rule>
|
|
22
|
+
<rule>Use the current local date for YYYY-MM-DD when it is already available in the session environment; otherwise use the date visible in system context.</rule>
|
|
23
|
+
<rule>If the destination directory already exists, choose the first available collision suffix: -2, then -3, and later integers, yielding paths such as .vvoc/handoff/YYYY-MM-DD-<session-slug>-2/.</rule>
|
|
24
|
+
<rule>Filesystem checks and directory/file creation are allowed only to choose and write the destination path. Do not inspect project files for additional context.</rule>
|
|
25
|
+
</destination>
|
|
26
|
+
|
|
27
|
+
<redaction>
|
|
28
|
+
<rule>Before writing handoff.xml, redact secrets from the handoff content.</rule>
|
|
29
|
+
<rule>Replace tokens, API keys, passwords, cookies, private URLs, private headers, credentials, private keys, and similar sensitive values with [REDACTED].</rule>
|
|
30
|
+
<rule>If unsure whether a value is sensitive, redact it.</rule>
|
|
31
|
+
</redaction>
|
|
32
|
+
|
|
33
|
+
<handoff_xml>
|
|
34
|
+
<rule>The XML does not need a formal schema and must not be schema-validated.</rule>
|
|
35
|
+
<rule>Use clear, grep-friendly element names and concise prose.</rule>
|
|
36
|
+
<rule>Include these required sections:</rule>
|
|
37
|
+
<section>original_request - The user's original goal or request as visible in this session.</section>
|
|
38
|
+
<section>completed_work - Work completed in this session, including files changed when already known.</section>
|
|
39
|
+
<section>current_state_and_decisions - Current state, important decisions, accepted assumptions, selected route, and any pending lifecycle state.</section>
|
|
40
|
+
<section>important_or_changed_files - Important files and changed files already known from the session. If changed files were not collected, say not collected in current session.</section>
|
|
41
|
+
<section>known_commands_and_results - Commands, checks, tests, git status, git diff, and verification results already run in this session. For missing evidence, write not collected in current session.</section>
|
|
42
|
+
<section>blockers_risks_unknowns - Blockers, risks, unknowns, skipped checks, residual uncertainty, and anything a future session must not assume.</section>
|
|
43
|
+
<section>next_safe_step - The single safest next action for the next session.</section>
|
|
44
|
+
</handoff_xml>
|
|
45
|
+
|
|
46
|
+
<template>
|
|
47
|
+
<![CDATA[
|
|
48
|
+
<handoff>
|
|
49
|
+
<original_request></original_request>
|
|
50
|
+
<completed_work></completed_work>
|
|
51
|
+
<current_state_and_decisions></current_state_and_decisions>
|
|
52
|
+
<important_or_changed_files></important_or_changed_files>
|
|
53
|
+
<known_commands_and_results></known_commands_and_results>
|
|
54
|
+
<blockers_risks_unknowns></blockers_risks_unknowns>
|
|
55
|
+
<next_safe_step></next_safe_step>
|
|
56
|
+
</handoff>
|
|
57
|
+
]]>
|
|
58
|
+
</template>
|
|
59
|
+
|
|
60
|
+
<workflow>
|
|
61
|
+
<step>Identify the main session goal from the visible context and derive the date-slug directory name.</step>
|
|
62
|
+
<step>Draft handoff.xml using only visible/known context and the required sections.</step>
|
|
63
|
+
<step>Replace every sensitive value with [REDACTED].</step>
|
|
64
|
+
<step>Create the destination directory with collision suffixing if needed, then write handoff.xml.</step>
|
|
65
|
+
<step>Reply with the path written and note that no fresh commands or checks were run.</step>
|
|
66
|
+
</workflow>
|
|
67
|
+
|
|
68
|
+
<task>
|
|
69
|
+
Your current task is the ongoing user request. Create the project-local handoff XML note now, using only visible session context and without running commands or collecting fresh evidence.
|
|
70
|
+
</task>
|
|
71
|
+
</skill>
|
|
@@ -56,7 +56,7 @@ UX cues (roadmap, progress markers, depth estimates, checkpoints) are TRANSPAREN
|
|
|
56
56
|
design-context.xml # curated design memory (optional)
|
|
57
57
|
plan.xml # implementation plan (created by vv-plan)
|
|
58
58
|
</layout>
|
|
59
|
-
<rule>Save spec.xml to .vvoc/specs/<id>/spec.xml, where <id> is a date-prefixed package id in the form YYYY-MM-DD-<slug> (for example, 2026-06-24-cache-store). Derive <slug> as a safe slug from the feature name (e.g., cache-store, batch-migration), then prefix it with the current date at spec creation time in YYYY-MM-DD format. Ensure the slug portion: (a) contains only lowercase alphanumeric characters, hyphens, and underscores; (b) does not start or end with a hyphen or underscore. Reject reserved slug values: draft, archive, template, plan, spec, vvoc, or names that match path-like patterns (contain /, \, .., or match an existing filesystem path separator). If .vvoc/specs/<id>/ already exists, check whether it is a continuation of the same draft session (same spec package from the same feature and date) — if yes, overwrite; if not, stop and ask the user for a different slug or explicit overwrite approval. Do not silently overwrite or merge an unrelated existing package.</rule>
|
|
59
|
+
<rule>Save spec.xml to .vvoc/specs/<id>/spec.xml, where <id> is a date-prefixed package id in the form YYYY-MM-DD-<slug> (for example, 2026-06-24-cache-store). Derive <slug> as a safe slug from the feature name (e.g., cache-store, batch-migration), then prefix it with the current date at spec creation time in YYYY-MM-DD format. The date prefix is date-only: do not include hours, minutes, seconds, timezone, or a full ISO datetime/timestamp. Ensure the slug portion: (a) contains only lowercase alphanumeric characters, hyphens, and underscores; (b) does not start or end with a hyphen or underscore. Reject reserved slug values: draft, archive, template, plan, spec, vvoc, or names that match path-like patterns (contain /, \, .., or match an existing filesystem path separator). If .vvoc/specs/<id>/ already exists, check whether it is a continuation of the same draft session (same spec package from the same feature and date) — if yes, overwrite; if not, stop and ask the user for a different slug or explicit overwrite approval. Do not silently overwrite or merge an unrelated existing package.</rule>
|
|
60
60
|
<rule>After creating or updating spec.xml, consider whether the session warrants a design-context.xml companion (see design_context section below).</rule>
|
|
61
61
|
</spec_document_format>
|
|
62
62
|
|
|
@@ -98,6 +98,6 @@ UX cues (roadmap, progress markers, depth estimates, checkpoints) are TRANSPAREN
|
|
|
98
98
|
</handoff>
|
|
99
99
|
|
|
100
100
|
<task>
|
|
101
|
-
Your current task is the ongoing user request. Walk the decision tree relentlessly — one branch at a time. Propose approaches, present a design section by section, get approval at each stage. Load the spec template from references/spec-template.xml and fill every element with confirmed decisions. Save to .vvoc/specs/<id>/spec.xml, where <id> is YYYY-MM-DD-<slug> using the current date at spec creation time, as XML with document status draft. Optionally create .vvoc/specs/<id>/design-context.xml for complex sessions. After explicit user approval, update the saved spec status to approved. Stop before any implementation or planning.
|
|
101
|
+
Your current task is the ongoing user request. Walk the decision tree relentlessly — one branch at a time. Propose approaches, present a design section by section, get approval at each stage. Load the spec template from references/spec-template.xml and fill every element with confirmed decisions. Save to .vvoc/specs/<id>/spec.xml, where <id> is YYYY-MM-DD-<slug> using the current date at spec creation time; this prefix must be date-only, with no time, timezone, or full timestamp. Save as XML with document status draft. Optionally create .vvoc/specs/<id>/design-context.xml for complex sessions. After explicit user approval, update the saved spec status to approved. Stop before any implementation or planning.
|
|
102
102
|
</task>
|
|
103
103
|
</skill>
|