create-quiver 0.10.0 → 0.12.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 (165) hide show
  1. package/BACKLOG.md +16 -17
  2. package/CHANGELOG.md +34 -0
  3. package/README.md +174 -39
  4. package/README_FOR_AI.md +48 -24
  5. package/ROADMAP.md +22 -11
  6. package/docs/AI_CONTEXT.md.template +2 -0
  7. package/docs/AI_ONBOARDING_PROMPT.md.template +25 -18
  8. package/docs/COMMANDS.md.template +59 -11
  9. package/docs/CONTEXTO.md.template +2 -0
  10. package/docs/DECISIONS.md.template +1 -0
  11. package/docs/INDEX.md.template +20 -18
  12. package/docs/STATUS.md.template +1 -0
  13. package/docs/SUPPORT_MATRIX.md.template +2 -2
  14. package/docs/TROUBLESHOOTING.md.template +50 -0
  15. package/docs/WORKFLOW.md.template +25 -17
  16. package/package.json +19 -2
  17. package/package.template.json +13 -1
  18. package/scripts/init-docs.sh +11 -4
  19. package/scripts/package-quiver.sh +18 -2
  20. package/specs/quiver-v22-guided-ai-workflow/EVIDENCE_REPORT.md +58 -0
  21. package/specs/quiver-v22-guided-ai-workflow/EXECUTION_PLAN.md +88 -0
  22. package/specs/quiver-v22-guided-ai-workflow/SPEC.md +228 -0
  23. package/specs/quiver-v22-guided-ai-workflow/STATUS.md +42 -0
  24. package/specs/quiver-v22-guided-ai-workflow/pr.md +104 -0
  25. package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +35 -0
  26. package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
  27. package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/slice.json +51 -0
  28. package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/CLOSURE_BRIEF.md +31 -0
  29. package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/EXECUTION_BRIEF.md +58 -0
  30. package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/slice.json +55 -0
  31. package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/CLOSURE_BRIEF.md +30 -0
  32. package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/EXECUTION_BRIEF.md +57 -0
  33. package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/slice.json +57 -0
  34. package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/CLOSURE_BRIEF.md +32 -0
  35. package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/EXECUTION_BRIEF.md +56 -0
  36. package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/slice.json +56 -0
  37. package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/CLOSURE_BRIEF.md +33 -0
  38. package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/EXECUTION_BRIEF.md +56 -0
  39. package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/slice.json +58 -0
  40. package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/CLOSURE_BRIEF.md +32 -0
  41. package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/EXECUTION_BRIEF.md +56 -0
  42. package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/slice.json +54 -0
  43. package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/CLOSURE_BRIEF.md +32 -0
  44. package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/EXECUTION_BRIEF.md +58 -0
  45. package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/slice.json +57 -0
  46. package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/CLOSURE_BRIEF.md +32 -0
  47. package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/EXECUTION_BRIEF.md +58 -0
  48. package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/slice.json +55 -0
  49. package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/CLOSURE_BRIEF.md +32 -0
  50. package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/EXECUTION_BRIEF.md +58 -0
  51. package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/slice.json +53 -0
  52. package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/CLOSURE_BRIEF.md +33 -0
  53. package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/EXECUTION_BRIEF.md +59 -0
  54. package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/slice.json +59 -0
  55. package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +34 -0
  56. package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +58 -0
  57. package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/slice.json +60 -0
  58. package/specs/quiver-v23-guided-flow-productization/EVIDENCE_REPORT.md +80 -0
  59. package/specs/quiver-v23-guided-flow-productization/EXECUTION_PLAN.md +80 -0
  60. package/specs/quiver-v23-guided-flow-productization/SPEC.md +203 -0
  61. package/specs/quiver-v23-guided-flow-productization/STATUS.md +39 -0
  62. package/specs/quiver-v23-guided-flow-productization/pr.md +119 -0
  63. package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
  64. package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
  65. package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/slice.json +51 -0
  66. package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/CLOSURE_BRIEF.md +33 -0
  67. package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/EXECUTION_BRIEF.md +35 -0
  68. package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/slice.json +56 -0
  69. package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/CLOSURE_BRIEF.md +31 -0
  70. package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/EXECUTION_BRIEF.md +29 -0
  71. package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/slice.json +55 -0
  72. package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/CLOSURE_BRIEF.md +33 -0
  73. package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/EXECUTION_BRIEF.md +29 -0
  74. package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/slice.json +54 -0
  75. package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/CLOSURE_BRIEF.md +32 -0
  76. package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/EXECUTION_BRIEF.md +30 -0
  77. package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/slice.json +59 -0
  78. package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/CLOSURE_BRIEF.md +31 -0
  79. package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/EXECUTION_BRIEF.md +29 -0
  80. package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/slice.json +53 -0
  81. package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/CLOSURE_BRIEF.md +33 -0
  82. package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/EXECUTION_BRIEF.md +30 -0
  83. package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/slice.json +54 -0
  84. package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/CLOSURE_BRIEF.md +33 -0
  85. package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/EXECUTION_BRIEF.md +30 -0
  86. package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/slice.json +55 -0
  87. package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/CLOSURE_BRIEF.md +32 -0
  88. package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/EXECUTION_BRIEF.md +30 -0
  89. package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/slice.json +55 -0
  90. package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/CLOSURE_BRIEF.md +33 -0
  91. package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/EXECUTION_BRIEF.md +34 -0
  92. package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/slice.json +57 -0
  93. package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
  94. package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +32 -0
  95. package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/slice.json +63 -0
  96. package/specs/quiver-v24-dx-onboarding-hardening/EVIDENCE_REPORT.md +55 -0
  97. package/specs/quiver-v24-dx-onboarding-hardening/EXECUTION_PLAN.md +43 -0
  98. package/specs/quiver-v24-dx-onboarding-hardening/SPEC.md +149 -0
  99. package/specs/quiver-v24-dx-onboarding-hardening/STATUS.md +31 -0
  100. package/specs/quiver-v24-dx-onboarding-hardening/pr.md +76 -0
  101. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +31 -0
  102. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
  103. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/slice.json +51 -0
  104. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/CLOSURE_BRIEF.md +38 -0
  105. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/EXECUTION_BRIEF.md +53 -0
  106. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/slice.json +55 -0
  107. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/CLOSURE_BRIEF.md +33 -0
  108. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/EXECUTION_BRIEF.md +50 -0
  109. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/slice.json +52 -0
  110. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/CLOSURE_BRIEF.md +33 -0
  111. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/EXECUTION_BRIEF.md +50 -0
  112. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/slice.json +53 -0
  113. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/CLOSURE_BRIEF.md +33 -0
  114. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/EXECUTION_BRIEF.md +50 -0
  115. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/slice.json +70 -0
  116. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/CLOSURE_BRIEF.md +36 -0
  117. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/EXECUTION_BRIEF.md +49 -0
  118. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/slice.json +52 -0
  119. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/CLOSURE_BRIEF.md +43 -0
  120. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/EXECUTION_BRIEF.md +53 -0
  121. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/slice.json +60 -0
  122. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/CLOSURE_BRIEF.md +32 -0
  123. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/EXECUTION_BRIEF.md +50 -0
  124. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/slice.json +51 -0
  125. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/CLOSURE_BRIEF.md +34 -0
  126. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/EXECUTION_BRIEF.md +52 -0
  127. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/slice.json +54 -0
  128. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/CLOSURE_BRIEF.md +34 -0
  129. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/EXECUTION_BRIEF.md +51 -0
  130. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/slice.json +59 -0
  131. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
  132. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +54 -0
  133. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/slice.json +76 -0
  134. package/src/create-quiver/commands/ai.js +508 -35
  135. package/src/create-quiver/commands/demo.js +22 -0
  136. package/src/create-quiver/commands/evidence.js +37 -0
  137. package/src/create-quiver/commands/flow.js +561 -0
  138. package/src/create-quiver/commands/graph.js +14 -1
  139. package/src/create-quiver/commands/next.js +28 -0
  140. package/src/create-quiver/commands/plan.js +6 -3
  141. package/src/create-quiver/commands/prepare.js +236 -0
  142. package/src/create-quiver/commands/spec.js +133 -0
  143. package/src/create-quiver/index.js +688 -25
  144. package/src/create-quiver/lib/agent-profiles.js +148 -0
  145. package/src/create-quiver/lib/ai/context-packs.js +12 -0
  146. package/src/create-quiver/lib/ai/execution-plan.js +370 -10
  147. package/src/create-quiver/lib/ai/executor.js +376 -17
  148. package/src/create-quiver/lib/ai/github.js +196 -0
  149. package/src/create-quiver/lib/ai/onboarding-template.js +365 -0
  150. package/src/create-quiver/lib/ai/plan-review.js +283 -0
  151. package/src/create-quiver/lib/ai/providers.js +1 -0
  152. package/src/create-quiver/lib/ai/safety.js +5 -0
  153. package/src/create-quiver/lib/ai/spec-templates.js +2 -2
  154. package/src/create-quiver/lib/approvals.js +350 -0
  155. package/src/create-quiver/lib/demo.js +657 -0
  156. package/src/create-quiver/lib/doctor.js +234 -0
  157. package/src/create-quiver/lib/evidence.js +115 -0
  158. package/src/create-quiver/lib/init-docs.js +284 -17
  159. package/src/create-quiver/lib/init-layout.js +26 -1
  160. package/src/create-quiver/lib/lifecycle.js +6 -0
  161. package/src/create-quiver/lib/package-safety.js +117 -0
  162. package/src/create-quiver/lib/readiness.js +85 -18
  163. package/src/create-quiver/lib/slice-graph.js +1 -0
  164. package/src/create-quiver/lib/slice.js +8 -8
  165. package/src/create-quiver/lib/spec-worktrees.js +349 -0
