@osovv/vv-opencode 1.3.7 → 1.4.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 (58) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +42 -2
  3. package/dist/commands/completion.js +10 -2
  4. package/dist/commands/completion.js.map +1 -1
  5. package/dist/commands/patch-provider.d.ts +97 -1
  6. package/dist/commands/patch-provider.js +97 -5
  7. package/dist/commands/patch-provider.js.map +1 -1
  8. package/dist/lib/orchestration.d.ts +2 -2
  9. package/dist/lib/orchestration.js +31 -2
  10. package/dist/lib/orchestration.js.map +1 -1
  11. package/dist/lib/spec-lint.d.ts +71 -1
  12. package/dist/lib/spec-lint.js +566 -8
  13. package/dist/lib/spec-lint.js.map +1 -1
  14. package/dist/lib/vvoc-config.d.ts +3 -3
  15. package/dist/lib/vvoc-preset-registry.d.ts +25 -1
  16. package/dist/lib/vvoc-preset-registry.js +22 -2
  17. package/dist/lib/vvoc-preset-registry.js.map +1 -1
  18. package/dist/plugins/hashline-edit/index.js.map +1 -1
  19. package/dist/plugins/web-tools/providers/brave.js +14 -8
  20. package/dist/plugins/web-tools/providers/brave.js.map +1 -1
  21. package/dist/plugins/workflow/checkpoint-io.d.ts +33 -0
  22. package/dist/plugins/workflow/checkpoint-io.js +224 -0
  23. package/dist/plugins/workflow/checkpoint-io.js.map +1 -0
  24. package/dist/plugins/workflow/checkpoints.d.ts +182 -0
  25. package/dist/plugins/workflow/checkpoints.js +1067 -0
  26. package/dist/plugins/workflow/checkpoints.js.map +1 -0
  27. package/dist/plugins/workflow/delegated.d.ts +158 -0
  28. package/dist/plugins/workflow/delegated.js +613 -0
  29. package/dist/plugins/workflow/delegated.js.map +1 -0
  30. package/dist/plugins/workflow/index.js +368 -20
  31. package/dist/plugins/workflow/index.js.map +1 -1
  32. package/dist/plugins/workflow/persistence.d.ts +32 -3
  33. package/dist/plugins/workflow/persistence.js +497 -70
  34. package/dist/plugins/workflow/persistence.js.map +1 -1
  35. package/dist/plugins/workflow/repair.js +3 -1
  36. package/dist/plugins/workflow/repair.js.map +1 -1
  37. package/dist/plugins/workflow/snapshots.d.ts +59 -0
  38. package/dist/plugins/workflow/snapshots.js +261 -0
  39. package/dist/plugins/workflow/snapshots.js.map +1 -0
  40. package/dist/plugins/workflow/state.d.ts +20 -2
  41. package/dist/plugins/workflow/state.js +127 -12
  42. package/dist/plugins/workflow/state.js.map +1 -1
  43. package/dist/plugins/workflow/tooling.d.ts +45 -0
  44. package/dist/plugins/workflow/tooling.js +344 -12
  45. package/dist/plugins/workflow/tooling.js.map +1 -1
  46. package/dist/plugins/workflow/transitions.js +2 -2
  47. package/dist/plugins/workflow/transitions.js.map +1 -1
  48. package/dist/tui/context/analyze.js +3 -1
  49. package/dist/tui/context/analyze.js.map +1 -1
  50. package/package.json +1 -1
  51. package/schemas/vvoc/v3.json +5 -3
  52. package/templates/agents/vv-code-reviewer.md +3 -1
  53. package/templates/agents/vv-implementer.md +5 -2
  54. package/templates/agents/vv-spec-reviewer.md +3 -0
  55. package/templates/skills/vv-execute/SKILL.md +62 -15
  56. package/templates/skills/vv-plan/SKILL.md +13 -3
  57. package/templates/skills/vv-plan/references/plan-template.xml +45 -0
  58. package/templates/skills/vv-review/SKILL.md +1 -0
@@ -1,4 +1,4 @@
1
- export declare const LINT_VERSION = 1;
1
+ export declare const LINT_VERSION = 2;
2
2
  export type SpecLintArtifactKind = "spec" | "plan" | "design-context";
3
3
  export type SpecLintSeverity = "error" | "warning";
4
4
  export interface SpecLintFinding {
@@ -45,6 +45,76 @@ interface ParseResult {
45
45
  * content, multiple roots, and content after the root element.
46
46
  */
47
47
  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;
111
+ /**
112
+ * Strictly extract typed delegated obligations from plan content. Returns
113
+ * ok:false with every validation message when the plan does not declare a
114
+ * structurally complete and valid delegated execution section, so runtime
115
+ * registration and lint share one contract instead of two interpretations.
116
+ */
117
+ export declare function extractDelegatedPlanDefinition(planContent: string, file?: string): DelegatedPlanExtractionResult;
48
118
  /** True when a file label sits under an archive/ directory. */
49
119
  export declare function isSpecArchivePath(file: string): boolean;
50
120
  export declare function detectSpecArtifactKind(rootName: string): SpecLintArtifactKind | "unknown";