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.
Files changed (158) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +65 -25
  3. package/README_FOR_AI.md +36 -29
  4. package/ROADMAP.md +22 -3
  5. package/docs/AI_ONBOARDING_PROMPT.md.template +7 -1
  6. package/docs/COMMANDS.md.template +53 -20
  7. package/docs/STATUS.md.template +5 -1
  8. package/docs/WORKFLOW.md.template +13 -11
  9. package/package.json +10 -3
  10. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/EVIDENCE_REPORT.md +293 -0
  11. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/EXECUTION_PLAN.md +58 -0
  12. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/SPEC.md +242 -0
  13. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/STATUS.md +35 -0
  14. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/pr.md +77 -0
  15. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +34 -0
  16. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
  17. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/slice.json +52 -0
  18. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/CLOSURE_BRIEF.md +36 -0
  19. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/EXECUTION_BRIEF.md +52 -0
  20. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/slice.json +56 -0
  21. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/CLOSURE_BRIEF.md +43 -0
  22. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/EXECUTION_BRIEF.md +54 -0
  23. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/slice.json +52 -0
  24. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/CLOSURE_BRIEF.md +35 -0
  25. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/EXECUTION_BRIEF.md +53 -0
  26. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/slice.json +54 -0
  27. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/CLOSURE_BRIEF.md +34 -0
  28. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/EXECUTION_BRIEF.md +54 -0
  29. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/slice.json +52 -0
  30. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/CLOSURE_BRIEF.md +34 -0
  31. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/EXECUTION_BRIEF.md +54 -0
  32. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/slice.json +53 -0
  33. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/CLOSURE_BRIEF.md +33 -0
  34. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/EXECUTION_BRIEF.md +56 -0
  35. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/slice.json +55 -0
  36. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/CLOSURE_BRIEF.md +33 -0
  37. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/EXECUTION_BRIEF.md +54 -0
  38. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/slice.json +52 -0
  39. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/CLOSURE_BRIEF.md +39 -0
  40. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/EXECUTION_BRIEF.md +56 -0
  41. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/slice.json +53 -0
  42. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/CLOSURE_BRIEF.md +38 -0
  43. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/EXECUTION_BRIEF.md +57 -0
  44. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/slice.json +52 -0
  45. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/CLOSURE_BRIEF.md +39 -0
  46. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/EXECUTION_BRIEF.md +55 -0
  47. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/slice.json +56 -0
  48. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/CLOSURE_BRIEF.md +36 -0
  49. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/EXECUTION_BRIEF.md +54 -0
  50. package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/slice.json +53 -0
  51. package/specs/quiver-v26-0121-smoke-hardening/EVIDENCE_REPORT.md +208 -0
  52. package/specs/quiver-v26-0121-smoke-hardening/EXECUTION_PLAN.md +57 -0
  53. package/specs/quiver-v26-0121-smoke-hardening/SPEC.md +137 -0
  54. package/specs/quiver-v26-0121-smoke-hardening/STATUS.md +32 -0
  55. package/specs/quiver-v26-0121-smoke-hardening/pr.md +96 -0
  56. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/CLOSURE_BRIEF.md +35 -0
  57. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/EXECUTION_BRIEF.md +55 -0
  58. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/slice.json +73 -0
  59. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/CLOSURE_BRIEF.md +38 -0
  60. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/EXECUTION_BRIEF.md +51 -0
  61. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/slice.json +76 -0
  62. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/CLOSURE_BRIEF.md +37 -0
  63. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/EXECUTION_BRIEF.md +52 -0
  64. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/slice.json +75 -0
  65. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/CLOSURE_BRIEF.md +37 -0
  66. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/EXECUTION_BRIEF.md +53 -0
  67. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/slice.json +77 -0
  68. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/CLOSURE_BRIEF.md +35 -0
  69. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/EXECUTION_BRIEF.md +52 -0
  70. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/slice.json +77 -0
  71. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/CLOSURE_BRIEF.md +34 -0
  72. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/EXECUTION_BRIEF.md +54 -0
  73. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/slice.json +84 -0
  74. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/CLOSURE_BRIEF.md +35 -0
  75. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/EXECUTION_BRIEF.md +53 -0
  76. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/slice.json +82 -0
  77. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/CLOSURE_BRIEF.md +35 -0
  78. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/EXECUTION_BRIEF.md +55 -0
  79. package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/slice.json +92 -0
  80. package/specs/quiver-v27-reliability-ai-workflow-hardening/AUDIT_V24_V25_V26.md +67 -0
  81. package/specs/quiver-v27-reliability-ai-workflow-hardening/COMMAND_CONTRACTS.md +125 -0
  82. package/specs/quiver-v27-reliability-ai-workflow-hardening/COVERAGE_MATRIX.md +74 -0
  83. package/specs/quiver-v27-reliability-ai-workflow-hardening/EVIDENCE_REPORT.md +179 -0
  84. package/specs/quiver-v27-reliability-ai-workflow-hardening/EXECUTION_PLAN.md +71 -0
  85. package/specs/quiver-v27-reliability-ai-workflow-hardening/SPEC.md +176 -0
  86. package/specs/quiver-v27-reliability-ai-workflow-hardening/STATUS.md +37 -0
  87. package/specs/quiver-v27-reliability-ai-workflow-hardening/pr.md +132 -0
  88. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-00-docs-audit-coverage-and-contracts/CLOSURE_BRIEF.md +36 -0
  89. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-00-docs-audit-coverage-and-contracts/EXECUTION_BRIEF.md +56 -0
  90. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-00-docs-audit-coverage-and-contracts/slice.json +75 -0
  91. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-01-core-state-resolver-and-canonical-statuses/CLOSURE_BRIEF.md +37 -0
  92. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-01-core-state-resolver-and-canonical-statuses/EXECUTION_BRIEF.md +54 -0
  93. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-01-core-state-resolver-and-canonical-statuses/slice.json +79 -0
  94. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-02-json-export-contract-and-machine-output/CLOSURE_BRIEF.md +34 -0
  95. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-02-json-export-contract-and-machine-output/EXECUTION_BRIEF.md +54 -0
  96. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-02-json-export-contract-and-machine-output/slice.json +75 -0
  97. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-03-approved-plan-to-spec-create/CLOSURE_BRIEF.md +36 -0
  98. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-03-approved-plan-to-spec-create/EXECUTION_BRIEF.md +55 -0
  99. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-03-approved-plan-to-spec-create/slice.json +78 -0
  100. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-04-ai-artifact-storage-redaction-and-token-compaction/CLOSURE_BRIEF.md +31 -0
  101. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-04-ai-artifact-storage-redaction-and-token-compaction/EXECUTION_BRIEF.md +55 -0
  102. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-04-ai-artifact-storage-redaction-and-token-compaction/slice.json +77 -0
  103. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-05-worktree-lifecycle-locks-and-recovery/CLOSURE_BRIEF.md +31 -0
  104. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-05-worktree-lifecycle-locks-and-recovery/EXECUTION_BRIEF.md +55 -0
  105. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-05-worktree-lifecycle-locks-and-recovery/slice.json +84 -0
  106. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-06-validation-gates-and-scope-safety/CLOSURE_BRIEF.md +32 -0
  107. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-06-validation-gates-and-scope-safety/EXECUTION_BRIEF.md +57 -0
  108. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-06-validation-gates-and-scope-safety/slice.json +99 -0
  109. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-07-context-analysis-and-doctor-flow/CLOSURE_BRIEF.md +31 -0
  110. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-07-context-analysis-and-doctor-flow/EXECUTION_BRIEF.md +57 -0
  111. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-07-context-analysis-and-doctor-flow/slice.json +88 -0
  112. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-08-cross-platform-help-auth-and-dx/CLOSURE_BRIEF.md +31 -0
  113. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-08-cross-platform-help-auth-and-dx/EXECUTION_BRIEF.md +56 -0
  114. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-08-cross-platform-help-auth-and-dx/slice.json +85 -0
  115. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-09-fixtures-smoke-docs-and-release-readiness/CLOSURE_BRIEF.md +32 -0
  116. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-09-fixtures-smoke-docs-and-release-readiness/EXECUTION_BRIEF.md +56 -0
  117. package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-09-fixtures-smoke-docs-and-release-readiness/slice.json +91 -0
  118. package/src/create-quiver/commands/ai.js +652 -27
  119. package/src/create-quiver/commands/flow.js +58 -9
  120. package/src/create-quiver/commands/graph.js +11 -9
  121. package/src/create-quiver/commands/plan.js +7 -16
  122. package/src/create-quiver/commands/spec.js +282 -0
  123. package/src/create-quiver/index.js +409 -31
  124. package/src/create-quiver/lib/actionable-error.js +27 -0
  125. package/src/create-quiver/lib/agent-profiles.js +16 -4
  126. package/src/create-quiver/lib/ai/artifacts.js +318 -0
  127. package/src/create-quiver/lib/ai/context-packs.js +4 -0
  128. package/src/create-quiver/lib/ai/execution-plan.js +16 -1
  129. package/src/create-quiver/lib/ai/executor.js +272 -21
  130. package/src/create-quiver/lib/ai/export-state.js +679 -0
  131. package/src/create-quiver/lib/ai/github.js +162 -2
  132. package/src/create-quiver/lib/ai/onboarding-template.js +215 -2
  133. package/src/create-quiver/lib/ai/plan-review.js +7 -2
  134. package/src/create-quiver/lib/ai/providers.js +4 -3
  135. package/src/create-quiver/lib/ai/run-state.js +414 -0
  136. package/src/create-quiver/lib/ai/spec-generator.js +84 -13
  137. package/src/create-quiver/lib/ai/spec-templates.js +150 -21
  138. package/src/create-quiver/lib/analyze.js +2 -2
  139. package/src/create-quiver/lib/approvals.js +36 -5
  140. package/src/create-quiver/lib/demo.js +189 -14
  141. package/src/create-quiver/lib/doctor.js +154 -0
  142. package/src/create-quiver/lib/git.js +40 -1
  143. package/src/create-quiver/lib/handoff.js +123 -12
  144. package/src/create-quiver/lib/init-docs.js +35 -13
  145. package/src/create-quiver/lib/init-layout.js +9 -0
  146. package/src/create-quiver/lib/json.js +53 -3
  147. package/src/create-quiver/lib/lifecycle.js +52 -3
  148. package/src/create-quiver/lib/locks.js +134 -0
  149. package/src/create-quiver/lib/package-safety.js +7 -0
  150. package/src/create-quiver/lib/paths.js +74 -0
  151. package/src/create-quiver/lib/project-scan.js +74 -0
  152. package/src/create-quiver/lib/project-state-resolver.js +236 -0
  153. package/src/create-quiver/lib/readiness.js +66 -10
  154. package/src/create-quiver/lib/scope.js +52 -8
  155. package/src/create-quiver/lib/slice-graph.js +138 -38
  156. package/src/create-quiver/lib/slice.js +14 -5
  157. package/src/create-quiver/lib/spec-worktrees.js +129 -32
  158. package/src/create-quiver/lib/statuses.js +115 -0
