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

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 (53) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +15 -6
  3. package/dist/lib/orchestration.js +9 -5
  4. package/dist/lib/orchestration.js.map +1 -1
  5. package/dist/lib/spec-lint.d.ts +2 -64
  6. package/dist/lib/spec-lint.js +47 -45
  7. package/dist/lib/spec-lint.js.map +1 -1
  8. package/dist/lib/vvoc-preset-registry.d.ts +13 -1
  9. package/dist/lib/vvoc-preset-registry.js +11 -1
  10. package/dist/lib/vvoc-preset-registry.js.map +1 -1
  11. package/dist/lib/workflow-contract.d.ts +277 -0
  12. package/dist/lib/workflow-contract.js +636 -0
  13. package/dist/lib/workflow-contract.js.map +1 -0
  14. package/dist/plugins/system-context-injection/index.js +8 -0
  15. package/dist/plugins/system-context-injection/index.js.map +1 -1
  16. package/dist/plugins/workflow/authority.d.ts +99 -0
  17. package/dist/plugins/workflow/authority.js +435 -0
  18. package/dist/plugins/workflow/authority.js.map +1 -0
  19. package/dist/plugins/workflow/checkpoint-io.d.ts +10 -1
  20. package/dist/plugins/workflow/checkpoint-io.js +22 -3
  21. package/dist/plugins/workflow/checkpoint-io.js.map +1 -1
  22. package/dist/plugins/workflow/checkpoints.d.ts +5 -0
  23. package/dist/plugins/workflow/checkpoints.js +15 -4
  24. package/dist/plugins/workflow/checkpoints.js.map +1 -1
  25. package/dist/plugins/workflow/delegated.d.ts +7 -1
  26. package/dist/plugins/workflow/delegated.js +12 -6
  27. package/dist/plugins/workflow/delegated.js.map +1 -1
  28. package/dist/plugins/workflow/execution.d.ts +361 -0
  29. package/dist/plugins/workflow/execution.js +1807 -0
  30. package/dist/plugins/workflow/execution.js.map +1 -0
  31. package/dist/plugins/workflow/index.js +317 -104
  32. package/dist/plugins/workflow/index.js.map +1 -1
  33. package/dist/plugins/workflow/persistence.d.ts +15 -3
  34. package/dist/plugins/workflow/persistence.js +270 -34
  35. package/dist/plugins/workflow/persistence.js.map +1 -1
  36. package/dist/plugins/workflow/snapshots.js +3 -3
  37. package/dist/plugins/workflow/snapshots.js.map +1 -1
  38. package/dist/plugins/workflow/state.d.ts +13 -0
  39. package/dist/plugins/workflow/state.js +22 -5
  40. package/dist/plugins/workflow/state.js.map +1 -1
  41. package/dist/plugins/workflow/system-instruction.md +15 -1
  42. package/dist/plugins/workflow/tooling.d.ts +46 -1
  43. package/dist/plugins/workflow/tooling.js +822 -6
  44. package/dist/plugins/workflow/tooling.js.map +1 -1
  45. package/dist/plugins/workflow/transactions.d.ts +54 -0
  46. package/dist/plugins/workflow/transactions.js +147 -0
  47. package/dist/plugins/workflow/transactions.js.map +1 -0
  48. package/package.json +1 -1
  49. package/schemas/vvoc/v3.json +1 -1
  50. package/templates/agents/vv-controller.md +12 -7
  51. package/templates/skills/vv-execute/SKILL.md +4 -4
  52. package/templates/skills/vv-plan/SKILL.md +1 -1
  53. package/templates/skills/vv-spec/SKILL.md +2 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ ## <small>1.4.3 (2026-09-22)</small>
