create-quiver 0.15.4 → 0.17.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 (199) hide show
  1. package/.github/pull_request_template.md +17 -0
  2. package/.github/workflows/ci.yml +76 -0
  3. package/.markdown-link-check.json +15 -0
  4. package/.markdownlint.json +11 -0
  5. package/ARCHITECTURE.md +133 -0
  6. package/CHANGELOG.md +16 -0
  7. package/CONTRIBUTING.md +174 -9
  8. package/README.md +17 -2
  9. package/README_FOR_AI.md +4 -1
  10. package/ROADMAP.md +4 -0
  11. package/SECURITY.md +9 -2
  12. package/docs/AI_CONTEXT.md.es.template +3 -1
  13. package/docs/AI_CONTEXT.md.template +3 -1
  14. package/docs/CLI_UX_GUIDE.md +20 -1
  15. package/docs/COMMANDS.md.template +20 -6
  16. package/docs/GITFLOW_PR_GUIDE.md +73 -11
  17. package/docs/GITFLOW_PR_GUIDE.md.es.template +61 -2
  18. package/docs/GITFLOW_PR_GUIDE.md.template +72 -10
  19. package/docs/INDEX.md +6 -1
  20. package/docs/QUICK.md.template +2 -1
  21. package/docs/STANDARD.md.template +2 -1
  22. package/docs/WORKFLOW.md.es.template +3 -1
  23. package/docs/WORKFLOW.md.template +6 -4
  24. package/docs/getting-started/installation.md +7 -0
  25. package/docs/reference/commands.md +138 -6
  26. package/docs/reference/slice-schema.md +37 -0
  27. package/docs/schema/slice.schema.json +221 -0
  28. package/docs/specs/01-spec/01-slice/01-slice.json +36 -0
  29. package/docs/specs/01-spec/01-slice/01-slice.md +106 -0
  30. package/docs/specs/01-spec/01-slice/CLOSURE_BRIEF.md +80 -0
  31. package/docs/specs/01-spec/01-slice/EXECUTION_BRIEF.md +39 -0
  32. package/docs/specs/01-spec/02-slice/02-slice.json +36 -0
  33. package/docs/specs/01-spec/02-slice/02-slice.md +108 -0
  34. package/docs/specs/01-spec/02-slice/CLOSURE_BRIEF.md +88 -0
  35. package/docs/specs/01-spec/02-slice/EXECUTION_BRIEF.md +40 -0
  36. package/docs/specs/01-spec/03-slice/03-slice.json +36 -0
  37. package/docs/specs/01-spec/03-slice/03-slice.md +103 -0
  38. package/docs/specs/01-spec/03-slice/CLOSURE_BRIEF.md +54 -0
  39. package/docs/specs/01-spec/03-slice/EXECUTION_BRIEF.md +39 -0
  40. package/docs/specs/01-spec/04-slice/04-slice.json +36 -0
  41. package/docs/specs/01-spec/04-slice/04-slice.md +107 -0
  42. package/docs/specs/01-spec/04-slice/CLOSURE_BRIEF.md +46 -0
  43. package/docs/specs/01-spec/04-slice/EXECUTION_BRIEF.md +39 -0
  44. package/docs/specs/01-spec/05-slice/05-slice.json +36 -0
  45. package/docs/specs/01-spec/05-slice/05-slice.md +106 -0
  46. package/docs/specs/01-spec/05-slice/CLOSURE_BRIEF.md +84 -0
  47. package/docs/specs/01-spec/05-slice/EXECUTION_BRIEF.md +109 -0
  48. package/docs/specs/01-spec/06-slice/06-slice.json +36 -0
  49. package/docs/specs/01-spec/06-slice/06-slice.md +107 -0
  50. package/docs/specs/01-spec/06-slice/CLOSURE_BRIEF.md +67 -0
  51. package/docs/specs/01-spec/06-slice/EXECUTION_BRIEF.md +39 -0
  52. package/docs/specs/01-spec/07-slice/07-slice.json +36 -0
  53. package/docs/specs/01-spec/07-slice/07-slice.md +105 -0
  54. package/docs/specs/01-spec/07-slice/CLOSURE_BRIEF.md +71 -0
  55. package/docs/specs/01-spec/07-slice/EXECUTION_BRIEF.md +39 -0
  56. package/docs/specs/01-spec/08-slice/08-slice.json +36 -0
  57. package/docs/specs/01-spec/08-slice/08-slice.md +105 -0
  58. package/docs/specs/01-spec/08-slice/CLOSURE_BRIEF.md +114 -0
  59. package/docs/specs/01-spec/08-slice/EXECUTION_BRIEF.md +39 -0
  60. package/docs/specs/01-spec/CLOSURE_BRIEF.md +87 -0
  61. package/docs/specs/01-spec/spec.md +197 -0
  62. package/docs/workflows/full-ai-spec-to-pr.md +46 -3
  63. package/i18n/es/docs/GITFLOW_PR_GUIDE.md.template +38 -1
  64. package/package.json +27 -1
  65. package/scripts/package-quiver.sh +82 -2
  66. package/scripts/release-quiver.sh +14 -3
  67. package/specs/[project-name]/slices/pr.md.template +19 -0
  68. package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +122 -1
  69. package/specs/quiver-v46-deep-project-analysis/EVIDENCE_REPORT.md +94 -0
  70. package/specs/quiver-v46-deep-project-analysis/EXECUTION_PLAN.md +26 -0
  71. package/specs/quiver-v46-deep-project-analysis/SPEC.md +157 -0
  72. package/specs/quiver-v46-deep-project-analysis/STATUS.md +26 -0
  73. package/specs/quiver-v46-deep-project-analysis/pr.md +131 -0
  74. package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/CLOSURE_BRIEF.md +14 -0
  75. package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/EXECUTION_BRIEF.md +41 -0
  76. package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/slice.json +61 -0
  77. package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/CLOSURE_BRIEF.md +22 -0
  78. package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/EXECUTION_BRIEF.md +33 -0
  79. package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/slice.json +80 -0
  80. package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/CLOSURE_BRIEF.md +21 -0
  81. package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/EXECUTION_BRIEF.md +34 -0
  82. package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/slice.json +79 -0
  83. package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/CLOSURE_BRIEF.md +19 -0
  84. package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/EXECUTION_BRIEF.md +33 -0
  85. package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/slice.json +79 -0
  86. package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/CLOSURE_BRIEF.md +20 -0
  87. package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/EXECUTION_BRIEF.md +32 -0
  88. package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/slice.json +85 -0
  89. package/specs/quiver-v50-audit-trust-foundation/EVIDENCE_REPORT.md +151 -0
  90. package/specs/quiver-v50-audit-trust-foundation/EXECUTION_PLAN.md +34 -0
  91. package/specs/quiver-v50-audit-trust-foundation/SPEC.md +113 -0
  92. package/specs/quiver-v50-audit-trust-foundation/STATUS.md +26 -0
  93. package/specs/quiver-v50-audit-trust-foundation/pr.md +120 -0
  94. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/CLOSURE_BRIEF.md +20 -0
  95. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/EXECUTION_BRIEF.md +58 -0
  96. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/slice.json +57 -0
  97. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/CLOSURE_BRIEF.md +24 -0
  98. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/EXECUTION_BRIEF.md +67 -0
  99. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/slice.json +71 -0
  100. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/CLOSURE_BRIEF.md +24 -0
  101. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/EXECUTION_BRIEF.md +71 -0
  102. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/slice.json +81 -0
  103. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/CLOSURE_BRIEF.md +22 -0
  104. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/EXECUTION_BRIEF.md +57 -0
  105. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/slice.json +56 -0
  106. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/CLOSURE_BRIEF.md +23 -0
  107. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/EXECUTION_BRIEF.md +68 -0
  108. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/slice.json +84 -0
  109. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/CLOSURE_BRIEF.md +25 -0
  110. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/EXECUTION_BRIEF.md +73 -0
  111. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/slice.json +72 -0
  112. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/CLOSURE_BRIEF.md +22 -0
  113. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/EXECUTION_BRIEF.md +66 -0
  114. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/slice.json +74 -0
  115. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/CLOSURE_BRIEF.md +29 -0
  116. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/EXECUTION_BRIEF.md +74 -0
  117. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/slice.json +81 -0
  118. package/specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md +145 -0
  119. package/specs/quiver-v51-cli-ergonomics-automation-contracts/EXECUTION_PLAN.md +32 -0
  120. package/specs/quiver-v51-cli-ergonomics-automation-contracts/SPEC.md +109 -0
  121. package/specs/quiver-v51-cli-ergonomics-automation-contracts/STATUS.md +25 -0
  122. package/specs/quiver-v51-cli-ergonomics-automation-contracts/pr.md +69 -0
  123. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/CLOSURE_BRIEF.md +20 -0
  124. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/EXECUTION_BRIEF.md +58 -0
  125. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json +56 -0
  126. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/CLOSURE_BRIEF.md +21 -0
  127. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/EXECUTION_BRIEF.md +61 -0
  128. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/slice.json +68 -0
  129. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/CLOSURE_BRIEF.md +25 -0
  130. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/EXECUTION_BRIEF.md +65 -0
  131. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/pr.md +134 -0
  132. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/slice.json +80 -0
  133. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/CLOSURE_BRIEF.md +31 -0
  134. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/EXECUTION_BRIEF.md +80 -0
  135. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/pr.md +159 -0
  136. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/slice.json +102 -0
  137. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/CLOSURE_BRIEF.md +25 -0
  138. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/EXECUTION_BRIEF.md +74 -0
  139. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/pr.md +147 -0
  140. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/slice.json +91 -0
  141. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/CLOSURE_BRIEF.md +28 -0
  142. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/EXECUTION_BRIEF.md +73 -0
  143. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/pr.md +146 -0
  144. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/slice.json +100 -0
  145. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/CLOSURE_BRIEF.md +36 -0
  146. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md +76 -0
  147. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/pr.md +155 -0
  148. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json +111 -0
  149. package/specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md +95 -0
  150. package/specs/quiver-v52-schema-docs-release-hygiene/EXECUTION_PLAN.md +31 -0
  151. package/specs/quiver-v52-schema-docs-release-hygiene/SPEC.md +107 -0
  152. package/specs/quiver-v52-schema-docs-release-hygiene/STATUS.md +22 -0
  153. package/specs/quiver-v52-schema-docs-release-hygiene/pr.md +69 -0
  154. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/CLOSURE_BRIEF.md +21 -0
  155. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/EXECUTION_BRIEF.md +60 -0
  156. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/slice.json +62 -0
  157. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md +34 -0
  158. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/EXECUTION_BRIEF.md +71 -0
  159. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md +146 -0
  160. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json +106 -0
  161. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/CLOSURE_BRIEF.md +33 -0
  162. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/EXECUTION_BRIEF.md +67 -0
  163. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/pr.md +144 -0
  164. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json +86 -0
  165. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/CLOSURE_BRIEF.md +38 -0
  166. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/EXECUTION_BRIEF.md +75 -0
  167. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/pr.md +159 -0
  168. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/slice.json +105 -0
  169. package/src/create-quiver/commands/ai.js +521 -0
  170. package/src/create-quiver/commands/changelog.js +93 -0
  171. package/src/create-quiver/commands/config.js +16 -5
  172. package/src/create-quiver/commands/evidence.js +33 -2
  173. package/src/create-quiver/commands/flow.js +1 -0
  174. package/src/create-quiver/commands/graph.js +8 -2
  175. package/src/create-quiver/commands/plan.js +6 -0
  176. package/src/create-quiver/commands/spec.js +28 -13
  177. package/src/create-quiver/index.js +408 -98
  178. package/src/create-quiver/lib/ai/analyze-project-discovery.js +387 -0
  179. package/src/create-quiver/lib/ai/analyze-project-docs.js +364 -0
  180. package/src/create-quiver/lib/ai/analyze-project-parser.js +277 -0
  181. package/src/create-quiver/lib/ai/analyze-project-prompts.js +214 -0
  182. package/src/create-quiver/lib/ai/analyze-project-review.js +99 -0
  183. package/src/create-quiver/lib/ai/analyze-project-sampling.js +402 -0
  184. package/src/create-quiver/lib/ai/analyze-project-schema.js +92 -0
  185. package/src/create-quiver/lib/ai/analyze-project-validation.js +309 -0
  186. package/src/create-quiver/lib/ai/artifacts.js +4 -1
  187. package/src/create-quiver/lib/ai/github.js +5 -2
  188. package/src/create-quiver/lib/ai/spec-templates.js +19 -0
  189. package/src/create-quiver/lib/cli/command-registry.js +72 -0
  190. package/src/create-quiver/lib/cli/parser.js +14 -0
  191. package/src/create-quiver/lib/evidence.js +161 -6
  192. package/src/create-quiver/lib/git.js +99 -0
  193. package/src/create-quiver/lib/i18n/messages/en.js +52 -7
  194. package/src/create-quiver/lib/i18n/messages/es.js +54 -9
  195. package/src/create-quiver/lib/init-docs.js +1 -1
  196. package/src/create-quiver/lib/init-layout.js +9 -8
  197. package/src/create-quiver/lib/lifecycle.js +24 -26
  198. package/src/create-quiver/lib/readiness.js +67 -56
  199. package/src/create-quiver/lib/spec-worktrees.js +16 -34
