@osovv/vv-opencode 0.35.10 → 0.35.12
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 +24 -0
- package/README.md +12 -5
- package/dist/commands/upgrade.d.ts +23 -3
- package/dist/commands/upgrade.js +89 -22
- package/dist/commands/upgrade.js.map +1 -1
- package/package.json +7 -3
- package/schemas/vvoc/v3.json +1 -1
- package/templates/skills/vv-execute/SKILL.md +104 -10
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
## <small>0.35.12 (2026-06-13)</small>
|
|
2
|
+
|
|
3
|
+
### Summary
|
|
4
|
+
|
|
5
|
+
This release introduces an inline execution mode choice for the vv-execute plugin, giving you more control over how commands are launched. The release process now automatically generates a changelog summary for each version, ensuring every release includes a clear, user-friendly overview of changes. Additionally, several fixes improve the reliability of summary generation, including support for single-line summary envelopes and corrected configuration handling.
|
|
6
|
+
|
|
7
|
+
* fix(release): accept single-line summary envelopes ([f2b7b93](https://github.com/osovv/vv-opencode/commit/f2b7b93))
|
|
8
|
+
* fix(release): use valid opencode summary config ([9b8b38d](https://github.com/osovv/vv-opencode/commit/9b8b38d))
|
|
9
|
+
* feat(release): add mandatory AI-generated release changelog summary ([592615d](https://github.com/osovv/vv-opencode/commit/592615d))
|
|
10
|
+
* feat(vv-execute): add inline execution mode choice ([4822a7a](https://github.com/osovv/vv-opencode/commit/4822a7a))
|
|
11
|
+
|
|
12
|
+
## <small>0.35.11 (2026-06-13)</small>
|
|
13
|
+
|
|
14
|
+
### Summary
|
|
15
|
+
|
|
16
|
+
This release makes the release and upgrade path easier to trust by tightening changelog validation and improving compatibility with generated conventional-changelog output. Users get clearer upgrade notes backed by GitHub Releases and jsDelivr, while maintainers get stronger automated checks around the artifacts that ship each release.
|
|
17
|
+
|
|
18
|
+
* fix(release): make changelog patterns compatible with conventional-changelog format ([582c2f4](https://github.com/osovv/vv-opencode/commit/582c2f4))
|
|
19
|
+
* test(upgrade): add multi-version changelog, graceful degradation, and prerelease tests ([3f634db](https://github.com/osovv/vv-opencode/commit/3f634db))
|
|
20
|
+
* feat(release): add CHANGELOG.md validation to release-check ([2e37a77](https://github.com/osovv/vv-opencode/commit/2e37a77))
|
|
21
|
+
* feat(release): add GitHub Releases and jsDelivr-based changelog for vvoc upgrade ([e0f9863](https://github.com/osovv/vv-opencode/commit/e0f9863))
|
|
22
|
+
* feat(release): integrate changelog generation into release-bump ([b90a079](https://github.com/osovv/vv-opencode/commit/b90a079))
|
|
23
|
+
* chore(config): add changelog and commitlint configuration ([88dc806](https://github.com/osovv/vv-opencode/commit/88dc806))
|
|
24
|
+
* chore(config): add commitlint commit-msg hook ([888abf1](https://github.com/osovv/vv-opencode/commit/888abf1))
|
package/README.md
CHANGED
|
@@ -276,11 +276,18 @@ bun run release:bump patch # or minor, major, prerelease, or explicit semver
|
|
|
276
276
|
This will:
|
|
277
277
|
1. Reject if the worktree is dirty
|
|
278
278
|
2. Bump `package.json` via `npm version --no-git-tag-version`
|
|
279
|
-
3.
|
|
280
|
-
4.
|
|
281
|
-
5.
|
|
282
|
-
6.
|
|
283
|
-
|
|
279
|
+
3. Generate a required AI release summary with `opencode --pure run`
|
|
280
|
+
4. Prepend a `### Summary` section plus conventional commit details to `CHANGELOG.md`
|
|
281
|
+
5. Update `schemas/vvoc/v3.json` `$id` to the new version
|
|
282
|
+
6. Run `release:check` for consistency
|
|
283
|
+
7. Create a release commit and annotated tag `vX.Y.Z`
|
|
284
|
+
8. Push the current branch and the created tag to `origin`
|
|
285
|
+
|
|
286
|
+
Required local release prerequisite:
|
|
287
|
+
- `opencode` must be available from `PATH`.
|
|
288
|
+
- The summary model defaults to `deepseek/deepseek-v4-flash`.
|
|
289
|
+
- Override with `VVOC_RELEASE_SUMMARY_MODEL=provider/model`.
|
|
290
|
+
- Override the per-attempt timeout with `VVOC_RELEASE_SUMMARY_TIMEOUT_MS=120000`.
|
|
284
291
|
Run `release:bump` from a checked-out branch with push access to `origin`. The tag push is what triggers the publish workflow.
|
|
285
292
|
|
|
286
293
|
The GitHub Actions workflow triggers on `v*` tag pushes, verifies the tag matches
|
|
@@ -16,11 +16,31 @@ type UpgradeDependencies = {
|
|
|
16
16
|
logger: UpgradeLogger;
|
|
17
17
|
runSubprocess: (command: UpgradeCommand) => Promise<UpgradeSubprocessResult>;
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
type UpgradeOptions = {
|
|
20
|
+
/** When true, include pre-release versions when resolving the latest version. */
|
|
21
|
+
allowPrerelease?: boolean;
|
|
22
|
+
};
|
|
23
|
+
declare const _default: import("citty").CommandDef<{
|
|
24
|
+
readonly allowPrerelease: {
|
|
25
|
+
readonly type: "boolean";
|
|
26
|
+
readonly description: "Allow upgrade to pre-release versions (alpha, beta, rc)";
|
|
27
|
+
readonly default: false;
|
|
28
|
+
};
|
|
29
|
+
}>;
|
|
20
30
|
export default _default;
|
|
21
|
-
export declare function runUpgradeFlow(overrides?: Partial<UpgradeDependencies
|
|
31
|
+
export declare function runUpgradeFlow(overrides?: Partial<UpgradeDependencies>, options?: UpgradeOptions): Promise<UpgradeFlowResult>;
|
|
22
32
|
export declare function buildInstallCommand(latestVersion: string): UpgradeCommand;
|
|
23
33
|
export declare function buildPostInstallSyncCommand(): UpgradeCommand;
|
|
24
34
|
export declare function buildPostInstallCompletionCommand(): UpgradeCommand;
|
|
25
35
|
export declare function fetchLatestVersion(): Promise<string | null>;
|
|
26
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Fetch CHANGELOG.md from jsDelivr CDN for the target version,
|
|
38
|
+
* then extract all entries between fromVersion (exclusive) and toVersion (inclusive).
|
|
39
|
+
* Returns null on any fetch or parse failure for graceful degradation.
|
|
40
|
+
*/
|
|
41
|
+
export declare function fetchChangelog(fromVersion: string, toVersion: string): Promise<string | null>;
|
|
42
|
+
/**
|
|
43
|
+
* Fetch the highest version from npm registry including pre-release versions.
|
|
44
|
+
* Returns the maximum version string or null on failure.
|
|
45
|
+
*/
|
|
46
|
+
export declare function fetchLatestVersionIncludingPrerelease(): Promise<string | null>;
|
package/dist/commands/upgrade.js
CHANGED
|
@@ -2,55 +2,68 @@
|
|
|
2
2
|
// VERSION: 0.5.0
|
|
3
3
|
// START_MODULE_CONTRACT
|
|
4
4
|
// PURPOSE: Upgrade the global vvoc package by checking npm, installing the latest release with Bun, triggering a fresh sync subprocess, and reinstalling shell completions.
|
|
5
|
-
// SCOPE: npm registry query, version comparison,
|
|
6
|
-
// DEPENDS: [citty, src/lib/package.ts, Bun]
|
|
7
|
-
// LINKS: [M-CLI-UPGRADE]
|
|
8
|
-
// ROLE: RUNTIME
|
|
5
|
+
// SCOPE: npm registry query, version comparison, jsDelivr changelog fetching with version-range parsing, optional pre-release version resolution, global Bun install, post-install sync execution, and post-upgrade shell completion installation.
|
|
9
6
|
// MAP_MODE: EXPORTS
|
|
10
7
|
// END_MODULE_CONTRACT
|
|
11
8
|
//
|
|
12
9
|
// START_MODULE_MAP
|
|
13
10
|
// default - Upgrade command definition for vvoc.
|
|
11
|
+
// START_MODULE_MAP
|
|
12
|
+
// default - Upgrade command definition for vvoc with --allow-prerelease flag.
|
|
14
13
|
// runUpgradeFlow - Execute the full global upgrade, post-install sync, and completion install flow.
|
|
15
14
|
// buildInstallCommand - Build the Bun global install command for a specific version.
|
|
16
15
|
// buildPostInstallCompletionCommand - Build the fresh subprocess command for the default global completion flow.
|
|
17
|
-
// fetchLatestVersion - Query npm registry for latest version.
|
|
18
|
-
//
|
|
16
|
+
// fetchLatestVersion - Query npm registry for latest stable version.
|
|
17
|
+
// fetchLatestVersionIncludingPrerelease - Query npm registry for highest version including pre-releases.
|
|
18
|
+
// fetchChangelog - Fetch CHANGELOG.md from jsDelivr and extract entries between two versions.
|
|
19
|
+
// parseChangelogRange - Extract Keep a Changelog entries from full text between two version bounds.
|
|
19
20
|
// UpgradeFlowResult - Upgrade flow result type.
|
|
20
21
|
// UpgradeSubprocessResult - Subprocess result type.
|
|
21
22
|
// buildPostInstallSyncCommand - Build post-install sync command.
|
|
22
23
|
// END_MODULE_MAP
|
|
23
|
-
// END_MODULE_MAP
|
|
24
24
|
//
|
|
25
25
|
// START_CHANGE_SUMMARY
|
|
26
26
|
// LAST_CHANGE: [v0.5.0 - Redesigned upgrade into a global-only Bun install flow that runs post-install sync in a fresh subprocess.]
|
|
27
27
|
// LAST_CHANGE: [v0.25.6 - Added post-upgrade shell completion installation after successful sync.]
|
|
28
|
-
//
|
|
28
|
+
// LAST_CHANGE: [v0.6.0 - Replaced npm description changelog with jsDelivr CHANGELOG.md fetch and version-range parsing. Added --allow-prerelease flag.]
|
|
29
29
|
import { defineCommand } from "citty";
|
|
30
30
|
import { getPackageVersion, PACKAGE_NAME } from "../lib/package.js";
|
|
31
31
|
const NPM_REGISTRY = "https://registry.npmjs.org";
|
|
32
|
+
const JSDELIVR_BASE = "https://cdn.jsdelivr.net/npm";
|
|
32
33
|
export default defineCommand({
|
|
33
34
|
meta: {
|
|
34
35
|
name: "upgrade",
|
|
35
36
|
description: "Upgrade the global vvoc package and sync config.",
|
|
36
37
|
},
|
|
37
|
-
|
|
38
|
+
args: {
|
|
39
|
+
allowPrerelease: {
|
|
40
|
+
type: "boolean",
|
|
41
|
+
description: "Allow upgrade to pre-release versions (alpha, beta, rc)",
|
|
42
|
+
default: false,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
async run({ args }) {
|
|
38
46
|
// START_BLOCK_RUN_UPGRADE
|
|
39
|
-
const result = await runUpgradeFlow();
|
|
47
|
+
const result = await runUpgradeFlow({}, { allowPrerelease: args.allowPrerelease });
|
|
40
48
|
if (result.exitCode !== 0) {
|
|
41
49
|
process.exitCode = result.exitCode;
|
|
42
50
|
}
|
|
43
51
|
// END_BLOCK_RUN_UPGRADE
|
|
44
52
|
},
|
|
45
53
|
});
|
|
46
|
-
export async function runUpgradeFlow(overrides = {}) {
|
|
54
|
+
export async function runUpgradeFlow(overrides = {}, options = {}) {
|
|
47
55
|
const logger = overrides.logger ?? console;
|
|
48
|
-
const
|
|
56
|
+
const resolveLatest = options.allowPrerelease
|
|
57
|
+
? (overrides.fetchLatestVersion ?? fetchLatestVersionIncludingPrerelease)
|
|
58
|
+
: (overrides.fetchLatestVersion ?? fetchLatestVersion);
|
|
49
59
|
const fetchReleaseNotes = overrides.fetchChangelog ?? fetchChangelog;
|
|
50
60
|
const getCurrentVersion = overrides.getCurrentVersion ?? getPackageVersion;
|
|
51
61
|
const runSubprocess = overrides.runSubprocess ?? runSubprocessCommand;
|
|
52
62
|
try {
|
|
53
|
-
const [currentVersion, latestVersion] = await Promise.all([
|
|
63
|
+
const [currentVersion, latestVersion] = await Promise.all([
|
|
64
|
+
getCurrentVersion(),
|
|
65
|
+
resolveLatest(),
|
|
66
|
+
]);
|
|
54
67
|
if (!latestVersion) {
|
|
55
68
|
logger.error("NETWORK_ERROR: Could not reach npm registry");
|
|
56
69
|
return { exitCode: 1, status: "registry-failed" };
|
|
@@ -168,23 +181,77 @@ export async function fetchLatestVersion() {
|
|
|
168
181
|
return null;
|
|
169
182
|
}
|
|
170
183
|
}
|
|
171
|
-
|
|
184
|
+
/**
|
|
185
|
+
* Fetch CHANGELOG.md from jsDelivr CDN for the target version,
|
|
186
|
+
* then extract all entries between fromVersion (exclusive) and toVersion (inclusive).
|
|
187
|
+
* Returns null on any fetch or parse failure for graceful degradation.
|
|
188
|
+
*/
|
|
189
|
+
export async function fetchChangelog(fromVersion, toVersion) {
|
|
190
|
+
try {
|
|
191
|
+
const url = `${JSDELIVR_BASE}/${encodeURIComponent(PACKAGE_NAME)}@${encodeURIComponent(toVersion)}/CHANGELOG.md`;
|
|
192
|
+
const response = await fetch(url);
|
|
193
|
+
if (!response.ok)
|
|
194
|
+
return null;
|
|
195
|
+
const fullText = await response.text();
|
|
196
|
+
return parseChangelogRange(fullText, fromVersion, toVersion);
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
return null;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Extract all Keep a Changelog entries from fullText between fromVersion (exclusive)
|
|
204
|
+
* and toVersion (inclusive). Returns concatenated entries with original whitespace,
|
|
205
|
+
* or null if parsing fails.
|
|
206
|
+
*/
|
|
207
|
+
function parseChangelogRange(fullText, fromVersion, toVersion) {
|
|
208
|
+
const entries = [];
|
|
209
|
+
const lines = fullText.split("\n");
|
|
210
|
+
let capturing = false;
|
|
211
|
+
let currentEntry = [];
|
|
212
|
+
for (const line of lines) {
|
|
213
|
+
const headerMatch = /^##\s*(?:<small>)?(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?)/.exec(line);
|
|
214
|
+
if (headerMatch) {
|
|
215
|
+
const entryVersion = headerMatch[1] ?? "";
|
|
216
|
+
if (capturing) {
|
|
217
|
+
entries.push(currentEntry.join("\n"));
|
|
218
|
+
currentEntry = [];
|
|
219
|
+
}
|
|
220
|
+
if (entryVersion === fromVersion) {
|
|
221
|
+
// Stop — we've reached the from version (exclusive).
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
capturing = entryVersion === toVersion || (capturing && entryVersion !== fromVersion);
|
|
225
|
+
}
|
|
226
|
+
if (capturing) {
|
|
227
|
+
currentEntry.push(line);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
if (capturing && currentEntry.length > 0) {
|
|
231
|
+
entries.push(currentEntry.join("\n"));
|
|
232
|
+
}
|
|
233
|
+
return entries.length > 0 ? entries.reverse().join("\n\n").trim() : null;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Fetch the highest version from npm registry including pre-release versions.
|
|
237
|
+
* Returns the maximum version string or null on failure.
|
|
238
|
+
*/
|
|
239
|
+
export async function fetchLatestVersionIncludingPrerelease() {
|
|
172
240
|
try {
|
|
173
241
|
const url = `${NPM_REGISTRY}/${encodeURIComponent(PACKAGE_NAME)}`;
|
|
174
242
|
const response = await fetch(url, {
|
|
175
|
-
method: "GET",
|
|
176
243
|
headers: { Accept: "application/json" },
|
|
177
244
|
});
|
|
178
|
-
if (!response.ok)
|
|
245
|
+
if (!response.ok)
|
|
179
246
|
return null;
|
|
180
|
-
}
|
|
181
247
|
const data = (await response.json());
|
|
182
|
-
|
|
183
|
-
if (!latest || !data.versions) {
|
|
248
|
+
if (!data.versions)
|
|
184
249
|
return null;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
250
|
+
const allVersions = Object.keys(data.versions);
|
|
251
|
+
if (allVersions.length === 0)
|
|
252
|
+
return null;
|
|
253
|
+
allVersions.sort((a, b) => compareVersions(a, b));
|
|
254
|
+
return allVersions[allVersions.length - 1] ?? null;
|
|
188
255
|
}
|
|
189
256
|
catch {
|
|
190
257
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,iBAAiB;AACjB,wBAAwB;AACxB,8KAA8K;AAC9K,oLAAoL;AACpL,8CAA8C;AAC9C,2BAA2B;AAC3B,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,mDAAmD;AACnD,sGAAsG;AACtG,uFAAuF;AACvF,mHAAmH;AACnH,gEAAgE;AAChE,wDAAwD;AACxD,kDAAkD;AAClD,sDAAsD;AACtD,mEAAmE;AACnE,iBAAiB;AACjB,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,sIAAsI;AACtI,qGAAqG;AACrG,qBAAqB;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,YAAY,GAAG,4BAA4B,CAAC;AAwBlD,eAAe,aAAa,CAAC;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,kDAAkD;KAChE;IACD,KAAK,CAAC,GAAG;QACP,0BAA0B;QAC1B,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACrC,CAAC;QACD,wBAAwB;IAC1B,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,YAA0C,EAAE;IAE5C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,OAAO,CAAC;IAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;IACvE,MAAM,iBAAiB,GAAG,SAAS,CAAC,cAAc,IAAI,cAAc,CAAC;IACrE,MAAM,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,IAAI,iBAAiB,CAAC;IAC3E,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,IAAI,oBAAoB,CAAC;IAEtE,IAAI,CAAC;QACH,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QAEhG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC5D,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACpD,CAAC;QAED,IAAI,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,GAAG,CAAC,8BAA8B,cAAc,EAAE,CAAC,CAAC;YAC3D,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,oBAAoB,cAAc,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAEjC,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;YAC7C,cAAc;YACd,aAAa;YACb,cAAc,EAAE,iBAAiB;SAClC,CAAC,CAAC;QACH,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAEjD,IAAI,aAAsC,CAAC;QAC3C,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACnD,CAAC;QAED,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YACrD,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACxC,OAAO;gBACL,QAAQ,EAAE,aAAa,CAAC,QAAQ,IAAI,CAAC;gBACrC,MAAM,EAAE,gBAAgB;aACzB,CAAC;QACJ,CAAC;QAED,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACnD,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,2BAA2B,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE9C,IAAI,UAAmC,CAAC;QACxC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,MAAM,EAAE,0BAA0B,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACjD,CAAC;QAED,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC9B,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YACjD,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YACjD,cAAc,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;YACpD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACjD,CAAC;QACD,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,iBAAiB,GAAG,iCAAiC,EAAE,CAAC;QAC9D,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAEpD,IAAI,gBAAqD,CAAC;QAC1D,IAAI,CAAC;YACH,gBAAgB,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,wCAAwC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxD,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACvD,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxD,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACtD,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAChC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,IAAI,aAAa,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,YAAY,IAAI,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACxC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyB,CAAC;QAC7D,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,YAAoB,EACpB,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,YAAY,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACxC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAGlC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QACzC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,WAAW,EAAE,WAAW,IAAI,IAAI,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,qCAAqC;AACrC,KAAK,UAAU,oBAAoB,CAAC,OAAuB;IACzD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;QACrB,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACnD,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9B,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,MAAM;KACZ,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC;AACD,mCAAmC;AAEnC,KAAK,UAAU,sBAAsB,CAAC,EACpC,cAAc,EACd,cAAc,EACd,aAAa,GAKd;IACC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QACtE,OAAO,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAyC;IACxE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa;IAClD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEzC,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE;YAC1C,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjG,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,gBAAgB,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEvD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QAED,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnD,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;YACpE,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACjE,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAIjC,MAAM,KAAK,GAAG,8EAA8E,CAAC,IAAI,CAC/F,KAAK,CAAC,IAAI,EAAE,CACb,CAAC;IAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QAC/C,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;KAC/E,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAuB;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAgC,EAAE,MAAc;IACxE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAqB,EAAE,MAAc;IAC3D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;IACvF,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;AAClF,CAAC"}
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.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.12",
|
|
4
4
|
"description": "Portable OpenCode workflow plugins, explicit memory, and CLI tooling.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
"dist",
|
|
27
27
|
"schemas",
|
|
28
28
|
"templates",
|
|
29
|
-
"README.md"
|
|
29
|
+
"README.md",
|
|
30
|
+
"CHANGELOG.md"
|
|
30
31
|
],
|
|
31
32
|
"exports": {
|
|
32
33
|
".": {
|
|
@@ -86,7 +87,10 @@
|
|
|
86
87
|
"lefthook": "2.1.5",
|
|
87
88
|
"oxfmt": "0.43.0",
|
|
88
89
|
"oxlint": "1.58.0",
|
|
89
|
-
"typescript": "5.8.2"
|
|
90
|
+
"typescript": "5.8.2",
|
|
91
|
+
"conventional-changelog-cli": "^5.0.0",
|
|
92
|
+
"@commitlint/cli": "^19.0.0",
|
|
93
|
+
"@commitlint/config-conventional": "^19.0.0"
|
|
90
94
|
},
|
|
91
95
|
"engines": {
|
|
92
96
|
"bun": ">=1.3.8"
|
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.12/schemas/vvoc/v3.json",
|
|
4
4
|
"title": "vvoc config",
|
|
5
5
|
"description": "Canonical vvoc configuration document.",
|
|
6
6
|
"type": "object",
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vv-execute
|
|
3
|
-
description: Use when given a path to a plan.xml —
|
|
3
|
+
description: Use when given a path to a plan.xml — validates the plan, assesses execution complexity, asks the user to choose classic subagent-driven or inline current-session execution, then walks tasks in dependency order with verification and commits
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
<skill>
|
|
7
7
|
<identity>
|
|
8
|
-
You are the vv-execute skill. Your job is to execute a plan.xml from .vvoc/plans/ —
|
|
8
|
+
You are the vv-execute skill. Your job is to execute a plan.xml from .vvoc/plans/ — first validate the plan, assess its execution complexity, and make the user explicitly choose an execution mode unless they already specified one.
|
|
9
|
+
|
|
10
|
+
Supported modes:
|
|
11
|
+
- classic: walk tasks in dependency order, dispatch vv-implementer with the extracted contract and acceptance criteria per task, track progress with work_item_open/list/close, verify results, and commit per task.
|
|
12
|
+
- inline: walk tasks in dependency order and implement directly in the current session without mandatory per-task subagent dispatch, while preserving TodoWrite tracking, acceptance verification, and per-task or per-wave commit discipline.
|
|
13
|
+
|
|
14
|
+
Do not mutate files until the execution mode is explicit. In classic mode, delegate implementation to vv-implementer. In inline mode, write code yourself in the current session.
|
|
9
15
|
</identity>
|
|
10
16
|
|
|
11
17
|
<language>
|
|
@@ -83,11 +89,47 @@ You are the vv-execute skill. Your job is to execute a plan.xml from .vvoc/plans
|
|
|
83
89
|
<check>Each task has <acceptance> with at least one <criterion></check>
|
|
84
90
|
<action>If any check fails, stop and report the issue with line numbers. Do not proceed with broken plan.</action>
|
|
85
91
|
</step>
|
|
92
|
+
<step name="assess-complexity">
|
|
93
|
+
Assess the plan after validation and before implementation. Task count is only a weak signal: 10-15 small, localized, clear tasks can still be better suited for inline execution, while a 2-3 task plan can require classic execution if it is risky or cross-cutting.
|
|
94
|
+
|
|
95
|
+
Consider:
|
|
96
|
+
- total task count and whether tasks are small/mechanical or broad/ambiguous
|
|
97
|
+
- number of target files and whether changes stay localized
|
|
98
|
+
- dependency graph shape and coupling between tasks
|
|
99
|
+
- whether public APIs, package exports, CLI behavior, setup flow, config locations, persistence, security, migrations, or user data handling change
|
|
100
|
+
- clarity and verifiability of acceptance criteria
|
|
101
|
+
- whether the plan requires architectural decisions, broad refactors, or integration-heavy coordination
|
|
102
|
+
|
|
103
|
+
Recommend inline when tasks are clear, localized, mechanically verifiable, and low-risk even if there are many small tasks.
|
|
104
|
+
Recommend classic when tasks are ambiguous, high-risk, cross module boundaries, affect public/setup/config/security/persistence behavior, or require heavier review isolation.
|
|
105
|
+
</step>
|
|
106
|
+
<step name="select-execution-mode">
|
|
107
|
+
If the user already specified classic or inline, confirm that mode and proceed.
|
|
108
|
+
|
|
109
|
+
If the user did not specify a mode, stop and ask them to choose. Do not auto-pick. Present a compact assessment and recommendation in the user's language, then offer exactly two choices:
|
|
110
|
+
|
|
111
|
+
<format>
|
|
112
|
+
Plan complexity assessment:
|
|
113
|
+
- N tasks
|
|
114
|
+
- M target files
|
|
115
|
+
- dependency/coupling summary
|
|
116
|
+
- risk signals found or not found
|
|
117
|
+
- acceptance criteria clarity
|
|
118
|
+
|
|
119
|
+
Recommended mode: inline|classic
|
|
120
|
+
|
|
121
|
+
Choose execution mode:
|
|
122
|
+
1. inline — execute in this session
|
|
123
|
+
2. classic — delegate each task to vv-implementer
|
|
124
|
+
</format>
|
|
125
|
+
|
|
126
|
+
Wait for the user's answer before editing files, opening implementation work items, dispatching vv-implementer, or running implementation commands.
|
|
127
|
+
</step>
|
|
86
128
|
<step name="create-todo">Create a TodoWrite with all task IDs in dependency order for progress tracking.</step>
|
|
87
129
|
</pre-execution>
|
|
88
130
|
|
|
89
|
-
<
|
|
90
|
-
<principle>Each task runs as an independent unit with its own work item and implementer dispatch. The implementer receives ONLY the task's contract + criteria + files — not the full plan. This keeps context lean and focused.</principle>
|
|
131
|
+
<classic-workflow>
|
|
132
|
+
<principle>Use this workflow only when execution mode is classic. Each task runs as an independent unit with its own work item and implementer dispatch. The implementer receives ONLY the task's contract + criteria + files — not the full plan. This keeps context lean and focused.</principle>
|
|
91
133
|
|
|
92
134
|
<step name="extract">
|
|
93
135
|
Use extract-task to pull the full task content. Collect:
|
|
@@ -114,12 +156,12 @@ Every material finding from plan.xml must be enumerated explicitly in the packet
|
|
|
114
156
|
<step name="dispatch">
|
|
115
157
|
Open a work item with work_item_open for this task (e.g. "Implement <component>").
|
|
116
158
|
Dispatch vv-implementer with VVOC_WORK_ITEM_ID header + the constructed packet.
|
|
117
|
-
The implementer writes code, runs tests,
|
|
159
|
+
The implementer writes code, runs tests, and returns a status. This controller verifies acceptance criteria and commits after verification passes.
|
|
118
160
|
</step>
|
|
119
161
|
|
|
120
162
|
<step name="handle-status">
|
|
121
163
|
<case name="done">
|
|
122
|
-
Implementer returned DONE. Use task-
|
|
164
|
+
Implementer returned DONE. Use task-file to verify files exist. Run the test command from the plan (if specified). Verify each acceptance criterion.
|
|
123
165
|
Optionally dispatch vv-spec-reviewer to confirm contract compliance.
|
|
124
166
|
If verification fails: re-dispatch implementer with failure details.
|
|
125
167
|
If verification passes: proceed to close.
|
|
@@ -178,10 +220,62 @@ The task's changes are already committed. Mark the task complete in TodoWrite. C
|
|
|
178
220
|
If all tasks are done → proceed to completion.
|
|
179
221
|
Otherwise → move to the next task in dependency order.
|
|
180
222
|
</step>
|
|
181
|
-
</
|
|
223
|
+
</classic-workflow>
|
|
224
|
+
|
|
225
|
+
<inline-workflow>
|
|
226
|
+
<principle>Use this workflow only when execution mode is inline. Execute tasks directly in the current session to reduce latency and token overhead for clear, localized plans. Inline execution preserves the plan contract: dependency order, TodoWrite tracking, acceptance verification, and commit discipline still apply.</principle>
|
|
227
|
+
|
|
228
|
+
<step name="extract">
|
|
229
|
+
Use extract-task to pull the full task content. Collect:
|
|
230
|
+
- Task id and title
|
|
231
|
+
- File path
|
|
232
|
+
- Code snippet (from CDATA)
|
|
233
|
+
- Acceptance criteria
|
|
234
|
+
- Dependencies (task_id list)
|
|
235
|
+
</step>
|
|
236
|
+
|
|
237
|
+
<step name="prepare-context">
|
|
238
|
+
Read the target file and any directly relevant local contracts, tests, or surrounding implementation before editing. Keep context bounded to the current task or wave. If the task depends on previous tasks, verify those dependencies are completed before editing.
|
|
239
|
+
</step>
|
|
240
|
+
|
|
241
|
+
<step name="implement-inline">
|
|
242
|
+
Apply the smallest correct change that satisfies the task contract and acceptance criteria. Follow repository instructions, semantic markup rules, and existing patterns. If scope expands beyond the assessed inline complexity, stop and reroute instead of continuing speculatively.
|
|
243
|
+
</step>
|
|
244
|
+
|
|
245
|
+
<step name="verify">
|
|
246
|
+
Run the acceptance criteria for the task or wave. For each criterion:
|
|
247
|
+
- Can you point to a test, command, or deterministic check that proves it?
|
|
248
|
+
- Does the check pass?
|
|
249
|
+
- Did the inline implementation miss any edge cases?
|
|
250
|
+
|
|
251
|
+
If criteria fail with a clear local cause, fix and rerun verification.
|
|
252
|
+
If criteria fail and the root cause, expected behavior, or safe fix path is unclear, stop and ask the user whether to switch the remaining execution to classic mode. Do not silently dispatch vv-implementer from inline mode.
|
|
253
|
+
</step>
|
|
254
|
+
|
|
255
|
+
<step name="commit">
|
|
256
|
+
Commit after each task by default. Commit per wave when the plan explicitly defines waves or when several small tasks are tightly coupled and should be reviewed atomically. Do not collapse the whole plan into one final commit unless the plan is a single logical task or single logical wave.
|
|
257
|
+
|
|
258
|
+
Use the repository's existing commit style. Inspect recent commits before committing. Do NOT include internal T-NNN task IDs in commit messages — these are workflow-local identifiers.
|
|
259
|
+
|
|
260
|
+
If git is not available or the working directory is not a git repository, skip with a warning. If the commit fails (e.g. nothing to commit, hook rejection), report the failure and stop. Do not silently proceed.
|
|
261
|
+
</step>
|
|
262
|
+
|
|
263
|
+
<step name="close">
|
|
264
|
+
Mark the task complete in TodoWrite after its acceptance criteria pass and its task/wave commit is complete or intentionally skipped with a warning. If all tasks are done → proceed to completion. Otherwise → move to the next task in dependency order.
|
|
265
|
+
</step>
|
|
266
|
+
|
|
267
|
+
<reroute>
|
|
268
|
+
Inline mode is allowed only while the work remains clear, bounded, and low-risk. Stop and ask the user whether to switch to classic mode when:
|
|
269
|
+
- the implementation crosses unexpected module or architecture boundaries
|
|
270
|
+
- public API, CLI behavior, package exports, setup flow, config locations, persistence, security, migrations, or user data handling become materially affected and were not already part of the inline assessment
|
|
271
|
+
- acceptance criteria are ambiguous or incomplete
|
|
272
|
+
- verification fails without a clear local cause
|
|
273
|
+
- repeated inline attempts do not converge
|
|
274
|
+
</reroute>
|
|
275
|
+
</inline-workflow>
|
|
182
276
|
|
|
183
277
|
<model-selection>
|
|
184
|
-
<principle>
|
|
278
|
+
<principle>In classic mode, use the least powerful model that can handle each delegated role:</principle>
|
|
185
279
|
<rule>Mechanical tasks (1-2 files, clear contract, standard patterns) → fast/default role</rule>
|
|
186
280
|
<rule>Integration tasks (multi-file, coordination, state management) → smart role</rule>
|
|
187
281
|
<rule>Review tasks (spec-reviewer, code-reviewer) → smart role</rule>
|
|
@@ -189,11 +283,11 @@ Otherwise → move to the next task in dependency order.
|
|
|
189
283
|
</model-selection>
|
|
190
284
|
|
|
191
285
|
<completion>
|
|
192
|
-
<step name="summary">Report to the user: which tasks were completed, how many files were created/modified, and whether all acceptance criteria passed.</step>
|
|
286
|
+
<step name="summary">Report to the user: selected execution mode, which tasks were completed, how many files were created/modified, and whether all acceptance criteria passed.</step>
|
|
193
287
|
<step name="next">Ask the user: would you like a review? (vv-review can check the implementation against the spec).</step>
|
|
194
288
|
</completion>
|
|
195
289
|
|
|
196
290
|
<task>
|
|
197
|
-
Your current task is the ongoing user request. Read the plan.xml from the path the user provided, validate its structure, walk tasks in dependency order, extract each task's contract and criteria,
|
|
291
|
+
Your current task is the ongoing user request. Read the plan.xml from the path the user provided, validate its structure, assess execution complexity, and ensure the user explicitly chooses classic or inline mode unless they already specified one. Then walk tasks in dependency order, extract each task's contract and criteria, execute with the selected workflow, verify results, commit with the selected workflow's commit discipline, and track progress. Use the grep helpers to navigate the plan.
|
|
198
292
|
</task>
|
|
199
293
|
</skill>
|