2
+
3
+ ### Summary
4
+
5
+ Version 1.4.3 adds a new built-in preset, vv-osovv-mimo, giving users a personal osovv stack built around MiMo Flash High. The preset assigns xiaomi/vv-mimo-v2.6-flash-high to the default and smart roles, keeps openai/vv-codex-gpt-5.6-luna-low as the fast role, uses zai-coding-plan/vv-glm-5.3-max for review, and runs with the single-session orchestration profile, so teams can apply it directly with vvoc preset vv-osovv-mimo. The preset registry, shell completions for bash, zsh, and fish, and the README preset and orchestration tables were updated alongside it, so the new option appears consistently in listings, completion, and documentation.
6
+
7
+ * feat(presets): add vv-osovv-mimo preset with MiMo Flash High roles ([37c3a0e](https://github.com/osovv/vv-opencode/commit/37c3a0e))
8
+
9
+ ## <small>1.4.3-rc.1 (2026-09-12)</small>
10
+
11
+ ### Summary
12
+
13
+ This release makes delegated workflow execution independent of native plan documents and hardens recovery authority. Requirements can now come from a native spec/plan package, a provided plan reference, or the current conversation through one common execution contract, with generic registration and checkpoints exposed through work_item_open and work_checkpoint actions such as start, review, bind, complete, and amend, so a small request no longer needs spec/plan files or a multi-stage ceremony. Required reviews are exactly those declared by the source, the user, or an explicit controller decision, with a no-review result honestly reported as controller-accepted rather than independently reviewed, and assigned reviewers are enforced mechanically against the current revision. A bounded advance authority with a shared three-unit reserve lets an explicit user instruction fund a finite continuation after ordinary allowances are exhausted, without weakening post-stop validation, refilling on replay, or turning authority into acceptance or a passing review. The release also fixes a generic-review resume wedge by giving each checkpoint generation a fresh identity, settles reviewer NEEDS_CONTEXT as a cost-free recoverable stop, validates and reserves advance units before mutating state, binds authority recovery to the owning execution, rejects asserted reviewer statuses, and adds a whole-store fingerprint guard so staged transactions never publish over concurrent live mutations. Workflow state now persists at snapshot version 4, preserving v1/v2/v3 recovery and rejected-report history, while documentation and instructions scope source-independent execution claims to the implemented surface. Runtime plugin upgrades still require an OpenCode restart.
14
+
15
+ * chore(grace): apply and archive C-WORKFLOW-PLAN-INDEPENDENCE ([190ee03](https://github.com/osovv/vv-opencode/commit/190ee03))
16
+ * fix(workflow): close generic-review resume wedge and harden authority recovery ([4838f2b](https://github.com/osovv/vv-opencode/commit/4838f2b))
17
+ * feat(workflow): add source-independent execution contract and bounded advance authority ([8059770](https://github.com/osovv/vv-opencode/commit/8059770))
18
+ * feat(workflow): expose source-independent execution and advance authority through workflow tools ([4ed5e2c](https://github.com/osovv/vv-opencode/commit/4ed5e2c))
19
+ * docs(workflow): scope source-independent execution claims to the implemented domain surface ([fce2342](https://github.com/osovv/vv-opencode/commit/fce2342))
20
+
1
21
  ## <small>1.4.3-rc.0 (2026-09-12)</small>
2
22
 
3
23
  ### Summary
package/README.md CHANGED
@@ -368,6 +368,7 @@ vvoc preset vv-deepseek
368
368
  vvoc preset vv-kimi
369
369
  vvoc preset vv-alibaba
370
370
  vvoc preset vv-osovv-ds
371
+ vvoc preset vv-osovv-mimo
371
372
  vvoc preset vv-osovv-zai
372
373
  vvoc preset vv-osovv-qwen
373
374
  vvoc preset vv-astra-solo
@@ -392,6 +393,7 @@ Every shipped preset declares an explicit role matrix and orchestration profile:
392
393
  | `vv-kimi` | `kimi-for-coding/k3` | `kimi-for-coding/kimi-for-coding-highspeed` | `kimi-for-coding/vv-kimi-k3-max` | `kimi-for-coding/kimi-for-coding` | single-session |
393
394
  | `vv-alibaba` | `alibaba-token-plan/qwen3.8-max` | `alibaba-token-plan/deepseek-v4-flash` | `alibaba-token-plan/vv-qwen3.8-max-xhigh` | `alibaba-token-plan/glm-5.2` | single-session |
394
395
  | `vv-osovv-ds` | `deepseek/vv-deepseek-flash-max` | `openai/vv-codex-gpt-5.6-luna-low` | `deepseek/vv-deepseek-flash-max` | `zai-coding-plan/vv-glm-5.3-max` | single-session |
396
+ | `vv-osovv-mimo` | `xiaomi/vv-mimo-v2.6-flash-high` | `openai/vv-codex-gpt-5.6-luna-low` | `xiaomi/vv-mimo-v2.6-flash-high` | `zai-coding-plan/vv-glm-5.3-max` | single-session |
395
397
  | `vv-osovv-zai` | `deepseek/vv-deepseek-flash-max` | `openai/vv-codex-gpt-5.6-luna-low` | `zai-coding-plan/vv-glm-5.3-max` | `zai-coding-plan/vv-glm-5.3-max` | single-session |
396
398
  | `vv-osovv-qwen` | `deepseek/vv-deepseek-flash-max` | `openai/vv-codex-gpt-5.6-luna-low` | `alibaba-token-plan/vv-qwen3.8-max-xhigh` | `zai-coding-plan/vv-glm-5.3-max` | delegated |
397
399
  | `vv-astra-solo` | `openai/vv-codex-gpt-6-astra-max` | `openai/vv-codex-gpt-5.6-luna-low` | `openai/vv-codex-gpt-6-astra-max` | `zai-coding-plan/vv-glm-5.3-high` | single-session |
@@ -425,6 +427,7 @@ Built-in presets declare an orchestration mapping:
425
427
  | `vv-kimi` | single-session |
426
428
  | `vv-alibaba` | single-session |
427
429
  | `vv-osovv-ds` | single-session |
430
+ | `vv-osovv-mimo` | single-session |
428
431
  | `vv-osovv-zai` | single-session |
429
432
  | `vv-astra-solo` | single-session |
430
433
  | `vv-astra-workers` | delegated |
@@ -476,16 +479,22 @@ A worker whose execution finishes but whose final report stays protocol-invalid
476
479
 
477
480
  When a tracked subagent returns a recognized task envelope whose inner result is malformed for the strict protocol — a missing `VVOC_STATUS`, a missing `VVOC_ROUTE`, a non-protocol top-block line, or body text without the required blank line — the plugin makes at most one bounded continuation to that same child session. The continuation request carries no `tools` override (so the child's persisted session permissions are preserved), and its instructions direct the child to preserve the original work item, assignment, role, and write scope; to finish unfinished work with its existing history and currently permitted tools; or, if the work was already complete, to correct only the final report without repeating work or inventing evidence; and to report a truthful post-continuation `VVOC_STATUS`/`VVOC_ROUTE` rather than freezing an outdated one. These are instructions to the model, not a mechanical guarantee of compliance: the plugin still reparses the continued output strictly, applies the bounded error-code and explicit-hard-stop gates, and fails closed with the original protocol error and excerpt. Continuation is attempted only once; a valid result never continues, and a failed, empty, or still-malformed continuation is never retried. An explicit `VVOC_STATUS: BLOCKED` or `NEEDS_CONTEXT` line is detected before the call, so malformed hard-stop output fails closed through the original protocol error and excerpt instead of being continued.
478
481
 
479
- Independent review happens at checkpoints declared in the plan. An approved delegated plan carries an `<execution><mode>delegated</mode>` section with `<review_checkpoints>` (`CHECKPOINT-R-NNN` identities, each with kind, wave barrier, covered tasks, reviewed scope files, reviewer set, acceptance criteria, and verification commands) and per-task `<write_scope>` lists. Registration accepts only this supported approved native plan package (the approved spec and plan pair under `.vvoc/specs/`); foreign lifecycle plan formats are not convertible into it. `work_checkpoint` handles four actions:
482
+ Independent review happens at checkpoints declared in the plan. An approved delegated plan carries an `<execution><mode>delegated</mode>` section with `<review_checkpoints>` (`CHECKPOINT-R-NNN` identities, each with kind, wave barrier, covered tasks, reviewed scope files, reviewer set, acceptance criteria, and verification commands) and per-task `<write_scope>` lists. Registration accepts only this supported approved native plan package (the approved spec and plan pair under `.vvoc/specs/`); a provided plan or conversation-scoped execution stays on its own source and lifecycle rather than being converted into a native package. `work_checkpoint` handles these actions:
480
483
 
481
- - `register` — loads an approved active plan plus its linked approved spec, fully lints them, and binds the run to their content hashes and the canonical workspace root. Re-registering identical inputs is idempotent; changed approved inputs are explicit plan drift, never a progress reset.
482
- - `start` — after every covered task is accepted, captures a SHA-256 fingerprint over the checkpoint scope (file contents, existence, mode bits, and covered accepted attempts) and opens exactly the declared reviewer set as an ordinary `review_only` item. Writes overlapping an in-flight checkpoint scope are refused.
483
- - `verify` — derives `passed`, `failed`, `stale`, or `stopped` from the recorded reviewer results plus freshly recomputed fingerprints and approval hashes. A checkpoint passes only when every declared reviewer passes for the pinned snapshot; a closed review-only `FAIL` report is findings, not approval; edits during review make the generation stale. The final checkpoint seals the run only via `verify` with `complete: true` after every task is accepted, every earlier checkpoint passed, and the complete declared write scope is covered with fresh verification. Completion is refused while a declared reviewer is missing: a skipped reviewer is never fabricated into a pass.
484
- - `recover` — bounded recovery for a checkpoint generation that stopped (`NEEDS_CONTEXT`) or exhausted its two ordinary generations. Recovery takes the same `diagnosis`, `changedCondition`, `verification`, `recoveryId`, and optional `userMessageId` fields as task recovery, with the same one-unit autonomous-then-user-authorized policy per checkpoint. Recovering a stopped generation settles it into history as a `stopped` entry — it does not convert the stop into a failure, so checkpoint rework stays locked until a real failed generation exists — and recovering an exhausted checkpoint grants exactly one further generation with a fresh snapshot at the next `start`. Recovery never satisfies prerequisites, erases a `FAIL`, or seals a run: only the required passing final review does.
484
+ - `register` — with `planPath`, loads an approved active plan plus its linked approved spec, fully lints them, and binds the run to their content hashes and the canonical workspace root. With a generic `runId` instead, it appends checkpoints to that execution. Re-registering identical inputs is idempotent; changed approved inputs are explicit plan drift, never a progress reset.
485
+ - `start` — after every covered task is accepted, captures a fingerprint over the checkpoint scope (native scope files and existence, or the generic accepted-attempt coverage) and opens exactly the declared reviewer set as an ordinary `review_only` item. Writes overlapping an in-flight checkpoint scope are refused.
486
+ - `verify` — for native runs, derives `passed`, `failed`, `stale`, or `stopped` from the recorded reviewer results plus freshly recomputed fingerprints and approval hashes. A checkpoint passes only when every declared reviewer passes for the pinned snapshot; a closed review-only `FAIL` report is findings, not approval; edits during review make the generation stale. The final checkpoint seals the run only via `verify` with `complete: true` after every task is accepted, every earlier checkpoint passed, and the complete declared write scope is covered with fresh verification. Completion is refused while a declared reviewer is missing: a skipped reviewer is never fabricated into a pass.
487
+ - `review` / `bind` — record one generic reviewer result (optionally binding a reviewer call identity) and settle the generation when every declared reviewer reported.
488
+ - `complete` — complete a generic execution when every active task is accepted and every assigned checkpoint passed for the current revision, reporting `controller_accepted` or `independently_reviewed` honestly.
489
+ - `amend` — append validated tasks or checkpoints to a generic execution without replaying accepted work.
490
+ - `authorize` / `record_approval` / `revoke_authority` — record a bounded advance authority from an eligible root-user instruction, record a truthful controller-delegated stage approval, or revoke/narrow future authority credits.
491
+ - `recover` — bounded recovery for a checkpoint generation that stopped (`NEEDS_CONTEXT`) or exhausted its ordinary generations. Recovery takes the same `diagnosis`, `changedCondition`, `verification`, `recoveryId`, and optional `userMessageId` fields as task recovery, with the same one-unit autonomous-then-authorized policy per checkpoint; a generic exhausted checkpoint recovers under a recorded advance authority referenced by `runId` and `authorityId`. Recovering a stopped generation settles it into history as a `stopped` entry — it does not convert the stop into a failure, so checkpoint rework stays locked until a real failed generation exists — and recovering an exhausted checkpoint grants exactly one further generation with a fresh snapshot at the next `start`. Recovery never satisfies prerequisites, erases a `FAIL`, or seals a run: only the required passing final review does.
485
492
 
486
493
  Passed milestones stay historical: later planned edits are covered by later checkpoints or the final gate, not by an old approval. Hard stops (`BLOCKED`, `NEEDS_CONTEXT`) are never reset or bypassed by acceptance or checkpoint handling; only a separately recorded recovery decision resumes the affected work. Checkpoint state persists per session and survives restarts; a persisted `PASS` is not fresh evidence until `verify` recomputes current hashes.
487
494
 
488
- Delegated and checkpoint state persists under `$XDG_DATA_HOME/vvoc/workflow/<sessionId>/workflow-state.json` at snapshot version 3, which adds recovery histories, replay-protected authorization references, recovery-aware budgets, and rejected-report attempts. Older supported snapshots load conservatively: version 2 files hydrate with empty recovery histories and their original budgets, and version 1 files hydrate as legacy records without plan runs; neither ever synthesizes acceptance, approval, or recovery. A snapshot written by a newer plugin version is refused rather than reset. Recovery mutations commit on the live store and persist synchronously — a failed write rolls the mutation back, so changed launch permissions appear only after a durable record; terminal report settlements stage, persist, and then commit. Because runtime plugins share the startup config snapshot, a plugin upgrade takes effect after an OpenCode restart.
495
+ Source-independent execution is built on one common contract. Requirements may come from a native package, a provided plan reference, or the current conversation: a native package registers with `work_checkpoint register` (`planPath`), while a provided-plan or conversation-scoped run registers once with `work_item_open` carrying an `execution` descriptor (`executionKey`, `source`, `goal`, `boundary`) and its first task batch, and later tasks append with the same `runId` plus `amendmentId` and `rationale`. Generic review obligations run through `work_checkpoint` actions `start`, `review`/`bind`, `complete`, and `amend`. The registry validates task and checkpoint identities, exact references, execution boundaries, and acyclic dependencies before anything is published, and a selected source stays authoritative — a failed native package is never silently reopened as weaker generic execution, and a provided document is never converted or executed as commands. Required reviews are exactly those registered by the source, the user, or an explicit controller decision; a task with no assigned review completes honestly as controller-accepted rather than as independently reviewed, and a final checkpoint, when one was assigned, must still cover the current revision before completion. Explicit autonomous authority is recorded through `work_checkpoint action "authorize"` from an eligible root-user instruction as a bounded advance reserve shared by the whole authorized execution, consumed one unit at a time only after ordinary allowances are exhausted; duplicate calls, replay, restart, and task replacement cannot refill it, and narrowing or revocation disables future credits without erasing history. The same recorded authority can authorize one bounded continuation that predates a stop, while the separate post-stop `userMessageId` path keeps its own timing rules.
496
+
497
+ Delegated and checkpoint state persists under `$XDG_DATA_HOME/vvoc/workflow/<sessionId>/workflow-state.json` at snapshot version 4, which adds the common execution registry and session-wide root-message claims on top of version 3's recovery histories, replay-protected authorization references, recovery-aware budgets, and rejected-report attempts. Existing native plan runs materialize a compatibility registry entry with their original run ids and content hashes. Older supported snapshots load conservatively: version 3 and 2 files hydrate with empty execution registries (version 2 also with empty recovery histories and original budgets), and version 1 files hydrate as legacy records without plan runs; none ever synthesizes acceptance, approval, or recovery. A snapshot written by a newer plugin version is refused rather than reset. Recovery mutations commit on the live store and persist synchronously — a failed write rolls the mutation back, so changed launch permissions appear only after a durable record; terminal report settlements stage, persist, and then commit. Because runtime plugins share the startup config snapshot, a plugin upgrade takes effect after an OpenCode restart.
489
498
 
490
499
  Plans without an `<execution>` section keep their legacy meaning; executing them with different acceptance or review obligations requires an explicit agreed plan amendment, and archived plans are never rewritten. In a deterministic dispatch-count scenario, a twenty-task plan with two intermediate code-review checkpoints and one final spec+code checkpoint needs exactly four initial reviewer launches instead of forty — that is a property of the declared checkpoint policy, not a wall-clock or model-quality benchmark.
491
500
 
@@ -67,9 +67,11 @@ You may author specifications, plans, and explicitly requested planning artifact
67
67
  existing approval lifecycle, and you may execute verification commands, including commands that
68
68
  produce ordinary generated verification or build outputs. Do not write complete implementation
69
69
  bodies inside task packets and do not bypass the delegation policy by rewriting source through
70
- shell commands. work_checkpoint registration accepts only its supported approved native plan
71
- package (the approved spec and plan pair under .vvoc/specs/); foreign lifecycle plans are not
72
- convertible into it.
70
+ shell commands. Requirements may come from the supported approved native spec/plan package under
71
+ .vvoc/specs/, a provided plan reference, or the current conversation: work_checkpoint register
72
+ accepts only its supported approved native package, while a provided plan or conversation-scoped
73
+ run registers through work_item_open with an execution descriptor and keeps its own source rather
74
+ than being converted into a native package.
73
75
 
74
76
  Send each worker one bounded task packet and let it complete its local edit, test, and fix cycle
75
77
  before reporting a concise result with evidence references. One active implementation worker is the
@@ -78,8 +80,10 @@ code and evidence yourself, then explicitly accept each completed attempt or req
78
80
  bounded rationale. Spend independent review at declared plan checkpoints instead of after every
79
81
  task, and treat BLOCKED and NEEDS_CONTEXT as hard stops: diagnose a stopped or exhausted task
80
82
  yourself and recover it through the session's supported recovery operation — bounded, one unit per
81
- grant, never an unlimited retry and never a substitute for acceptance or review. A stop suspends
82
- that work item; it does not end the session.
83
+ grant, never an unlimited retry and never a substitute for acceptance or review. After the ordinary
84
+ allowances are exhausted, a recorded advance authority from an explicit user instruction may
85
+ fund a finite continuation; it never becomes acceptance or a passing review. A stop suspends that
86
+ work item; it does not end the session.
83
87
  `.trim();
84
88
  const RESOLVED_POLICIES = Object.freeze({
85
89
  "single-session": Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../src/lib/orchestration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../src/lib/orchestration.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { normalizeDeclaredScopePath, type DeclaredScopePathResult, type DelegatedCheckpointDefinition, type DelegatedPlanDefinition, type DelegatedPlanExtractionResult, type DelegatedReviewer, type DelegatedTaskDefinition } from "./workflow-contract.js";
1
2
  export declare const LINT_VERSION = 2;
2
3
  export type SpecLintArtifactKind = "spec" | "plan" | "design-context";
3
4
  export type SpecLintSeverity = "error" | "warning";
@@ -45,69 +46,7 @@ interface ParseResult {
45
46
  * content, multiple roots, and content after the root element.
46
47
  */
47
48
  export declare function parseSpecXml(content: string, file: string): ParseResult;
48
- /** Canonical reviewer roles accepted inside a delegated checkpoint's reviewer set. */
49
- export type DelegatedReviewer = "spec" | "code";
50
- /** Typed delegated obligation for one declared plan task. */
51
- export interface DelegatedTaskDefinition {
52
- /** Canonical task id used by depends_on and checkpoint coverage (e.g. "T-001"). */
53
- taskId: string;
54
- /** Declaring identity element name (e.g. "TASK-T-001"). */
55
- taskElement: string;
56
- /** Declaring wave id in document order (e.g. "WAVE-1"). */
57
- wave: string;
58
- /** Normalized workspace-relative write scope files declared for the task. */
59
- writeScope: string[];
60
- }
61
- /** Typed delegated obligation for one declared review checkpoint. */
62
- export interface DelegatedCheckpointDefinition {
63
- /** Declared checkpoint identity (e.g. "CHECKPOINT-R-001"). */
64
- checkpointId: string;
65
- kind: "milestone" | "final";
66
- /** Wave barrier that must be accepted before the checkpoint may start. */
67
- afterWave: string;
68
- /** Canonical task ids covered by the checkpoint. */
69
- covers: string[];
70
- /** Normalized workspace-relative files reviewed by the checkpoint. */
71
- scope: string[];
72
- /** Declared reviewer roles; every role must pass for the checkpoint to pass. */
73
- reviewers: DelegatedReviewer[];
74
- /** Acceptance criterion texts recorded in the plan. */
75
- acceptance: string[];
76
- /** Verification command texts recorded in the plan. */
77
- verification: string[];
78
- }
79
- /** Typed obligations extracted from a plan's delegated execution section. */
80
- export interface DelegatedPlanDefinition {
81
- mode: "delegated";
82
- /** Declared wave ids in document order. */
83
- waves: string[];
84
- tasks: DelegatedTaskDefinition[];
85
- checkpoints: DelegatedCheckpointDefinition[];
86
- }
87
- /** Either a typed delegated definition or the collected validation errors. */
88
- export type DelegatedPlanExtractionResult = {
89
- ok: true;
90
- definition: DelegatedPlanDefinition;
91
- } | {
92
- ok: false;
93
- errors: string[];
94
- };
95
- /** Normalized workspace-relative path, or the reason a declared path is malformed. */
96
- export type DeclaredScopePathResult = {
97
- ok: true;
98
- path: string;
99
- } | {
100
- ok: false;
101
- reason: string;
102
- };
103
- /**
104
- * Text-level canonical normalization for declared scope paths. The linter and
105
- * the runtime snapshot fingerprint share this representation so a plan that
106
- * lints clean cannot declare paths the runtime normalizer rejects on sight.
107
- * Filesystem-specific checks (existence, symlinks, regular files) stay in the
108
- * runtime normalizer; this function is deliberately pure.
109
- */
110
- export declare function normalizeDeclaredScopePath(raw: string): DeclaredScopePathResult;
49
+ export { normalizeDeclaredScopePath, type DeclaredScopePathResult, type DelegatedCheckpointDefinition, type DelegatedPlanDefinition, type DelegatedPlanExtractionResult, type DelegatedReviewer, type DelegatedTaskDefinition, };
111
50
  /**
112
51
  * Strictly extract typed delegated obligations from plan content. Returns
113
52
  * ok:false with every validation message when the plan does not declare a
@@ -124,4 +63,3 @@ export declare function detectSpecArtifactKind(rootName: string): SpecLintArtifa
124
63
  * checks; a plan without its spec yields a warning, not an error.
125
64
  */
126
65
  export declare function lintSpecArtifacts(inputs: SpecLintArtifactInput[], options?: SpecLintOptions): SpecLintVerdict[];
127
- export {};
@@ -3,8 +3,8 @@
3
3
  // START_MODULE_CONTRACT
4
4
  // PURPOSE: Pure strict linter for .vvoc spec-package XML artifacts (spec.xml, plan.xml, design-context.xml) enforcing the element-name identity format and delegated execution/checkpoint contracts.
5
5
  // SCOPE: Strict well-formedness validation over the htmlparser2 xmlMode event stream, template-contract checks per artifact kind, component/task/wave/checkpoint identity rules, reference integrity, lifecycle-aware severity, plan-subset-of-spec cross-file checking, delegated execution and review-checkpoint validation with typed extraction, and package layout checks. No filesystem access — callers pass artifact contents.
6
- // DEPENDS: [htmlparser2]
7
- // LINKS: [M-SPEC-LINT, M-PLUGIN-SPEC-GUARD, M-CLI-COMMANDS, M-WORKFLOW-CHECKPOINTS]
6
+ // DEPENDS: [htmlparser2, src/lib/workflow-contract.ts]
7
+ // LINKS: [M-SPEC-LINT, M-WORKFLOW-CONTRACT, M-PLUGIN-SPEC-GUARD, M-CLI-COMMANDS, M-WORKFLOW-CHECKPOINTS]
8
8
  // ROLE: RUNTIME
9
9
  // MAP_MODE: EXPORTS
10
10
  // END_MODULE_CONTRACT
@@ -17,13 +17,13 @@
17
17
  // SpecLintVerdict - Per-artifact lint result with kind, ok flag, and findings.
18
18
  // SpecLintArtifactInput - One artifact to lint identified by a file label and raw content.
19
19
  // SpecLintOptions - Options for lint runs (skipCrossFile for single-file contexts).
20
- // DelegatedReviewer - Canonical delegated checkpoint reviewer roles (spec, code).
21
- // DelegatedTaskDefinition - Typed delegated obligation for one declared plan task.
22
- // DelegatedCheckpointDefinition - Typed delegated obligation for one declared review checkpoint.
23
- // DelegatedPlanDefinition - Typed obligations extracted from a delegated execution section.
24
- // DelegatedPlanExtractionResult - Success payload or error list returned by delegated extraction.
25
- // DeclaredScopePathResult - Normalized workspace-relative path or a rejection reason.
26
- // normalizeDeclaredScopePath - Text-level canonical normalization for declared scope file paths.
20
+ // DelegatedReviewer - Canonical delegated checkpoint reviewer roles (spec, code); re-exported from the common contract.
21
+ // DelegatedTaskDefinition - Typed delegated obligation for one declared plan task; re-exported from the common contract.
22
+ // DelegatedCheckpointDefinition - Typed delegated obligation for one declared review checkpoint; re-exported from the common contract.
23
+ // DelegatedPlanDefinition - Typed obligations extracted from a delegated execution section; re-exported from the common contract.
24
+ // DelegatedPlanExtractionResult - Success payload or error list returned by delegated extraction; re-exported from the common contract.
25
+ // DeclaredScopePathResult - Normalized workspace-relative path or a rejection reason; re-exported from the common contract.
26
+ // normalizeDeclaredScopePath - Text-level canonical normalization for declared scope file paths; re-exported from the common contract.
27
27
  // extractDelegatedPlanDefinition - Strictly extract and validate typed delegated obligations from plan content.
28
28
  // parseSpecXml - Strict xmlMode parse producing a positioned element tree or well-formedness findings.
29
29
  // lintSpecArtifacts - Lint a set of artifacts together, applying cross-file rules between plans and specs.
@@ -32,9 +32,10 @@
32
32
  // END_MODULE_MAP
33
33
  //
34
34
  // START_CHANGE_SUMMARY
35
- // LAST_CHANGE: [C-DELEGATED-WORKFLOW-ASTRA-PRESETS - Added the delegated execution section, review-checkpoint vocabulary, scope-path normalization, typed extractDelegatedPlanDefinition, and bumped LINT_VERSION to 2.]
35
+ // LAST_CHANGE: [C-WORKFLOW-PLAN-INDEPENDENCE - Delegated obligation types and declared-path normalization moved to the dependency-free M-WORKFLOW-CONTRACT and re-exported here; native extraction now lifts task title, acceptance, verification, and dependency text for the common adapter.]
36
36
  // END_CHANGE_SUMMARY
37
37
  import { Tokenizer } from "htmlparser2";
38
+ import { normalizeDeclaredScopePath, } from "./workflow-contract.js";
38
39
  // START_BLOCK_PUBLIC_TYPES
39
40
  export const LINT_VERSION = 2;
40
41
  const IDENTITY_PATTERNS = {
@@ -372,41 +373,13 @@ function textOf(node) {
372
373
  function nonEmpty(node) {
373
374
  return textOf(node) !== "";
374
375
  }
375
- // END_BLOCK_DELEGATED_TYPES
376
- // START_BLOCK_SCOPE_PATH_NORMALIZATION
377
- /**
378
- * Text-level canonical normalization for declared scope paths. The linter and
379
- * the runtime snapshot fingerprint share this representation so a plan that
380
- * lints clean cannot declare paths the runtime normalizer rejects on sight.
381
- * Filesystem-specific checks (existence, symlinks, regular files) stay in the
382
- * runtime normalizer; this function is deliberately pure.
383
- */
384
- export function normalizeDeclaredScopePath(raw) {
385
- const trimmed = raw.trim();
386
- if (trimmed === "")
387
- return { ok: false, reason: "empty path" };
388
- if (trimmed.includes("\\"))
389
- return { ok: false, reason: "backslash separator" };
390
- if (trimmed.startsWith("/"))
391
- return { ok: false, reason: "absolute path" };
392
- if (/^[A-Za-z]:/.test(trimmed))
393
- return { ok: false, reason: "drive-absolute path" };
394
- if (trimmed.startsWith("~"))
395
- return { ok: false, reason: "home-relative path" };
396
- if (/[*?[\]]/.test(trimmed))
397
- return { ok: false, reason: "wildcard characters" };
398
- // eslint-disable-next-line no-control-regex
399
- if (/[\u0000-\u001f\u007f]/.test(trimmed))
400
- return { ok: false, reason: "control characters" };
401
- const segments = trimmed.split("/");
402
- for (const segment of segments) {
403
- if (segment === "")
404
- return { ok: false, reason: "empty path segment" };
405
- if (segment === "." || segment === "..")
406
- return { ok: false, reason: "traversal segment" };
407
- }
408
- return { ok: true, path: segments.join("/") };
409
- }
376
+ // END_BLOCK_TREE_HELPERS
377
+ // START_BLOCK_DELEGATED_TYPES
378
+ // The delegated obligation vocabulary and the pure declared-path normalizer
379
+ // live in the dependency-free common contract so the native linter and the
380
+ // common runtime share one representation. These names remain re-exported here
381
+ // for existing linter consumers.
382
+ export { normalizeDeclaredScopePath, };
410
383
  /**
411
384
  * Collect wave order and per-task delegated facts with a standalone walk so
412
385
  * lintPlan's main task validation and extractDelegatedPlanDefinition share one
@@ -466,6 +439,31 @@ function collectDelegatedTaskFacts(root) {
466
439
  const normalized = normalizeDeclaredScopePath(textOf(child(task, "file")));
467
440
  return normalized.ok ? normalized.path : "";
468
441
  })(),
442
+ title: textOf(child(task, "title")).trim(),
443
+ acceptance: (() => {
444
+ const acceptanceNode = child(task, "acceptance");
445
+ return acceptanceNode
446
+ ? children(acceptanceNode, "criterion")
447
+ .map((entry) => textOf(entry).trim())
448
+ .filter(Boolean)
449
+ : [];
450
+ })(),
451
+ verification: (() => {
452
+ const verificationNode = child(task, "verification");
453
+ return verificationNode
454
+ ? children(verificationNode, "command")
455
+ .map((entry) => textOf(entry).trim())
456
+ .filter(Boolean)
457
+ : [];
458
+ })(),
459
+ dependsOn: (() => {
460
+ const dependsNode = child(task, "depends_on");
461
+ return dependsNode
462
+ ? children(dependsNode, "task_id")
463
+ .map((entry) => textOf(entry).trim())
464
+ .filter(Boolean)
465
+ : [];
466
+ })(),
469
467
  });
470
468
  }
471
469
  }
@@ -881,6 +879,10 @@ export function extractDelegatedPlanDefinition(planContent, file = "plan.xml") {
881
879
  taskElement: task.taskElement,
882
880
  wave: task.wave,
883
881
  writeScope: [...task.writeScope],
882
+ ...(task.title ? { title: task.title } : {}),
883
+ ...(task.acceptance.length > 0 ? { acceptance: [...task.acceptance] } : {}),
884
+ ...(task.verification.length > 0 ? { verification: [...task.verification] } : {}),
885
+ ...(task.dependsOn.length > 0 ? { dependsOn: [...task.dependsOn] } : {}),
884
886
  })),
885
887
  checkpoints,
886
888
  },
@@ -1 +1 @@
1
- {"version":3,"file":"spec-lint.js","sourceRoot":"","sources":["../../src/lib/spec-lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-lint.js","sourceRoot":"","sources":["../../src/lib/spec-lint.ts"],"names":[],"mappings":"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"}