@@ -7,7 +7,7 @@ Este documento define el estandar de experiencia para los comandos de Quiver. La
7
7
  - Los comandos deben explicar que modo estan usando: deterministico, planner-assisted, dry-run, review, interactive, JSON o CI.
8
8
  - `--dry-run` debe ser el primer paso recomendado antes de escrituras, proveedores externos, worktrees, PRs o reparaciones.
9
9
  - La salida humana puede usar jerarquia visual, loaders y color; la salida JSON debe permanecer limpia y parseable.
10
- - Los prompts interactivos son opt-in. Ningun comando debe bloquear automatizaciones si `--interactive` no fue pedido.
10
+ - Los prompts interactivos son opt-in, salvo confirmaciones de seguridad para comandos destructivos como `migrate`. Ningun comando debe quedar esperando input en CI/no-TTY; debe fallar con guia accionable o aceptar un bypass explicito como `--yes`.
11
11
  - Las revisiones humanas ocurren antes de escrituras persistentes siempre que el comando soporte `--review`.
12
12
  - Las credenciales viven en los CLIs de proveedor, `gh`, Git o el sistema operativo. Quiver no debe guardarlas.
13
13
 
@@ -93,6 +93,8 @@ Reglas:
93
93
  | Comando | `--with-planner` | `--interactive` | `--review` | Notas |