@@ -0,0 +1,77 @@
1
+ {
2
+ "slice_id": "slice-03-ai-approval-review-consistency",
3
+ "ticket": "QUIVER-26-03",
4
+ "type": "fix",
5
+ "title": "AI approval and review consistency",
6
+ "objective": "Make review-plan, approval, and spec-create gates consistent and actionable.",
7
+ "description": "Align the AI lifecycle guidance so approved-but-unreviewed technical plans are clearly blocked, reviewed drafts are approvable, and suggested commands exist.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "ai-approval-review-consistency",
12
+ "branch_name": "feature/QUIVER-26-03-ai-approval-review-consistency"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/commands/ai.js",
16
+ "src/create-quiver/commands/spec.js",
17
+ "src/create-quiver/commands/flow.js",
18
+ "src/create-quiver/lib/approvals.js",
19
+ "src/create-quiver/lib/ai/**",
20
+ "tests/**",
21
+ "specs/quiver-v26-0121-smoke-hardening/**"
22
+ ],
23
+ "expected_read_paths": [
24
+ "src/create-quiver/commands/ai.js",
25
+ "src/create-quiver/commands/spec.js",
26
+ "src/create-quiver/lib/approvals.js",
27
+ "src/create-quiver/lib/ai/plan-review.js",
28
+ "tests/commands/ai-review-plan.test.js",
29
+ "tests/commands/ai-plan-spec-phase.test.js"
30
+ ],
31
+ "allowed_write_paths": [
32
+ "src/create-quiver/commands/ai.js",
33
+ "src/create-quiver/commands/spec.js",
34
+ "src/create-quiver/commands/flow.js",
35
+ "src/create-quiver/lib/approvals.js",
36
+ "src/create-quiver/lib/ai/**",
37
+ "tests/**",
38
+ "README.md",
39
+ "docs/COMMANDS.md.template",
40
+ "specs/quiver-v26-0121-smoke-hardening/**"
41
+ ],
42
+ "depends_on": [
43
+ "slice-01-cli-help-version-contract"
44
+ ],
45
+ "parallel_safe": "maybe",
46
+ "parallel_safe_reason": "Can run beside slice-02 only if flow/help files do not overlap.",
47
+ "must": [
48
+ "Remove or avoid any suggestion to approve unsupported phase plan-review.",
49
+ "Make spec-create blockers explain reviewed technical-plan requirements.",
50
+ "Ensure flow suggests commands that exist and can be completed.",
51
+ "Preserve versioned approval gates."
52
+ ],
53
+ "not_included": [
54
+ "Changing provider invocation behavior.",
55
+ "Generating specs from unreviewed plans."
56
+ ],
57
+ "acceptance": [
58
+ "Approved-but-unreviewed technical plans are blocked with an exact next command.",
59
+ "Reviewed technical-plan drafts can be approved through the supported command path.",
60
+ "flow does not suggest unsupported phases.",
61
+ "Tests cover missing review, stale review, reviewed approval, and spec-create gating."
62
+ ],
63
+ "tests": [
64
+ "node --test 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",
65
+ "npm run smoke:guided-workflow",
66
+ "git diff --check"
67
+ ],
68
+ "validation_hints": [
69
+ "Simulate approval from input and versioned approval paths if both still exist.",
70
+ "Verify every printed next command is accepted by the CLI."
71
+ ],
72
+ "estimated_hours": 5,
73
+ "status": "completed",
74
+ "blocked_reason": null,
75
+ "actual_hours": 2,
76
+ "completed_at": "2026-05-23T00:00:00-0300"
77
+ }
@@ -0,0 +1,35 @@
1
+ # CLOSURE BRIEF - slice-04: Local validation and brief contracts
2
+
3
+ ## Summary of Work
4
+
5
+ - Implemented local slice readiness hardening and current brief validation support.
6
+ - `check-slice --local` now falls back to the current directory when Git metadata is unavailable.
7
+ - `depends_on` validation now compares normalized dependency refs, so bare same-spec dependencies resolve consistently.
8
+ - `check-handoff` now validates legacy `HANDOFF.md` files and per-slice `EXECUTION_BRIEF.md` / `CLOSURE_BRIEF.md` files.
9
+
10
+ ## Validation Against Acceptance Criteria
11
+
12
+ - [x] Local validation works without fatal Git assumption.
13
+ - [x] Completed dependency resolves.
14
+ - [x] Brief validation supported.
15
+ - [x] Handoff compatibility preserved.
16
+
17
+ ## Relevant Changes
18
+
19
+ - Updated `src/create-quiver/lib/readiness.js`.
20
+ - Updated `src/create-quiver/lib/slice-graph.js`.
21
+ - Updated `src/create-quiver/lib/handoff.js`.
22
+ - Updated CLI help and generated command documentation.
23
+ - Added `tests/lib/handoff.test.js` and new local validation fixtures.
24
+
25
+ ## Pending
26
+
27
+ - No pending work for this slice.
28
+
29
+ ## Remaining Risks
30
+
31
+ - Final release smoke still needs normal Git/base validation coverage.
32
+
33
+ ## Future Recommendations
34
+
35
+ - Keep generated demo slices in validation fixtures to catch regressions.
@@ -0,0 +1,52 @@
1
+ # EXECUTION BRIEF - slice-04: Local validation and brief contracts
2
+
3
+ ## Context
4
+
5
+ The npm smoke test found that `check-slice --local` still failed before validation in a non-Git folder and then failed on a valid dependency from `slice-01` to a completed `slice-00-docs-foundation`. It also found that `check-handoff` only accepts the older global `HANDOFF.md` shape.
6
+
7
+ ## Objective
8
+
9
+ Make local validation useful for new projects and align validation with current slice-local briefs.
10
+
11
+ ## Scope
12
+
13
+ - `check-slice --local`.
14
+ - Dependency resolution for completed slices.
15
+ - Brief/handoff validators.
16
+ - Fixtures and docs.
17
+
18
+ ## Acceptance Criteria
19
+
20
+ - Local structural validation does not fatally require Git.
21
+ - Completed documentary slices can satisfy dependencies.
22
+ - `EXECUTION_BRIEF.md` and `CLOSURE_BRIEF.md` validation is supported.
23
+ - Existing `HANDOFF.md` validation remains supported.
24
+
25
+ ## Technical Plan Summary
26
+
27
+ Separate structural validation from Git/remote validation in local mode, resolve dependencies from the full slice set, and extend validation contracts for slice briefs.
28
+
29
+ ## Suggested Execution Steps
30
+
31
+ 1. Reproduce no-Git local validation failure.
32
+ 2. Reproduce completed `slice-00` dependency failure.
33
+ 3. Split local structural checks from Git checks.
34
+ 4. Add brief validators or route support.
35
+ 5. Add regression fixtures and tests.
36
+
37
+ ## Restrictions
38
+
39
+ - Do not weaken normal PR/base validation outside `--local`.
40
+ - Do not remove global handoff compatibility.
41
+
42
+ ## Risks
43
+
44
+ - Dependency resolution changes can affect `plan`, `graph`, or `next`; run focused graph tests.
45
+
46
+ ## Completion Checklist
47
+
48
+ - [ ] No-Git fixture covered.
49
+ - [ ] Completed dependency covered.
50
+ - [ ] Brief validation covered.
51
+ - [ ] Handoff compatibility covered.
52
+
@@ -0,0 +1,77 @@
1
+ {
2
+ "slice_id": "slice-04-local-validation-brief-contracts",
3
+ "ticket": "QUIVER-26-04",
4
+ "type": "fix",
5
+ "title": "Local validation and brief contracts",
6
+ "objective": "Make local slice validation and current per-slice brief validation work in new/local projects.",
7
+ "description": "Harden check-slice --local without Git/remote assumptions, resolve dependencies against completed slices, and support EXECUTION_BRIEF.md and CLOSURE_BRIEF.md validation while keeping HANDOFF.md compatible.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "local-validation-brief-contracts",
12
+ "branch_name": "feature/QUIVER-26-04-local-validation-brief-contracts"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/lib/slice.js",
16
+ "src/create-quiver/lib/slice-graph.js",
17
+ "src/create-quiver/lib/handoff.js",
18
+ "src/create-quiver/index.js",
19
+ "tests/**",
20
+ "specs/quiver-v26-0121-smoke-hardening/**"
21
+ ],
22
+ "expected_read_paths": [
23
+ "src/create-quiver/lib/slice.js",
24
+ "src/create-quiver/lib/slice-graph.js",
25
+ "src/create-quiver/lib/handoff.js",
26
+ "tests/commands/check-slice*.test.js",
27
+ "tests/commands/check-handoff*.test.js"
28
+ ],
29
+ "allowed_write_paths": [
30
+ "src/create-quiver/lib/slice.js",
31
+ "src/create-quiver/lib/slice-graph.js",
32
+ "src/create-quiver/lib/handoff.js",
33
+ "src/create-quiver/index.js",
34
+ "tests/**",
35
+ "README.md",
36
+ "docs/COMMANDS.md.template",
37
+ "specs/quiver-v26-0121-smoke-hardening/**"
38
+ ],
39
+ "depends_on": [
40
+ "slice-02-init-doc-links-and-flow-guidance",
41
+ "slice-03-ai-approval-review-consistency"
42
+ ],
43
+ "parallel_safe": "maybe",
44
+ "parallel_safe_reason": "Can run beside demo work only if shared demo validation helpers are not touched.",
45
+ "must": [
46
+ "Allow check-slice --local structural validation without fatal git rev-parse failure.",
47
+ "Resolve dependencies against all known slices, including completed slices.",
48
+ "Support validation for EXECUTION_BRIEF.md and CLOSURE_BRIEF.md.",
49
+ "Keep existing HANDOFF.md validation compatible.",
50
+ "Add fixtures for no-git local project and completed slice-00 dependency."
51
+ ],
52
+ "not_included": [
53
+ "Changing normal non-local remote/base validation semantics.",
54
+ "Removing HANDOFF.md support."
55
+ ],
56
+ "acceptance": [
57
+ "check-slice --local works in a folder without .git or prints only non-fatal Git warnings.",
58
+ "slice-01 depending on completed slice-00-docs-foundation validates locally.",
59
+ "EXECUTION_BRIEF.md and CLOSURE_BRIEF.md can be validated with a supported command path.",
60
+ "HANDOFF.md validation remains supported.",
61
+ "Focused fixtures cover the reported smoke failures."
62
+ ],
63
+ "tests": [
64
+ "node --test tests/commands/check-slice*.test.js tests/commands/check-handoff*.test.js tests/lib/slice-graph.test.js",
65
+ "npm run smoke:guided-workflow",
66
+ "git diff --check"
67
+ ],
68
+ "validation_hints": [
69
+ "Use a temp fixture without .git.",
70
+ "Use the generated spec-viewer demo slice dependency as a regression fixture."
71
+ ],
72
+ "estimated_hours": 5,
73
+ "status": "completed",
74
+ "blocked_reason": null,
75
+ "actual_hours": 3,
76
+ "completed_at": "2026-05-23T00:00:00-0300"
77
+ }
@@ -0,0 +1,34 @@
1
+ # CLOSURE BRIEF - slice-05: Demo scaffold readiness
2
+
3
+ ## Summary of Work
4
+
5
+ - Made `demo create spec-viewer` generate a minimal Quiver-initialized demo scaffold with `.quiver` metadata, AGENTS, docs, scripts, specs, slices, and validation.
6
+ - Added dependency-free server port fallback when the starting port is occupied.
7
+ - Strengthened demo validation and tests for doctor, plan, graph, next, and brief validation.
8
+ - Updated stale smoke expectations that still required `COMMANDS.md` links to optional `docs/examples/*` files.
9
+
10
+ ## Validation Against Acceptance Criteria
11
+
12
+ - [x] Demo generation verified.
13
+ - [x] Demo validation verified.
14
+ - [x] Doctor behavior verified.
15
+ - [x] Port behavior verified.
16
+
17
+ ## Relevant Changes
18
+
19
+ - Updated `src/create-quiver/lib/demo.js`.
20
+ - Updated `tests/commands/demo.test.js`.
21
+ - Updated smoke fixtures in `scripts/ci/`.
22
+ - Updated README and command template docs.
23
+
24
+ ## Pending
25
+
26
+ - No pending work for this slice.
27
+
28
+ ## Remaining Risks
29
+
30
+ - The server fallback is covered by generated contract tests instead of opening real sockets because the sandbox blocks local listening.
31
+
32
+ ## Future Recommendations
33
+
34
+ - Use the demo as a recurring dogfooding fixture after each release.
@@ -0,0 +1,54 @@
1
+ # EXECUTION BRIEF - slice-05: Demo scaffold readiness
2
+
3
+ ## Context
4
+
5
+ The optional `spec-viewer` demo generated and validated, but `doctor` inside the demo reported that it was not initialized by Quiver. The demo server also failed with `EADDRINUSE` when port `4173` was already in use.
6
+
7
+ ## Objective
8
+
9
+ Make the demo scaffold coherent with Quiver diagnostics and easier to run cross-platform.
10
+
11
+ ## Scope
12
+
13
+ - `demo create spec-viewer`.
14
+ - Demo metadata and README.
15
+ - Demo server port behavior.
16
+ - Doctor behavior for demo scaffold.
17
+ - Demo tests/smoke.
18
+
19
+ ## Acceptance Criteria
20
+
21
+ - Demo generation succeeds.
22
+ - Demo validation succeeds.
23
+ - Doctor inside demo is clear and not misleading.
24
+ - Occupied port behavior is actionable or auto-recovers.
25
+ - Generated Quiver demo scripts still work.
26
+
27
+ ## Technical Plan Summary
28
+
29
+ Decide whether the demo should include minimal Quiver metadata or whether doctor should detect demo scaffolds explicitly. Improve server port handling and README instructions.
30
+
31
+ ## Suggested Execution Steps
32
+
33
+ 1. Generate demo in a temp folder.
34
+ 2. Run validate, doctor, plan, graph, next, and start.
35
+ 3. Fix demo metadata/doctor handling.
36
+ 4. Improve port fallback or docs.
37
+ 5. Add tests/smoke.
38
+
39
+ ## Restrictions
40
+
41
+ - Keep demo small and dependency-light.
42
+ - Do not add backend, auth, database, or external assets.
43
+
44
+ ## Risks
45
+
46
+ - If demo includes `.quiver` metadata, it must not imply a full initialized project unless that is true.
47
+
48
+ ## Completion Checklist
49
+
50
+ - [ ] Demo validates.
51
+ - [ ] Doctor output is clear.
52
+ - [ ] Port behavior verified.
53
+ - [ ] Demo scripts verified.
54
+
@@ -0,0 +1,84 @@
1
+ {
2
+ "slice_id": "slice-05-demo-scaffold-readiness",
3
+ "ticket": "QUIVER-26-05",
4
+ "type": "fix",
5
+ "title": "Demo scaffold readiness",
6
+ "objective": "Make the optional spec-viewer demo scaffold diagnosable, validatable, and easy to run when the default port is occupied.",
7
+ "description": "Align demo scaffold metadata with doctor behavior, improve server port handling or cross-platform instructions, and add demo smoke coverage.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "demo-scaffold-readiness",
12
+ "branch_name": "feature/QUIVER-26-05-demo-scaffold-readiness"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/commands/demo.js",
16
+ "src/create-quiver/lib/demo.js",
17
+ "src/create-quiver/lib/doctor.js",
18
+ "scripts/ci/smoke-create-quiver.sh",
19
+ "scripts/ci/smoke-cross-platform.js",
20
+ "scripts/ci/smoke-init-docs.sh",
21
+ "tests/**",
22
+ "specs/quiver-v26-0121-smoke-hardening/**"
23
+ ],
24
+ "expected_read_paths": [
25
+ "src/create-quiver/commands/demo.js",
26
+ "src/create-quiver/lib/demo.js",
27
+ "src/create-quiver/lib/doctor.js",
28
+ "scripts/ci/smoke-create-quiver.sh",
29
+ "scripts/ci/smoke-cross-platform.js",
30
+ "scripts/ci/smoke-init-docs.sh",
31
+ "tests/commands/demo.test.js",
32
+ "README.md"
33
+ ],
34
+ "allowed_write_paths": [
35
+ "src/create-quiver/commands/demo.js",
36
+ "src/create-quiver/lib/demo.js",
37
+ "src/create-quiver/lib/doctor.js",
38
+ "scripts/ci/smoke-create-quiver.sh",
39
+ "scripts/ci/smoke-cross-platform.js",
40
+ "scripts/ci/smoke-init-docs.sh",
41
+ "tests/**",
42
+ "README.md",
43
+ "docs/COMMANDS.md.template",
44
+ "specs/quiver-v26-0121-smoke-hardening/**"
45
+ ],
46
+ "depends_on": [
47
+ "slice-02-init-doc-links-and-flow-guidance",
48
+ "slice-04-local-validation-brief-contracts"
49
+ ],
50
+ "parallel_safe": "maybe",
51
+ "parallel_safe_reason": "Can run beside slice-04 only if doctor/validation helpers do not overlap.",
52
+ "must": [
53
+ "Generated demo must be coherent with doctor or doctor must explain demo scaffold status clearly.",
54
+ "Demo validate command must remain dependency-light.",
55
+ "Port occupied failure must be actionable or fallback automatically.",
56
+ "README instructions must be cross-platform if environment variables are used."
57
+ ],
58
+ "not_included": [
59
+ "Turning the demo into a large app.",
60
+ "Adding backend/auth/database.",
61
+ "Using external assets."
62
+ ],
63
+ "acceptance": [
64
+ "demo create spec-viewer generates a demo that validates.",
65
+ "doctor inside the demo no longer gives a misleading not-initialized error.",
66
+ "npm start handles occupied default port or documents a clear cross-platform recovery path.",
67
+ "Demo Quiver scripts still work: plan, graph, next, evidence.",
68
+ "Tests or smoke cover demo generation and validation."
69
+ ],
70
+ "tests": [
71
+ "node --test tests/commands/demo.test.js tests/commands/doctor.test.js",
72
+ "npm run smoke:create-quiver",
73
+ "git diff --check"
74
+ ],
75
+ "validation_hints": [
76
+ "Generate the demo into a temp folder.",
77
+ "Run validate, quiver plan/graph/next, doctor, and start with an occupied default port when practical."
78
+ ],
79
+ "estimated_hours": 5,
80
+ "status": "completed",
81
+ "blocked_reason": null,
82
+ "actual_hours": 4,
83
+ "completed_at": "2026-05-23T00:00:00-0300"
84
+ }
@@ -0,0 +1,35 @@
1
+ # CLOSURE BRIEF - slice-06: Plan and graph scope performance
2
+
3
+ ## Summary of Work
4
+
5
+ - Added scoped slice loading for `plan` and `graph` when `--spec <slug>` is provided.
6
+ - Scoped loading reads the target spec and explicit dependency refs without parsing unrelated historical specs.
7
+ - Kept unscoped `plan` and `graph` behavior compatible.
8
+ - Updated root `quiver:plan` and `quiver:graph` scripts to use the local CLI entrypoint so local validation tests the branch code instead of the published npm version.
9
+
10
+ ## Validation Against Acceptance Criteria
11
+
12
+ - [x] Scoped plan passes without OOM.
13
+ - [x] Scoped graph passes without OOM.
14
+ - [x] Regression test added.
15
+ - [x] Unscoped behavior verified.
16
+
17
+ ## Relevant Changes
18
+
19
+ - Updated `src/create-quiver/lib/slice-graph.js`.
20
+ - Updated `src/create-quiver/commands/plan.js`.
21
+ - Updated `src/create-quiver/commands/graph.js`.
22
+ - Updated `tests/commands/plan.test.js` and `tests/commands/graph.test.js`.
23
+ - Updated root `package.json` scripts for local `quiver:plan` and `quiver:graph`.
24
+
25
+ ## Pending
26
+
27
+ - No pending work for this slice.
28
+
29
+ ## Remaining Risks
30
+
31
+ - Scoped output intentionally keeps external dependency refs for readiness but still displays only the requested spec, matching prior filtered output.
32
+
33
+ ## Future Recommendations
34
+
35
+ - Keep large-repo fixtures around scoped graph commands.
@@ -0,0 +1,53 @@
1
+ # EXECUTION BRIEF - slice-06: Plan and graph scope performance
2
+
3
+ ## Context
4
+
5
+ During v25 and v26 documentation validation, scoped `plan` and `graph` commands failed with Node out-of-memory even for a small target spec. This means the commands likely load or retain too much unrelated historical data before applying `--spec`.
6
+
7
+ ## Objective
8
+
9
+ Make scoped `plan` and `graph` safe to run in this repo without increasing Node heap size.
10
+
11
+ ## Scope
12
+
13
+ - `plan` command.
14
+ - `graph` command.
15
+ - Slice graph loading/filtering helpers.
16
+ - Regression tests and evidence.
17
+
18
+ ## Acceptance Criteria
19
+
20
+ - Scoped plan for v26 completes without OOM.
21
+ - Scoped graph for v26 completes without OOM.
22
+ - Tests prove scoped loading avoids unrelated heavy artifacts.
23
+ - Unscoped behavior remains compatible.
24
+
25
+ ## Technical Plan Summary
26
+
27
+ Audit the graph-loading path, move spec filtering earlier, avoid retaining unnecessary file contents or historical artifacts, and add focused tests.
28
+
29
+ ## Suggested Execution Steps
30
+
31
+ 1. Reproduce the OOM with v26 scoped plan/graph.
32
+ 2. Inspect `plan`, `graph`, and slice graph loading.
33
+ 3. Move filtering earlier or reduce retained data.
34
+ 4. Add regression tests.
35
+ 5. Re-run scoped plan/graph and record evidence.
36
+
37
+ ## Restrictions
38
+
39
+ - Do not solve this by raising heap size.
40
+ - Do not remove support for historical specs.
41
+ - Do not change dependency semantics without explicit evidence.
42
+
43
+ ## Risks
44
+
45
+ - Over-filtering could hide cross-spec dependencies if those are valid in existing specs.
46
+
47
+ ## Completion Checklist
48
+
49
+ - [ ] Scoped plan passes.
50
+ - [ ] Scoped graph passes.
51
+ - [ ] Regression test added.
52
+ - [ ] Evidence updated.
53
+
@@ -0,0 +1,82 @@
1
+ {
2
+ "slice_id": "slice-06-plan-graph-scope-performance",
3
+ "ticket": "QUIVER-26-06",
4
+ "type": "fix",
5
+ "title": "Plan and graph scope performance",
6
+ "objective": "Prevent scoped plan and graph commands from running out of memory in repos with many historical specs.",
7
+ "description": "Harden plan/graph data loading so --spec <slug> only reads and retains the needed spec/slice graph, and add regression coverage for the OOM observed in v25 and v26 validation.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "plan-graph-scope-performance",
12
+ "branch_name": "feature/QUIVER-26-06-plan-graph-scope-performance"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/commands/plan.js",
16
+ "src/create-quiver/commands/graph.js",
17
+ "src/create-quiver/lib/slice-graph.js",
18
+ "package.json",
19
+ "tests/**",
20
+ "specs/quiver-v26-0121-smoke-hardening/**"
21
+ ],
22
+ "expected_read_paths": [
23
+ "src/create-quiver/commands/plan.js",
24
+ "src/create-quiver/commands/graph.js",
25
+ "src/create-quiver/lib/slice-graph.js",
26
+ "package.json",
27
+ "tests/commands/plan.test.js",
28
+ "tests/commands/graph.test.js",
29
+ "specs/quiver-v25-ai-first-lifecycle-orchestrator/EVIDENCE_REPORT.md",
30
+ "specs/quiver-v26-0121-smoke-hardening/EVIDENCE_REPORT.md"
31
+ ],
32
+ "allowed_write_paths": [
33
+ "src/create-quiver/commands/plan.js",
34
+ "src/create-quiver/commands/graph.js",
35
+ "src/create-quiver/lib/slice-graph.js",
36
+ "package.json",
37
+ "tests/**",
38
+ "README.md",
39
+ "docs/COMMANDS.md.template",
40
+ "specs/quiver-v26-0121-smoke-hardening/**"
41
+ ],
42
+ "depends_on": [
43
+ "slice-04-local-validation-brief-contracts"
44
+ ],
45
+ "parallel_safe": "no",
46
+ "parallel_safe_reason": "This slice modifies shared graph/planning utilities used by multiple commands.",
47
+ "must": [
48
+ "Reproduce or cover the scoped plan/graph OOM with a regression fixture or command-level test.",
49
+ "Ensure --spec <slug> limits read/retained data to the target spec and necessary dependency references.",
50
+ "Keep unscoped plan/graph behavior compatible.",
51
+ "Ensure plan and graph still support --include-completed.",
52
+ "Record evidence for v26 scoped plan and graph commands."
53
+ ],
54
+ "not_included": [
55
+ "Changing slice dependency semantics beyond necessary scoped loading.",
56
+ "Removing historical spec support.",
57
+ "Adding a database or cache service."
58
+ ],
59
+ "acceptance": [
60
+ "npm run quiver:plan -- --spec quiver-v26-0121-smoke-hardening --include-completed completes without OOM.",
61
+ "npm run quiver:graph -- --spec quiver-v26-0121-smoke-hardening --include-completed completes without OOM.",
62
+ "A test or fixture proves scoped plan/graph do not load unrelated heavy spec artifacts unnecessarily.",
63
+ "Unscoped plan/graph tests continue to pass.",
64
+ "Dependency output remains correct for v26."
65
+ ],
66
+ "tests": [
67
+ "node --test tests/commands/plan.test.js tests/commands/graph.test.js tests/lib/slice-graph.test.js",
68
+ "npm run quiver:plan -- --spec quiver-v26-0121-smoke-hardening --include-completed",
69
+ "npm run quiver:graph -- --spec quiver-v26-0121-smoke-hardening --include-completed",
70
+ "git diff --check"
71
+ ],
72
+ "validation_hints": [
73
+ "Do not mask the issue by increasing Node heap size.",
74
+ "Prefer lazy/scoped discovery over post-filtering a full historical graph.",
75
+ "Use the current repo as a real regression case."
76
+ ],
77
+ "estimated_hours": 5,
78
+ "status": "completed",
79
+ "blocked_reason": null,
80
+ "actual_hours": 4,
81
+ "completed_at": "2026-05-23T00:00:00-0300"
82
+ }
@@ -0,0 +1,35 @@
1
+ # CLOSURE BRIEF - slice-07: Smoke and release readiness
2
+
3
+ ## Summary of Work
4
+
5
+ - Prepared `0.12.1` package metadata.
6
+ - Updated changelog, source-of-truth docs, PR body, spec status, and evidence.
7
+ - Ran full local validation, required smokes, extra CI smokes, and candidate tarball smoke from `/private/tmp`.
8
+
9
+ ## Validation Against Acceptance Criteria
10
+
11
+ - [x] Full tests passed.
12
+ - [x] Required smokes passed.
13
+ - [x] Candidate tarball smoke passed.
14
+ - [x] Evidence updated.
15
+ - [x] Release metadata prepared.
16
+
17
+ ## Relevant Changes
18
+
19
+ - `package.json` and `package-lock.json` now target `0.12.1`.
20
+ - `CHANGELOG.md` documents the `0.12.1` release candidate.
21
+ - `README_FOR_AI.md` and `ROADMAP.md` mark v26 as implemented/release-ready while keeping npm publication pending.
22
+ - `EVIDENCE_REPORT.md`, `STATUS.md`, and `pr.md` include final release-readiness evidence.
23
+
24
+ ## Pending
25
+
26
+ - Open PR, merge after review, publish `create-quiver@0.12.1`, then run published-package smoke.
27
+
28
+ ## Remaining Risks
29
+
30
+ - npm publication and post-publish smoke happen after PR merge.
31
+ - This workstation's default npm cache has ownership issues; packaging passed with an isolated temp cache.
32
+
33
+ ## Future Recommendations
34
+
35
+ - Automate published-package smoke as a reusable release command.