create-quiver 0.12.0 → 0.13.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/CHANGELOG.md +52 -0
- package/README.md +65 -25
- package/README_FOR_AI.md +36 -29
- package/ROADMAP.md +22 -3
- package/docs/AI_ONBOARDING_PROMPT.md.template +7 -1
- package/docs/COMMANDS.md.template +53 -20
- package/docs/STATUS.md.template +5 -1
- package/docs/WORKFLOW.md.template +13 -11
- package/package.json +10 -3
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/EVIDENCE_REPORT.md +293 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/EXECUTION_PLAN.md +58 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/SPEC.md +242 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/STATUS.md +35 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/pr.md +77 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/slice.json +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/CLOSURE_BRIEF.md +43 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/slice.json +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/slice.json +53 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/slice.json +55 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/CLOSURE_BRIEF.md +39 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/slice.json +53 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/CLOSURE_BRIEF.md +39 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/slice.json +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/slice.json +53 -0
- package/specs/quiver-v26-0121-smoke-hardening/EVIDENCE_REPORT.md +208 -0
- package/specs/quiver-v26-0121-smoke-hardening/EXECUTION_PLAN.md +57 -0
- package/specs/quiver-v26-0121-smoke-hardening/SPEC.md +137 -0
- package/specs/quiver-v26-0121-smoke-hardening/STATUS.md +32 -0
- package/specs/quiver-v26-0121-smoke-hardening/pr.md +96 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/slice.json +73 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/slice.json +76 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/CLOSURE_BRIEF.md +37 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/slice.json +75 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/CLOSURE_BRIEF.md +37 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/slice.json +77 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/slice.json +77 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/slice.json +84 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/slice.json +82 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/slice.json +92 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/AUDIT_V24_V25_V26.md +67 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/COMMAND_CONTRACTS.md +125 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/COVERAGE_MATRIX.md +74 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/EVIDENCE_REPORT.md +179 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/EXECUTION_PLAN.md +71 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/SPEC.md +176 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/STATUS.md +37 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/pr.md +132 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-00-docs-audit-coverage-and-contracts/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-00-docs-audit-coverage-and-contracts/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-00-docs-audit-coverage-and-contracts/slice.json +75 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-01-core-state-resolver-and-canonical-statuses/CLOSURE_BRIEF.md +37 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-01-core-state-resolver-and-canonical-statuses/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-01-core-state-resolver-and-canonical-statuses/slice.json +79 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-02-json-export-contract-and-machine-output/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-02-json-export-contract-and-machine-output/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-02-json-export-contract-and-machine-output/slice.json +75 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-03-approved-plan-to-spec-create/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-03-approved-plan-to-spec-create/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-03-approved-plan-to-spec-create/slice.json +78 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-04-ai-artifact-storage-redaction-and-token-compaction/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-04-ai-artifact-storage-redaction-and-token-compaction/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-04-ai-artifact-storage-redaction-and-token-compaction/slice.json +77 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-05-worktree-lifecycle-locks-and-recovery/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-05-worktree-lifecycle-locks-and-recovery/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-05-worktree-lifecycle-locks-and-recovery/slice.json +84 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-06-validation-gates-and-scope-safety/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-06-validation-gates-and-scope-safety/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-06-validation-gates-and-scope-safety/slice.json +99 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-07-context-analysis-and-doctor-flow/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-07-context-analysis-and-doctor-flow/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-07-context-analysis-and-doctor-flow/slice.json +88 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-08-cross-platform-help-auth-and-dx/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-08-cross-platform-help-auth-and-dx/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-08-cross-platform-help-auth-and-dx/slice.json +85 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-09-fixtures-smoke-docs-and-release-readiness/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-09-fixtures-smoke-docs-and-release-readiness/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-09-fixtures-smoke-docs-and-release-readiness/slice.json +91 -0
- package/src/create-quiver/commands/ai.js +652 -27
- package/src/create-quiver/commands/flow.js +58 -9
- package/src/create-quiver/commands/graph.js +11 -9
- package/src/create-quiver/commands/plan.js +7 -16
- package/src/create-quiver/commands/spec.js +282 -0
- package/src/create-quiver/index.js +409 -31
- package/src/create-quiver/lib/actionable-error.js +27 -0
- package/src/create-quiver/lib/agent-profiles.js +16 -4
- package/src/create-quiver/lib/ai/artifacts.js +318 -0
- package/src/create-quiver/lib/ai/context-packs.js +4 -0
- package/src/create-quiver/lib/ai/execution-plan.js +16 -1
- package/src/create-quiver/lib/ai/executor.js +272 -21
- package/src/create-quiver/lib/ai/export-state.js +679 -0
- package/src/create-quiver/lib/ai/github.js +162 -2
- package/src/create-quiver/lib/ai/onboarding-template.js +215 -2
- package/src/create-quiver/lib/ai/plan-review.js +7 -2
- package/src/create-quiver/lib/ai/providers.js +4 -3
- package/src/create-quiver/lib/ai/run-state.js +414 -0
- package/src/create-quiver/lib/ai/spec-generator.js +84 -13
- package/src/create-quiver/lib/ai/spec-templates.js +150 -21
- package/src/create-quiver/lib/analyze.js +2 -2
- package/src/create-quiver/lib/approvals.js +36 -5
- package/src/create-quiver/lib/demo.js +189 -14
- package/src/create-quiver/lib/doctor.js +154 -0
- package/src/create-quiver/lib/git.js +40 -1
- package/src/create-quiver/lib/handoff.js +123 -12
- package/src/create-quiver/lib/init-docs.js +35 -13
- package/src/create-quiver/lib/init-layout.js +9 -0
- package/src/create-quiver/lib/json.js +53 -3
- package/src/create-quiver/lib/lifecycle.js +52 -3
- package/src/create-quiver/lib/locks.js +134 -0
- package/src/create-quiver/lib/package-safety.js +7 -0
- package/src/create-quiver/lib/paths.js +74 -0
- package/src/create-quiver/lib/project-scan.js +74 -0
- package/src/create-quiver/lib/project-state-resolver.js +236 -0
- package/src/create-quiver/lib/readiness.js +66 -10
- package/src/create-quiver/lib/scope.js +52 -8
- package/src/create-quiver/lib/slice-graph.js +138 -38
- package/src/create-quiver/lib/slice.js +14 -5
- package/src/create-quiver/lib/spec-worktrees.js +129 -32
- package/src/create-quiver/lib/statuses.js +115 -0
|
@@ -11,38 +11,61 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
11
11
|
|---------|---------|----|-------|---------|
|
|
12
12
|
| `npx create-quiver init --name "<project>"` | Creates the default AI-first Quiver contract for a project | macOS, Linux, Windows | current | `npx create-quiver init --name "{{PROJECT_NAME}}"` |
|
|
13
13
|
| `npx create-quiver --name "<project>"` | Compatibility alias for the recommended init flow | macOS, Linux, Windows | current | `npx create-quiver --name "{{PROJECT_NAME}}"` |
|
|
14
|
-
| `npx create-quiver
|
|
15
|
-
| `quiver
|
|
14
|
+
| `npx create-quiver --version` | Prints the installed CLI version | macOS, Linux, Windows | current | `npx create-quiver --version` |
|
|
15
|
+
| `npx create-quiver --help` | Lists all public commands with descriptions, key options, and recommended examples | macOS, Linux, Windows | current | `npx create-quiver --help` |
|
|
16
|
+
| `npx create-quiver help` | Readable alias for the complete CLI help | macOS, Linux, Windows | current | `npx create-quiver help` |
|
|
17
|
+
| `quiver --help` | Shows the same help when Quiver is installed locally as a project dependency | macOS, Linux, Windows | current | `quiver --help` |
|
|
18
|
+
| `npx create-quiver flow` | Shows the read-only guided flow entrypoint, context source/freshness, package-manager-aware script guidance, and next safe command | macOS, Linux, Windows | v0.11 | `npx create-quiver flow` |
|
|
19
|
+
| `npx create-quiver analyze --dry-run` | Previews scan, project-map, and AI context writes without creating files | macOS, Linux, Windows | v0.13 | `npx create-quiver analyze --dry-run` |
|
|
20
|
+
| `quiver:analyze` | Writes raw analyzer data to `.quiver/scans/PROJECT_SCAN.json`, the visible project map to `docs/PROJECT_MAP.md`, and refreshed AI context | macOS, Linux, Windows | v0.8 | `npm run quiver:analyze` |
|
|
16
21
|
| `quiver:flow` | Runs the guided flow entrypoint through the generated npm script | macOS, Linux, Windows | v0.11 | `npm run quiver:flow` |
|
|
17
22
|
| `quiver:prepare` | Runs guided setup diagnostics and context preparation | macOS, Linux, Windows | v0.10 | `npm run quiver:prepare -- --dry-run --provider codex` |
|
|
18
23
|
| `quiver:doctor` | Validates the Quiver contract and reports layout or migration guidance | macOS, Linux, Windows | v0.8 | `npm run quiver:doctor` |
|
|
19
24
|
| `quiver:doctor -- --fix --dry-run` | Previews safe non-destructive repairs without writing files | macOS, Linux, Windows | v0.11 | `npm run quiver:doctor -- --fix --dry-run` |
|
|
20
25
|
| `quiver:doctor -- --fix` | Applies safe idempotent repairs after review | macOS, Linux, Windows | v0.11 | `npm run quiver:doctor -- --fix` |
|
|
21
26
|
| `quiver:evidence -- run -- <command>` | Captures command validation evidence with exit code, duration, redacted/truncated output, and a local Markdown record | macOS, Linux, Windows | v0.11 | `npm run quiver:evidence -- run -- npm test` |
|
|
27
|
+
| `npx create-quiver ai run create --input <requirements.md>` | Creates a persistent AI lifecycle run under `.quiver/runs/` | macOS, Linux, Windows | v0.12 | `npx create-quiver ai run create --input requirements.md` |
|
|
28
|
+
| `npx create-quiver ai status` | Shows the current AI lifecycle phase and next safe command | macOS, Linux, Windows | v0.12 | `npx create-quiver ai status` |
|
|
29
|
+
| `npx create-quiver ai resume` | Resumes guidance from the last valid AI lifecycle phase | macOS, Linux, Windows | v0.12 | `npx create-quiver ai resume` |
|
|
30
|
+
| `npx create-quiver ai inspect` | Shows actionable lifecycle state for specs, slices, runs, agents, layout, and next commands | macOS, Linux, Windows | v0.13 | `npx create-quiver ai inspect` |
|
|
31
|
+
| `npx create-quiver ai export --format json` | Emits machine-readable specs, slices, runs, agents, dependencies, blockers, and migration state | macOS, Linux, Windows | v0.13 | `npx create-quiver ai export --format json` |
|
|
32
|
+
| `npx create-quiver ai export --format markdown` | Emits readable Markdown lifecycle state for PRs or docs | macOS, Linux, Windows | v0.13 | `npx create-quiver ai export --format markdown` |
|
|
33
|
+
| `npx create-quiver ai specs list` | Lists specs with state, progress, slice counts, and paths | macOS, Linux, Windows | v0.13 | `npx create-quiver ai specs list` |
|
|
34
|
+
| `npx create-quiver ai slices list` | Lists slices with state, progress, dependencies, and blockers | macOS, Linux, Windows | v0.13 | `npx create-quiver ai slices list --json` |
|
|
35
|
+
| `npx create-quiver ai trace report` | Reports AI runs, execution waves, and migration guidance | macOS, Linux, Windows | v0.13 | `npx create-quiver ai trace report` |
|
|
22
36
|
| `npx create-quiver demo create spec-viewer --dry-run` | Previews the optional Quiver Spec Viewer demo scaffold without writing files | macOS, Linux, Windows | v0.11 | `npx create-quiver demo create spec-viewer --dry-run` |
|
|
23
|
-
| `npx create-quiver demo create spec-viewer --dir <target>` | Creates a small static demo app with example specs, slices,
|
|
24
|
-
| `quiver:plan` | Sequential orchestration planning command | macOS, Linux, Windows | v0.8 |
|
|
25
|
-
| `quiver:graph` | Parallel-level orchestration tree command | macOS, Linux, Windows | v0.8 |
|
|
26
|
-
| `quiver:next` | Ready-slice suggestion command | macOS, Linux, Windows | v0.8 |
|
|
37
|
+
| `npx create-quiver demo create spec-viewer --dir <target>` | Creates a small static demo app with Quiver metadata, example specs, slices, validation scripts, and port fallback | macOS, Linux, Windows | v0.12.1 | `npx create-quiver demo create spec-viewer --dir ./quiver-spec-viewer` |
|
|
38
|
+
| `quiver:plan` | Sequential orchestration planning command | macOS, Linux, Windows | v0.8 | `npm run quiver:plan -- --spec <spec>` |
|
|
39
|
+
| `quiver:graph` | Parallel-level orchestration tree command | macOS, Linux, Windows | v0.8 | `npm run quiver:graph -- --format mermaid --spec <spec>` |
|
|
40
|
+
| `quiver:next` | Ready-slice suggestion command | macOS, Linux, Windows | v0.8 | `npm run quiver:next -- --all-ready` |
|
|
27
41
|
| `quiver:plan -- --include-completed` | Shows completed slices for audit/demo history | macOS, Linux, Windows | v0.11 | `npm run quiver:plan -- --include-completed --spec <spec>` |
|
|
28
42
|
| `quiver:graph -- --include-completed` | Includes completed slices in the dependency graph history view | macOS, Linux, Windows | v0.11 | `npm run quiver:graph -- --include-completed --spec <spec>` |
|
|
29
43
|
| `quiver:next -- --include-completed` | Keeps actionable next-slice output and appends completed history | macOS, Linux, Windows | v0.11 | `npm run quiver:next -- --include-completed --spec <spec>` |
|
|
30
|
-
| `quiver:ai:agent` |
|
|
44
|
+
| `quiver:ai:agent -- set <role> ... --dry-run` | Previews planner/executor/reviewer/doctor provider profile writes without creating `.quiver/agents/profiles.json` | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:agent -- set planner --provider codex --model "planner-model" --dry-run` |
|
|
45
|
+
| `quiver:ai:agent` | Stores reusable planner/executor/reviewer/doctor provider profiles without secrets | macOS, Linux, Windows | v0.11 | `npm run quiver:ai:agent -- set planner --provider codex --model "planner-model"` |
|
|
46
|
+
| `quiver:ai:inspect` | Shows actionable lifecycle state through the generated npm script | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:inspect` |
|
|
47
|
+
| `quiver:ai:export` | Exports lifecycle state as JSON or Markdown through the generated npm script | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:export -- --format json` |
|
|
48
|
+
| `quiver:ai:specs` | Lists specs through the generated npm script | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:specs` |
|
|
49
|
+
| `quiver:ai:slices` | Lists slices through the generated npm script | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:slices -- --json` |
|
|
50
|
+
| `quiver:ai:trace` | Prints a trace report through the generated npm script | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:trace` |
|
|
31
51
|
| `quiver:ai:onboard` | Runs AI onboarding prompt through a supported local provider CLI | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:onboard -- --dry-run` |
|
|
32
|
-
| `quiver:ai:prepare-context` | Prepares docs-only AI context drafts
|
|
52
|
+
| `quiver:ai:prepare-context` | Prepares docs-only AI context drafts with diff preview, assumptions, risks, contradictions, and snapshots before writes | macOS, Linux, Windows | v0.11 | `npm run quiver:ai:prepare-context -- --dry-run` |
|
|
33
53
|
| `quiver:ai:plan` | Runs phase-gated AI planning for acceptance criteria, technical plan, or spec generation | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:plan -- --phase acceptance --input requirements.md --dry-run` |
|
|
54
|
+
| `quiver:ai:revise` | Creates a new draft version from human feedback without approving or advancing the planner phase | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:revise -- --phase acceptance --input feedback.md --dry-run` |
|
|
34
55
|
| `quiver:ai:review-plan` | Reviews the technical-plan draft for production readiness before approval and spec generation | macOS, Linux, Windows | v0.11 | `npm run quiver:ai:review-plan -- --dry-run` |
|
|
35
|
-
| `quiver:ai:approve` |
|
|
56
|
+
| `quiver:ai:approve` | Approves a concrete saved draft version for the next planner phase | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:approve -- --phase acceptance --version 1` |
|
|
36
57
|
| `quiver:ai:prompt-slice` | Prints a minimal executor prompt for manual slice assignment without calling a provider | macOS, Linux, Windows | v0.11 | `npm run quiver:ai:prompt-slice -- --slice specs/<spec>/slices/<slice>/slice.json --dry-run` |
|
|
37
|
-
| `quiver:ai:execute-slice` | Runs
|
|
58
|
+
| `quiver:ai:execute-slice` | Runs one executor against a slice handoff with branch/worktree checks, scope checks, redacted logs, closure/evidence updates, and optional commit | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:execute-slice -- --slice specs/<spec>/slices/<slice>/slice.json --dry-run --commit` |
|
|
38
59
|
| `quiver:ai:execute-plan` | Prints or executes dependency-safe waves of slices, with manual prompts or delegated worktrees | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:execute-plan -- --dry-run --commit --mode delegated` |
|
|
39
60
|
| `quiver:ai:doctor` | Runs GitHub PR preflight checks without opening a PR | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:doctor -- --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work` |
|
|
40
61
|
| `quiver:ai:pr` | Validates `gh`, reads `pr.md`, prints a PR plan, and creates a PR only with `--create` | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:pr -- --dry-run --input specs/<spec>/pr.md --ssh-host-alias github-work --identity-file ~/.ssh/github-work` |
|
|
41
62
|
| `quiver:spec:create` | Creates the real spec tree from the reviewed approved technical plan | macOS, Linux, Windows | v0.11 | `npm run quiver:spec:create -- --dry-run` |
|
|
42
63
|
| `quiver:spec:start` | Creates or reuses the dedicated worktree for one spec | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:start -- specs/<spec>` |
|
|
43
64
|
| `quiver:spec:status` | Shows spec worktree, branch, `slice-00`, and pending slices | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:status -- specs/<spec>` |
|
|
65
|
+
| `quiver:spec:validate` | Validates spec docs, slices, briefs, evidence, status, dependencies, and safe paths | macOS, Linux, Windows | v0.13 | `npm run quiver:spec:validate -- specs/<spec>` |
|
|
44
66
|
| `quiver:spec:close` | Closes a merged clean spec worktree and pulls the main checkout | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:close -- specs/<spec> --dry-run` |
|
|
45
67
|
| `quiver:check-slice -- --local <slice.json>` | Runs local structural slice validation without remote/base checks | macOS, Linux, Windows | v0.11 | `npm run quiver:check-slice -- --local specs/<spec>/slices/<slice>/slice.json` |
|
|
68
|
+
| `quiver:check-handoff -- <handoff-or-brief.md>` | Validates legacy `HANDOFF.md` files and per-slice `EXECUTION_BRIEF.md` / `CLOSURE_BRIEF.md` files | macOS, Linux, Windows | v0.12.1 | `npm run quiver:check-handoff -- specs/<spec>/slices/<slice>/EXECUTION_BRIEF.md` |
|
|
46
69
|
|
|
47
70
|
## CLI Flags
|
|
48
71
|
|
|
@@ -58,19 +81,21 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
58
81
|
| `--max-output <n>` | `evidence run` | Limit captured stdout and stderr characters per section |
|
|
59
82
|
| `--dir <target>` | `demo create spec-viewer` | Select the demo target directory; default is `./quiver-spec-viewer` |
|
|
60
83
|
| `--json` | `plan`, `graph`, `next` | Emit machine-readable JSON |
|
|
61
|
-
| `--format <tree\|mermaid\|dot>` | `graph` | Output format |
|
|
62
84
|
| `--all-ready` | `next` | List all ready slices instead of just the next one |
|
|
63
85
|
| `--only-ready` | `plan` | Show only slices with no pending dependencies |
|
|
64
86
|
| `--include-completed` | `plan`, `graph`, `next` | Include completed slices for audit/demo history without changing default pending-only behavior |
|
|
65
87
|
| `--local` | `check-slice` | Run structural validation without remote/base checks; use normal mode before PR readiness |
|
|
66
88
|
| `--spec <slug>` | `plan`, `graph`, `spec create` | Restrict output to one spec or override the generated spec slug |
|
|
67
|
-
| `--
|
|
89
|
+
| `--format <tree\|mermaid\|dot\|json\|markdown>` | `graph`, `ai export` | Select graph or lifecycle export output format |
|
|
90
|
+
| `--provider <codex\|claude\|gemini>` | `ai onboard`, `ai plan`, `ai revise`, `ai review-plan`, `ai execute-slice`, `ai execute-plan` | Select the local AI CLI adapter |
|
|
68
91
|
| `--model <label>` | `ai agent set` | Store a free-form model label in an agent profile; Quiver does not verify model availability |
|
|
69
92
|
| `--label <label>` | `ai agent set` | Store a display label for the profile |
|
|
70
|
-
| `--
|
|
71
|
-
| `--
|
|
72
|
-
| `--
|
|
73
|
-
| `--
|
|
93
|
+
| `--dry-run` | `ai agent set` | Preview profile writes without creating or updating `.quiver/agents/profiles.json` |
|
|
94
|
+
| `--print-prompt` | `ai onboard`, `ai plan`, `ai revise`, `ai review-plan` | Print the exact provider prompt and exit without executing provider CLIs or requiring provider auth |
|
|
95
|
+
| `--role <planner\|executor\|reviewer\|doctor>` | `ai onboard`, `ai plan`, `ai revise`, `ai execute-slice`, `ai execute-plan` | Select an AI role; execution requires executor |
|
|
96
|
+
| `--context <full\|planning\|slice\|minimal>` | `ai onboard`, `ai plan`, `ai revise`, `ai review-plan`, `ai execute-slice`, `ai execute-plan` | Select a token-budgeted context pack |
|
|
97
|
+
| `--phase <acceptance\|technical-plan\|spec>` | `ai plan`, `ai revise`, `ai approve` | Select the gated planner phase; `ai revise` and `ai approve` do not support `spec` |
|
|
98
|
+
| `--input <file>` | `ai plan`, `ai revise`, `ai review-plan`, `ai pr`, `spec create` | Read requirements, human feedback, plans, review targets, or select the generated PR body |
|
|
74
99
|
| `--version <n>` | `ai approve` | Approve a specific saved draft version |
|
|
75
100
|
| `--slice <slice.json>` | `ai prompt-slice`, `ai execute-slice` | Select the slice handoff to print or execute |
|
|
76
101
|
| `--commit` | `ai execute-slice`, `ai execute-plan` | Commit validated slice changes after provider, scope, and tests pass |
|
|
@@ -91,18 +116,26 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
91
116
|
- `quiver:graph --format mermaid` is the PR-friendly Mermaid export; `--format dot` is for Graphviz/DOT consumers.
|
|
92
117
|
- `quiver:next` prints the next ready slice and can auto-start it behind a confirmation prompt.
|
|
93
118
|
- `check-slice` validates `depends_on` targets and requires `parallel_safe_reason` when `parallel_safe` is `never`.
|
|
94
|
-
- `
|
|
95
|
-
- `quiver:ai:
|
|
119
|
+
- `check-handoff` validates both exceptional `HANDOFF.md` transfers and current slice-local `EXECUTION_BRIEF.md` / `CLOSURE_BRIEF.md` contracts.
|
|
120
|
+
- `quiver:ai:onboard`, `quiver:ai:plan`, `quiver:ai:revise`, `quiver:ai:review-plan`, and `quiver:ai:execute-slice` support `codex`, `claude`, and `gemini` through local CLIs. Use `--dry-run` first to inspect the invocation without requiring provider auth, or `--print-prompt` to print the exact planner/reviewer prompt without executing a provider.
|
|
121
|
+
- `quiver:ai:prepare-context -- --dry-run` previews docs-only context drafts, diff snippets, assumptions, risks, contradictions, and omitted paths. Write mode stores snapshots under `.quiver/runs/<run-id>/snapshots/` and preserves human-authored content by appending or refreshing a Quiver-managed block.
|
|
122
|
+
- `quiver:flow` reports the detected package manager and the matching generated project script, for example `npm run quiver:flow`, `pnpm run quiver:flow`, `yarn run quiver:flow`, or `bun run quiver:flow`.
|
|
123
|
+
- `quiver:ai:agent -- set ... --dry-run` previews provider/model profile changes without writing `.quiver/agents/profiles.json`.
|
|
96
124
|
- `quiver:ai:agent` stores provider/model labels under `.quiver/agents/profiles.json`; credentials stay in the provider CLI or OS credential store.
|
|
125
|
+
- `quiver:ai:inspect`, `quiver:ai:specs`, `quiver:ai:slices`, and `quiver:ai:trace` are read-only inspection surfaces for humans and agents.
|
|
126
|
+
- `quiver:ai:export -- --format json` is the dashboard/agent-friendly state contract; `--format markdown` is the PR/docs-friendly version.
|
|
97
127
|
- Planner drafts are versioned under `.quiver/approvals/<phase>/drafts/`; use `quiver:ai:review-plan -- --dry-run` before approving a technical-plan draft, then `quiver:ai:approve -- --phase technical-plan --version 1` to approve the reviewed version.
|
|
98
128
|
- `quiver:ai:prompt-slice -- --dry-run` prints a paste-ready manual executor prompt and does not call a provider.
|
|
99
129
|
- `quiver:evidence -- run -- <command>` preserves the wrapped command exit code. Redaction is best effort; avoid commands that intentionally print secrets.
|
|
100
130
|
- `demo create spec-viewer` is optional and static; it must stay outside default `init`.
|
|
101
|
-
- `quiver:
|
|
131
|
+
- `quiver:spec:start -- --dry-run specs/<spec>` previews the spec worktree path and branch without creating a worktree.
|
|
132
|
+
- `quiver:ai:execute-slice -- --commit` creates exactly one commit only after provider, branch/worktree, scope, and validation commands pass. Commit mode refuses pre-existing dirty files even if `--allow-dirty` is set. Successful execution updates `CLOSURE_BRIEF.md`, `EVIDENCE_REPORT.md`, `COMMAND_LOG.md`, `STATUS.md`, and `slice.json`; likely secrets in captured stdout/stderr are redacted.
|
|
102
133
|
- `quiver:ai:execute-plan -- --dry-run --commit --mode manual` prints paste-ready executor prompt commands without provider execution.
|
|
103
134
|
- `quiver:ai:execute-plan -- --dry-run --commit --mode delegated` prints safe delegated waves and falls back to sequential mode when file scope is missing or overlapping.
|
|
104
135
|
- `quiver:ai:execute-plan -- --execute --commit --mode delegated` uses temporary worktrees for parallel-ready waves and integrates one validated commit per slice.
|
|
105
|
-
- `quiver:ai:pr -- --dry-run` validates GitHub CLI, auth, Git remote, current branch/worktree, `docs/GITFLOW_PR_GUIDE.md`, SSH host alias, identity file,
|
|
136
|
+
- `quiver:ai:pr -- --dry-run` validates GitHub CLI, auth, Git remote, current branch/worktree, `docs/GITFLOW_PR_GUIDE.md`, SSH host alias, optional identity file, `pr.md`, and open slice status without creating a PR. Add `--create` only after reviewing the plan.
|
|
137
|
+
- GitHub auth and SSH diagnostics should identify likely account, scopes, and alias issues. When paths contain spaces, Quiver prints copy-safe examples for macOS/Linux, Windows PowerShell, Git Bash, and WSL.
|
|
106
138
|
- `quiver:spec:close` refuses dirty or unmerged spec worktrees unless discard behavior is explicitly requested.
|
|
139
|
+
- `npm run smoke:doctor-fixtures` validates the required fixture matrix for doctor, validation, and actionable error coverage in the Quiver source repo.
|
|
107
140
|
- After `init` or `migrate`, Quiver auto-installs itself as a dev dependency. Use `--skip-install` to suppress.
|
|
108
141
|
- Cross-platform authoring rules live in `docs/SUPPORT_MATRIX.md`.
|
package/docs/STATUS.md.template
CHANGED
|
@@ -10,9 +10,13 @@ This page tracks progress, blockers, and the current slice. Stack and command de
|
|
|
10
10
|
|
|
11
11
|
## Slice Summary
|
|
12
12
|
|
|
13
|
+
No implementation slices exist yet. Create specs and slices only after acceptance criteria are approved and the technical plan is reviewed and approved.
|
|
14
|
+
|
|
15
|
+
When slices exist, track them here with:
|
|
16
|
+
|
|
13
17
|
| Slice | Title | Status | Progress | Spec |
|
|
14
18
|
|-------|-------|--------|----------|------|
|
|
15
|
-
|
|
|
19
|
+
| slice-00 | Documentary foundation | Pending | 0% | `specs/<spec>/slices/slice-00-.../slice.json` |
|
|
16
20
|
|
|
17
21
|
## Blockers
|
|
18
22
|
|
|
@@ -48,21 +48,23 @@ Use maps, metadata, diffs, and summaries first. Open full files only when the sm
|
|
|
48
48
|
|
|
49
49
|
## Execution
|
|
50
50
|
|
|
51
|
-
1. Create or reuse the spec worktree with `npx create-quiver spec start specs/<spec-slug>` or `npm run quiver:spec:start -- specs/<spec-slug>`.
|
|
52
|
-
2. Inspect
|
|
53
|
-
3.
|
|
54
|
-
4.
|
|
51
|
+
1. Create or reuse the spec worktree with `npx create-quiver spec start specs/<spec-slug>` or `npm run quiver:spec:start -- specs/<spec-slug>`. Use `--dry-run` first when you want to inspect the planned branch/path without changing Git state.
|
|
52
|
+
2. Inspect lifecycle state with `npx create-quiver ai inspect`, or export it with `npx create-quiver ai export --format json` for dashboards/agents and `--format markdown` for PRs/docs.
|
|
53
|
+
3. Inspect manual prompts with `npx create-quiver ai execute-plan --dry-run --commit --mode manual` or delegated waves with `npm run quiver:ai:execute-plan -- --dry-run --commit --mode delegated`.
|
|
54
|
+
4. Print a minimal manual executor prompt with `npx create-quiver ai prompt-slice --slice <slice.json> --dry-run` when assigning the slice to another agent.
|
|
55
|
+
5. Bootstrap a single slice with `npx create-quiver start-slice <slice.json>` or `npm run quiver:start-slice -- <slice.json>` when manual execution is preferred.
|
|
55
56
|
- The bootstrap step should work with canonical paths and a local base branch when `origin` is absent.
|
|
56
57
|
- Draft slices require `--allow-draft`; otherwise `npx create-quiver start-slice` exits before execution.
|
|
57
58
|
- Legacy Bash wrappers remain available for compatibility, but generated projects should prefer the Node CLI and `quiver:*` npm scripts.
|
|
58
59
|
- `start-slice` generates `docs/ai/ACTIVE_SLICE.md` and `WORKTREE_CONTEXT.md`; use the active slice brief as the source of truth for execution.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
8.
|
|
63
|
-
9.
|
|
64
|
-
10.
|
|
65
|
-
11.
|
|
60
|
+
6. Implement only what the slice declares.
|
|
61
|
+
7. Make one commit for that slice, or let `ai execute-slice --commit` / `ai execute-plan --execute --commit --mode delegated` create it after provider, branch/worktree, scope, and validation pass.
|
|
62
|
+
- `ai execute-slice` updates `CLOSURE_BRIEF.md`, `EVIDENCE_REPORT.md`, `COMMAND_LOG.md`, `STATUS.md`, and `slice.json` only after the provider changes in-scope files and validation passes.
|
|
63
|
+
8. Validate with `npx create-quiver check-slice <slice.json>` or `npm run quiver:check-slice -- <slice.json>`.
|
|
64
|
+
9. Write evidence. Prefer `npx create-quiver evidence run -- <command>` when you need a compact local Markdown record of validation output.
|
|
65
|
+
10. Repeat for the next slice until the spec is complete.
|
|
66
|
+
11. Open one PR for the spec. Use `npx create-quiver ai pr --dry-run --input specs/<spec-slug>/pr.md --ssh-host-alias <alias> ...` first, then add `--create` only after review. Quiver blocks PR creation while slices in that spec remain open.
|
|
67
|
+
12. After the PR is merged and the spec worktree is clean, close it with `npx create-quiver spec close specs/<spec-slug>`.
|
|
66
68
|
|
|
67
69
|
## Support Contract
|
|
68
70
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-quiver",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Quiver CLI for scaffolding projects from the packaged template",
|
|
6
6
|
"license": "MIT",
|
|
@@ -17,12 +17,17 @@
|
|
|
17
17
|
"quiver:analyze": "npx create-quiver analyze",
|
|
18
18
|
"quiver:flow": "npx create-quiver flow",
|
|
19
19
|
"quiver:prepare": "npx create-quiver prepare",
|
|
20
|
-
"quiver:plan": "
|
|
21
|
-
"quiver:graph": "
|
|
20
|
+
"quiver:plan": "node bin/create-quiver.js plan",
|
|
21
|
+
"quiver:graph": "node bin/create-quiver.js graph",
|
|
22
22
|
"quiver:next": "npx create-quiver next",
|
|
23
23
|
"quiver:doctor": "npx create-quiver doctor",
|
|
24
24
|
"quiver:evidence": "npx create-quiver evidence",
|
|
25
25
|
"quiver:ai:agent": "npx create-quiver ai agent",
|
|
26
|
+
"quiver:ai:inspect": "npx create-quiver ai inspect",
|
|
27
|
+
"quiver:ai:export": "npx create-quiver ai export",
|
|
28
|
+
"quiver:ai:specs": "npx create-quiver ai specs list",
|
|
29
|
+
"quiver:ai:slices": "npx create-quiver ai slices list",
|
|
30
|
+
"quiver:ai:trace": "npx create-quiver ai trace report",
|
|
26
31
|
"quiver:ai:onboard": "npx create-quiver ai onboard",
|
|
27
32
|
"quiver:ai:prepare-context": "npx create-quiver ai prepare-context",
|
|
28
33
|
"quiver:ai:plan": "npx create-quiver ai plan",
|
|
@@ -36,9 +41,11 @@
|
|
|
36
41
|
"quiver:spec:create": "npx create-quiver spec create",
|
|
37
42
|
"quiver:spec:start": "npx create-quiver spec start",
|
|
38
43
|
"quiver:spec:status": "npx create-quiver spec status",
|
|
44
|
+
"quiver:spec:validate": "npx create-quiver spec validate",
|
|
39
45
|
"quiver:spec:close": "npx create-quiver spec close",
|
|
40
46
|
"package:quiver": "bash scripts/package-quiver.sh",
|
|
41
47
|
"smoke:create-quiver": "bash scripts/ci/smoke-create-quiver.sh",
|
|
48
|
+
"smoke:doctor-fixtures": "node scripts/ci/smoke-doctor-fixtures.js",
|
|
42
49
|
"smoke:tiered-pack": "bash scripts/ci/smoke-tiered-pack.sh",
|
|
43
50
|
"smoke:guided-workflow": "bash scripts/ci/smoke-guided-workflow.sh",
|
|
44
51
|
"release:quiver": "bash scripts/release-quiver.sh"
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
# Evidence Report - Quiver v25 AI-First Lifecycle Orchestrator
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
This report starts with documentation-only evidence for `slice-00`. Product implementation evidence must be appended by each later slice.
|
|
6
|
+
|
|
7
|
+
## slice-00 - Spec foundation
|
|
8
|
+
|
|
9
|
+
### Completed
|
|
10
|
+
|
|
11
|
+
- Created v25 spec folder.
|
|
12
|
+
- Created `SPEC.md`, `STATUS.md`, `EXECUTION_PLAN.md`, `EVIDENCE_REPORT.md`, and `pr.md`.
|
|
13
|
+
- Created every slice folder with `slice.json`, `EXECUTION_BRIEF.md`, and `CLOSURE_BRIEF.md`.
|
|
14
|
+
- Updated source-of-truth planning docs to mention v25 as planned without claiming package publication.
|
|
15
|
+
|
|
16
|
+
### Validation
|
|
17
|
+
|
|
18
|
+
- `git diff --check` passed.
|
|
19
|
+
- `find specs/quiver-v25-ai-first-lifecycle-orchestrator -name "slice.json" -print -exec node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))" {} \;` passed for 12 slice files.
|
|
20
|
+
- `find specs/quiver-v25-ai-first-lifecycle-orchestrator/slices -maxdepth 2 -type f | wc -l` returned 36 slice files.
|
|
21
|
+
- `npm run quiver:plan -- --spec quiver-v25-ai-first-lifecycle-orchestrator --include-completed` failed with Node out-of-memory after starting `npx create-quiver plan`. This does not invalidate the documentation package, but it is evidence that scoped planning can still have a scaling or command execution issue in the current CLI and should be considered by `slice-10-validation-errors-fixtures`.
|
|
22
|
+
- `npm view create-quiver version` returned `0.12.0`; release documentation should be synchronized before future docs claim the latest package status.
|
|
23
|
+
|
|
24
|
+
### Risks Observed During Validation
|
|
25
|
+
|
|
26
|
+
- The scoped plan command can consume too much memory on the current repo. Future implementation should include a fixture or regression test that proves `--spec <slug>` does not scan or retain unnecessary data from unrelated specs.
|
|
27
|
+
|
|
28
|
+
## Later Slices
|
|
29
|
+
|
|
30
|
+
Each implementation slice must append:
|
|
31
|
+
|
|
32
|
+
- commands executed;
|
|
33
|
+
- tests or smokes run;
|
|
34
|
+
- files changed;
|
|
35
|
+
- validation result;
|
|
36
|
+
- risks remaining;
|
|
37
|
+
- evidence location.
|
|
38
|
+
|
|
39
|
+
## slice-01 - CLI contract and compatibility
|
|
40
|
+
|
|
41
|
+
### Completed
|
|
42
|
+
|
|
43
|
+
- Added top-level `--version` and `-V` handling before normal argument parsing.
|
|
44
|
+
- Kept `--version <n>` available for `ai approve`.
|
|
45
|
+
- Added focused CLI contract tests.
|
|
46
|
+
- Added command reference docs for version output.
|
|
47
|
+
|
|
48
|
+
### Validation
|
|
49
|
+
|
|
50
|
+
- `node bin/create-quiver.js --version` passed and printed `0.12.0`.
|
|
51
|
+
- `node bin/create-quiver.js -V` passed and printed `0.12.0`.
|
|
52
|
+
- `node --test tests/commands/cli-contract.test.js tests/commands/init-profiles.test.js tests/commands/flow.test.js tests/lib/init-layout.test.js` passed: 36 tests.
|
|
53
|
+
- `git diff --check` passed.
|
|
54
|
+
|
|
55
|
+
### Risks
|
|
56
|
+
|
|
57
|
+
- The local `quiver` binary alias is validated through `package.json` and the shared entrypoint, not by installing the package into a fixture.
|
|
58
|
+
|
|
59
|
+
## slice-02 - Run state, phase gates, and locks
|
|
60
|
+
|
|
61
|
+
### Completed
|
|
62
|
+
|
|
63
|
+
- Added `.quiver/runs/<run-id>/state.json`, `approvals.json`, copied requirement input, and decision log scaffolding.
|
|
64
|
+
- Added `.quiver/locks/` as runtime-only internal state.
|
|
65
|
+
- Added `ai run create`, `ai status`, and `ai resume`.
|
|
66
|
+
- Added lifecycle phase helpers, next-command guidance, approval metadata recording, and run/slice lock helpers.
|
|
67
|
+
- Connected `ai plan` and `ai approve` to lifecycle run phase updates.
|
|
68
|
+
|
|
69
|
+
### Validation
|
|
70
|
+
|
|
71
|
+
- `node --test tests/lib/ai-run-state.test.js tests/commands/ai-run-state.test.js tests/commands/ai-plan.test.js tests/lib/approvals.test.js tests/lib/init-layout.test.js` passed: 25 tests.
|
|
72
|
+
- `node /Users/fabrijk/Documents/Work/Proyectos\ Personales/nika/frameworks/quiver/bin/create-quiver.js ai status` from `/private/tmp` passed and reported no active run without creating files.
|
|
73
|
+
- `node --test tests/**/*.test.js` passed: 264 tests.
|
|
74
|
+
- `git diff --check` passed.
|
|
75
|
+
|
|
76
|
+
### Risks
|
|
77
|
+
|
|
78
|
+
- File locks intentionally require manual inspection/removal when stale; automatic process liveness cleanup is deferred to avoid unsafe cross-platform behavior.
|
|
79
|
+
- Phase guards are available and used by lifecycle status tests, but later slices still need to wire them into spec generation, execution planning, slice execution, and PR creation.
|
|
80
|
+
|
|
81
|
+
## slice-03 - Safe AI onboarding documentation
|
|
82
|
+
|
|
83
|
+
### Completed
|
|
84
|
+
|
|
85
|
+
- Expanded `ai prepare-context` to prepare `INDEX`, `PROJECT_MAP`, `AI_CONTEXT`, `AI_ONBOARDING_PROMPT`, `CONTEXTO`, `WORKFLOW`, `ARCHITECTURE`, `STATUS`, and `DECISIONS` where applicable.
|
|
86
|
+
- Added dry-run write plans with proposed actions, diff snippets, assumptions, risks, contradictions, omitted paths, and uncertainty markers.
|
|
87
|
+
- Added write-mode snapshots under `.quiver/runs/<run-id>/snapshots/` before modifying docs.
|
|
88
|
+
- Preserved human-authored content by appending or refreshing a Quiver-managed context block in existing docs.
|
|
89
|
+
- Added contradiction detection for stale `docs/PROJECT_MAP.md` project name/package manager signals.
|
|
90
|
+
- Wired `ai prepare-context` writes into the AI run lifecycle by advancing to `onboarding-ready`.
|
|
91
|
+
- Updated README, README_FOR_AI, and command docs with the new safe docs behavior.
|
|
92
|
+
|
|
93
|
+
### Validation
|
|
94
|
+
|
|
95
|
+
- `node --test tests/commands/ai-onboard.test.js tests/lib/ai-context-packs.test.js tests/lib/init-docs.test.js tests/commands/analyze.test.js` passed: 25 tests.
|
|
96
|
+
- `node --test tests/**/*.test.js` passed: 272 tests.
|
|
97
|
+
- `node -e "JSON.parse(require('fs').readFileSync('specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/slice.json','utf8')); console.log('slice-03 json ok')"` passed.
|
|
98
|
+
- `git diff --check` passed.
|
|
99
|
+
|
|
100
|
+
### Risks
|
|
101
|
+
|
|
102
|
+
- Diff snippets are compact previews, not full patch files; users should still inspect `git diff` before committing generated docs.
|
|
103
|
+
- Contradiction detection is intentionally conservative and currently focuses on high-signal project identity and package-manager mismatches.
|
|
104
|
+
|
|
105
|
+
## slice-04 - Agent profiles and provider adapters
|
|
106
|
+
|
|
107
|
+
### Completed
|
|
108
|
+
|
|
109
|
+
- Replaced the old `researcher` profile slot with `doctor` to match the v25 agent contract.
|
|
110
|
+
- Added prompt-only output through `--print-prompt` for `ai onboard`, `ai plan`, and `ai review-plan`.
|
|
111
|
+
- Kept prompt-only paths provider-auth-free by rendering prompts without running provider preflight or spawn.
|
|
112
|
+
- Added best-effort redaction of likely secrets in provider stdout, stderr, and serialized error messages.
|
|
113
|
+
- Updated README and command reference docs for doctor profiles and prompt-only mode.
|
|
114
|
+
|
|
115
|
+
### Validation
|
|
116
|
+
|
|
117
|
+
- `node --test tests/lib/agent-profiles.test.js tests/commands/ai-agent.test.js tests/lib/ai-providers.test.js tests/commands/ai-onboard.test.js tests/commands/ai-plan.test.js tests/commands/ai-review-plan.test.js` passed: 40 tests.
|
|
118
|
+
- `node --test tests/**/*.test.js` passed: 270 tests.
|
|
119
|
+
- `git diff --check` passed.
|
|
120
|
+
|
|
121
|
+
### Risks
|
|
122
|
+
|
|
123
|
+
- Redaction is intentionally best-effort and may hide some diagnostic text if provider output contains key-like labels such as `token=` or `password=`.
|
|
124
|
+
- The `doctor` profile is configurable now, but `ai doctor` itself remains a GitHub/readiness preflight and does not invoke a provider in this slice.
|
|
125
|
+
|
|
126
|
+
## slice-05 - Approval gates and planner iterations
|
|
127
|
+
|
|
128
|
+
### Completed
|
|
129
|
+
|
|
130
|
+
- Added `ai revise` as a phase-safe planner revision command for acceptance and technical-plan drafts.
|
|
131
|
+
- Changed `ai approve` so it requires `--version <n>` and approves only the current saved draft version.
|
|
132
|
+
- Blocked direct approval from arbitrary input files; human feedback must create a new draft through `ai revise`.
|
|
133
|
+
- Required a current production-readiness review before approving a technical-plan draft.
|
|
134
|
+
- Kept spec generation blocked until the reviewed technical-plan draft is approved.
|
|
135
|
+
- Updated README, README_FOR_AI, command docs, onboarding templates, generated init docs, flow guidance, package scripts, and CLI help examples.
|
|
136
|
+
- Added tests for versioned approvals, missing/non-current approval failures, acceptance revise, technical-plan revise, stale review blocking, and spec generation gates.
|
|
137
|
+
|
|
138
|
+
### Validation
|
|
139
|
+
|
|
140
|
+
- `node --test tests/commands/ai-plan.test.js tests/commands/ai-review-plan.test.js tests/commands/ai-plan-spec-phase.test.js tests/lib/approvals.test.js tests/commands/flow.test.js tests/lib/init-layout.test.js` passed: 48 tests.
|
|
141
|
+
- `node --test tests/**/*.test.js` passed: 276 tests.
|
|
142
|
+
- `git diff --check` passed.
|
|
143
|
+
- `node -e "const fs=require('fs'); for (const f of process.argv.slice(1)) JSON.parse(fs.readFileSync(f,'utf8')); console.log('slice json ok:', process.argv.length-1);" specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/*/slice.json` passed for 12 slice files.
|
|
144
|
+
|
|
145
|
+
### Risks
|
|
146
|
+
|
|
147
|
+
- `ai revise` now gives the planner the current draft plus feedback; output quality still depends on the selected provider/model.
|
|
148
|
+
- Approval state remains file-based under `.quiver/approvals`; concurrent writes are still governed by later execution/locking hardening.
|
|
149
|
+
|
|
150
|
+
## slice-06 - Spec, slice, handoff, and PR body generation
|
|
151
|
+
|
|
152
|
+
### Completed
|
|
153
|
+
|
|
154
|
+
- Completed the generated slice artifact contract with `expected_read_paths`, `allowed_write_paths`, and `validation_hints`.
|
|
155
|
+
- Added generated execution brief sections for read paths, write paths, and validation hints.
|
|
156
|
+
- Preserved compatibility with existing `files` and `tests` fields while exposing clearer agent-facing fields.
|
|
157
|
+
- Added validation that generated `slice.json` files contain required scope arrays.
|
|
158
|
+
- Added fixture coverage for explicit generated scope fields and default derivation from existing `files`/`tests`.
|
|
159
|
+
|
|
160
|
+
### Validation
|
|
161
|
+
|
|
162
|
+
- `node --test tests/lib/ai-spec-generator.test.js tests/commands/spec-create.test.js tests/commands/ai-plan-spec-phase.test.js` passed: 9 tests.
|
|
163
|
+
- `node --test tests/**/*.test.js` passed: 276 tests.
|
|
164
|
+
- `git diff --check` passed.
|
|
165
|
+
- `node -e "const fs=require('fs'); for (const f of process.argv.slice(1)) JSON.parse(fs.readFileSync(f,'utf8')); console.log('slice json ok:', process.argv.length-1);" specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/*/slice.json` passed for 12 slice files.
|
|
166
|
+
|
|
167
|
+
### Risks
|
|
168
|
+
|
|
169
|
+
- Generated read/write scopes depend on the approved plan quality; later validation slices should keep hardening error messages when planner output is incomplete.
|
|
170
|
+
- Existing executor code still primarily reads `files` for scope checks; generated `allowed_write_paths` is now aligned with `files` but deeper executor support belongs to later slices.
|
|
171
|
+
|
|
172
|
+
## slice-07 - Slice execution planning and parallel safety
|
|
173
|
+
|
|
174
|
+
### Completed
|
|
175
|
+
|
|
176
|
+
- Updated slice graph reads to treat `allowed_write_paths` as the authoritative write scope when present.
|
|
177
|
+
- Preserved compatibility by falling back to existing `files` when `allowed_write_paths` is absent.
|
|
178
|
+
- Added execution plan JSON metadata for `expected_read_paths`, `allowed_write_paths`, and `validation_hints`.
|
|
179
|
+
- Updated human execution plan output to show `Wave <n>` and each slice's `parallel_safe` rationale.
|
|
180
|
+
- Added regression coverage for conflicts detected from `allowed_write_paths` even when `files` is empty.
|
|
181
|
+
- Added CLI JSON coverage for downstream agent/dashboard consumption.
|
|
182
|
+
|
|
183
|
+
### Validation
|
|
184
|
+
|
|
185
|
+
- `node --test tests/lib/slice-graph.test.js tests/lib/ai-execution-plan.test.js tests/commands/ai-execute-plan.test.js tests/commands/plan.test.js tests/commands/graph.test.js tests/commands/next.test.js` passed: 46 tests.
|
|
186
|
+
- `node --test tests/**/*.test.js` passed: 279 tests.
|
|
187
|
+
- `git diff --check` passed.
|
|
188
|
+
- `node -e "const fs=require('fs'); for (const f of process.argv.slice(1)) JSON.parse(fs.readFileSync(f,'utf8')); console.log('slice json ok:', process.argv.length-1);" specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/*/slice.json` passed for 12 slice files.
|
|
189
|
+
|
|
190
|
+
### Risks
|
|
191
|
+
|
|
192
|
+
- If planner output omits both `allowed_write_paths` and `files`, Quiver correctly falls back to sequential execution, but the user still needs to fix the slice contract.
|
|
193
|
+
- Parallel execution still requires later execution slices to enforce scope and commit behavior during actual provider runs.
|
|
194
|
+
|
|
195
|
+
## slice-08 - Controlled slice execution and evidence
|
|
196
|
+
|
|
197
|
+
### Completed
|
|
198
|
+
|
|
199
|
+
- Updated slice metadata resolution so `allowed_write_paths` becomes the authoritative executor write scope while preserving `files` fallback.
|
|
200
|
+
- Added simple glob-aware scope validation for declared write paths such as `src/**` and `tests/**/*.test.js`.
|
|
201
|
+
- Added branch/worktree validation for direct `ai execute-slice` runs and kept `ai execute-plan` delegated worktrees explicitly exempt through internal orchestration.
|
|
202
|
+
- Expanded executor context with expected read paths and validation hints while keeping prompt-only/manual execution minimal.
|
|
203
|
+
- Added automatic closure artifacts after successful execution: `CLOSURE_BRIEF.md`, `EVIDENCE_REPORT.md`, `COMMAND_LOG.md`, `STATUS.md`, and `slice.json`.
|
|
204
|
+
- Added no-op protection so a provider that changes no in-scope files cannot close a slice.
|
|
205
|
+
- Redacted likely secrets from provider output, validation output, command logs, and saved execution evidence.
|
|
206
|
+
- Updated README and generated command/workflow docs for the controlled execution behavior.
|
|
207
|
+
|
|
208
|
+
### Validation
|
|
209
|
+
|
|
210
|
+
- `node --test tests/lib/scope.test.js tests/lib/ai-executor.test.js tests/commands/ai-execute-slice.test.js tests/lib/ai-execution-plan.test.js tests/commands/ai-execute-plan.test.js` passed: 39 tests.
|
|
211
|
+
- `node --test tests/**/*.test.js` passed: 285 tests.
|
|
212
|
+
|
|
213
|
+
### Risks
|
|
214
|
+
|
|
215
|
+
- Scope glob support is intentionally simple and covers the common `*` and `**` cases used by Quiver-generated slices; more advanced glob syntax remains out of scope.
|
|
216
|
+
- Direct `ai execute-slice` now requires the declared slice branch. Orchestrated `ai execute-plan` execution bypasses that specific branch check because it manages temporary worktrees itself.
|
|
217
|
+
|
|
218
|
+
## slice-09 - Git worktree, commit, PR, and close lifecycle
|
|
219
|
+
|
|
220
|
+
### Completed
|
|
221
|
+
|
|
222
|
+
- Added `spec start --dry-run` so users can inspect the spec branch and worktree path before mutating Git state.
|
|
223
|
+
- Hardened `ai execute-slice --commit` so commit mode refuses pre-existing dirty files even when `--allow-dirty` is set.
|
|
224
|
+
- Required `--ssh-host-alias` for GitHub PR preflight and added macOS/Linux/Windows SSH alias guidance.
|
|
225
|
+
- Blocked PR creation from `specs/<slug>/pr.md` while slices in that spec are still open.
|
|
226
|
+
- Preserved PR creation through generated `pr.md` and existing `gh pr create` argument-array execution.
|
|
227
|
+
- Kept `spec close` behavior that refuses dirty/unmerged worktrees, supports dry-run, removes the worktree after merge, and pulls the main checkout when a remote base is available.
|
|
228
|
+
- Updated README, README_FOR_AI, command docs, workflow docs, and CLI help examples for the hardened lifecycle.
|
|
229
|
+
|
|
230
|
+
### Validation
|
|
231
|
+
|
|
232
|
+
- `node --test tests/lib/ai-executor.test.js tests/lib/ai-github.test.js tests/commands/ai-pr.test.js tests/lib/lifecycle.test.js tests/commands/spec-close.test.js tests/commands/ai-execute-plan.test.js` passed: 52 tests.
|
|
233
|
+
- `node --test tests/**/*.test.js` passed: 290 tests.
|
|
234
|
+
- `git diff --check` passed.
|
|
235
|
+
|
|
236
|
+
### Risks
|
|
237
|
+
|
|
238
|
+
- SSH alias validation checks that the alias was provided, not that the remote host accepts the key; users should still run `ssh -T <alias>` when configuring credentials.
|
|
239
|
+
- Open-slice PR blocking applies to `specs/<slug>/pr.md` paths. Non-standard PR body locations are still allowed for advanced/manual flows.
|
|
240
|
+
|
|
241
|
+
## slice-10 - Validation, actionable errors, redaction, and fixtures
|
|
242
|
+
|
|
243
|
+
### Completed
|
|
244
|
+
|
|
245
|
+
- Added a shared actionable error formatter with explicit `Impact`, `Fix`, and `Next command` fields.
|
|
246
|
+
- Applied actionable error formatting to missing agent-profile guidance, missing SSH alias PR preflight, and open-slice PR blocking.
|
|
247
|
+
- Added doctor environment warnings for Node, npm, git, gh, gh auth, shell, write permissions, and paths with spaces.
|
|
248
|
+
- Added `tests/fixtures/validation-errors/matrix.json` as the official fixture matrix for new, existing, old Quiver, monorepo, no git, dirty git, no gh, paths with spaces, docs contradiction, and missing agent profile states.
|
|
249
|
+
- Added `npm run smoke:doctor-fixtures` to enforce the fixture matrix in CI.
|
|
250
|
+
- Updated README, README_FOR_AI, and command docs to mention the new smoke and validation contract.
|
|
251
|
+
- Delegated a bounded fixture-gap scan to a sub-agent and incorporated its high-signal recommendations into the implementation.
|
|
252
|
+
|
|
253
|
+
### Validation
|
|
254
|
+
|
|
255
|
+
- `node --test tests/lib/doctor.test.js tests/lib/ai-github.test.js tests/commands/ai-agent.test.js tests/commands/doctor.test.js` passed: 30 tests.
|
|
256
|
+
- `npm run smoke:doctor-fixtures` passed: 10 fixture states.
|
|
257
|
+
- `node --test tests/**/*.test.js` passed: 294 tests.
|
|
258
|
+
- `npm run smoke:create-quiver` passed.
|
|
259
|
+
- `npm run smoke:guided-workflow` passed.
|
|
260
|
+
- `git diff --check` passed.
|
|
261
|
+
|
|
262
|
+
### Risks
|
|
263
|
+
|
|
264
|
+
- Doctor environment checks are warnings, not hard failures, to avoid blocking offline or partially configured projects.
|
|
265
|
+
- The validation fixture matrix is a contract manifest; individual deep fixtures should continue to grow as new bugs are found.
|
|
266
|
+
|
|
267
|
+
## slice-11 - Export, dashboard-friendly output, and migration
|
|
268
|
+
|
|
269
|
+
### Completed
|
|
270
|
+
|
|
271
|
+
- Added `ai inspect`, `ai export`, `ai specs list`, `ai slices list`, and `ai trace report` surfaces.
|
|
272
|
+
- Added `src/create-quiver/lib/ai/export-state.js` with a versioned lifecycle export shape for specs, slices, runs, agents, dependencies, blockers, progress, migration findings, and dashboard consumers.
|
|
273
|
+
- Added JSON export as the default `ai export` output and Markdown export for PR/docs usage.
|
|
274
|
+
- Added generated npm scripts for `quiver:ai:inspect`, `quiver:ai:export`, `quiver:ai:specs`, `quiver:ai:slices`, and `quiver:ai:trace`.
|
|
275
|
+
- Added `migrate --dry-run` so older Quiver projects can preview planned migration changes without writing files.
|
|
276
|
+
- Hardened `parseJsonWithComments` so JSON strings containing `//`, `/* ... */`, or glob patterns such as `src/**` are preserved.
|
|
277
|
+
- Updated README, README_FOR_AI, command templates, workflow template, onboarding prompt template, and generated README text.
|
|
278
|
+
|
|
279
|
+
### Validation
|
|
280
|
+
|
|
281
|
+
- `node --test tests/lib/json.test.js tests/lib/ai-export-state.test.js tests/commands/ai-export.test.js tests/commands/init-profiles.test.js` passed: 20 tests.
|
|
282
|
+
- `node --test tests/lib/init-layout.test.js tests/lib/json.test.js tests/lib/ai-export-state.test.js tests/commands/ai-export.test.js tests/commands/init-profiles.test.js` passed: 28 tests.
|
|
283
|
+
- `node --test tests/**/*.test.js` passed: 301 tests.
|
|
284
|
+
- `npm run smoke:create-quiver` passed.
|
|
285
|
+
- `npm run smoke:guided-workflow` passed: 128 tests plus guided workflow smoke.
|
|
286
|
+
- `npm run smoke:doctor-fixtures` passed: 10 fixture states.
|
|
287
|
+
- `git diff --check` passed.
|
|
288
|
+
- `node -e "JSON.parse(require('fs').readFileSync('package.json','utf8')); JSON.parse(require('fs').readFileSync('specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/slice.json','utf8'));"` passed.
|
|
289
|
+
|
|
290
|
+
### Risks
|
|
291
|
+
|
|
292
|
+
- The JSON export is intentionally versioned with `schema_version: 1`; dashboards should treat it as a stable-but-young contract and pin expectations.
|
|
293
|
+
- The core package remains UI-free. Any visual dashboard should consume `ai export --format json` externally rather than adding heavy dependencies to core.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Execution Plan - Quiver v25
|
|
2
|
+
|
|
3
|
+
## Wave 0 - Required Foundation
|
|
4
|
+
|
|
5
|
+
1. `slice-00-spec-foundation`
|
|
6
|
+
- Must land first.
|
|
7
|
+
- Publishes the spec, slices, handoffs, execution plan, PR body, and source-of-truth planning references.
|
|
8
|
+
|
|
9
|
+
## Wave 1 - Command and State Foundations
|
|
10
|
+
|
|
11
|
+
Run sequentially:
|
|
12
|
+
|
|
13
|
+
1. `slice-01-cli-contract-compatibility`
|
|
14
|
+
2. `slice-02-run-state-phase-locks`
|
|
15
|
+
|
|
16
|
+
These are foundational and should not run in parallel because later work depends on command names, aliases, phase validation, and persistent state.
|
|
17
|
+
|
|
18
|
+
## Wave 2 - Onboarding and Agent Contracts
|
|
19
|
+
|
|
20
|
+
Can run in parallel after Wave 1 if file scopes do not overlap:
|
|
21
|
+
|
|
22
|
+
1. `slice-03-safe-ai-onboarding-docs`
|
|
23
|
+
2. `slice-04-agent-profiles-adapters`
|
|
24
|
+
|
|
25
|
+
## Wave 3 - Planner Gates and Generation
|
|
26
|
+
|
|
27
|
+
Run sequentially:
|
|
28
|
+
|
|
29
|
+
1. `slice-05-approval-gates`
|
|
30
|
+
2. `slice-06-spec-slice-generator`
|
|
31
|
+
3. `slice-07-slice-execution-planner`
|
|
32
|
+
|
|
33
|
+
These depend on approved phase state and generated artifact contracts.
|
|
34
|
+
|
|
35
|
+
## Wave 4 - Execution Lifecycle
|
|
36
|
+
|
|
37
|
+
Run sequentially:
|
|
38
|
+
|
|
39
|
+
1. `slice-08-controlled-slice-execution`
|
|
40
|
+
2. `slice-09-git-worktree-pr-lifecycle`
|
|
41
|
+
|
|
42
|
+
The Git/PR lifecycle depends on reliable slice closure and evidence.
|
|
43
|
+
|
|
44
|
+
## Wave 5 - Hardening and Outputs
|
|
45
|
+
|
|
46
|
+
Can run in parallel after Wave 4 if write scopes stay separate:
|
|
47
|
+
|
|
48
|
+
1. `slice-10-validation-errors-fixtures`
|
|
49
|
+
2. `slice-11-export-dashboard-migration`
|
|
50
|
+
|
|
51
|
+
## Parallel Safety Notes
|
|
52
|
+
|
|
53
|
+
- Do not run two slices in parallel if both modify CLI routing or shared command utilities.
|
|
54
|
+
- Do not execute slices in parallel if `allowed_write_paths` overlap.
|
|
55
|
+
- `slice-00` must be committed before implementation slices.
|
|
56
|
+
- Prefer one commit per slice.
|
|
57
|
+
- Run focused tests for touched commands during each slice.
|
|
58
|
+
- Run full smoke/package safety only in final hardening unless package behavior changes earlier.
|