94
94
  |---|---:|---:|---:|---|
95
95
  | `init` | no | si | no | Interactive guia modo de proyecto, metodologia `wdd-sdd`, perfil inicial y proximo paso de perfiles de agentes. |
96
+ | `migrate` | no | no | no | En TTY confirma antes de escribir; en CI/no-TTY requiere `--yes`. `--dry-run` no pide confirmacion ni escribe. |
97
+ | `ai analyze-project` | no | no | si | `--dry-run` es read-only y no ejecuta proveedor; `--review` exige JSON con evidencia, diff final, confirmacion, snapshot y validacion post-write. |
96
98
  | `ai prepare-context` | si | si | si | Modo deterministico por defecto; planner opcional con contrato docs-only. |
97
99
  | `ai plan` | si | si | si | El planner ya es implicito; `--with-planner` se acepta por consistencia. |
98
100
  | `spec create` | si | si | si | Consume un plan tecnico aprobado del planner; no vuelve a ejecutar proveedor. Review previsualiza el paquete antes de escribir. |
@@ -108,8 +110,25 @@ Reglas:
108
110
  | `flow`, `dashboard`, `next`, `graph`, `version` | no | no | no | Lectura/inspeccion; `dashboard` puede acotarse con `--details`, `--section` y `--limit`, pero no acepta flags decorativas. |
109
111
  | `ai inspect`, `ai export`, `ai specs list`, `ai slices list`, `ai trace report` | no | no | no | Superficies read-only o machine-readable. |
110
112
 
113
+ ## Contratos read-only de plan, graph y next
114
+
115
+ - `next --auto-start` requiere TTY interactiva; en CI/no-TTY falla antes de iniciar un slice y no emite JSON parcial.
116
+ - `plan` mantiene JSON limpio. Las advertencias sobre slices sin `estimated_hours` positivo aparecen solo en salida humana y esos slices cuentan como `0h`.
117
+ - `graph --level <n>` mantiene JSON limpio. Si el nivel no existe, la salida humana muestra un estado vacio localizado y `--json` emite `levels: []` / `conflicts: []`.
118
+ - `graph --json` tiene precedencia sobre `--format tree|mermaid|dot`; con ambos flags, la salida sigue siendo JSON parseable.
119
+
111
120
  ## Flujo recomendado para contexto de IA
112
121
 
122
+ Analisis profundo de un proyecto existente:
123
+
124
+ ```bash
125
+ npx create-quiver ai analyze-project --deep --dry-run
126
+ npx create-quiver ai analyze-project --deep --dry-run --json
127
+ npx create-quiver ai analyze-project --deep --review
128
+ ```
129
+
130
+ `ai analyze-project` debe mantener estas garantias: en `--dry-run` no escribe ni ejecuta proveedor; con proveedor no lee `.env`, dependencias, caches, binarios ni outputs generados; toda conclusion importante cita evidencia o queda como `unknown`; las escrituras se limitan a docs aprobados, usan bloques gestionados por Quiver, muestran diff y crean snapshot previo.
131
+
113
132
  Modo deterministico:
114
133
 
115
134
  ```bash
@@ -21,7 +21,7 @@ This document is the canonical command reference for the orchestration roadmap.
21
21
  | `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` |
22
22
  | `npx create-quiver dashboard` | Shows a compact read-only summary of project, spec, slice, run, approval, and agent status | macOS, Linux, Windows | next | `npx create-quiver dashboard --spec <spec>` |
23
23
  | `npx create-quiver dashboard --details` | Shows the full human dashboard report for audit/debug sessions | macOS, Linux, Windows | next | `npx create-quiver dashboard --details` |
24
- | `npx create-quiver dashboard --section <name>` | Shows one human dashboard section such as `specs`, `slices`, `blockers`, `warnings`, `agents`, `approvals`, `runs`, `active-slice`, or `next-steps` | macOS, Linux, Windows | next | `npx create-quiver dashboard --section slices --limit 10` |
24
+ | `npx create-quiver dashboard --section <name>` | Shows one human dashboard section such as `overview`, `specs`, `slices`, `blockers`, `warnings`, `agents`, `approvals`, `runs`, `active-slice`, or `next-steps` | macOS, Linux, Windows | next | `npx create-quiver dashboard --section slices --limit 10` |
25
25
  | `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` |
26
26
  | `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` |
27
27
  | `quiver:flow` | Runs the guided flow entrypoint through the generated npm script | macOS, Linux, Windows | v0.11 | `npm run quiver:flow` |
@@ -32,6 +32,8 @@ This document is the canonical command reference for the orchestration roadmap.
32
32
  | `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` |
33
33
  | `quiver:doctor -- --fix` | Applies safe idempotent repairs after review | macOS, Linux, Windows | v0.11 | `npm run quiver:doctor -- --fix` |
34
34
  | `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` |
35
+ | `quiver:evidence -- list --json` | Lists local evidence records as parseable JSON for automation | macOS, Linux, Windows | next | `npm run quiver:evidence -- list --json` |
36
+ | `quiver:evidence -- show <path> --json` | Shows one local evidence record with content and metadata as parseable JSON | macOS, Linux, Windows | next | `npm run quiver:evidence -- show .quiver/evidence/evidence.md --json` |
35
37
  | `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` |
36
38
  | `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` |
37
39
  | `npx create-quiver ai resume` | Resumes guidance from the last valid AI lifecycle phase | macOS, Linux, Windows | v0.12 | `npx create-quiver ai resume` |
@@ -85,8 +87,13 @@ This document is the canonical command reference for the orchestration roadmap.
85
87
  | `quiver:spec:status` | Shows spec worktree, branch, `slice-00`, and pending slices | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:status -- specs/<spec>` |
86
88
  | `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>` |
87
89
  | `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` |
90
+ | `quiver:start-slice` | Starts one slice through the canonical `slice start` namespace without requiring Bash | macOS, Linux, Windows | next | `npm run quiver:start-slice -- specs/<spec>/slices/<slice>/slice.json` |
88
91
  | `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` |
92
+ | `quiver:check-pr` | Validates PR readiness through the canonical `slice pr` namespace without requiring Bash | macOS, Linux, Windows | next | `npm run quiver:check-pr -- specs/<spec>/slices/<slice>/slice.json` |
93
+ | `quiver:check-scope` | Compares changed files with the declared slice scope without requiring Bash | macOS, Linux, Windows | next | `npm run quiver:check-scope -- specs/<spec>/slices/<slice>/slice.json --base main` |
94
+ | `quiver:cleanup-slice` | Cleans active-slice state through the canonical `slice cleanup` namespace without requiring Bash | macOS, Linux, Windows | next | `npm run quiver:cleanup-slice -- specs/<spec>/slices/<slice>/slice.json --dry-run` |
89
95
  | `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` |
96
+ | `quiver:new-handoff` | Creates an exceptional handoff through the canonical `handoff new` namespace without requiring Bash | macOS, Linux, Windows | next | `npm run quiver:new-handoff -- <spec-slug>` |
90
97
 
91
98
  ## CLI Flags
92
99
 
@@ -101,9 +108,9 @@ This document is the canonical command reference for the orchestration roadmap.
101
108
  | `--output <file>` | `evidence run` | Write the evidence Markdown file to an explicit path instead of `.quiver/evidence/` |
102
109
  | `--max-output <n>` | `evidence run` | Limit captured stdout and stderr characters per section |
103
110
  | `--dir <target>` | `demo create spec-viewer` | Select the demo target directory; default is `./quiver-spec-viewer` |
104
- | `--json` | `dashboard`, `version`, `plan`, `graph`, `next` | Emit machine-readable JSON |
111
+ | `--json` | `dashboard`, `version`, `plan`, `graph`, `next`, `evidence list`, `evidence show` | Emit machine-readable JSON |
105
112
  | `--details` | `dashboard` | Show the full human dashboard report instead of the compact default; incompatible with `--json` and `--section` |
106
- | `--section <name>` | `dashboard` | Show one human dashboard section; incompatible with `--json` and `--details` |
113
+ | `--section <name>` | `dashboard` | Show one human dashboard section: `overview`, `specs`, `slices`, `blockers`, `warnings`, `agents`, `approvals`, `runs`, `active-slice`, or `next-steps`; incompatible with `--json` and `--details` |
107
114
  | `--limit <n>` | `dashboard` | Limit compact dashboard lists between 1 and 100; incompatible with `--json` |
108
115
  | `--all-ready` | `next` | List all ready slices instead of just the next one |
109
116
  | `--only-ready` | `plan` | Show only slices with no pending dependencies |
@@ -131,7 +138,7 @@ This document is the canonical command reference for the orchestration roadmap.
131
138
  | `--execute` | `ai execute-plan` | Execute the planned waves instead of printing commands |
132
139
  | `--mode <auto\|manual\|delegated>` | `ai execute-plan` | Choose compatible sequential execution, manual prompt output, or delegated worktree execution |