@@ -0,0 +1,56 @@
1
+ {
2
+ "slice_id": "slice-03-context-doc-refresh",
3
+ "ticket": "QUIVER-22-03",
4
+ "type": "feature",
5
+ "title": "Context documentation refresh and safe analyzer output",
6
+ "objective": "Improve project context generation so AI onboarding can use concise, safe, updated docs.",
7
+ "description": "Enhance analysis/preparation to refresh AI-facing context docs while excluding secrets, generated files, dependency folders, large artifacts, and local AI tool state.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "context-doc-refresh",
12
+ "branch_name": "feature/QUIVER-22-03-context-doc-refresh"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/index.js",
16
+ "src/create-quiver/lib/project-scan.js",
17
+ "src/create-quiver/lib/init-docs.js",
18
+ "src/create-quiver/lib/ai/context-packs.js",
19
+ "src/create-quiver/lib/ai/safety.js",
20
+ "tests/commands/analyze.test.js",
21
+ "tests/lib/ai-context-packs.test.js"
22
+ ],
23
+ "depends_on": [
24
+ "slice-02-prepare-command-diagnostics"
25
+ ],
26
+ "parallel_safe": "no",
27
+ "parallel_safe_reason": "Context generation feeds planner phases and must be stable first.",
28
+ "must": [
29
+ "Refresh useful AI context docs from detected project facts.",
30
+ "Keep raw scan under .quiver/scans.",
31
+ "Exclude secrets, env files, build outputs, dependency folders, package caches, and local AI tool state.",
32
+ "Report assumptions and information that still needs human completion.",
33
+ "Avoid pretending analysis understands business rules not present in the repo."
34
+ ],
35
+ "not_included": [
36
+ "Planner approval persistence.",
37
+ "Spec generation changes.",
38
+ "Provider execution changes."
39
+ ],
40
+ "acceptance": [
41
+ "analyze or prepare refreshes concise AI context docs without exposing unsafe paths.",
42
+ "docs/PROJECT_MAP.md remains the visible stack and command source.",
43
+ ".quiver/scans/PROJECT_SCAN.json remains internal raw scan output.",
44
+ "Generated context includes assumptions and missing information.",
45
+ "Large/noisy/secret paths are excluded by tests."
46
+ ],
47
+ "tests": [
48
+ "node --test tests/commands/analyze.test.js tests/lib/ai-context-packs.test.js",
49
+ "git diff --check"
50
+ ],
51
+ "estimated_hours": 7,
52
+ "status": "completed",
53
+ "blocked_reason": null,
54
+ "actual_hours": 2,
55
+ "completed_at": "2026-05-21T11:37:41-0300"
56
+ }
@@ -0,0 +1,33 @@
1
+ # CLOSURE BRIEF - slice-04: Planner approval state
2
+
3
+ ## Resumen de lo realizado
4
+
5
+ Se agrego persistencia de borradores y aprobaciones para fases planner, con bloqueo entre fases, uso de inputs aprobados por defecto y estado visible mediante `npx create-quiver ai approvals`.
6
+
7
+ ## Validacion contra criterios de aceptacion
8
+
9
+ - [x] Fases bloquean inputs no aprobados.
10
+ - [x] Aprobaciones persistidas.
11
+ - [x] Status disponible.
12
+ - [x] Tests ejecutados.
13
+
14
+ ## Cambios relevantes
15
+
16
+ - `src/create-quiver/lib/approvals.js`
17
+ - `src/create-quiver/commands/ai.js`
18
+ - `src/create-quiver/index.js`
19
+ - `tests/lib/approvals.test.js`
20
+ - `tests/commands/ai-plan.test.js`
21
+ - `tests/commands/ai-plan-spec-phase.test.js`
22
+
23
+ ## Pendientes
24
+
25
+ Ninguno para esta slice.
26
+
27
+ ## Riesgos remanentes
28
+
29
+ El estado `stale` depende de timestamps y existencia del archivo fuente. Si se edita manualmente `.quiver/approvals/`, Quiver puede marcar el estado como inconsistente.
30
+
31
+ ## Recomendaciones futuras
32
+
33
+ Usar las aprobaciones persistidas como base para el ciclo de vida de worktree por spec en `slice-05`.
@@ -0,0 +1,56 @@
1
+ # EXECUTION BRIEF - slice-04: Planner approval state
2
+
3
+ **Spec:** quiver-v22-guided-ai-workflow
4
+ **Slice:** slice-04-planner-approval-state
5
+ **Tipo:** feature
6
+
7
+ ## Contexto
8
+
9
+ El flujo requiere iterar criterios y planes, pero solo usar versiones aprobadas para avanzar.
10
+
11
+ ## Objetivo
12
+
13
+ Persistir borradores y aprobaciones explicitas para acceptance criteria y technical plan.
14
+
15
+ ## Alcance
16
+
17
+ - Estado de aprobaciones en `.quiver/`.
18
+ - Comandos o subcomandos de aprobacion.
19
+ - Bloqueos entre fases.
20
+ - Estado legible para el usuario.
21
+
22
+ ## Criterios de aceptacion
23
+
24
+ - Nada no aprobado alimenta la fase siguiente.
25
+ - Las aprobaciones tienen metadata minima.
26
+ - El usuario puede ver que falta aprobar.
27
+ - La fase spec usa el plan aprobado por defecto.
28
+
29
+ ## Plan tecnico resumido
30
+
31
+ Crear una capa de approvals reutilizable por `ai plan`, con guardas de fase y tests de transiciones.
32
+
33
+ ## Pasos sugeridos de ejecucion
34
+
35
+ 1. Revisar `phase-gates.js`.
36
+ 2. Definir formato interno de aprobaciones.
37
+ 3. Agregar persistencia y lectura.
38
+ 4. Integrar comandos.
39
+ 5. Agregar tests de bloqueo y avance.
40
+
41
+ ## Restricciones
42
+
43
+ - No versionar borradores internos salvo decision explicita.
44
+ - No modificar codigo de producto.
45
+
46
+ ## Riesgos
47
+
48
+ - Que el estado interno y los archivos visibles diverjan.
49
+ - Que una aprobacion vieja alimente una spec nueva.
50
+
51
+ ## Checklist de finalizacion
52
+
53
+ - [ ] Draft/approved diferenciado.
54
+ - [ ] Bloqueos entre fases cubiertos.
55
+ - [ ] Status legible.
56
+ - [ ] Tests pasan.
@@ -0,0 +1,58 @@
1
+ {
2
+ "slice_id": "slice-04-planner-approval-state",
3
+ "ticket": "QUIVER-22-04",
4
+ "type": "feature",
5
+ "title": "Planner approval state for criteria and technical plans",
6
+ "objective": "Persist draft and approved planner outputs so each phase consumes an explicit approved input.",
7
+ "description": "Add approval state for acceptance criteria and technical plans, preventing Quiver from generating specs from unapproved or ambiguous outputs.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "planner-approval-state",
12
+ "branch_name": "feature/QUIVER-22-04-planner-approval-state"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/commands/ai.js",
16
+ "src/create-quiver/lib/ai/phase-gates.js",
17
+ "src/create-quiver/lib/ai/spec-generator.js",
18
+ "src/create-quiver/lib/state.js",
19
+ "src/create-quiver/lib/approvals.js",
20
+ "tests/commands/ai-plan.test.js",
21
+ "tests/commands/ai-plan-spec-phase.test.js",
22
+ "tests/lib/approvals.test.js"
23
+ ],
24
+ "depends_on": [
25
+ "slice-03-context-doc-refresh"
26
+ ],
27
+ "parallel_safe": "no",
28
+ "parallel_safe_reason": "Approval state is the contract consumed by spec generation.",
29
+ "must": [
30
+ "Persist draft acceptance criteria.",
31
+ "Persist approved acceptance criteria only after explicit approval.",
32
+ "Persist draft technical plan.",
33
+ "Persist approved technical plan only after explicit approval.",
34
+ "Block spec generation when the approved plan is missing.",
35
+ "Show status of draft versus approved artifacts."
36
+ ],
37
+ "not_included": [
38
+ "Creating worktrees.",
39
+ "Executing slices.",
40
+ "Opening PRs."
41
+ ],
42
+ "acceptance": [
43
+ "Unapproved acceptance criteria cannot feed the technical-plan phase.",
44
+ "Unapproved technical plans cannot feed spec generation.",
45
+ "Approvals are stored with timestamp, source file or run id, and phase.",
46
+ "A status command shows what is draft, approved, missing, or stale.",
47
+ "Spec generation consumes approved input by default."
48
+ ],
49
+ "tests": [
50
+ "node --test tests/commands/ai-plan.test.js tests/commands/ai-plan-spec-phase.test.js tests/lib/approvals.test.js",
51
+ "git diff --check"
52
+ ],
53
+ "estimated_hours": 8,
54
+ "status": "completed",
55
+ "blocked_reason": null,
56
+ "actual_hours": 2,
57
+ "completed_at": "2026-05-21T11:46:03-0300"
58
+ }
@@ -0,0 +1,32 @@
1
+ # CLOSURE BRIEF - slice-05: Spec worktree lifecycle
2
+
3
+ ## Resumen de lo realizado
4
+
5
+ Se agrego el flujo de worktree a nivel spec con comandos `spec start` y `spec status`. Tambien se bloqueo `start-slice` para slices posteriores cuando `slice-00` no esta completada.
6
+
7
+ ## Validacion contra criterios de aceptacion
8
+
9
+ - [x] Worktree por spec implementado.
10
+ - [x] `slice-00` bloquea slices posteriores.
11
+ - [x] Estado visible.
12
+ - [x] Tests ejecutados.
13
+
14
+ ## Cambios relevantes
15
+
16
+ - Nuevo helper `src/create-quiver/lib/spec-worktrees.js`.
17
+ - Nuevo comando `npx create-quiver spec start <spec-dir>`.
18
+ - Nuevo comando `npx create-quiver spec status <spec-dir>`.
19
+ - `start-slice` valida que `slice-00` este completado antes de iniciar slices posteriores.
20
+ - `feature` y `bugfix` aceptan `main` o `develop` como base branch.
21
+
22
+ ## Pendientes
23
+
24
+ Sin pendientes criticos para esta slice.
25
+
26
+ ## Riesgos remanentes
27
+
28
+ La limpieza post-merge del worktree no esta incluida en esta slice; queda para `slice-09`.
29
+
30
+ ## Recomendaciones futuras
31
+
32
+ Mantener `spec close` separado de `spec start/status` para no mezclar creacion segura con limpieza destructiva.
@@ -0,0 +1,56 @@
1
+ # EXECUTION BRIEF - slice-05: Spec worktree lifecycle
2
+
3
+ **Spec:** quiver-v22-guided-ai-workflow
4
+ **Slice:** slice-05-spec-worktree-lifecycle
5
+ **Tipo:** feature
6
+
7
+ ## Contexto
8
+
9
+ El flujo deseado usa un worktree por SPEC, no una mezcla manual de ramas y worktrees por cada tarea.
10
+
11
+ ## Objetivo
12
+
13
+ Agregar ciclo de vida de worktree a nivel spec y bloquear ejecucion hasta que `slice-00` este completada.
14
+
15
+ ## Alcance
16
+
17
+ - Comandos de spec start/status.
18
+ - Seleccion segura de base branch.
19
+ - Reuso seguro de worktree existente.
20
+ - Estado de slices dentro del spec.
21
+
22
+ ## Criterios de aceptacion
23
+
24
+ - Un spec tiene un worktree dedicado.
25
+ - `slice-00` es obligatoria primero.
26
+ - El estado muestra rama, path y pendientes.
27
+ - No se borra ni pisa trabajo local.
28
+
29
+ ## Plan tecnico resumido
30
+
31
+ Extraer o extender helpers de lifecycle para soportar spec-level worktrees, manteniendo compatibilidad con start-slice existente.
32
+
33
+ ## Pasos sugeridos de ejecucion
34
+
35
+ 1. Revisar `lifecycle.js`, `slice.js` y `git.js`.
36
+ 2. Definir metadata de spec worktree.
37
+ 3. Agregar comando start/status.
38
+ 4. Cubrir main/develop y paths con espacios.
39
+ 5. Agregar tests.
40
+
41
+ ## Restricciones
42
+
43
+ - No cerrar worktrees en esta slice.
44
+ - No crear PR en esta slice.
45
+
46
+ ## Riesgos
47
+
48
+ - Romper `start-slice` existente.
49
+ - Mantener supuestos viejos de `develop` cuando el repo usa `main`.
50
+
51
+ ## Checklist de finalizacion
52
+
53
+ - [ ] Spec worktree start/status listo.
54
+ - [ ] Base branch segura.
55
+ - [ ] Bloqueo de slice-00 cubierto.
56
+ - [ ] Tests pasan.
@@ -0,0 +1,54 @@
1
+ {
2
+ "slice_id": "slice-05-spec-worktree-lifecycle",
3
+ "ticket": "QUIVER-22-05",
4
+ "type": "feature",
5
+ "title": "Spec worktree lifecycle",
6
+ "objective": "Formalize one dedicated worktree per spec and make slice-00 the first executable step.",
7
+ "description": "Add commands and guardrails for starting, inspecting, and managing a spec-level worktree before slice execution.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "spec-worktree-lifecycle",
12
+ "branch_name": "feature/QUIVER-22-05-spec-worktree-lifecycle"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/index.js",
16
+ "src/create-quiver/lib/lifecycle.js",
17
+ "src/create-quiver/lib/slice.js",
18
+ "src/create-quiver/lib/git.js",
19
+ "src/create-quiver/lib/spec-worktrees.js",
20
+ "tests/lib/lifecycle.test.js",
21
+ "tests/commands/spec-worktree.test.js"
22
+ ],
23
+ "depends_on": [
24
+ "slice-04-planner-approval-state"
25
+ ],
26
+ "parallel_safe": "no",
27
+ "parallel_safe_reason": "Spec worktree behavior is required before execution and PR automation.",
28
+ "must": [
29
+ "Represent one spec as one worktree and one PR branch.",
30
+ "Start the spec worktree from the correct base branch.",
31
+ "Require slice-00 to be first.",
32
+ "Show spec status, worktree path, branch, and pending slices.",
33
+ "Avoid deleting or overwriting active worktrees."
34
+ ],
35
+ "not_included": [
36
+ "Post-merge cleanup.",
37
+ "PR creation.",
38
+ "Parallel slice execution."
39
+ ],
40
+ "acceptance": [
41
+ "Spec start creates or reuses one dedicated worktree for the spec.",
42
+ "Spec status shows branch, path, slice-00 status, and pending slices.",
43
+ "Commands refuse to start later slices before slice-00 is complete.",
44
+ "Base branch selection supports main or develop without hardcoding the wrong target.",
45
+ "Existing dirty worktrees are not overwritten."
46
+ ],
47
+ "tests": [
48
+ "node --test tests/lib/lifecycle.test.js tests/commands/spec-worktree.test.js",
49
+ "git diff --check"
50
+ ],
51
+ "estimated_hours": 8,
52
+ "status": "completed",
53
+ "blocked_reason": null
54
+ }
@@ -0,0 +1,32 @@
1
+ # CLOSURE BRIEF - slice-06: Executor commit and recovery
2
+
3
+ ## Resumen de lo realizado
4
+
5
+ Se extendio `ai execute-slice` para ejecutar validaciones declaradas, bloquear commits ante fallos y crear un unico commit del slice cuando el usuario habilita `--commit`.
6
+
7
+ ## Validacion contra criterios de aceptacion
8
+
9
+ - [x] Commit unico post-validacion.
10
+ - [x] Fallos bloquean commit.
11
+ - [x] Recovery visible.
12
+ - [x] Tests ejecutados.
13
+
14
+ ## Cambios relevantes
15
+
16
+ - Nuevo flag `--commit` para commit opt-in despues de provider, scope y validaciones.
17
+ - Nuevo flag `--allow-dirty` para permitir dirty worktree preexistente de forma explicita.
18
+ - Validaciones declaradas en `slice.json.tests` se ejecutan antes del commit.
19
+ - Fallos de provider, scope, validacion o commit agregan guia de retry/abort.
20
+ - Tests cubren provider failure, scope violation, validation failure, dirty worktree, commit exitoso y dry-run CLI.
21
+
22
+ ## Pendientes
23
+
24
+ Sin pendientes criticos para esta slice.
25
+
26
+ ## Riesgos remanentes
27
+
28
+ Los comandos de validacion se ejecutan como comandos del proyecto; deben venir de `slice.json.tests` revisado por el equipo.
29
+
30
+ ## Recomendaciones futuras
31
+
32
+ Las waves de `slice-07` deben reutilizar este ejecutor en vez de duplicar logica de validacion o commit.
@@ -0,0 +1,58 @@
1
+ # EXECUTION BRIEF - slice-06: Executor commit and recovery
2
+
3
+ **Spec:** quiver-v22-guided-ai-workflow
4
+ **Slice:** slice-06-executor-commit-recovery
5
+ **Tipo:** feature
6
+
7
+ ## Contexto
8
+
9
+ El executor debe poder modificar codigo dentro del slice, pero el flujo necesita validacion, reporte y un commit por slice.
10
+
11
+ ## Objetivo
12
+
13
+ Agregar commit opcional post-validacion y recuperacion clara ante fallos.
14
+
15
+ ## Alcance
16
+
17
+ - Ejecutar slice con contexto acotado.
18
+ - Validar scope.
19
+ - Ejecutar validaciones declaradas.
20
+ - Crear commit unico si corresponde.
21
+ - Reportar retry/abort cuando algo falla.
22
+
23
+ ## Criterios de aceptacion
24
+
25
+ - No hay commit si falla provider, scope o validaciones.
26
+ - Si todo pasa y commit esta habilitado, se crea un commit.
27
+ - El usuario ve que hacer ante fallos.
28
+ - El worktree sucio se bloquea por default.
29
+
30
+ ## Plan tecnico resumido
31
+
32
+ Extender `ai execute-slice` y helpers del executor con una etapa posterior a validacion. Mantener commit automation explicita y testeada.
33
+
34
+ ## Pasos sugeridos de ejecucion
35
+
36
+ 1. Revisar `executor.js` y tests actuales.
37
+ 2. Agregar opcion de commit.
38
+ 3. Implementar commit message por slice.
39
+ 4. Agregar reporte de fallo recuperable.
40
+ 5. Cubrir casos happy/error.
41
+
42
+ ## Restricciones
43
+
44
+ - No ejecutar multiples slices.
45
+ - No abrir PR.
46
+ - No hacer rollback destructivo automatico.
47
+
48
+ ## Riesgos
49
+
50
+ - Commit accidental con cambios fuera de scope.
51
+ - Mensajes de error poco accionables.
52
+
53
+ ## Checklist de finalizacion
54
+
55
+ - [ ] Commit opt-in listo.
56
+ - [ ] Scope bloquea commit.
57
+ - [ ] Fallos reportan recovery.
58
+ - [ ] Tests pasan.
@@ -0,0 +1,57 @@
1
+ {
2
+ "slice_id": "slice-06-executor-commit-recovery",
3
+ "ticket": "QUIVER-22-06",
4
+ "type": "feature",
5
+ "title": "Executor validation, recovery, and commit per slice",
6
+ "objective": "Let executor agents modify approved slice scope and create one commit after validation passes.",
7
+ "description": "Extend slice execution with recoverable failure reporting, retry/abort guidance, optional commit automation, and strict one-slice-one-commit behavior.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "executor-commit-recovery",
12
+ "branch_name": "feature/QUIVER-22-06-executor-commit-recovery"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/commands/ai.js",
16
+ "src/create-quiver/lib/ai/executor.js",
17
+ "src/create-quiver/lib/scope.js",
18
+ "src/create-quiver/lib/git.js",
19
+ "src/create-quiver/lib/slice-runner.js",
20
+ "tests/commands/ai-execute-slice.test.js",
21
+ "tests/lib/ai-executor.test.js",
22
+ "tests/lib/scope.test.js"
23
+ ],
24
+ "depends_on": [
25
+ "slice-05-spec-worktree-lifecycle"
26
+ ],
27
+ "parallel_safe": "after_dependencies",
28
+ "parallel_safe_reason": "Can run in parallel with PR creation only if file scopes remain separate.",
29
+ "must": [
30
+ "Keep executor context limited to approved slice data.",
31
+ "Require a clean worktree before execution unless explicitly overridden by existing safe options.",
32
+ "Validate changed files against slice scope after execution.",
33
+ "Run declared validation commands or report why they were skipped.",
34
+ "Create exactly one commit when validation passes and commit automation is enabled.",
35
+ "Write or print a recovery report when execution fails."
36
+ ],
37
+ "not_included": [
38
+ "Parallel execution waves.",
39
+ "PR creation.",
40
+ "Post-merge cleanup."
41
+ ],
42
+ "acceptance": [
43
+ "Executor refuses to run with dirty worktree by default.",
44
+ "Executor reports provider failure without hiding local changes.",
45
+ "Scope violations block commit automation.",
46
+ "Validation failures block commit automation.",
47
+ "Successful execution with commit enabled creates one slice commit.",
48
+ "Retry and abort guidance is shown after failures."
49
+ ],
50
+ "tests": [
51
+ "node --test tests/commands/ai-execute-slice.test.js tests/lib/ai-executor.test.js tests/lib/scope.test.js",
52
+ "git diff --check"
53
+ ],
54
+ "estimated_hours": 8,
55
+ "status": "completed",
56
+ "blocked_reason": null
57
+ }
@@ -0,0 +1,32 @@
1
+ # CLOSURE BRIEF - slice-07: Execution waves and safe delegation
2
+
3
+ ## Resumen de lo realizado
4
+
5
+ Se agrego `ai execute-plan` para imprimir o ejecutar olas de slices. El plan detecta conflictos por archivos, scope desconocido y fuerza fallback secuencial cuando no es seguro paralelizar.
6
+
7
+ ## Validacion contra criterios de aceptacion
8
+
9
+ - [x] Olas respetan dependencias.
10
+ - [x] Paralelo bloqueado ante conflictos.
11
+ - [x] Dry-run no ejecuta providers.
12
+ - [x] Tests ejecutados.
13
+
14
+ ## Cambios relevantes
15
+
16
+ - `execution-plan` ahora incluye `execution_groups`, `fallback_reason` y `unknown_scope_slices`.
17
+ - `parallel_ready` solo queda activo si hay mas de un slice, todos declaran files y no hay overlap.
18
+ - `ai execute-plan --dry-run --commit` imprime comandos de executor por slice.
19
+ - `ai execute-plan --execute --commit` ejecuta slices usando el executor validado y corta ante el primer fallo.
20
+ - La ejecucion real exige `--commit` para preservar un commit por slice.
21
+
22
+ ## Pendientes
23
+
24
+ Sin pendientes criticos para esta slice.
25
+
26
+ ## Riesgos remanentes
27
+
28
+ La ejecucion paralela real queda representada como grupos `parallel-ready`; la ejecucion local integrada corre de forma controlada para no mezclar agentes en el mismo worktree.
29
+
30
+ ## Recomendaciones futuras
31
+
32
+ Si se agrega paralelismo real automatico, debe crear worktrees separados por slice antes de llamar providers en paralelo.
@@ -0,0 +1,58 @@
1
+ # EXECUTION BRIEF - slice-07: Execution waves and safe delegation
2
+
3
+ **Spec:** quiver-v22-guided-ai-workflow
4
+ **Slice:** slice-07-execution-waves-delegation
5
+ **Tipo:** feature
6
+
7
+ ## Contexto
8
+
9
+ El usuario quiere que Quiver indique que slices van secuenciales y cuales pueden ir en paralelo con agentes ejecutores baratos.
10
+
11
+ ## Objetivo
12
+
13
+ Agregar ejecucion por olas con fallback seguro a secuencial.
14
+
15
+ ## Alcance
16
+
17
+ - Planificar olas desde dependencias.
18
+ - Validar conflictos por archivos.
19
+ - Imprimir comandos en dry-run.
20
+ - Ejecutar olas cuando este habilitado.
21
+ - Respetar un commit por slice.
22
+
23
+ ## Criterios de aceptacion
24
+
25
+ - `slice-00` siempre va primero.
26
+ - Paralelo solo se permite sin conflictos.
27
+ - Scope desconocido cae a secuencial.
28
+ - Una falla corta la ola requerida.
29
+ - Dry-run no llama providers.
30
+
31
+ ## Plan tecnico resumido
32
+
33
+ Extender `execution-plan` y agregar un comando de execute-plan que use el executor ya validado. Mantener primero modo print-only/dry-run.
34
+
35
+ ## Pasos sugeridos de ejecucion
36
+
37
+ 1. Revisar `execution-plan.js` y `slice-graph.js`.
38
+ 2. Agregar deteccion de conflicto por files.
39
+ 3. Agregar comando dry-run.
40
+ 4. Integrar ejecucion real con flags explicitos.
41
+ 5. Agregar tests de waves y conflictos.
42
+
43
+ ## Restricciones
44
+
45
+ - No asumir que paralelo es seguro sin files declarados.
46
+ - No abrir PR.
47
+
48
+ ## Riesgos
49
+
50
+ - Ejecutar dos agentes que toquen la misma zona.
51
+ - Dejar un wave a medio completar sin reporte claro.
52
+
53
+ ## Checklist de finalizacion
54
+
55
+ - [ ] Olas generadas.
56
+ - [ ] Conflictos detectados.
57
+ - [ ] Dry-run print-only listo.
58
+ - [ ] Tests pasan.
@@ -0,0 +1,55 @@
1
+ {
2
+ "slice_id": "slice-07-execution-waves-delegation",
3
+ "ticket": "QUIVER-22-07",
4
+ "type": "feature",
5
+ "title": "Execution waves and safe delegation",
6
+ "objective": "Execute or print execution waves that respect dependencies, slice-00, and file-scope conflicts.",
7
+ "description": "Turn the existing execution plan into a guided flow that can run sequential waves and safely identify parallel-ready slices for cheaper executor agents.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "execution-waves-delegation",
12
+ "branch_name": "feature/QUIVER-22-07-execution-waves-delegation"
13
+ },
14
+ "files": [
15
+ "src/create-quiver/commands/ai.js",
16
+ "src/create-quiver/lib/ai/execution-plan.js",
17
+ "src/create-quiver/lib/ai/executor.js",
18
+ "src/create-quiver/lib/slice-graph.js",
19
+ "src/create-quiver/lib/slice-runner.js",
20
+ "tests/lib/ai-execution-plan.test.js",
21
+ "tests/commands/ai-execute-plan.test.js"
22
+ ],
23
+ "depends_on": [
24
+ "slice-06-executor-commit-recovery"
25
+ ],
26
+ "parallel_safe": "no",
27
+ "parallel_safe_reason": "This slice coordinates multi-slice execution and should not be developed alongside executor changes.",
28
+ "must": [
29
+ "Always put slice-00 before all implementation slices.",
30
+ "Group ready slices into waves.",
31
+ "Detect file-scope conflicts before suggesting parallel execution.",
32
+ "Fall back to sequential execution when scope is unknown or conflicting.",
33
+ "Support a dry-run or print-only mode before real execution.",
34
+ "Keep one commit per slice when execution is enabled."
35
+ ],
36
+ "not_included": [
37
+ "Provider account billing controls.",
38
+ "Fully autonomous merge.",
39
+ "PR creation."
40
+ ],
41
+ "acceptance": [
42
+ "Execution plan shows waves with sequential and parallel groups.",
43
+ "Unknown or overlapping file scopes force sequential mode.",
44
+ "Dry-run prints commands and does not call providers.",
45
+ "Real execution stops the wave on failed required slice.",
46
+ "Successful slices keep one commit per slice."
47
+ ],
48
+ "tests": [
49
+ "node --test tests/lib/ai-execution-plan.test.js tests/commands/ai-execute-plan.test.js",
50
+ "git diff --check"
51
+ ],
52
+ "estimated_hours": 9,
53
+ "status": "completed",
54
+ "blocked_reason": null
55
+ }