@voltro/plan 0.84.0 → 0.85.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.
package/dist/index.d.ts CHANGED
@@ -29,30 +29,30 @@ export declare type ClosureFile = Schema.Schema.Type<ReturnType<typeof closureFi
29
29
 
30
30
  /** One plan's closure record: its passes and certificates, oldest first. */
31
31
  export declare const closureFileSchema: (shape: ProgramShape) => Schema.Struct<{
32
- schemaVersion: Schema.Literal<["voltro-plan-closure/v1"]>;
33
- plan: Schema.filter<typeof Schema.String>;
34
- runs: Schema.Array$<Schema.Struct<{
35
- id: Schema.filter<typeof Schema.String>;
36
- pass: Schema.Literal<["contract", "adversarial"]>;
37
- reviewer: Schema.filter<typeof Schema.String>;
38
- reviewContext: Schema.filter<typeof Schema.String>;
39
- planRevision: Schema.filter<typeof Schema.String>;
40
- completedAt: Schema.filter<typeof Schema.String>;
41
- findingRefs: Schema.Array$<Schema.filter<typeof Schema.String>>;
42
- result: Schema.Literal<["passed", "findings"]>;
32
+ readonly schemaVersion: Schema.Literal<"voltro-plan-closure/v1">;
33
+ readonly plan: Schema.String;
34
+ readonly runs: Schema.$Array<Schema.Struct<{
35
+ readonly id: Schema.String;
36
+ readonly pass: Schema.Literals<readonly ["contract", "adversarial"]>;
37
+ readonly reviewer: Schema.String;
38
+ readonly reviewContext: Schema.String;
39
+ readonly planRevision: Schema.String;
40
+ readonly completedAt: Schema.String;
41
+ readonly findingRefs: Schema.$Array<Schema.String>;
42
+ readonly result: Schema.Literals<readonly ["passed", "findings"]>;
43
43
  /** The `voltro plan` version that ran the pass. */
44
- toolVersion: Schema.filter<typeof Schema.String>;
44
+ readonly toolVersion: Schema.String;
45
45
  }>>;
46
- certificates: Schema.Array$<Schema.Struct<{
47
- id: Schema.filter<typeof Schema.String>;
48
- plan: Schema.filter<typeof Schema.String>;
49
- planRevision: Schema.filter<typeof Schema.String>;
50
- workItems: Schema.Array$<Schema.filter<typeof Schema.String>>;
51
- evidenceRefs: Schema.Array$<Schema.filter<typeof Schema.String>>;
52
- closureRuns: Schema.filter<Schema.Array$<Schema.filter<typeof Schema.String>>>;
53
- confirmedBy: Schema.filter<typeof Schema.String>;
54
- issuedAt: Schema.filter<typeof Schema.String>;
55
- toolVersion: Schema.filter<typeof Schema.String>;
46
+ readonly certificates: Schema.$Array<Schema.Struct<{
47
+ readonly id: Schema.String;
48
+ readonly plan: Schema.String;
49
+ readonly planRevision: Schema.String;
50
+ readonly workItems: Schema.$Array<Schema.String>;
51
+ readonly evidenceRefs: Schema.$Array<Schema.String>;
52
+ readonly closureRuns: Schema.$Array<Schema.String>;
53
+ readonly confirmedBy: Schema.String;
54
+ readonly issuedAt: Schema.String;
55
+ readonly toolVersion: Schema.String;
56
56
  }>>;
57
57
  }>;
58
58
 
@@ -175,20 +175,20 @@ export declare interface EvidenceRequest {
175
175
 
176
176
  /** One piece of evidence: what was observed, by whom, about which subjects. */
177
177
  export declare const evidenceSchema: (shape: ProgramShape) => Schema.Struct<{
178
- id: Schema.filter<typeof Schema.String>;
179
- kind: Schema.Literal<["commit", "typecheck", "unit-test", "integration-test", "e2e", "browser", "schema", "migration", "roundtrip", "documentation", "agent-guide", "template", "security", "privacy", "accessibility", "rights", "operations", "performance", "research", "review", "artifact"]>;
180
- title: Schema.filter<typeof Schema.String>;
181
- uri: Schema.filter<typeof Schema.String>;
182
- fingerprint: Schema.optional<Schema.filter<typeof Schema.String>>;
183
- result: Schema.Literal<["passed", "failed", "informational"]>;
184
- subjectRefs: Schema.Array$<Schema.filter<typeof Schema.String>>;
185
- command: Schema.optional<Schema.filter<typeof Schema.String>>;
186
- environment: Schema.optional<Schema.filter<typeof Schema.String>>;
187
- producedBy: Schema.filter<typeof Schema.String>;
188
- reviewedBy: Schema.optional<Schema.filter<typeof Schema.String>>;
189
- observedAt: Schema.filter<typeof Schema.String>;
178
+ readonly id: Schema.String;
179
+ readonly kind: Schema.Literals<readonly ["commit", "typecheck", "unit-test", "integration-test", "e2e", "browser", "schema", "migration", "roundtrip", "documentation", "agent-guide", "template", "security", "privacy", "accessibility", "rights", "operations", "performance", "research", "review", "artifact"]>;
180
+ readonly title: Schema.String;
181
+ readonly uri: Schema.String;
182
+ readonly fingerprint: Schema.optional<Schema.String>;
183
+ readonly result: Schema.Literals<readonly ["passed", "failed", "informational"]>;
184
+ readonly subjectRefs: Schema.$Array<Schema.String>;
185
+ readonly command: Schema.optional<Schema.String>;
186
+ readonly environment: Schema.optional<Schema.String>;
187
+ readonly producedBy: Schema.String;
188
+ readonly reviewedBy: Schema.optional<Schema.String>;
189
+ readonly observedAt: Schema.String;
190
190
  /** Set by `voltro plan evidence add`: the same key with the same payload is the same evidence. */
191
- idempotencyKey: Schema.optional<Schema.filter<typeof Schema.String>>;
191
+ readonly idempotencyKey: Schema.optional<Schema.String>;
192
192
  }>;
193
193
 
194
194
  /** The process exit code of a command (0 ok, 1 gate failed, 2 usage, 3 unreadable input, 6 security). */
@@ -207,16 +207,16 @@ export declare type Finding = Schema.Schema.Type<ReturnType<typeof findingSchema
207
207
 
208
208
  /** A finding against work items: open until resolved or accepted as a risk. */
209
209
  export declare const findingSchema: (shape: ProgramShape) => Schema.Struct<{
210
- id: Schema.filter<typeof Schema.String>;
211
- title: Schema.filter<typeof Schema.String>;
212
- severity: Schema.Literal<["critical", "high", "medium", "low"]>;
213
- status: Schema.Literal<["open", "resolved", "accepted-risk"]>;
214
- source: Schema.Literal<["contract-reconciliation", "adversarial-audit", "test", "incident", "research", "review", "production"]>;
215
- targetWorkItems: Schema.filter<Schema.Array$<Schema.Schema<string, string, never>>>;
216
- impactTags: Schema.Array$<Schema.filter<typeof Schema.String>>;
217
- evidenceRefs: Schema.optional<Schema.filter<Schema.Array$<Schema.Schema<string, string, never>>>>;
218
- openedAt: Schema.filter<typeof Schema.String>;
219
- resolvedAt: Schema.optional<Schema.filter<typeof Schema.String>>;
210
+ readonly id: Schema.String;
211
+ readonly title: Schema.String;
212
+ readonly severity: Schema.Literals<readonly ["critical", "high", "medium", "low"]>;
213
+ readonly status: Schema.Literals<readonly ["open", "resolved", "accepted-risk"]>;
214
+ readonly source: Schema.Literals<readonly ["contract-reconciliation", "adversarial-audit", "test", "incident", "research", "review", "production"]>;
215
+ readonly targetWorkItems: Schema.$Array<Schema.Codec<string, string, never, never>>;
216
+ readonly impactTags: Schema.$Array<Schema.String>;
217
+ readonly evidenceRefs: Schema.optional<Schema.$Array<Schema.Codec<string, string, never, never>>>;
218
+ readonly openedAt: Schema.String;
219
+ readonly resolvedAt: Schema.optional<Schema.String>;
220
220
  }>;
221
221
 
222
222
  /** The `sha256:` fingerprint of a value's canonical JSON. */
@@ -312,20 +312,20 @@ export declare interface Locator {
312
312
  }
313
313
 
314
314
  export declare const Manifest: Schema.Struct<{
315
- schemaVersion: Schema.Literal<["voltro-plan-manifest/v1"]>;
316
- prefix: Schema.filter<typeof Schema.String>;
315
+ readonly schemaVersion: Schema.Literal<"voltro-plan-manifest/v1">;
316
+ readonly prefix: Schema.String;
317
317
  /** The `schemaVersion` the plan instances carry. */
318
- instanceVersion: Schema.filter<typeof Schema.String>;
319
- repos: Schema.filter<Schema.Array$<Schema.filter<typeof Schema.String>>>;
320
- instances: Schema.filter<Schema.Array$<Schema.filter<Schema.filter<typeof Schema.String>>>>;
321
- evidence: Schema.optional<Schema.Array$<Schema.filter<Schema.filter<typeof Schema.String>>>>;
318
+ readonly instanceVersion: Schema.String;
319
+ readonly repos: Schema.$Array<Schema.String>;
320
+ readonly instances: Schema.$Array<Schema.String>;
321
+ readonly evidence: Schema.optional<Schema.$Array<Schema.String>>;
322
322
  /** Where `voltro plan evidence add` writes: one `<plan number>.json` per plan; read as well. */
323
- evidenceDir: Schema.optional<Schema.filter<Schema.filter<typeof Schema.String>>>;
323
+ readonly evidenceDir: Schema.optional<Schema.String>;
324
324
  /** Where `voltro plan close` keeps each plan's closure record (`<plan number>.json`). */
325
- closureDir: Schema.optional<Schema.filter<Schema.filter<typeof Schema.String>>>;
325
+ readonly closureDir: Schema.optional<Schema.String>;
326
326
  /** The decision records: files named `ADR-<prefix>-NNN-….md`. Items link them; a changed one reopens their plans. */
327
- adrDir: Schema.optional<Schema.filter<Schema.filter<typeof Schema.String>>>;
328
- findings: Schema.optional<Schema.Array$<Schema.filter<Schema.filter<typeof Schema.String>>>>;
327
+ readonly adrDir: Schema.optional<Schema.String>;
328
+ readonly findings: Schema.optional<Schema.$Array<Schema.String>>;
329
329
  }>;
330
330
 
331
331
  export declare type Manifest = Schema.Schema.Type<typeof Manifest>;
@@ -368,75 +368,75 @@ export declare type PlanInstance = Schema.Schema.Type<ReturnType<typeof planInst
368
368
 
369
369
  /** The Schema of one plan instance for a program. */
370
370
  export declare const planInstanceSchema: (shape: ProgramShape) => Schema.Struct<{
371
- schemaVersion: Schema.Literal<[string]>;
372
- plan: Schema.Struct<{
373
- id: Schema.filter<typeof Schema.String>;
374
- number: Schema.filter<typeof Schema.String>;
375
- title: Schema.filter<typeof Schema.String>;
376
- source: Schema.filter<typeof Schema.String>;
377
- sourceRevision: Schema.filter<typeof Schema.String>;
378
- status: Schema.Literal<["proposed", "decomposing", "ready", "active", "verifying", "closure-1", "closure-2", "complete"]>;
379
- decompositionComplete: typeof Schema.Boolean;
380
- updatedAt: Schema.filter<typeof Schema.String>;
371
+ readonly schemaVersion: Schema.Literal<string>;
372
+ readonly plan: Schema.Struct<{
373
+ readonly id: Schema.String;
374
+ readonly number: Schema.String;
375
+ readonly title: Schema.String;
376
+ readonly source: Schema.String;
377
+ readonly sourceRevision: Schema.String;
378
+ readonly status: Schema.Literals<readonly ["proposed", "decomposing", "ready", "active", "verifying", "closure-1", "closure-2", "complete"]>;
379
+ readonly decompositionComplete: Schema.Boolean;
380
+ readonly updatedAt: Schema.String;
381
381
  }>;
382
- extraction: Schema.Struct<{
383
- rulesVersion: Schema.filter<typeof Schema.String>;
384
- sourceRevision: Schema.filter<typeof Schema.String>;
385
- blockKinds: Schema.Array$<Schema.filter<typeof Schema.String>>;
386
- extractedAt: Schema.filter<typeof Schema.String>;
382
+ readonly extraction: Schema.Struct<{
383
+ readonly rulesVersion: Schema.String;
384
+ readonly sourceRevision: Schema.String;
385
+ readonly blockKinds: Schema.$Array<Schema.String>;
386
+ readonly extractedAt: Schema.String;
387
387
  }>;
388
- workItems: Schema.Array$<Schema.Struct<{
389
- id: Schema.filter<typeof Schema.String>;
390
- title: Schema.filter<typeof Schema.String>;
391
- ownerPlan: Schema.filter<typeof Schema.String>;
392
- slice: Schema.filter<typeof Schema.String>;
393
- kind: Schema.Literal<["architecture", "feature", "framework", "integration", "migration", "operations", "security", "documentation", "research", "tooling"]>;
394
- priority: Schema.Literal<["P0", "P1", "P2", "P3"]>;
395
- mandatory: typeof Schema.Boolean;
396
- status: Schema.Literal<["proposed", "ready", "active", "blocked", "verified", "closed"]>;
397
- owners: Schema.Array$<Schema.filter<typeof Schema.String>>;
398
- repos: Schema.filter<Schema.Array$<Schema.Schema<string, string, never>>>;
399
- sourceRefs: Schema.filter<Schema.Array$<Schema.Schema<{
388
+ readonly workItems: Schema.$Array<Schema.Struct<{
389
+ readonly id: Schema.String;
390
+ readonly title: Schema.String;
391
+ readonly ownerPlan: Schema.String;
392
+ readonly slice: Schema.String;
393
+ readonly kind: Schema.Literals<readonly ["architecture", "feature", "framework", "integration", "migration", "operations", "security", "documentation", "research", "tooling"]>;
394
+ readonly priority: Schema.Literals<readonly ["P0", "P1", "P2", "P3"]>;
395
+ readonly mandatory: Schema.Boolean;
396
+ readonly status: Schema.Literals<readonly ["proposed", "ready", "active", "blocked", "verified", "closed"]>;
397
+ readonly owners: Schema.$Array<Schema.String>;
398
+ readonly repos: Schema.$Array<Schema.Codec<string, string, never, never>>;
399
+ readonly sourceRefs: Schema.$Array<Schema.Codec<{
400
400
  readonly id: string;
401
+ readonly disposition: "owned-by" | "referenced-by" | "decision" | "non-goal";
401
402
  readonly uri: string;
402
403
  readonly locator: string;
403
404
  readonly excerpt: string;
404
- readonly lineHint?: number | undefined;
405
405
  readonly contentHash: string;
406
- readonly disposition: "owned-by" | "referenced-by" | "decision" | "non-goal";
406
+ readonly lineHint?: number | undefined;
407
407
  readonly targetId?: string | undefined;
408
408
  }, {
409
409
  readonly id: string;
410
+ readonly disposition: "owned-by" | "referenced-by" | "decision" | "non-goal";
410
411
  readonly uri: string;
411
412
  readonly locator: string;
412
413
  readonly excerpt: string;
413
414
  readonly contentHash: string;
414
- readonly disposition: "owned-by" | "referenced-by" | "decision" | "non-goal";
415
415
  readonly lineHint?: number | undefined;
416
416
  readonly targetId?: string | undefined;
417
- }, never>>>;
418
- dependsOn: Schema.filter<Schema.Array$<Schema.Schema<string, string, never>>>;
419
- links: Schema.Struct<{
420
- capabilities: Schema.Array$<Schema.filter<typeof Schema.String>>;
421
- journeys: Schema.Array$<Schema.filter<typeof Schema.String>>;
422
- adrs: Schema.filter<Schema.Array$<Schema.Schema<string, string, never>>>;
423
- risks: Schema.Array$<Schema.filter<typeof Schema.String>>;
424
- relatedTo: Schema.filter<Schema.Array$<Schema.Schema<string, string, never>>>;
417
+ }, never, never>>;
418
+ readonly dependsOn: Schema.$Array<Schema.Codec<string, string, never, never>>;
419
+ readonly links: Schema.Struct<{
420
+ readonly capabilities: Schema.$Array<Schema.String>;
421
+ readonly journeys: Schema.$Array<Schema.String>;
422
+ readonly adrs: Schema.$Array<Schema.Codec<string, string, never, never>>;
423
+ readonly risks: Schema.$Array<Schema.String>;
424
+ readonly relatedTo: Schema.$Array<Schema.Codec<string, string, never, never>>;
425
425
  }>;
426
- acceptance: Schema.filter<Schema.Array$<Schema.Schema<{
426
+ readonly acceptance: Schema.$Array<Schema.Codec<{
427
427
  readonly id: string;
428
- readonly status: "pending" | "passed" | "failed";
429
428
  readonly statement: string;
429
+ readonly status: "pending" | "passed" | "failed";
430
430
  readonly evidenceRefs: readonly string[];
431
431
  }, {
432
432
  readonly id: string;
433
- readonly status: "pending" | "passed" | "failed";
434
433
  readonly statement: string;
434
+ readonly status: "pending" | "passed" | "failed";
435
435
  readonly evidenceRefs: readonly string[];
436
- }, never>>>;
437
- evidenceRequirements: Schema.filter<Schema.Array$<Schema.Schema<{
438
- readonly id: string;
436
+ }, never, never>>;
437
+ readonly evidenceRequirements: Schema.$Array<Schema.Codec<{
439
438
  readonly status: "open" | "satisfied" | "waived";
439
+ readonly id: string;
440
440
  readonly statement: string;
441
441
  readonly evidenceRefs: readonly string[];
442
442
  readonly kinds: readonly ("commit" | "typecheck" | "unit-test" | "integration-test" | "e2e" | "browser" | "schema" | "migration" | "roundtrip" | "documentation" | "agent-guide" | "template" | "security" | "privacy" | "accessibility" | "rights" | "operations" | "performance" | "research" | "review" | "artifact")[];
@@ -447,8 +447,8 @@ export declare const planInstanceSchema: (shape: ProgramShape) => Schema.Struct<
447
447
  readonly compensatingControl: string;
448
448
  } | undefined;
449
449
  }, {
450
- readonly id: string;
451
450
  readonly status: "open" | "satisfied" | "waived";
451
+ readonly id: string;
452
452
  readonly statement: string;
453
453
  readonly evidenceRefs: readonly string[];
454
454
  readonly kinds: readonly ("commit" | "typecheck" | "unit-test" | "integration-test" | "e2e" | "browser" | "schema" | "migration" | "roundtrip" | "documentation" | "agent-guide" | "template" | "security" | "privacy" | "accessibility" | "rights" | "operations" | "performance" | "research" | "review" | "artifact")[];
@@ -458,42 +458,42 @@ export declare const planInstanceSchema: (shape: ProgramShape) => Schema.Struct<
458
458
  readonly expiresAt: string;
459
459
  readonly compensatingControl: string;
460
460
  } | undefined;
461
- }, never>>>;
462
- evidenceRefs: Schema.filter<Schema.Array$<Schema.Schema<string, string, never>>>;
463
- impactTags: Schema.filter<Schema.Array$<Schema.Schema<string, string, never>>>;
464
- statusHistory: Schema.filter<Schema.Array$<Schema.Schema<{
465
- readonly at: string;
461
+ }, never, never>>;
462
+ readonly evidenceRefs: Schema.$Array<Schema.Codec<string, string, never, never>>;
463
+ readonly impactTags: Schema.$Array<Schema.Codec<string, string, never, never>>;
464
+ readonly statusHistory: Schema.$Array<Schema.Codec<{
466
465
  readonly from: "proposed" | "ready" | "active" | "blocked" | "verified" | "closed" | null;
467
- readonly evidenceRefs: readonly string[];
468
466
  readonly to: "proposed" | "ready" | "active" | "blocked" | "verified" | "closed";
469
467
  readonly reason: string;
470
468
  readonly actor: string;
471
- }, {
472
469
  readonly at: string;
473
- readonly from: "proposed" | "ready" | "active" | "blocked" | "verified" | "closed" | null;
474
470
  readonly evidenceRefs: readonly string[];
471
+ }, {
472
+ readonly from: "proposed" | "ready" | "active" | "blocked" | "verified" | "closed" | null;
475
473
  readonly to: "proposed" | "ready" | "active" | "blocked" | "verified" | "closed";
476
474
  readonly reason: string;
477
475
  readonly actor: string;
478
- }, never>>>;
479
- blocker: Schema.optional<Schema.Struct<{
480
- reason: Schema.filter<typeof Schema.String>;
481
- owner: Schema.filter<typeof Schema.String>;
482
- nextAction: Schema.filter<typeof Schema.String>;
483
- recheckTrigger: Schema.filter<typeof Schema.String>;
484
- since: Schema.filter<typeof Schema.String>;
476
+ readonly at: string;
477
+ readonly evidenceRefs: readonly string[];
478
+ }, never, never>>;
479
+ readonly blocker: Schema.optional<Schema.Struct<{
480
+ readonly reason: Schema.String;
481
+ readonly owner: Schema.String;
482
+ readonly nextAction: Schema.String;
483
+ readonly recheckTrigger: Schema.String;
484
+ readonly since: Schema.String;
485
485
  }>>;
486
- supersededBy: Schema.optional<Schema.filter<typeof Schema.String>>;
487
- createdAt: Schema.filter<typeof Schema.String>;
488
- updatedAt: Schema.filter<typeof Schema.String>;
486
+ readonly supersededBy: Schema.optional<Schema.String>;
487
+ readonly createdAt: Schema.String;
488
+ readonly updatedAt: Schema.String;
489
489
  }>>;
490
- coverage: Schema.Struct<{
491
- extractedSources: typeof Schema.Int;
492
- disposedSources: typeof Schema.Int;
493
- unmatchedSources: typeof Schema.Int;
494
- duplicateSources: typeof Schema.Int;
495
- sourceIdsHash: Schema.filter<typeof Schema.String>;
496
- result: Schema.Literal<["complete", "incomplete"]>;
490
+ readonly coverage: Schema.Struct<{
491
+ readonly extractedSources: Schema.Int;
492
+ readonly disposedSources: Schema.Int;
493
+ readonly unmatchedSources: Schema.Int;
494
+ readonly duplicateSources: Schema.Int;
495
+ readonly sourceIdsHash: Schema.String;
496
+ readonly result: Schema.Literals<readonly ["complete", "incomplete"]>;
497
497
  }>;
498
498
  }>;
499
499