133
140
  | `--create` | `ai pr` | Create the GitHub PR after preflight and plan review |
134
- | `--base <branch>` | `ai pr`, `spec close` | Select PR base or cleanup base branch |
141
+ | `--base <branch>` | `check-slice`, `check-scope`, `check-pr`, `ai pr`, `spec start`, `spec close` | Override base branch resolution; explicit values win before Remote HEAD and fallback branches |
135
142
  | `--allow-dirty` | `ai execute-slice`, `ai execute-plan` | Allow pre-existing dirty files and ignore them for scope diff |
136
143
  | `--ssh-host-alias <alias>` | `ai doctor`, `ai pr` | SSH host alias from the user's Git config, for example `github-work` |
137
144
  | `--identity-file <path>` | `ai doctor`, `ai pr` | SSH key path to validate separately from the host alias |
@@ -143,10 +150,15 @@ This document is the canonical command reference for the orchestration roadmap.
143
150
  - The `quiver` binary is an alias to the same package CLI after local installation. Keep `npx create-quiver` as the bootstrap command.
144
151
  - Keep the table concise and cross-platform.
145
152
  - Shared graph library: `src/create-quiver/lib/slice-graph.js`.
153
+ - `quiver:plan` shows a human-only note when slices have no positive `estimated_hours`; JSON remains machine-readable and reports those hours as `0`.
146
154
  - `quiver:graph --format mermaid` is the PR-friendly Mermaid export; `--format dot` is for Graphviz/DOT consumers.
147
- - `quiver:next` prints the next ready slice and can auto-start it behind a confirmation prompt.
155
+ - `quiver:graph --json` takes precedence over `--format tree|mermaid|dot`, so combined flags still emit parseable JSON.
156
+ - `quiver:graph --level <n>` reports a localized human empty state when the level has no slices; JSON emits empty `levels` and `conflicts` arrays.
157
+ - `quiver:next` prints the next ready slice and can auto-start it behind a confirmation prompt in interactive TTY sessions only.
148
158
  - `check-slice` validates `depends_on` targets and requires `parallel_safe_reason` when `parallel_safe` is `never`.
149
159
  - `check-handoff` validates both exceptional `HANDOFF.md` transfers and current slice-local `EXECUTION_BRIEF.md` / `CLOSURE_BRIEF.md` contracts.
160
+ - Prefer canonical namespaces for new usage: `slice start|check|pr|scope|cleanup|refresh-active` and `handoff check|new`. Legacy aliases such as `start-slice`, `check-slice`, and `check-handoff` remain available and warn only on stderr.
161
+ - On Windows PowerShell, use `npx create-quiver ...` directly or generated `quiver:*` npm scripts. Bash-only scripts such as `start:slice` and `check:slice` are legacy compatibility paths for Bash-capable shells.
150
162
  - `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.
151
163
  - `quiver:ai:prepare-context -- --dry-run` previews deterministic 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.
152
164
  - `quiver:ai:prepare-context -- --with-planner` invokes a planner provider and only accepts a validated docs-only proposal. Use `--print-prompt` for external planners, `--review` to inspect the proposal before writing, and `--interactive` to require confirmation.
@@ -169,7 +181,9 @@ This document is the canonical command reference for the orchestration roadmap.
169
181
  - `quiver:ai:approvals`, `quiver:flow`, `quiver:ai:status`, `quiver:ai:resume`, and `quiver:spec:create -- --interactive` use the same approval-candidate data so next-step guidance stays consistent.
170
182
  - `quiver:ai:prompt-slice -- --dry-run` prints a paste-ready manual executor prompt and does not call a provider.
171
183
  - For commands pasted into another AI agent, prefer a non-interactive pinned form such as `npx --yes create-quiver@<version> ai prompt-slice --slice specs/<spec>/slices/<slice>/slice.json --dry-run`.
172
- - `quiver:evidence -- run -- <command>` preserves the wrapped command exit code. Redaction is best effort; avoid commands that intentionally print secrets.
184
+ - `quiver:evidence -- run -- <command>` preserves the wrapped command exit code, writes failure evidence, records signal termination as `Signal`, and returns the standard `128 + signal` exit code for signaled processes.
185
+ - Explicit `quiver:evidence -- run --output <file>` targets and `quiver:evidence -- show <path>` reads must stay inside the project root; Quiver rejects path traversal and symlink escapes before command execution or file reads.
186
+ - Evidence output redaction/truncation is best effort; avoid commands that intentionally print secrets.
173
187
  - `demo create spec-viewer` is optional and static; it must stay outside default `init`.
174
188
  - `quiver:spec:start -- --dry-run specs/<spec>` previews the spec worktree path and branch without creating a worktree.
175
189
  - `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.
@@ -1,21 +1,78 @@
1
1
  # Git and PR Guide
2
2
 
3
- **Version:** 2.0
4
- **Last updated:** 2026-05-26
3
+ **Version:** 2.1
4
+ **Last updated:** 2026-06-02
5
5
 
6
6
  ## Purpose
7
7
 
8
- This guide explains how to open and review spec PRs without breaking the canonical workflow.
8
+ This guide explains how to open, review, and merge slice PRs without breaking the canonical workflow.
9
9
 
10
10
  ## Core Rule
11
11
 
12
- - One slice = one commit
13
- - One spec = one PR
14
- - One spec should be worked from one dedicated worktree/branch.
12
+ - One slice = one commit.
13
+ - One slice = one PR by default.
14
+ - One spec can produce multiple PRs. Grouped PRs are exceptions and must meet the grouped PR policy below.
15
+ - One active PR should be worked from one dedicated worktree/branch.
15
16
  - Slice numbers reset per spec. `slice-01` is the first slice in each spec.
