create-quiver 0.15.4 → 0.16.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 (179) 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/.quiver/runs/run-2026-06-09t19-14-39z/approvals.json +5 -0
  6. package/.quiver/runs/run-2026-06-09t19-14-39z/decisions.md +2 -0
  7. package/.quiver/runs/run-2026-06-09t19-14-39z/requirement.md +0 -0
  8. package/.quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/docs/INDEX.md +97 -0
  9. package/.quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/manifest.json +61 -0
  10. package/.quiver/runs/run-2026-06-09t19-14-39z/state.json +28 -0
  11. package/ACTIVE_SLICES.md +43 -0
  12. package/ARCHITECTURE.md +133 -0
  13. package/CHANGELOG.md +12 -0
  14. package/CONTRIBUTING.md +174 -9
  15. package/README.md +10 -1
  16. package/ROADMAP.md +4 -0
  17. package/SECURITY.md +9 -2
  18. package/auditoria-ux-ui-performance-documentacion.md +705 -0
  19. package/copys-landing-page.md +244 -0
  20. package/docs/AI_CONTEXT.md.es.template +3 -1
  21. package/docs/AI_CONTEXT.md.template +3 -1
  22. package/docs/CLI_UX_GUIDE.md +9 -1
  23. package/docs/COMMANDS.md.template +20 -6
  24. package/docs/GITFLOW_PR_GUIDE.md +73 -11
  25. package/docs/GITFLOW_PR_GUIDE.md.es.template +61 -2
  26. package/docs/GITFLOW_PR_GUIDE.md.template +72 -10
  27. package/docs/INDEX.md +1 -0
  28. package/docs/QUICK.md.template +2 -1
  29. package/docs/STANDARD.md.template +2 -1
  30. package/docs/WORKFLOW.md.es.template +3 -1
  31. package/docs/WORKFLOW.md.template +6 -4
  32. package/docs/ai/ACTIVE_SLICE.md +61 -0
  33. package/docs/getting-started/installation.md +7 -0
  34. package/docs/reference/commands.md +104 -6
  35. package/docs/reference/slice-schema.md +37 -0
  36. package/docs/schema/slice.schema.json +221 -0
  37. package/docs/specs/01-spec/01-slice/01-slice.json +36 -0
  38. package/docs/specs/01-spec/01-slice/01-slice.md +106 -0
  39. package/docs/specs/01-spec/01-slice/CLOSURE_BRIEF.md +80 -0
  40. package/docs/specs/01-spec/01-slice/EXECUTION_BRIEF.md +39 -0
  41. package/docs/specs/01-spec/02-slice/02-slice.json +36 -0
  42. package/docs/specs/01-spec/02-slice/02-slice.md +108 -0
  43. package/docs/specs/01-spec/02-slice/CLOSURE_BRIEF.md +88 -0
  44. package/docs/specs/01-spec/02-slice/EXECUTION_BRIEF.md +40 -0
  45. package/docs/specs/01-spec/03-slice/03-slice.json +36 -0
  46. package/docs/specs/01-spec/03-slice/03-slice.md +103 -0
  47. package/docs/specs/01-spec/03-slice/CLOSURE_BRIEF.md +54 -0
  48. package/docs/specs/01-spec/03-slice/EXECUTION_BRIEF.md +39 -0
  49. package/docs/specs/01-spec/04-slice/04-slice.json +36 -0
  50. package/docs/specs/01-spec/04-slice/04-slice.md +107 -0
  51. package/docs/specs/01-spec/04-slice/CLOSURE_BRIEF.md +46 -0
  52. package/docs/specs/01-spec/04-slice/EXECUTION_BRIEF.md +39 -0
  53. package/docs/specs/01-spec/05-slice/05-slice.json +36 -0
  54. package/docs/specs/01-spec/05-slice/05-slice.md +106 -0
  55. package/docs/specs/01-spec/05-slice/CLOSURE_BRIEF.md +84 -0
  56. package/docs/specs/01-spec/05-slice/EXECUTION_BRIEF.md +109 -0
  57. package/docs/specs/01-spec/06-slice/06-slice.json +36 -0
  58. package/docs/specs/01-spec/06-slice/06-slice.md +107 -0
  59. package/docs/specs/01-spec/06-slice/CLOSURE_BRIEF.md +67 -0
  60. package/docs/specs/01-spec/06-slice/EXECUTION_BRIEF.md +39 -0
  61. package/docs/specs/01-spec/07-slice/07-slice.json +36 -0
  62. package/docs/specs/01-spec/07-slice/07-slice.md +105 -0
  63. package/docs/specs/01-spec/07-slice/CLOSURE_BRIEF.md +71 -0
  64. package/docs/specs/01-spec/07-slice/EXECUTION_BRIEF.md +39 -0
  65. package/docs/specs/01-spec/08-slice/08-slice.json +36 -0
  66. package/docs/specs/01-spec/08-slice/08-slice.md +105 -0
  67. package/docs/specs/01-spec/08-slice/CLOSURE_BRIEF.md +114 -0
  68. package/docs/specs/01-spec/08-slice/EXECUTION_BRIEF.md +39 -0
  69. package/docs/specs/01-spec/CLOSURE_BRIEF.md +87 -0
  70. package/docs/specs/01-spec/spec.md +197 -0
  71. package/docs/workflows/full-ai-spec-to-pr.md +46 -3
  72. package/i18n/es/docs/GITFLOW_PR_GUIDE.md.template +38 -1
  73. package/package.json +27 -1
  74. package/pr.md +154 -0
  75. package/scripts/package-quiver.sh +82 -2
  76. package/scripts/release-quiver.sh +14 -3
  77. package/specs/[project-name]/slices/pr.md.template +19 -0
  78. package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +91 -0
  79. package/specs/quiver-v50-audit-trust-foundation/EVIDENCE_REPORT.md +151 -0
  80. package/specs/quiver-v50-audit-trust-foundation/EXECUTION_PLAN.md +34 -0
  81. package/specs/quiver-v50-audit-trust-foundation/SPEC.md +113 -0
  82. package/specs/quiver-v50-audit-trust-foundation/STATUS.md +26 -0
  83. package/specs/quiver-v50-audit-trust-foundation/pr.md +120 -0
  84. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/CLOSURE_BRIEF.md +20 -0
  85. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/EXECUTION_BRIEF.md +58 -0
  86. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/slice.json +57 -0
  87. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/CLOSURE_BRIEF.md +24 -0
  88. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/EXECUTION_BRIEF.md +67 -0
  89. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/slice.json +71 -0
  90. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/CLOSURE_BRIEF.md +24 -0
  91. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/EXECUTION_BRIEF.md +71 -0
  92. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/slice.json +81 -0
  93. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/CLOSURE_BRIEF.md +22 -0
  94. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/EXECUTION_BRIEF.md +57 -0
  95. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/slice.json +56 -0
  96. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/CLOSURE_BRIEF.md +23 -0
  97. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/EXECUTION_BRIEF.md +68 -0
  98. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/slice.json +84 -0
  99. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/CLOSURE_BRIEF.md +25 -0
  100. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/EXECUTION_BRIEF.md +73 -0
  101. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/slice.json +72 -0
  102. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/CLOSURE_BRIEF.md +22 -0
  103. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/EXECUTION_BRIEF.md +66 -0
  104. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/slice.json +74 -0
  105. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/CLOSURE_BRIEF.md +29 -0
  106. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/EXECUTION_BRIEF.md +74 -0
  107. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/slice.json +81 -0
  108. package/specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md +145 -0
  109. package/specs/quiver-v51-cli-ergonomics-automation-contracts/EXECUTION_PLAN.md +32 -0
  110. package/specs/quiver-v51-cli-ergonomics-automation-contracts/SPEC.md +109 -0
  111. package/specs/quiver-v51-cli-ergonomics-automation-contracts/STATUS.md +25 -0
  112. package/specs/quiver-v51-cli-ergonomics-automation-contracts/pr.md +69 -0
  113. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/CLOSURE_BRIEF.md +20 -0
  114. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/EXECUTION_BRIEF.md +58 -0
  115. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json +56 -0
  116. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/CLOSURE_BRIEF.md +21 -0
  117. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/EXECUTION_BRIEF.md +61 -0
  118. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/slice.json +68 -0
  119. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/CLOSURE_BRIEF.md +25 -0
  120. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/EXECUTION_BRIEF.md +65 -0
  121. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/pr.md +134 -0
  122. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/slice.json +80 -0
  123. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/CLOSURE_BRIEF.md +31 -0
  124. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/EXECUTION_BRIEF.md +80 -0
  125. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/pr.md +159 -0
  126. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/slice.json +102 -0
  127. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/CLOSURE_BRIEF.md +25 -0
  128. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/EXECUTION_BRIEF.md +74 -0
  129. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/pr.md +147 -0
  130. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/slice.json +91 -0
  131. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/CLOSURE_BRIEF.md +28 -0
  132. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/EXECUTION_BRIEF.md +73 -0
  133. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/pr.md +146 -0
  134. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/slice.json +100 -0
  135. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/CLOSURE_BRIEF.md +36 -0
  136. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md +76 -0
  137. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/pr.md +155 -0
  138. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json +111 -0
  139. package/specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md +95 -0
  140. package/specs/quiver-v52-schema-docs-release-hygiene/EXECUTION_PLAN.md +31 -0
  141. package/specs/quiver-v52-schema-docs-release-hygiene/SPEC.md +107 -0
  142. package/specs/quiver-v52-schema-docs-release-hygiene/STATUS.md +22 -0
  143. package/specs/quiver-v52-schema-docs-release-hygiene/pr.md +69 -0
  144. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/CLOSURE_BRIEF.md +21 -0
  145. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/EXECUTION_BRIEF.md +60 -0
  146. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/slice.json +62 -0
  147. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md +34 -0
  148. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/EXECUTION_BRIEF.md +71 -0
  149. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md +146 -0
  150. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json +106 -0
  151. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/CLOSURE_BRIEF.md +33 -0
  152. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/EXECUTION_BRIEF.md +67 -0
  153. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/pr.md +144 -0
  154. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json +86 -0
  155. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/CLOSURE_BRIEF.md +38 -0
  156. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/EXECUTION_BRIEF.md +75 -0
  157. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/pr.md +159 -0
  158. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/slice.json +105 -0
  159. package/src/create-quiver/commands/changelog.js +93 -0
  160. package/src/create-quiver/commands/config.js +16 -5
  161. package/src/create-quiver/commands/evidence.js +33 -2
  162. package/src/create-quiver/commands/flow.js +1 -0
  163. package/src/create-quiver/commands/graph.js +8 -2
  164. package/src/create-quiver/commands/plan.js +6 -0
  165. package/src/create-quiver/commands/spec.js +28 -13
  166. package/src/create-quiver/index.js +294 -94
  167. package/src/create-quiver/lib/ai/github.js +5 -2
  168. package/src/create-quiver/lib/ai/spec-templates.js +19 -0
  169. package/src/create-quiver/lib/cli/command-registry.js +71 -0
  170. package/src/create-quiver/lib/cli/parser.js +14 -0
  171. package/src/create-quiver/lib/evidence.js +161 -6
  172. package/src/create-quiver/lib/git.js +99 -0
  173. package/src/create-quiver/lib/i18n/messages/en.js +52 -7
  174. package/src/create-quiver/lib/i18n/messages/es.js +54 -9
  175. package/src/create-quiver/lib/init-docs.js +1 -1
  176. package/src/create-quiver/lib/init-layout.js +9 -8
  177. package/src/create-quiver/lib/lifecycle.js +24 -26
  178. package/src/create-quiver/lib/readiness.js +67 -56
  179. package/src/create-quiver/lib/spec-worktrees.js +16 -34