16
- - Do not commit directly to `develop`
17
- - Open and merge the documentation PR before the first slice starts execution
18
- - Do not open the spec PR before the documentation PR is merged
17
+ - Do not commit directly to `develop` or any protected base branch.
18
+ - Open and merge the documentation PR that establishes `slice-00` before runtime slices start execution.
19
+ - Do not open runtime slice PRs before the documentation foundation is merged.
20
+
21
+ ## PR Sizing Policy
22
+
23
+ ### Individual PR Required
24
+
25
+ Open an individual PR for any slice that includes:
26
+
27
+ - Functional code.
28
+ - UI/UX changes.
29
+ - Supabase, Edge Functions, auth, or storage changes.
30
+ - Preview or deployment behavior.
31
+ - Performance or code-splitting changes.
32
+ - Refactors.
33
+ - Tests or CI changes that affect gates.
34
+
35
+ ### Grouped PR Exception
36
+
37
+ A grouped PR is allowed only when all conditions are true:
38
+
39
+ - It contains at most 2-3 slices.
40
+ - Every included slice is docs-only, research-only, or low-risk mechanical cleanup.
41
+ - It does not change behavior.
42
+ - It does not mix docs with UI, backend, refactor, or performance work.
43
+ - Each slice keeps separate evidence.
44
+ - The whole PR can be reverted without leaving partial state.
45
+
46
+ If any condition fails, split the work into individual slice PRs.
47
+
48
+ ## Merge Policy
49
+
50
+ - Human merge is the default.
51
+ - AI agents may create PRs, fix CI, monitor checks, and mark PRs as ready.
52
+ - Assisted auto-merge is allowed only when explicitly authorized by a human for that PR or for a documented category.
53
+
54
+ ## Assisted Auto-Merge Policy
55
+
56
+ Assisted auto-merge is allowed only when all conditions are true:
57
+
58
+ - The PR is docs-only or chore-only.
59
+ - Risk is low.
60
+ - There are no runtime changes.
61
+ - There are no production configuration changes.
62
+ - Checks are green.
63
+ - There are no pending comments.
64
+
65
+ Assisted auto-merge is prohibited for:
66
+
67
+ - UI.
68
+ - Supabase.
69
+ - Edge Functions.
70
+ - Auth.
71
+ - Storage.
72
+ - Preview.
73
+ - Performance.
74
+ - Refactors.
75
+ - Changes with doubtful rollback.
19
76
 
20
77
  ## AI PR Preflight
21
78
 
@@ -36,10 +93,11 @@ Use the SSH host alias from your Git remote separately from the key path. Quiver
36
93
 
37
94
  ## Required PR Headings
38
95
 
39
- All spec PR notes must use:
96
+ All slice PR notes must use:
40
97
 
41
98
  - `## Title`
42
99
  - `## Summary`
100
+ - `## PR Policy`
43
101
  - `## Scope`
44
102
  - `## Files`
45
103
  - `## How to Test (DETAILED - REQUIRED)`
@@ -66,5 +124,9 @@ Inside `How to Test`, use:
66
124
  ## Anti-Patterns
67
125
 
68
126
  - Pushing directly to `develop`
69
- - Reusing the same branch for multiple specs
127
+ - Reusing the same branch for unrelated PRs
128
+ - Grouping behavior-changing slices
129
+ - Mixing docs-only slices with UI, backend, refactor, or performance work
130
+ - Auto-merging without explicit human authorization
131
+ - Auto-merging prohibited categories
70
132
  - Writing PR bodies outside `pr.md`
@@ -3,10 +3,68 @@
3
3
  ## Reglas principales
4
4
 
5
5
  - Un slice equivale a un commit.
6
- - Un spec equivale a un PR.
7
- - No mezclar specs en la misma branch.
6
+ - Un slice equivale a un PR por defecto.
7
+ - Un spec puede generar multiples PRs.
8
+ - Los PRs agrupados son excepciones y deben cumplir la politica de agrupacion.
9
+ - No mezclar PRs no relacionados en la misma branch.
8
10
  - No abrir PR sin evidencia de validacion.
9
11
 
12
+ ## Politica de tamano de PR
13
+
14
+ ### PR individual obligatorio
15
+
16
+ Abri un PR individual para cualquier slice que incluya:
17
+
18
+ - codigo funcional;
19
+ - UI/UX;
20
+ - Supabase, Edge Functions, auth o storage;
21
+ - preview o comportamiento de deploy;
22
+ - performance o code-splitting;
23
+ - refactors;
24
+ - tests o CI que afecten gates.
25
+
26
+ ### PR agrupado permitido
27
+
28
+ Un PR agrupado esta permitido solo si:
29
+
30
+ - incluye como maximo 2-3 slices;
31
+ - todos los slices son docs-only, research-only o limpieza mecanica de bajo riesgo;
32
+ - no cambia comportamiento;
33
+ - no mezcla docs con UI, backend, refactor o performance;
34
+ - cada slice mantiene evidencia separada;
35
+ - el PR completo puede revertirse sin dejar estado parcial.
36
+
37
+ Si una condicion falla, separa el trabajo en PRs individuales por slice.
38
+
39
+ ## Politica de merge
40
+
41
+ - El merge humano es el default.
42
+ - Los agentes IA pueden crear PRs, corregir CI, monitorear checks y marcar PRs como listos.
43
+ - El auto-merge asistido solo esta permitido con autorizacion humana explicita para ese PR o para una categoria documentada.
44
+
45
+ ## Politica de auto-merge asistido
46
+
47
+ El auto-merge asistido esta permitido solo si:
48
+
49
+ - el PR es docs-only o chore-only;
50
+ - el riesgo es bajo;
51
+ - no hay cambios runtime;
52
+ - no hay cambios de configuracion productiva;
53
+ - los checks estan verdes;
54
+ - no hay comentarios pendientes.
55
+
56
+ El auto-merge asistido esta prohibido para:
57
+
58
+ - UI;
59
+ - Supabase;
60
+ - Edge Functions;
61
+ - auth;
62
+ - storage;
63
+ - preview;
64
+ - performance;
65
+ - refactors;
66
+ - cambios con rollback dudoso.
67
+
10
68
  ## Preflight de PR
11
69
 
12
70
  ```bash
@@ -17,6 +75,7 @@ npx create-quiver ai pr --dry-run --ssh-host-alias <alias> --identity-file <key>
17
75
 
18
76
  - `## Title`
19
77
  - `## Summary`
78
+ - `## PR Policy`
20
79
  - `## Scope`
21
80
  - `## Files`
22
81
  - `## How to Test (DETAILED - REQUIRED)`
@@ -1,21 +1,78 @@
1
1
  # Git and PR Guide
2
2
 
3
- **Version:** 2.0
3
+ **Version:** 2.1
4
4
  **Last updated:** {{FECHA}}
5
5
 
6
6
  ## Purpose
7
7
 
8
- This guide explains how to open and review spec PRs without breaking the canonical workflow.
8
+ This guide explains how to open, review, and merge slice PRs without breaking the canonical workflow.
9
9
 
10
10
  ## Core Rule
11
11
 
12
- - One slice = one commit
13
- - One spec = one PR
14
- - One spec should be worked from one dedicated worktree/branch.
12
+ - One slice = one commit.
13
+ - One slice = one PR by default.
14
+ - One spec can produce multiple PRs. Grouped PRs are exceptions and must meet the grouped PR policy below.
15
+ - One active PR should be worked from one dedicated worktree/branch.
15
16
  - Slice numbers reset per spec. `slice-01` is the first slice in each spec.
16
- - Do not commit directly to `develop`
17
- - Open and merge the documentation PR before the first slice starts execution
18
- - Do not open the spec PR before the documentation PR is merged
17
+ - Do not commit directly to `develop` or any protected base branch.
18
+ - Open and merge the documentation PR that establishes `slice-00` before runtime slices start execution.
19
+ - Do not open runtime slice PRs before the documentation foundation is merged.
20
+
21
+ ## PR Sizing Policy
22
+
23
+ ### Individual PR Required
24
+
25
+ Open an individual PR for any slice that includes:
26
+
27
+ - Functional code.
28
+ - UI/UX changes.
29
+ - Supabase, Edge Functions, auth, or storage changes.
30
+ - Preview or deployment behavior.
31
+ - Performance or code-splitting changes.
32
+ - Refactors.
33
+ - Tests or CI changes that affect gates.
34
+
35
+ ### Grouped PR Exception
36
+
37
+ A grouped PR is allowed only when all conditions are true:
38
+
39
+ - It contains at most 2-3 slices.
40
+ - Every included slice is docs-only, research-only, or low-risk mechanical cleanup.
41
+ - It does not change behavior.
42
+ - It does not mix docs with UI, backend, refactor, or performance work.
43
+ - Each slice keeps separate evidence.
44
+ - The whole PR can be reverted without leaving partial state.
45
+
46
+ If any condition fails, split the work into individual slice PRs.
47
+
48
+ ## Merge Policy
49
+
50
+ - Human merge is the default.
51
+ - AI agents may create PRs, fix CI, monitor checks, and mark PRs as ready.
52
+ - Assisted auto-merge is allowed only when explicitly authorized by a human for that PR or for a documented category.
53
+
54
+ ## Assisted Auto-Merge Policy
55
+
56
+ Assisted auto-merge is allowed only when all conditions are true:
57
+
58
+ - The PR is docs-only or chore-only.
59
+ - Risk is low.
60
+ - There are no runtime changes.
61
+ - There are no production configuration changes.
62
+ - Checks are green.
63
+ - There are no pending comments.
64
+
65
+ Assisted auto-merge is prohibited for:
66
+
67
+ - UI.
68
+ - Supabase.
69
+ - Edge Functions.
70
+ - Auth.
71
+ - Storage.
72
+ - Preview.
73
+ - Performance.
74
+ - Refactors.
75
+ - Changes with doubtful rollback.
19
76
 
20
77
  ## AI PR Preflight
21
78
 
@@ -36,10 +93,11 @@ Use the SSH host alias from your Git remote separately from the key path. Quiver
36
93
 
37
94
  ## Required PR Headings
38
95
 
39
- All spec PR notes must use:
96
+ All slice PR notes must use:
40
97
 
41
98
  - `## Title`
42
99
  - `## Summary`
100
+ - `## PR Policy`
43
101
  - `## Scope`
44
102
  - `## Files`
45
103
  - `## How to Test (DETAILED - REQUIRED)`
@@ -66,5 +124,9 @@ Inside `How to Test`, use:
66
124
  ## Anti-Patterns
67
125
 
68
126
  - Pushing directly to `develop`
69
- - Reusing the same branch for multiple specs
127
+ - Reusing the same branch for unrelated PRs
128
+ - Grouping behavior-changing slices
129
+ - Mixing docs-only slices with UI, backend, refactor, or performance work
130
+ - Auto-merging without explicit human authorization
131
+ - Auto-merging prohibited categories
70
132
  - Writing PR bodies outside `pr.md`
package/docs/INDEX.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Quiver Documentation Index
2
2
 
3
- **Last updated:** 2026-05-29
3
+ **Last updated:** 2026-06-10
4
4
 
5
5
  Use this file as the first documentation map before planning, implementing, reviewing, or opening PRs in this repository. Prefer the smallest set of linked documents that fits the task.
6
6
 
@@ -10,6 +10,7 @@ Use this file as the first documentation map before planning, implementing, revi
10
10
  - **AI guide:** [`../README_FOR_AI.md`](../README_FOR_AI.md)
11
11
  - **CLI UX standards:** [`./CLI_UX_GUIDE.md`](./CLI_UX_GUIDE.md)
12
12
  - **Command reference:** [`./reference/commands.md`](./reference/commands.md)
13
+ - **Slice JSON schema:** [`./reference/slice-schema.md`](./reference/slice-schema.md)
13
14
  - **Troubleshooting:** [`./TROUBLESHOOTING.md`](./TROUBLESHOOTING.md)
14
15
  - **Git and PR workflow:** [`./GITFLOW_PR_GUIDE.md`](./GITFLOW_PR_GUIDE.md)