@@ -0,0 +1,105 @@
1
+ # 07-slice - Docs, tests y evidencia
2
+
3
+ ## 1. Nombre del slice
4
+
5
+ Docs, tests y evidencia.
6
+
7
+ ## 2. Objetivo del slice
8
+
9
+ Planificar como validar y documentar cambios futuros para que CLI, docs y tests no diverjan.
10
+
11
+ ## 3. Problema puntual que resuelve
12
+
13
+ Evita que tests nuevos den falsa seguridad o que docs generadas no coincidan con la CLI real.
14
+
15
+ ## 4. Valor observable que entrega
16
+
17
+ Contrato de evidencia para futuras implementaciones: pruebas minimas, docs afectadas y criterios de cierre.
18
+
19
+ ## 5. Alcance especifico
20
+
21
+ Plan documental de validacion, no ejecucion de tests ni cambios de docs.
22
+
23
+ ## 6. Que incluye
24
+
25
+ - Mapa de cobertura existente.
26
+ - Reglas para no reemplazar cobertura sin equivalencia.
27
+ - Gate CLI/docs.
28
+ - Evidencia minima por tipo de cambio.
29
+ - Registro de validaciones pendientes.
30
+
31
+ ## 7. Que no incluye
32
+
33
+ - Ejecutar tests.
34
+ - Modificar tests.
35
+ - Regenerar docs.
36
+ - Cambiar codigo.
37
+
38
+ ## 8. Actores involucrados
39
+
40
+ Reviewer, implementador futuro, maintainer y usuarios CLI.
41
+
42
+ ## 9. Precondiciones
43
+
44
+ Contrato de no regresion aprobado y planes de extraccion definidos.
45
+
46
+ ## 10. Entradas necesarias
47
+
48
+ Baseline, matriz de comandos, tests existentes y docs actuales.
49
+
50
+ ## 11. Flujo operativo paso a paso
51
+
52
+ 1. Mapear tests actuales por comportamiento.
53
+ 2. Identificar docs que describen comandos.
54
+ 3. Definir evidencia minima por cambio.
55
+ 4. Definir gate CLI/docs.
56
+ 5. Definir criterios para cobertura reemplazada.
57
+ 6. Definir reporte de cierre.
58
+
59
+ ## 12. Salidas esperadas
60
+
61
+ Checklist de validacion y evidencia para implementaciones futuras.
62
+
63
+ ## 13. Reglas de negocio aplicables
64
+
65
+ - No se elimina cobertura sin reemplazo equivalente.
66
+ - Docs deben reflejar CLI real.
67
+ - Evidencia no ejecutada se marca pendiente, no aprobada.
68
+ - Cambios de JSON/exit code requieren pruebas especificas.
69
+
70
+ ## 14. Validaciones
71
+
72
+ - Cada tipo de cambio tiene evidencia minima.
73
+ - Hay criterio para docs generadas.
74
+ - Hay criterio para tests reemplazados.
75
+ - Hay formato de riesgos residuales.
76
+
77
+ ## 15. Manejo de errores o edge cases
78
+
79
+ - Si una validacion no puede ejecutarse, registrar motivo y riesgo.
80
+ - Si docs se generan automaticamente, validar fuente y output.
81
+ - Si test viejo se borra, exigir mapeo de cobertura.
82
+
83
+ ## 16. Criterios de aceptacion
84
+
85
+ - Existe checklist de evidencia por tipo de cambio.
86
+ - Existe gate CLI/docs.
87
+ - Existe regla de cobertura equivalente.
88
+ - Validaciones pendientes no se confunden con exitos.
89
+ - Cierre requiere riesgos residuales explicitos.
90
+
91
+ ## 17. Dependencias tecnicas, funcionales o externas
92
+
93
+ Baseline, contrato y planes de extraccion.
94
+
95
+ ## 18. Depende de slices
96
+
97
+ `03-slice`, `05-slice` y `06-slice` como insumos para tipos de cambio.
98
+
99
+ ## 19. Riesgos / decisiones abiertas
100
+
101
+ Puede haber docs generadas cuyo proceso no este documentado.
102
+
103
+ ## 20. Pendientes / preguntas abiertas
104
+
105
+ Definir si evidencia minima sera manual, automatizada o ambas.
@@ -0,0 +1,71 @@
1
+ # CLOSURE_BRIEF - 07-slice
2
+
3
+ ## Resultado
4
+
5
+ Completado como contrato de docs, tests y evidencia, consolidado con el gate real usado durante `06-slice`.
6
+
7
+ ## Evidencia
8
+
9
+ Checklist de evidencia por tipo de cambio futuro:
10
+
11
+ | Tipo de cambio | Evidencia minima |
12
+ |---|---|
13
+ | Parser/dispatch | `node --check` de entrypoints afectados; help global; comando desconocido; version human/json; matriz de comandos afectados |
14
+ | Comando existente | Antes/despues; flags; aliases; stdout/stderr; JSON si aplica; exit codes; side effects; rollback |
15
+ | Comando nuevo | No colisiona con namespace existente; registry actualizado; help actualizado; tests o evidencia manual; rollback |
16
+ | Docs de comandos | `npm run docs:commands:write` cuando cambie help o registry; `npm run docs:commands:check` como gate obligatorio |
17
+ | Tests reemplazados | Mapeo explicito de cobertura anterior -> nueva cobertura equivalente antes de borrar o debilitar tests |
18
+ | JSON contract | Ejemplo JSON parseable; campos estables; `schema_version` cuando exista contrato de versionado |
19
+ | Write-capable command | `--dry-run` o sandbox; rutas generadas; side effects esperados; rollback; evidencia de no tocar rutas fuera de alcance |
20
+
21
+ Gate CLI/docs:
22
+
23
+ - Docs de comandos no pueden cerrarse si contradicen `--help`.
24
+ - Docs generadas deben indicar fuente y comando/generador usado.
25
+ - Validaciones pendientes se registran como pendientes, no como exitos.
26
+ - Todo cambio que altere el command surface debe actualizar `docs/reference/commands.md` con `npm run docs:commands:write`.
27
+ - Todo PR que altere comandos debe pasar `npm run docs:commands:check`.
28
+ - Todo PR que altere `CHANGELOG.md` o comandos relacionados con changelog debe pasar `npm run changelog:check`.
29
+
30
+ Gate minimo por PR de CLI:
31
+
32
+ | Gate | Cuando aplica | Evidencia esperada |
33
+ |---|---|---|
34
+ | Sintaxis | Siempre que cambie JS ejecutable o tests JS | `node --check <archivos afectados>` |
35
+ | Contrato CLI | Parser, registry, dispatch, help, comandos publicos | `node --test tests/commands/parser-contract.test.js tests/commands/cli-contract.test.js` o suite equivalente justificada |
36
+ | Docs generadas | Cambios en help, registry o comandos documentados | `npm run docs:commands:check` |
37
+ | Changelog | Cambios en changelog o wrapper de changelog | `npm run changelog:check` |
38
+ | Comando manual | Comando nuevo o comportamiento modificado | Ejecucion humana y `--json` si aplica, con exit code esperado |
39
+
40
+ Regla de cobertura equivalente:
41
+
42
+ - No borrar tests existentes sin listar que comportamiento cubrian.
43
+ - No reemplazar tests por snapshots mas amplios si se pierde verificacion de campos, exit codes o stderr.
44
+ - Si una cobertura vieja no puede mantenerse, registrar riesgo residual y aprobacion requerida.
45
+ - Tests nuevos no sustituyen evidencia manual cuando el cambio afecta UX humana, help o side effects.
46
+
47
+ Formato obligatorio de cierre:
48
+
49
+ - Cambios de comportamiento: que hacia antes, que hace ahora, por que mejora.
50
+ - Evidencia ejecutada: comando exacto y resultado.
51
+ - Evidencia pendiente: comando no ejecutado, motivo y riesgo.
52
+ - Riesgos residuales: impacto posible y rollback.
53
+ - Decision sobre ramas: conservar, cerrar o revisar, sin ejecutar limpieza automatica.
54
+
55
+ ## Cambios de comportamiento
56
+
57
+ Ninguno. Solo contrato de evidencia.
58
+
59
+ ## Regresiones detectadas
60
+
61
+ Ninguna.
62
+
63
+ ## Riesgos residuales
64
+
65
+ - No se ejecutaron tests en este slice porque no hubo implementacion runtime.
66
+ - El contrato depende de que cada slice tecnico declare sus archivos afectados y no oculte cambios de comportamiento.
67
+ - Si aparece una suite nueva de comandos, debe mapearse contra esta matriz antes de reemplazar la existente.
68
+
69
+ ## Decision sobre ramas
70
+
71
+ No cerrar ramas fuente hasta completar evidencia de extraccion o decision de descarte.
@@ -0,0 +1,39 @@
1
+ # EXECUTION_BRIEF - 07-slice
2
+
3
+ ## Objetivo
4
+
5
+ Definir evidencia minima para que docs, tests y CLI no diverjan.
6
+
7
+ ## Base segura
8
+
9
+ Usar baseline y contrato aprobados.
10
+
11
+ ## Archivos candidatos
12
+
13
+ Documentos de checklist/evidencia dentro del spec.
14
+
15
+ ## Archivos excluidos
16
+
17
+ Tests reales, docs reales generadas y codigo fuente.
18
+
19
+ ## Funcionalidad existente afectada
20
+
21
+ Ninguna durante este slice.
22
+
23
+ ## Matriz antes/despues
24
+
25
+ Debe requerirse en implementaciones futuras que cambien comandos o docs.
26
+
27
+ ## Validaciones
28
+
29
+ - Evidencia minima por tipo de cambio.
30
+ - Cobertura equivalente si se reemplazan tests.
31
+ - Gate CLI/docs.
32
+
33
+ ## Riesgos
34
+
35
+ Falsa seguridad si se registran validaciones pendientes como exitos.
36
+
37
+ ## Rollback
38
+
39
+ Corregir el contrato de evidencia antes de autorizar implementacion.
@@ -0,0 +1,36 @@
1
+ {
2
+ "slice_id": "08-slice",
3
+ "slice_number": "08",
4
+ "title": "Limpieza controlada de ramas",
5
+ "objective": "Proponer cierre o eliminacion de ramas solo cuando exista evidencia y aprobacion explicita.",
6
+ "problem": "Evita borrar ramas utiles, protegidas, historicas o con PRs abiertos por una clasificacion incompleta.",
7
+ "value_outcome": "Lista final de acciones sugeridas por rama, con aprobacion requerida y sin ejecutar ninguna accion.",
8
+ "scope": {
9
+ "includes": ["Clasificacion final", "Local/remota/protegida/historica", "Dependencias", "Recomendaciones", "Comandos seguros sugeridos"],
10
+ "excludes": ["Delete local/remoto", "Cerrar PRs", "Push", "Cambiar protecciones"]
11
+ },
12
+ "actors": ["Maintainer", "Tech Lead", "Usuario aprobador"],
13
+ "preconditions": ["Extracciones completadas o decision de no extraer mas valor"],
14
+ "inputs": ["Inventario de ramas", "Matriz de extraccion", "Decisiones de cierre", "Aprobaciones"],
15
+ "outputs": ["Plan de limpieza pendiente de aprobacion"],
16
+ "workflow": [
17
+ {"step": 1, "name": "Revisar ramas", "description": "Revisar ramas sin delta y fuentes de extraccion."},
18
+ {"step": 2, "name": "Marcar protecciones", "description": "Distinguir historicas, protegidas y no tocar."},
19
+ {"step": 3, "name": "Verificar frescura", "description": "Verificar estado remoto antes de accion final."},
20
+ {"step": 4, "name": "Pedir aprobacion", "description": "Solicitar aprobacion explicita antes de eliminar."}
21
+ ],
22
+ "business_rules": ["No eliminar sin aprobacion", "Cerrar y eliminar son distintos", "Historicas/protegidas se conservan", "Fuentes se conservan hasta cerrar extracciones"],
23
+ "validations": ["Accion y motivo por rama", "Eliminacion requiere aprobacion", "Estados diferenciados", "Sin extracciones pendientes"],
24
+ "error_cases": ["PR abierto", "Ref remota stale", "Backup historico"],
25
+ "acceptance_criteria": ["No se ejecuta eliminacion", "Destructivo pendiente de aprobacion", "Fuentes no eliminadas prematuramente", "Estados no mezclados", "Comandos seguros sugeridos"],
26
+ "dependencies": {
27
+ "functional": ["Inventario", "Decisiones de extraccion"],
28
+ "technical": ["Git"],
29
+ "external": ["Politica de proteccion de ramas si existe"],
30
+ "depends_on_slices": ["01-slice", "04-slice"]
31
+ },
32
+ "implementation_order": 8,
33
+ "slicing_rationale": "La limpieza se deja al final para no perder fuentes antes de extraer valor.",
34
+ "risks": ["Requiere verificacion remota o politica externa"],
35
+ "open_questions": ["Aprobacion por rama o por grupo claramente listado?"]
36
+ }
@@ -0,0 +1,105 @@
1
+ # 08-slice - Limpieza controlada de ramas
2
+
3
+ ## 1. Nombre del slice
4
+
5
+ Limpieza controlada de ramas.
6
+
7
+ ## 2. Objetivo del slice
8
+
9
+ Proponer cierre o eliminacion de ramas solo cuando exista evidencia y aprobacion explicita.
10
+
11
+ ## 3. Problema puntual que resuelve
12
+
13
+ Evita borrar ramas utiles, protegidas, historicas o con PRs abiertos por una clasificacion incompleta.
14
+
15
+ ## 4. Valor observable que entrega
16
+
17
+ Lista final de acciones sugeridas por rama, con aprobacion requerida y sin ejecutar ninguna accion.
18
+
19
+ ## 5. Alcance especifico
20
+
21
+ Plan documental de limpieza. No elimina ramas.
22
+
23
+ ## 6. Que incluye
24
+
25
+ - Clasificacion final de ramas.
26
+ - Distincion local/remota/protegida/historica.
27
+ - Dependencias con extracciones pendientes.
28
+ - Recomendacion: mantener, cerrar, eliminar con aprobacion, revisar.
29
+ - Comandos seguros sugeridos.
30
+
31
+ ## 7. Que no incluye
32
+
33
+ - Ejecutar delete local/remoto.
34
+ - Cerrar PRs.
35
+ - Push.
36
+ - Cambiar protecciones.
37
+
38
+ ## 8. Actores involucrados
39
+
40
+ Maintainer, Tech Lead y usuario aprobador.
41
+
42
+ ## 9. Precondiciones
43
+
44
+ Slices de extraccion completados o decision explicita de no extraer mas valor.
45
+
46
+ ## 10. Entradas necesarias
47
+
48
+ Inventario de ramas, matriz de extraccion, decisiones de cierre y aprobaciones.
49
+
50
+ ## 11. Flujo operativo paso a paso
51
+
52
+ 1. Revisar ramas sin delta.
53
+ 2. Revisar ramas usadas como fuente de extraccion.
54
+ 3. Marcar protegidas/historicas/no tocar.
55
+ 4. Verificar freshness remota antes de accion final.
56
+ 5. Agrupar recomendaciones.
57
+ 6. Pedir aprobacion explicita antes de eliminar.
58
+
59
+ ## 12. Salidas esperadas
60
+
61
+ Plan de limpieza con acciones pendientes de aprobacion.
62
+
63
+ ## 13. Reglas de negocio aplicables
64
+
65
+ - No eliminar sin aprobacion explicita.
66
+ - `cerrar` y `eliminar` son acciones distintas.
67
+ - Ramas historicas/protegidas se conservan salvo decision explicita.
68
+ - Ramas fuente se conservan hasta cerrar extracciones.
69
+
70
+ ## 14. Validaciones
71
+
72
+ - Cada rama tiene accion propuesta y motivo.
73
+ - Cada eliminacion requiere aprobacion.
74
+ - Local/remota/protegida/historica estan diferenciadas.
75
+ - No quedan extracciones pendientes antes de limpiar fuente.
76
+
77
+ ## 15. Manejo de errores o edge cases
78
+
79
+ - Si hay PR abierto, marcar revision manual.
80
+ - Si rama remota no existe, registrar stale ref.
81
+ - Si rama es backup, confirmar si se conserva como historica.
82
+
83
+ ## 16. Criterios de aceptacion
84
+
85
+ - No se ejecuta ninguna eliminacion.
86
+ - Toda accion destructiva queda como pendiente de aprobacion.
87
+ - Ramas usadas como fuente no se eliminan prematuramente.
88
+ - Estados `sin delta`, `cerrable` y `eliminable` no se mezclan.
89
+ - El plan incluye comandos seguros sugeridos.
90
+
91
+ ## 17. Dependencias tecnicas, funcionales o externas
92
+
93
+ Inventario actualizado y decisiones de extraccion.
94
+
95
+ ## 18. Depende de slices
96
+
97
+ `01-slice` y `04-slice`; idealmente despues de `05-slice` y `06-slice`.
98
+
99
+ ## 19. Riesgos / decisiones abiertas
100
+
101
+ Puede requerir verificacion remota o politica externa de proteccion de ramas.
102
+
103
+ ## 20. Pendientes / preguntas abiertas
104
+
105
+ Definir si la aprobacion sera por rama o por grupo de ramas claramente listado.
@@ -0,0 +1,114 @@
1
+ # CLOSURE_BRIEF - 08-slice
2
+
3
+ ## Resultado
4
+
5
+ Completado como plan de limpieza controlada con snapshot remoto fresco del 2026-06-09; no se ejecuto limpieza.
6
+
7
+ ## Evidencia
8
+
9
+ Politica de acciones:
10
+
11
+ | Estado | Accion permitida ahora | Requiere aprobacion |
12
+ |---|---|---|
13
+ | `sin delta` (`ahead=0`) | Marcar como sin merge pendiente | Cierre/eliminacion posterior |
14
+ | `historical/no-delta` | Conservar salvo decision explicita | Cualquier eliminacion |
15
+ | `review-for-extraction` | Mantener hasta decidir extraccion | Cierre/eliminacion |
16
+ | `extract-or-conflict-review` | Mantener hasta resolver matriz/riesgo | Cierre/eliminacion |
17
+ | remoto stale/no verificado | No tocar | Verificacion remota + aprobacion |
18
+
19
+ Snapshot usado:
20
+
21
+ | Dato | Valor |
22
+ |---|---|
23
+ | Fecha | 2026-06-09 |
24
+ | Base | `origin/main` |
25
+ | SHA base | `7c22ce1` |
26
+ | Rama activa | `feature/QUIVER-08-controlled-branch-cleanup` |
27
+ | Metodo remoto | `git fetch origin` + `git ls-remote --heads origin` |
28
+ | PRs abiertos detectados | `#94 feature/QUIVER-46-49-cli-modernization -> main` |
29
+
30
+ Ramas remotas reales en GitHub:
31
+
32
+ | Grupo | Ramas | Estado contra `origin/main` | Accion recomendada |
33
+ |---|---|---|---|
34
+ | Remotas sin delta pendiente | `docs/QUIVER-11-existing-project-migration`, `docs/QUIVER-21-ai-first-layout`, `docs/npx-node-modules-guidance`, `feature/QUIVER-04-next-command`, `feature/QUIVER-04-workflow-guardrails-alignment` | `ahead=0`; ya estan contenidas en `origin/main` | Candidatas a cierre/eliminacion remota con aprobacion explicita por grupo |
35
+ | Remotas con delta pendiente | `drafts/v19-v22-orchestration-followups`, `feature/QUIVER-01-ci-matrix-verified`, `feature/QUIVER-20-ai-cli-orchestration` | `ahead>0`; tienen commits no incluidos en `origin/main` | Revisar manualmente antes de cerrar o eliminar |
36
+ | Remota fuente con PR abierto | `feature/QUIVER-46-49-cli-modernization` | `ahead=3`; PR abierto `#94` | Mantener; no cerrar ni eliminar hasta resolver PR/extracciones |
37
+ | Protegida/base | `main` | Base actual | No tocar |
38
+
39
+ Refs `origin/*` locales stale detectadas:
40
+
41
+ | Ref local stale | Estado | Accion recomendada |
42
+ |---|---|---|
43
+ | `origin/feature/QUIVER-05-parser-command-registry` | No existe en `ls-remote`; `ahead=0` | Prune local de remote-tracking solo con aprobacion; no hay rama remota que eliminar |
44
+ | `origin/feature/QUIVER-06-command-wrappers` | No existe en `ls-remote`; `ahead=0` | Prune local de remote-tracking solo con aprobacion; no hay rama remota que eliminar |
45
+ | `origin/feature/QUIVER-07-docs-tests-evidence` | No existe en `ls-remote`; `ahead=0` | Prune local de remote-tracking solo con aprobacion; no hay rama remota que eliminar |
46
+ | `origin/feature/QUIVER-52-02-v52-generated-cli-reference` | No existe en `ls-remote`; `ahead=0` | Prune local de remote-tracking solo con aprobacion; no hay rama remota que eliminar |
47
+ | `origin/feature/QUIVER-52-03-v52-release-package-hygiene` | No existe en `ls-remote`; `ahead=0` | Prune local de remote-tracking solo con aprobacion; no hay rama remota que eliminar |
48
+
49
+ Ramas locales con delta pendiente o decision manual:
50
+
51
+ | Rama local | Estado | Accion recomendada |
52
+ |---|---|---|
53
+ | `main` | Divergida: `ahead=1`, `behind=50` contra `origin/main` | No usar como base; revisar y decidir sincronizacion por separado |
54
+ | `backup/QUIVER-52-03-before-squash` | Local-only backup; `ahead=3` | Mantener como historica hasta aprobacion explicita |
55
+ | `backup/main-before-pull-v31` | Local-only backup; `ahead=9` | Mantener como historica hasta aprobacion explicita |
56
+ | `docs/QUIVER-02-decision-log-context-checkpoint` | Local-only; `ahead=1` | Revisar manualmente antes de limpiar |
57
+ | `drafts/v19-v22-orchestration-followups` | Remota real; `ahead=1` | Revisar manualmente antes de limpiar |
58
+ | `feature/QUIVER-01-ci-matrix-verified` | Remota real; `ahead=2` | Revisar manualmente antes de limpiar |
59
+ | `feature/QUIVER-03-project-map-reading-order` | Local-only; `ahead=1` | Revisar manualmente antes de limpiar |
60
+ | `feature/QUIVER-20-ai-cli-orchestration` | Remota real; `ahead=1` | Revisar manualmente antes de limpiar |
61
+ | `feature/QUIVER-46-49-cli-modernization` | Remota real; `ahead=3`; PR `#94` abierto | Mantener; fuente principal y PR abierto |
62
+ | `feature/QUIVER-50-01-runtime-minimum-and-package-metadata` | Local-only; `ahead=1` | Revisar manualmente antes de limpiar |
63
+ | `feature/QUIVER-50-03-v50-security-reporting` | Local-only; `ahead=1` | Revisar manualmente antes de limpiar |
64
+ | `feature/QUIVER-50-06-contributor-and-architecture-docs` | Local-only; `ahead=1` | Revisar manualmente antes de limpiar |
65
+
66
+ Ramas locales sin delta pendiente candidatas a limpieza local con aprobacion:
67
+
68
+ | Grupo | Ramas | Accion recomendada |
69
+ |---|---|---|
70
+ | Slices ya mergeados | `feature/QUIVER-05-parser-command-registry`, `feature/QUIVER-06-command-wrappers`, `feature/QUIVER-07-docs-tests-evidence` | Candidatas a eliminar localmente con aprobacion despues de confirmar que no se necesitan para rollback |
71
+ | Docs historicas sin delta | `codex/wdd-sdd-ai-readme`, `docs/QUIVER-02-close-v06-roadmap`, `docs/QUIVER-20-ai-first-readme`, `docs/QUIVER-21-ai-first-layout`, `docs/mark-v08-v12-slices-completed`, `docs/npx-node-modules-guidance`, `docs/onboarding-prompt-contract`, `docs/pr-policy-slice-default`, `docs/quiver-v18-stabilization-close`, `docs/quiver-v18-stabilization-spec`, `docs/readme-cross-platform-onboarding`, `docs/restore-documentation-index`, `docs/update-v09-release` | Candidatas a limpieza local con aprobacion; conservar si se quieren como historicas |
72
+ | Features sin delta | `feature/QUIVER-01-auto-install-dev-dep`, `feature/QUIVER-22-guided-ai-workflow`, `feature/QUIVER-24-dx-onboarding-hardening`, `feature/QUIVER-28-pixel-quiver-feedback-reconciliation`, `feature/QUIVER-29-planner-prepare-context-cli-ux`, `feature/QUIVER-30-interactive-cli-ux-agent-selection`, `feature/QUIVER-31-ai-model-catalog-agent-selection`, `feature/QUIVER-33-approval-ux-and-planner-progress`, `feature/QUIVER-35-compact-dashboard-version-ux`, `feature/QUIVER-36-ai-run-watch-portable-spec`, `feature/QUIVER-37-cli-i18n-foundation`, `feature/QUIVER-38-01-v38-version-dashboard-help`, `feature/QUIVER-38-02-v38-flow-doctor-next-graph`, `feature/QUIVER-39-01-v39-init-interactive-language`, `feature/QUIVER-40-01-v40-spec-create-start-status`, `feature/QUIVER-41-01-v41-ai-run-status-resume`, `feature/QUIVER-42-01-v42-template-language-routing`, `feature/QUIVER-43-01-v43-command-language-mode-matrix`, `feature/QUIVER-44-00-v44-tui-lite-contract-foundation`, `feature/QUIVER-50-audit-trust-foundation`, `feature/QUIVER-50-audit-trust-foundation-execution`, `feature/QUIVER-51-01-v51-flow-json-compatibility`, `feature/QUIVER-51-02-v51-dashboard-section-i18n`, `feature/QUIVER-51-03-v51-base-branch-policy`, `feature/QUIVER-51-04-v51-next-plan-graph-ux`, `feature/QUIVER-51-05-v51-evidence-robustness`, `feature/QUIVER-51-06-v51-namespace-windows-scripts`, `feature/QUIVER-51-cli-ergonomics-automation-contracts`, `feature/QUIVER-52-01-v52-slice-json-schema`, `feature/QUIVER-52-02-v52-generated-cli-reference`, `feature/QUIVER-52-03-v52-release-package-hygiene`, `feature/QUIVER-52-schema-docs-release-hygiene`, `feature/quiver-readme-onboarding-guides`, `feature/quiver-v25-ai-first-lifecycle-orchestrator`, `feature/quiver-v26-0121-smoke-hardening` | Candidatas a limpieza local con aprobacion |
73
+ | Fix/hotfix/release sin delta | `fix/QUIVER-45-01-ci-actions-node24-readiness`, `hotfix/QUIVER-24-ci-after-merge`, `hotfix/onboarding-docs-0.9.1`, `release/0.8.0` | Candidatas a limpieza local con aprobacion; confirmar politica historica antes |
74
+ | Protegida/historica especial | `develop` | Aunque `ahead=0`, conservar o revisar manualmente por posible politica historica |
75
+ | Rama activa | `feature/QUIVER-08-controlled-branch-cleanup` | Mantener hasta cerrar este slice/PR |
76
+
77
+ Comandos seguros sugeridos para revision manual futura:
78
+
79
+ ```bash
80
+ git ls-remote --heads origin
81
+ gh pr list --state open --json number,headRefName,baseRefName,title,url --limit 100
82
+ git remote prune origin --dry-run
83
+ git branch --contains <branch>
84
+ git log --oneline origin/main..<branch>
85
+ git diff --stat origin/main...<branch>
86
+ git merge-tree "$(git merge-base origin/main <branch>)" origin/main <branch>
87
+ ```
88
+
89
+ Comandos destructivos que no se ejecutaron y requieren aprobacion explicita:
90
+
91
+ ```bash
92
+ git branch -d <branch>
93
+ git push origin --delete <branch>
94
+ git remote prune origin
95
+ ```
96
+
97
+ ## Cambios de comportamiento
98
+
99
+ Ninguno.
100
+
101
+ ## Regresiones detectadas
102
+
103
+ Ninguna.
104
+
105
+ ## Riesgos residuales
106
+
107
+ - Hubo `fetch`, pero no hubo `prune`; las refs stale siguen locales a proposito.
108
+ - La verificacion de PRs abiertos detecto `#94`; cualquier cambio de estado posterior requiere nueva consulta.
109
+ - Politicas externas de ramas protegidas no son visibles solo con Git local.
110
+ - Ramas `backup/*`, `develop`, `release/*` y `hotfix/*` pueden tener valor historico aunque no tengan delta pendiente.
111
+
112
+ ## Decision sobre ramas
113
+
114
+ Ninguna rama fue eliminada, cerrada, mergeada o modificada. Toda accion destructiva queda pendiente de aprobacion explicita posterior.
@@ -0,0 +1,39 @@
1
+ # EXECUTION_BRIEF - 08-slice
2
+
3
+ ## Objetivo
4
+
5
+ Preparar recomendaciones de limpieza sin ejecutar ninguna accion destructiva.
6
+
7
+ ## Base segura
8
+
9
+ Usar inventario actualizado y decisiones de extraccion cerradas.
10
+
11
+ ## Archivos candidatos
12
+
13
+ Documentos de plan de limpieza.
14
+
15
+ ## Archivos excluidos
16
+
17
+ Refs Git, ramas locales/remotas, PRs y configuracion remota.
18
+
19
+ ## Funcionalidad existente afectada
20
+
21
+ Ninguna durante este slice.
22
+
23
+ ## Matriz antes/despues
24
+
25
+ No aplica a comportamiento de CLI. Debe existir matriz de estado por rama.
26
+
27
+ ## Validaciones
28
+
29
+ - Cada rama tiene accion y motivo.
30
+ - Eliminaciones requieren aprobacion explicita.
31
+ - Fuentes de extraccion no se eliminan antes de cierre.
32
+
33
+ ## Riesgos
34
+
35
+ Borrar una rama historica, protegida o con PR abierto si no se verifica correctamente.
36
+
37
+ ## Rollback
38
+
39
+ No ejecutar delete. Si una recomendacion es incorrecta, corregir el plan antes de pedir aprobacion.
@@ -0,0 +1,87 @@
1
+ # CLOSURE_BRIEF - Spec 01
2
+
3
+ ## Resultado
4
+
5
+ Spec 01 cerrada como iniciativa de recuperacion segura de ramas y extraccion incremental sin regresiones.
6
+
7
+ El cierre es documental y operativo. No ejecuta limpieza de ramas, no elimina refs, no hace merge adicional, no hace rebase y no cambia comportamiento runtime.
8
+
9
+ ## Base de cierre
10
+
11
+ | Dato | Valor |
12
+ |---|---|
13
+ | Fecha de cierre | 2026-06-09 |
14
+ | Base usada | `origin/main` |
15
+ | SHA base al crear rama de cierre | `fd62e8b` |
16
+ | Rama de cierre | `chore/QUIVER-01-final-closure` |
17
+ | Estado local relevante | `pr.md` sigue untracked y queda fuera del cierre |
18
+
19
+ ## Estado por slice
20
+
21
+ | Slice | Estado | Evidencia |
22
+ |---|---|---|
23
+ | `01-slice` | Cerrado | Snapshot inicial de ramas documentado |
24
+ | `02-slice` | Cerrado | Baseline de comportamiento documentado |
25
+ | `03-slice` | Cerrado | Contrato de no regresion documentado |
26
+ | `04-slice` | Cerrado | Matriz de extraccion documentada |
27
+ | `05-slice` | Mergeado | Commit `96b9fad` contenido en `origin/main` |
28
+ | `06-slice` | Mergeado | PR `#110`; commit `28e6e8b` contenido en `origin/main` |
29
+ | `07-slice` | Mergeado | PR `#111`; commit `564b37d` contenido en `origin/main` |
30
+ | `08-slice` | Mergeado | PR `#112`; commit `dde1347` contenido en `origin/main` |
31
+
32
+ ## Cambios integrados
33
+
34
+ - Parser y command registry extraidos de forma incremental.
35
+ - Wrapper read-only `changelog` integrado con help, docs generadas y tests contractuales.
36
+ - Gate de docs/tests/evidencia formalizado para futuros cambios de CLI.
37
+ - Plan de limpieza controlada de ramas documentado con snapshot remoto fresco.
38
+
39
+ ## Funcionalidad existente
40
+
41
+ - No se quito funcionalidad existente.
42
+ - No se eliminaron aliases.
43
+ - No se modifico `package.json` ni versionado dentro del cierre.
44
+ - `status` top-level sigue sin habilitarse para evitar colision con `ai status` y `spec status`.
45
+ - Las acciones destructivas sobre ramas siguen bloqueadas hasta aprobacion explicita.
46
+
47
+ ## Validaciones y evidencia consolidada
48
+
49
+ | Area | Evidencia |
50
+ |---|---|
51
+ | Parser/registry | Tests contractuales del `05-slice` ejecutados antes de merge |
52
+ | `changelog` | `node --test tests/commands/parser-contract.test.js tests/commands/cli-contract.test.js` paso con `17/17` |
53
+ | Docs generadas | `npm run docs:commands:check` paso antes del PR `#110` |
54
+ | Changelog | `npm run changelog:check` paso antes del PR `#110` |
55
+ | Limpieza de ramas | Solo snapshot y propuesta; no se ejecuto delete/prune |
56
+
57
+ ## Decisiones finales
58
+
59
+ - `origin/main` queda como base segura para ramas nuevas.
60
+ - `main` local no debe usarse como base mientras siga divergida.
61
+ - `feature/QUIVER-46-49-cli-modernization` sigue siendo fuente historica y tiene manejo separado por PR abierto detectado en el `08-slice`.
62
+ - Ramas con `ahead=0` no quedan automaticamente autorizadas para eliminar.
63
+ - Cualquier limpieza local/remota requiere aprobacion posterior por rama o grupo claramente listado.
64
+
65
+ ## Acciones no ejecutadas
66
+
67
+ No se ejecuto ninguno de estos comandos:
68
+
69
+ ```bash
70
+ git branch -d <branch>
71
+ git branch -D <branch>
72
+ git push origin --delete <branch>
73
+ git remote prune origin
74
+ git merge
75
+ git rebase
76
+ ```
77
+
78
+ ## Pendientes o riesgos residuales
79
+
80
+ - `pr.md` queda local sin trackear como archivo auxiliar de PR; no fue eliminado.
81
+ - La limpieza de ramas sigue pendiente de aprobacion explicita.
82
+ - El estado de PRs abiertos y ramas remotas puede cambiar; antes de limpiar, repetir `git fetch origin`, `git ls-remote --heads origin` y `gh pr list`.
83
+ - Politicas externas de proteccion de ramas no son completamente visibles desde Git local.
84
+
85
+ ## Recomendacion
86
+
87
+ Cerrar esta spec con un PR documental. Despues del merge, decidir por separado si se autoriza limpieza de ramas por grupo, empezando por `git remote prune origin --dry-run` y sin borrar nada hasta nueva aprobacion.