15
16
 
@@ -39,6 +40,10 @@ Canonical specs live outside `docs/` in [`../specs/`](../specs/).
39
40
 
40
41
  Recent specs:
41
42
 
43
+ - [`../specs/quiver-v52-schema-docs-release-hygiene/SPEC.md`](../specs/quiver-v52-schema-docs-release-hygiene/SPEC.md)
44
+ - [`../specs/quiver-v51-cli-ergonomics-automation-contracts/SPEC.md`](../specs/quiver-v51-cli-ergonomics-automation-contracts/SPEC.md)
45
+ - [`../specs/quiver-v50-audit-trust-foundation/SPEC.md`](../specs/quiver-v50-audit-trust-foundation/SPEC.md)
46
+ - [`../specs/quiver-v46-deep-project-analysis/SPEC.md`](../specs/quiver-v46-deep-project-analysis/SPEC.md)
42
47
  - [`../specs/quiver-v45-ci-actions-node24-readiness/SPEC.md`](../specs/quiver-v45-ci-actions-node24-readiness/SPEC.md)
43
48
  - [`../specs/quiver-v44-provider-live-output-tui-lite/SPEC.md`](../specs/quiver-v44-provider-live-output-tui-lite/SPEC.md)
44
49
  - [`../specs/quiver-v43-cli-i18n-audit-release-readiness/SPEC.md`](../specs/quiver-v43-cli-i18n-audit-release-readiness/SPEC.md)
@@ -15,7 +15,8 @@ Use `docs/PROJECT_MAP.md` for the package manager, project stack, test commands,
15
15
  ## Hard Rules
16
16
 
17
17
  - One slice = one commit.
18
- - One spec = one PR.
18
+ - One slice = one PR by default.
19
+ - Grouped PRs are exceptions and must follow `docs/GITFLOW_PR_GUIDE.md`.
19
20
  - Read `./STANDARD.md` for workflow details.
20
21
  - Read `./DEEP.md` for history and context.
21
22
  - Do not edit files outside the active slice.
@@ -19,7 +19,8 @@ This is the default context pack for everyday AI work.
19
19
  - Use maps, metadata, and diffs before opening full source files.
20
20
  - Keep scope inside the active slice.
21
21
  - Make one commit per slice.
22
- - Open one PR per spec.
22
+ - Open one PR per slice by default.
23
+ - Group slices in one PR only when `docs/GITFLOW_PR_GUIDE.md` allows it.
23
24
  - Record durable decisions in `docs/DECISIONS.md`.
24
25
  - Treat `docs/PROJECT_MAP.md` as the single source of truth for stack, package manager, and command references.
25
26
 
@@ -8,7 +8,9 @@ Este documento define el workflow canonico de implementacion del proyecto.
8
8
 
9
9
  - No implementar sin slice.
10
10
  - Un slice equivale a un commit.
11
- - Un spec equivale a un PR.
11
+ - Un slice equivale a un PR por defecto.
12
+ - Un spec puede generar multiples PRs.
13
+ - Los PRs agrupados son excepciones y deben cumplir `docs/GITFLOW_PR_GUIDE.md`.
12
14
  - El spec define el plan; el slice define la ejecucion.
13
15
  - Ningun slice debe ejecutarse hasta estar listo.
14
16
  - La salida JSON y los artefactos machine-readable no se traducen.
@@ -8,7 +8,9 @@ This document is the canonical implementation workflow for the project.
8
8
 
9
9
  - Do not implement without a slice.
10
10
  - One slice maps to one commit.
11
- - One spec maps to one PR.
11
+ - One slice maps to one PR by default.
12
+ - One spec can produce multiple PRs.
13
+ - Grouped PRs are exceptions and must follow `docs/GITFLOW_PR_GUIDE.md`.
12
14
  - Slice numbering is local to each spec. Every spec starts with mandatory `slice-00` as the documentary foundation; `slice-01` is the first implementation slice.
13
15
  - The spec defines the plan; the slice defines the execution.
14
16
  - No slice should enter execution until it is `ready`.
@@ -63,9 +65,9 @@ Use maps, metadata, diffs, and summaries first. Open full files only when the sm
63
65
  - `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.
64
66
  9. Validate with `npx create-quiver check-slice <slice.json>` or `npm run quiver:check-slice -- <slice.json>`.
65
67
  10. Write evidence. Prefer `npx create-quiver evidence run -- <command>` when you need a compact local Markdown record of validation output.
66
- 11. Repeat for the next slice until the spec is complete.
67
- 12. 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.
68
- 13. After the PR is merged and the spec worktree is clean, close it with `npx create-quiver spec close specs/<spec-slug>`.
68
+ 11. Open one PR for the completed slice by default. Use `npx create-quiver ai pr --dry-run --input specs/<spec-slug>/pr.md --ssh-host-alias <alias> ...` first when the generated spec PR body is the intended body, then add `--create` only after review. For slice-level PR bodies, keep the PR aligned with the slice `pr.md` and validate the slice evidence before creating the PR.
69
+ 12. Repeat for the next slice until the spec is complete.
70
+ 13. After the final PR for the spec is merged and the spec worktree is clean, close it with `npx create-quiver spec close specs/<spec-slug>`.
69
71
 
70
72
  ## Support Contract
71
73
 
@@ -2,6 +2,13 @@
2
2
 
3
3
  Esta guía explica por qué Quiver normalmente se ejecuta con `npx`, cuándo aparece en `node_modules` y cuándo conviene instalarlo como dependencia del proyecto.
4
4
 
5
+ ## Requisitos previos
6
+
7
+ - Node.js `>=20.12.0`.
8
+ - npm compatible con esa versión de Node.
9
+
10
+ El mínimo está declarado en `package.json` y se valida en CI. También coincide con el requisito de dependencias del CLI como `@clack/prompts`.
11
+
5
12
  ## Uso recomendado
6
13
 
7
14
  Para usar la última versión publicada de Quiver, ejecutá: