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,88 @@
1
+ # CLOSURE_BRIEF - 02-slice
2
+
3
+ ## Resultado
4
+
5
+ Completado como baseline inicial obligatorio.
6
+
7
+ ## Evidencia
8
+
9
+ Baseline ejecutado desde una copia temporal de `origin/main`, no desde `main` local.
10
+
11
+ Base: `origin/main` @ `7bc234bbf96fb17d8c44863fac25430b59fc832e`.
12
+
13
+ Package de base:
14
+
15
+ | Campo | Valor |
16
+ |---|---|
17
+ | Package | `create-quiver` |
18
+ | Version CLI | `0.15.3` |
19
+ | Binarios | `create-quiver`, `quiver` -> `bin/create-quiver.js` |
20
+ | Dependencias runtime | `@clack/prompts`, `zod` |
21
+
22
+ Comandos seguros ejecutados:
23
+
24
+ | Comando | Resultado | Exit code | Contrato observado |
25
+ |---|---|---:|---|
26
+ | `node bin/create-quiver.js --help` | Imprime referencia completa | 0 | stdout humano, sin writes |
27
+ | `node bin/create-quiver.js help` | Igual a `--help` | 0 | alias compatible |
28
+ | `node bin/create-quiver.js version` | Reporte humano Quiver CLI `0.15.3` | 0 | stdout humano con runtime/OS/project |
29
+ | `node bin/create-quiver.js version --json` | JSON parseable | 0 | schema `version_schema_version: 1` |
30
+ | `node bin/create-quiver.js __unknown__` | Error localizado + hint de help/init/update | 1 | stderr/stdout de error via wrapper, exit no cero |
31
+
32
+ Baseline ampliado ejecutado desde copia temporal de `origin/main`:
33
+
34
+ | Comando | Resultado | Exit code | Contrato observado |
35
+ |---|---|---:|---|
36
+ | `node bin/create-quiver.js config language show --json` | JSON parseable con `schema_version`, `language`, `source`, `requested_source`, `requested_language`, `warnings` | 0 | Read-only |
37
+ | `node bin/create-quiver.js slice` | Error de subcomando faltante | 1 | Subcomandos soportados: `start`, `check`, `pr`, `scope`, `cleanup`, `refresh-active` |
38
+ | `node bin/create-quiver.js slice check` | Error de argumento faltante | 1 | Requiere path `slice.json` |
39
+ | `node bin/create-quiver.js slice start` | Error de argumento faltante | 1 | Requiere path `slice.json` |
40
+ | `node bin/create-quiver.js handoff` | Error de subcomando faltante | 1 | Subcomandos soportados: `check`, `new` |
41
+ | `node bin/create-quiver.js handoff check` | Error de argumento faltante | 1 | Requiere handoff o brief path |
42
+ | `node bin/create-quiver.js evidence list --json` | JSON parseable `{ "evidence": [] }` | 0 | Read-only cuando no hay evidencia local |
43
+ | `node bin/create-quiver.js evidence show missing --json` | Error de evidencia no encontrada | 1 | No crea archivos |
44
+ | `node bin/create-quiver.js doctor --dry-run` | Error porque el proyecto temporal no esta inicializado por Quiver | 1 | No aplica fixes |
45
+ | `node bin/create-quiver.js init --name Baseline --dir <tmp>/generated --dry-run` | Plan de init con `Planned create: 26`, `Planned update: 0` | 0 | Dry-run, sin escribir en el repo |
46
+ | `node bin/create-quiver.js ai status --json` | Salida humana: `Status: no active run` | 0 | La flag `--json` no emitio JSON en este estado; requiere contrato especifico antes de cambios |
47
+ | `node bin/create-quiver.js spec status specs/missing` | Error `missing SPEC.md` | 1 | No crea archivos |
48
+
49
+ Superficie CLI observada en help de `origin/main`:
50
+
51
+ | Categoria | Comandos / namespaces |
52
+ |---|---|
53
+ | Bootstrap/contexto | `init`, `analyze`, `doctor`, `flow`, `dashboard`, `version`, `config language show|set`, `prepare`, `migrate` |
54
+ | Planificacion | `plan`, `graph`, `next` |
55
+ | AI lifecycle | `ai run`, `ai active-slice`, `ai status`, `ai resume`, `ai onboard`, `ai prepare-context`, `ai agent`, `ai models`, `ai plan`, `ai revise`, `ai repair-plan`, `ai review-plan`, `ai approve`, `ai approvals`, `ai prompt-slice`, `ai execute-slice`, `ai execute-plan`, `ai doctor`, `ai pr` |
56
+ | Inspeccion/export | `ai inspect`, `ai export`, `ai specs list`, `ai slices list`, `ai trace report` |
57
+ | Specs/slices | `spec create|start|status|validate|close`, `slice start|check|pr|scope|cleanup|refresh-active`, legacy `start-slice`, `check-slice`, `check-pr`, `check-scope`, `cleanup-slice`, `refresh-active-slices` |
58
+ | Handoffs | `handoff check|new`, legacy `check-handoff`, `new-handoff` |
59
+ | Evidencia/demos | `evidence run|list|show`, `demo create spec-viewer` |
60
+ | Compatibilidad | `--name`, `--version`, `-V`, `--help`, `help`, alias local `quiver` |
61
+
62
+ Clasificacion de side effects:
63
+
64
+ | Tipo | Comandos |
65
+ |---|---|
66
+ | Read-only observado | `help`, `--help`, `version`, `version --json`, unknown command |
67
+ | Read-only esperado, pendiente de validar individualmente | `flow`, `dashboard`, `plan`, `graph`, `next`, `config language show`, `ai inspect`, `ai export`, `ai specs list`, `ai slices list`, `ai trace report`, `ai models list` |
68
+ | Write-capable; requiere `--dry-run` o sandbox antes de ejecutar | `init`, `analyze`, `migrate`, `config language set`, `start-slice`, `cleanup-slice`, `refresh-active-slices`, `spec create/start/close`, `evidence run`, `demo create`, `ai run create/close`, `ai plan/revise/repair-plan/approve/execute-slice/execute-plan/pr`, `ai agent set/repair` |
69
+ | High-risk behavior | comandos con provider externo, GitHub, worktrees, commits, PRs o escritura de docs/evidencia |
70
+
71
+ ## Cambios de comportamiento
72
+
73
+ Ninguno. La copia temporal de `origin/main` fue usada solo para observacion y eliminada al finalizar.
74
+
75
+ ## Regresiones detectadas
76
+
77
+ Ninguna; no se modifico codigo.
78
+
79
+ ## Riesgos residuales
80
+
81
+ - Baseline completo por comando queda pendiente para comandos write-capable y comandos con side effects.
82
+ - La version del working tree local es `0.15.4`, pero la base contractual `origin/main` es `0.15.3`.
83
+ - `ai status --json` no produjo JSON en el baseline ampliado; cualquier cambio futuro debe preservar o corregir este contrato solo con decision explicita.
84
+ - No se validaron todos los JSON modes posibles; quedaron cubiertos `version --json`, `config language show --json` y `evidence list --json`.
85
+
86
+ ## Decision sobre ramas
87
+
88
+ Ninguna decision de limpieza. Este baseline bloquea cualquier extraccion que afecte comandos no cubiertos.
@@ -0,0 +1,40 @@
1
+ # EXECUTION_BRIEF - 02-slice
2
+
3
+ ## Objetivo
4
+
5
+ Crear baseline de comportamiento actual antes de cualquier extraccion tecnica.
6
+
7
+ ## Base segura
8
+
9
+ Usar `origin/main` con SHA registrado desde `01-slice`.
10
+
11
+ ## Archivos candidatos
12
+
13
+ Documentos de baseline o evidencia del slice.
14
+
15
+ ## Archivos excluidos
16
+
17
+ Codigo fuente, package files y tests existentes.
18
+
19
+ ## Funcionalidad existente afectada
20
+
21
+ Ninguna. Este slice observa y documenta.
22
+
23
+ ## Matriz antes/despues
24
+
25
+ Antes: comportamiento actual de `origin/main`.
26
+ Despues: no aplica, porque no se modifica comportamiento.
27
+
28
+ ## Validaciones
29
+
30
+ - Comandos, aliases y flags inventariados.
31
+ - `--help`, `--json`, exit codes, stdout/stderr y side effects registrados.
32
+ - Gaps explicitos.
33
+
34
+ ## Riesgos
35
+
36
+ Baseline incompleto puede permitir regresiones futuras.
37
+
38
+ ## Rollback
39
+
40
+ Descartar baseline incompleto y regenerar con alcance corregido.
@@ -0,0 +1,36 @@
1
+ {
2
+ "slice_id": "03-slice",
3
+ "slice_number": "03",
4
+ "title": "Contrato de no regresion",
5
+ "objective": "Definir reglas verificables para modificar o extraer funcionalidad sin quitar comportamiento existente.",
6
+ "problem": "Evita que cambios futuros se aprueben por intencion general en vez de evidencia contra baseline.",
7
+ "value_outcome": "Contrato que obliga matriz antes/despues, aprobacion explicita de cambios incompatibles y rollback por slice.",
8
+ "scope": {
9
+ "includes": ["Definicion de funcionalidad", "Matriz antes/despues", "Categorias de compatibilidad", "Reglas JSON/exit codes/streams/aliases/side effects", "Rollback"],
10
+ "excludes": ["Cambios de comandos", "Ejecucion de tests", "Implementacion de parser"]
11
+ },
12
+ "actors": ["Tech Lead", "Reviewer", "Maintainer", "Implementador futuro"],
13
+ "preconditions": ["02-slice aprobado como baseline suficiente"],
14
+ "inputs": ["Baseline", "Criterios aprobados", "Riesgos del plan"],
15
+ "outputs": ["Contrato de no regresion"],
16
+ "workflow": [
17
+ {"step": 1, "name": "Definir funcionalidad", "description": "Formalizar que comportamientos cuentan como existentes."},
18
+ {"step": 2, "name": "Definir matriz", "description": "Crear formato antes/despues obligatorio."},
19
+ {"step": 3, "name": "Definir compatibilidad", "description": "Separar cambios compatibles, incompatibles y aprobados."},
20
+ {"step": 4, "name": "Definir rollback", "description": "Exigir rollback y evidencia minima."}
21
+ ],
22
+ "business_rules": ["Nada inventariado desaparece sin aprobacion", "Todo cambio de comando explica antes/despues", "JSON/exit codes/side effects requieren validacion", "No mezclar refactor con bump de version"],
23
+ "validations": ["Contrato cubre comandos/API/scripts/docs/tests", "Criterios de cierre definidos", "Reglas verificables"],
24
+ "error_cases": ["Mejora no verificable", "Regresion intencional sin aprobacion", "Falta baseline"],
25
+ "acceptance_criteria": ["Definicion formal de funcionalidad", "Formato de matriz antes/despues", "Regla anti-fix parcial", "Rollback requerido", "Cambios incompatibles requieren aprobacion"],
26
+ "dependencies": {
27
+ "functional": ["Baseline"],
28
+ "technical": [],
29
+ "external": [],
30
+ "depends_on_slices": ["02-slice"]
31
+ },
32
+ "implementation_order": 3,
33
+ "slicing_rationale": "El contrato permite que slices tecnicos sean revisables y no regresivos.",
34
+ "risks": ["Contrato demasiado laxo"],
35
+ "open_questions": ["Cambios menores de texto humano requieren aprobacion explicita?"]
36
+ }
@@ -0,0 +1,103 @@
1
+ # 03-slice - Contrato de no regresion
2
+
3
+ ## 1. Nombre del slice
4
+
5
+ Contrato de no regresion.
6
+
7
+ ## 2. Objetivo del slice
8
+
9
+ Definir reglas verificables para modificar o extraer funcionalidad sin quitar comportamiento existente.
10
+
11
+ ## 3. Problema puntual que resuelve
12
+
13
+ Evita que cambios futuros se aprueben por intencion general en vez de evidencia contra baseline.
14
+
15
+ ## 4. Valor observable que entrega
16
+
17
+ Un contrato que obliga matriz antes/despues, aprobacion explicita de cambios incompatibles y rollback por slice.
18
+
19
+ ## 5. Alcance especifico
20
+
21
+ Formalizar reglas de compatibilidad y criterios de cierre.
22
+
23
+ ## 6. Que incluye
24
+
25
+ - Definicion de funcionalidad existente.
26
+ - Matriz antes/despues obligatoria.
27
+ - Categorias de cambio compatible, incompatible y aprobado.
28
+ - Reglas para JSON, exit codes, streams, aliases y side effects.
29
+ - Requisitos de rollback.
30
+
31
+ ## 7. Que no incluye
32
+
33
+ - Cambios de comandos.
34
+ - Ejecucion de tests.
35
+ - Implementacion de parser.
36
+
37
+ ## 8. Actores involucrados
38
+
39
+ Tech Lead, reviewer, maintainer e implementador futuro.
40
+
41
+ ## 9. Precondiciones
42
+
43
+ `02-slice` debe existir o estar aprobado como baseline suficiente.
44
+
45
+ ## 10. Entradas necesarias
46
+
47
+ Baseline, criterios aprobados y riesgos del plan.
48
+
49
+ ## 11. Flujo operativo paso a paso
50
+
51
+ 1. Definir funcionalidad existente en terminos verificables.
52
+ 2. Definir matriz antes/despues obligatoria.
53
+ 3. Definir criterios para cambios compatibles.
54
+ 4. Definir aprobacion para cambios incompatibles.
55
+ 5. Definir rollback y evidencia minima.
56
+ 6. Definir condiciones anti-fix parcial.
57
+
58
+ ## 12. Salidas esperadas
59
+
60
+ Contrato de no regresion reusable por todos los slices tecnicos futuros.
61
+
62
+ ## 13. Reglas de negocio aplicables
63
+
64
+ - Ningun comportamiento inventariado puede desaparecer sin aprobacion.
65
+ - Todo cambio de comando debe explicar que hacia antes y que mejora.
66
+ - `--json`, exit codes y side effects requieren validacion explicita.
67
+ - Refactor y bump de version no se mezclan.
68
+
69
+ ## 14. Validaciones
70
+
71
+ - El contrato cubre comandos, API interna, scripts, docs y tests.
72
+ - Hay criterios para cierre completo, parcial, bloqueado y descartado.
73
+ - Cada regla es verificable.
74
+
75
+ ## 15. Manejo de errores o edge cases
76
+
77
+ - Si la mejora no es verificable, no se aprueba como mejora.
78
+ - Si una regresion es intencional, requiere aprobacion explicita.
79
+ - Si falta baseline para un comando, el cambio queda bloqueado.
80
+
81
+ ## 16. Criterios de aceptacion
82
+
83
+ - Existe definicion formal de funcionalidad existente.
84
+ - Existe formato obligatorio de matriz antes/despues.
85
+ - Existe regla anti-fix parcial.
86
+ - Existe requerimiento de rollback por slice implementable.
87
+ - Cambios incompatibles requieren aprobacion explicita.
88
+
89
+ ## 17. Dependencias tecnicas, funcionales o externas
90
+
91
+ Baseline del `02-slice`.
92
+
93
+ ## 18. Depende de slices
94
+
95
+ `02-slice`.
96
+
97
+ ## 19. Riesgos / decisiones abiertas
98
+
99
+ El contrato puede ser demasiado laxo si no enumera outputs y side effects.
100
+
101
+ ## 20. Pendientes / preguntas abiertas
102
+
103
+ Definir si cambios de texto humano menor requieren aprobacion o solo evidencia.
@@ -0,0 +1,54 @@
1
+ # CLOSURE_BRIEF - 03-slice
2
+
3
+ ## Resultado
4
+
5
+ Completado.
6
+
7
+ ## Evidencia
8
+
9
+ Contrato de no regresion fijado a partir del baseline inicial.
10
+
11
+ Funcionalidad existente protegida:
12
+
13
+ - Comandos y namespaces visibles en help.
14
+ - Aliases: `help`, `--help`, `--version`, `-V`, `quiver`, shortcuts legacy de slice/handoff.
15
+ - Flags globales y por comando documentados en help.
16
+ - Salidas humanas y JSON conocidas.
17
+ - Exit codes observados para exito y error basico.
18
+ - Stdout/stderr y mensajes de error/hints.
19
+ - Side effects: archivos generados, worktrees, evidencia, docs, config y PRs.
20
+ - Scripts npm y binarios declarados.
21
+ - Templates y docs generadas cuando se modifiquen en slices futuros.
22
+
23
+ Regla antes/despues obligatoria para comandos:
24
+
25
+ | Campo requerido | Descripcion |
26
+ |---|---|
27
+ | Comando/namespace | Comando exacto afectado |
28
+ | Antes | Comportamiento actual desde baseline |
29
+ | Despues | Comportamiento propuesto |
30
+ | Motivo | Por que cambia |
31
+ | Mejora verificable | Evidencia objetiva esperada |
32
+ | Compatibilidad | Aliases, flags, outputs, JSON, exit codes y side effects preservados o cambio aprobado |
33
+ | Validacion | Comando/test/evidencia requerida |
34
+ | Rollback | Como volver al comportamiento anterior |
35
+
36
+ Regla anti-fix parcial:
37
+
38
+ Un slice tecnico no puede cerrarse como completo si falta baseline del comando afectado, cambia outputs sin matriz antes/despues, elimina comportamiento sin aprobacion, mezcla refactor con version/package o deja regresiones sin decision explicita.
39
+
40
+ ## Cambios de comportamiento
41
+
42
+ Ninguno. Solo se formalizo el contrato documental.
43
+
44
+ ## Regresiones detectadas
45
+
46
+ Ninguna.
47
+
48
+ ## Riesgos residuales
49
+
50
+ Comandos no cubiertos por baseline completo bloquean extracciones que los afecten.
51
+
52
+ ## Decision sobre ramas
53
+
54
+ Ninguna decision de limpieza.
@@ -0,0 +1,39 @@
1
+ # EXECUTION_BRIEF - 03-slice
2
+
3
+ ## Objetivo
4
+
5
+ Crear el contrato de no regresion usado por todos los slices tecnicos futuros.
6
+
7
+ ## Base segura
8
+
9
+ Usar baseline aprobado del `02-slice`.
10
+
11
+ ## Archivos candidatos
12
+
13
+ Documentos del contrato dentro del spec.
14
+
15
+ ## Archivos excluidos
16
+
17
+ Codigo fuente, tests y package files.
18
+
19
+ ## Funcionalidad existente afectada
20
+
21
+ Ninguna. Este slice define reglas.
22
+
23
+ ## Matriz antes/despues
24
+
25
+ No aplica a comportamiento. Debe definir el formato obligatorio para slices futuros.
26
+
27
+ ## Validaciones
28
+
29
+ - Reglas verificables.
30
+ - Cambios incompatibles requieren aprobacion.
31
+ - Rollback obligatorio para implementacion futura.
32
+
33
+ ## Riesgos
34
+
35
+ Contrato incompleto permite fixes parciales.
36
+
37
+ ## Rollback
38
+
39
+ Revertir/ajustar el contrato documental antes de permitir implementacion.
@@ -0,0 +1,36 @@
1
+ {
2
+ "slice_id": "04-slice",
3
+ "slice_number": "04",
4
+ "title": "Matriz de extraccion por rama",
5
+ "objective": "Determinar que partes de ramas conflictivas se deben extraer como codigo, concepto, rehacer o descartar.",
6
+ "problem": "Evita merges parciales improvisados y cherry-picks grandes desde ramas viejas.",
7
+ "value_outcome": "Matriz de decisiones por rama, archivo, comando o concepto con riesgo y proxima accion.",
8
+ "scope": {
9
+ "includes": ["Ramas candidatas", "Cambios por modulo", "Clasificacion de hallazgos", "Riesgo textual/semantico/contrato", "Dependencias", "Exclusiones"],
10
+ "excludes": ["Aplicar cambios", "Resolver conflictos", "Cherry-pick", "Modificar package/version"]
11
+ },
12
+ "actors": ["Tech Lead", "Reviewer", "Implementador futuro"],
13
+ "preconditions": ["03-slice aprobado", "Baseline disponible"],
14
+ "inputs": ["Diffs", "Logs", "merge-tree", "Baseline", "Contrato de no regresion"],
15
+ "outputs": ["Matriz de extraccion", "Backlog de slices tecnicos"],
16
+ "workflow": [
17
+ {"step": 1, "name": "Seleccionar ramas", "description": "Elegir ramas candidatas para extraccion."},
18
+ {"step": 2, "name": "Agrupar cambios", "description": "Agrupar por modulo o comportamiento."},
19
+ {"step": 3, "name": "Clasificar hallazgos", "description": "Marcar codigo, concepto, rehacer o descartar."},
20
+ {"step": 4, "name": "Ordenar extraccion", "description": "Proponer orden con riesgos y dependencias."}
21
+ ],
22
+ "business_rules": ["No mergear rama completa si mezcla riesgos", "No cherry-pick grande sin separar", "Codigo viejo puede ser concepto", "Sin mejora verificable se descarta"],
23
+ "validations": ["Cada hallazgo clasificado", "Riesgo tipificado", "Exclusiones justificadas", "Referencia a baseline"],
24
+ "error_cases": ["Valor historico con codigo obsoleto", "Archivo duplicado en origin/main", "Evidencia faltante"],
25
+ "acceptance_criteria": ["QUIVER-46-49 no queda como merge completo", "Cada candidato tiene decision", "Package/version fuera", "No hay utilidad sin evidencia", "Matriz habilita slices pequenos"],
26
+ "dependencies": {
27
+ "functional": ["Contrato de no regresion"],
28
+ "technical": ["Git read-only"],
29
+ "external": [],
30
+ "depends_on_slices": ["03-slice"]
31
+ },
32
+ "implementation_order": 4,
33
+ "slicing_rationale": "La matriz evita extraccion oportunista y reduce riesgo de fixes parciales.",
34
+ "risks": ["Clasificacion requiere conocimiento funcional"],
35
+ "open_questions": ["Revisar todas las ramas conflictivas o empezar por QUIVER-46-49?"]
36
+ }
@@ -0,0 +1,107 @@
1
+ # 04-slice - Matriz de extraccion por rama
2
+
3
+ ## 1. Nombre del slice
4
+
5
+ Matriz de extraccion por rama.
6
+
7
+ ## 2. Objetivo del slice
8
+
9
+ Determinar que partes de ramas conflictivas se deben extraer como codigo, concepto, rehacer o descartar.
10
+
11
+ ## 3. Problema puntual que resuelve
12
+
13
+ Evita merges parciales improvisados y cherry-picks grandes desde ramas viejas.
14
+
15
+ ## 4. Valor observable que entrega
16
+
17
+ Una matriz de decisiones por rama, archivo, comando o concepto con riesgo y proxima accion.
18
+
19
+ ## 5. Alcance especifico
20
+
21
+ Analisis documental de ramas candidatas, especialmente `feature/QUIVER-46-49-cli-modernization`.
22
+
23
+ ## 6. Que incluye
24
+
25
+ - Lista de ramas candidatas.
26
+ - Cambios por modulo.
27
+ - Clasificacion: extraer codigo, extraer concepto, rehacer, descartar.
28
+ - Riesgo textual, semantico y de contrato.
29
+ - Dependencias entre extracciones.
30
+ - Exclusiones explicitas.
31
+
32
+ ## 7. Que no incluye
33
+
34
+ - Aplicar cambios.
35
+ - Resolver conflictos.
36
+ - Cherry-pick.
37
+ - Modificar package/version.
38
+
39
+ ## 8. Actores involucrados
40
+
41
+ Tech Lead, reviewer e implementador futuro.
42
+
43
+ ## 9. Precondiciones
44
+
45
+ `03-slice` aprobado y baseline disponible.
46
+
47
+ ## 10. Entradas necesarias
48
+
49
+ Diffs, logs, merge-tree, baseline, contrato de no regresion y analisis de ramas.
50
+
51
+ ## 11. Flujo operativo paso a paso
52
+
53
+ 1. Seleccionar ramas candidatas.
54
+ 2. Agrupar cambios por comportamiento o modulo.
55
+ 3. Comparar contra baseline.
56
+ 4. Clasificar cada hallazgo.
57
+ 5. Registrar riesgos y dependencias.
58
+ 6. Excluir cambios de version/package salvo slice futuro dedicado.
59
+ 7. Proponer orden de extraccion.
60
+
61
+ ## 12. Salidas esperadas
62
+
63
+ Matriz de extraccion y backlog de slices tecnicos futuros.
64
+
65
+ ## 13. Reglas de negocio aplicables
66
+
67
+ - No mergear rama completa si mezcla riesgos.
68
+ - No cherry-pick de commits grandes sin separar hallazgos.
69
+ - Codigo viejo puede convertirse en concepto a rehacer.
70
+ - Cambios sin mejora verificable se descartan.
71
+
72
+ ## 14. Validaciones
73
+
74
+ - Cada hallazgo tiene clasificacion.
75
+ - Cada riesgo indica tipo: textual, semantico o contrato.
76
+ - Cada exclusion tiene motivo.
77
+ - Cada extraccion referencia baseline afectado.
78
+
79
+ ## 15. Manejo de errores o edge cases
80
+
81
+ - Si una rama tiene valor historico pero codigo obsoleto, clasificar como concepto.
82
+ - Si un archivo ya existe en `origin/main` con contenido distinto, marcar conflicto de contrato.
83
+ - Si falta evidencia, marcar revision manual con dato faltante.
84
+
85
+ ## 16. Criterios de aceptacion
86
+
87
+ - `feature/QUIVER-46-49-cli-modernization` no queda como merge completo.
88
+ - Cada cambio candidato tiene decision concreta.
89
+ - Package/version queda fuera salvo slice dedicado.
90
+ - No hay hallazgos marcados utiles sin validacion o pregunta abierta.
91
+ - La matriz permite planificar slices tecnicos pequenos.
92
+
93
+ ## 17. Dependencias tecnicas, funcionales o externas
94
+
95
+ Git read-only y baseline aprobado.
96
+
97
+ ## 18. Depende de slices
98
+
99
+ `03-slice`.
100
+
101
+ ## 19. Riesgos / decisiones abiertas
102
+
103
+ La clasificacion puede requerir conocimiento funcional de comandos.
104
+
105
+ ## 20. Pendientes / preguntas abiertas
106
+
107
+ Definir si se revisaran primero todas las ramas conflictivas o solo `QUIVER-46-49`.
@@ -0,0 +1,46 @@
1
+ # CLOSURE_BRIEF - 04-slice
2
+
3
+ ## Resultado
4
+
5
+ Completado como matriz inicial de extraccion.
6
+
7
+ ## Evidencia
8
+
9
+ Matriz de decision por fuente:
10
+
11
+ | Fuente | Decision | Motivo | Siguiente slice |
12
+ |---|---|---|---|
13
+ | `feature/QUIVER-46-49-cli-modernization` | Extraer selectivamente; no merge completo | 176 archivos, conflictos textuales, impacto CLI transversal | `05`, `06`, `07` |
14
+ | `origin/feature/QUIVER-46-49-cli-modernization` | Duplicado remoto de fuente | Misma decision que local | `05`, `06`, `07` |
15
+ | `src/create-quiver/lib/cli/command-registry.js` desde `QUIVER-46-49` | Extraer codigo o rehacer tras comparacion | Valor potencial, bajo numero de archivos, alto impacto contractual | `05` |
16
+ | `src/create-quiver/lib/cli/parser.js` desde `QUIVER-46-49` | Extraer concepto o codigo solo con compatibilidad total | Parser afecta todos los comandos | `05` |
17
+ | Split de `src/create-quiver/commands/ai.js` | Rehacer concepto o extraer por modulo | Riesgo alto por lifecycle/proveedores/outputs | `05`/`06` |
18
+ | Wrappers `status`, `changelog`, `doctor`, `handoff`, `init`, `slice` | Evaluar por comando; no importar en bloque | Algunos namespaces ya existen en `origin/main` | `06` |
19
+ | Docs/specs v46-v49 | Diferir y reconciliar con CLI real | Pueden estar obsoletas frente a PRs #95-#108 | `07` |
20
+ | `package.json`, `package-lock.json`, bump `0.15.4` | Fuera de alcance; decision release separada | No mezclar refactor con version/package | Ninguno en esta spec |
21
+ | `feature/QUIVER-50-01-runtime-minimum-and-package-metadata` | Extraer concepto en slice futuro separado | Toca CI/package/version docs; conflictivo | Fuera de extraccion inicial |
22
+ | `feature/QUIVER-50-03-v50-security-reporting` | Extraer documentacion si sigue faltando | Valor posible en `SECURITY.md`; requiere revision manual | Futuro doc slice |
23
+ | `feature/QUIVER-50-06-contributor-and-architecture-docs` | Extraer concepto/documentacion si vigente | Riesgo de arquitectura desactualizada | Futuro doc slice |
24
+ | `feature/QUIVER-01-ci-matrix-verified` | Revisar manualmente; extraer concepto si falta | Muy vieja, conflictiva, posible duplicacion de `slice-graph` | Futuro analisis |
25
+ | `drafts/v19-v22-orchestration-followups` | Conservar como draft; no merge directo | Documentacion antigua, sin conflicto textual | Limpieza posterior |
26
+ | `backup/QUIVER-52-03-before-squash` | No merge; comparar solo si falta evidencia | Backup pre-squash | `08` posterior |
27
+ | `main` local | No usar como base; no merge | Divergida `ahead 1 / behind 44`, version `0.15.4` | Decision release separada |
28
+ | Ramas revert viejas (`docs/QUIVER-02...`, `feature/QUIVER-03...`, `feature/QUIVER-20...`) | Candidatas a descarte/cierre, no merge | Reverts viejos, conflictivos, valor dudoso | `08` con aprobacion |
29
+
30
+ ## Cambios de comportamiento
31
+
32
+ Ninguno. La matriz no aplica cambios.
33
+
34
+ ## Regresiones detectadas
35
+
36
+ Ninguna.
37
+
38
+ ## Riesgos residuales
39
+
40
+ - La matriz no reemplaza revision de codigo antes de implementar.
41
+ - Ramas remotas requieren verificacion de frescura antes de cerrar/eliminar.
42
+ - Algunos hallazgos quedan como concepto, no codigo listo.
43
+
44
+ ## Decision sobre ramas
45
+
46
+ No se elimina ni cierra ninguna rama. `feature/QUIVER-46-49-cli-modernization` debe conservarse como fuente hasta cerrar `05`, `06` y `07`.
@@ -0,0 +1,39 @@
1
+ # EXECUTION_BRIEF - 04-slice
2
+
3
+ ## Objetivo
4
+
5
+ Crear matriz de extraccion por rama sin aplicar cambios.
6
+
7
+ ## Base segura
8
+
9
+ Usar `origin/main` con baseline y contrato aprobados.
10
+
11
+ ## Archivos candidatos
12
+
13
+ Documentacion de matriz de extraccion.
14
+
15
+ ## Archivos excluidos
16
+
17
+ Codigo fuente, package files, tests y ramas Git.
18
+
19
+ ## Funcionalidad existente afectada
20
+
21
+ Ninguna durante este slice. Se identifican funcionalidades que podrian afectarse en slices futuros.
22
+
23
+ ## Matriz antes/despues
24
+
25
+ Obligatoria para cada candidato que modifique comandos en slices futuros.
26
+
27
+ ## Validaciones
28
+
29
+ - Cada hallazgo clasificado.
30
+ - Cada riesgo tipificado.
31
+ - Exclusion de package/version registrada.
32
+
33
+ ## Riesgos
34
+
35
+ Clasificar como codigo algo que deberia rehacerse como concepto.
36
+
37
+ ## Rollback
38
+
39
+ Revisar o descartar la matriz antes de autorizar implementacion.
@@ -0,0 +1,36 @@
1
+ {
2
+ "slice_id": "05-slice",
3
+ "slice_number": "05",
4
+ "title": "Parser y command registry",
5
+ "objective": "Planificar la recuperacion segura de parser y command registry como cambio transversal de alto riesgo.",
6
+ "problem": "Evita tratar parser/registry como refactor pequeno cuando afecta la entrada de toda la CLI.",
7
+ "value_outcome": "Plan tecnico futuro con compatibilidad total contra baseline, archivos candidatos/excluidos y rollback.",
8
+ "scope": {
9
+ "includes": ["Archivos candidatos", "Matriz de comandos afectados", "Gates de compatibilidad", "Aliases/flags/outputs", "Rollback"],
10
+ "excludes": ["Implementar parser", "Cambiar dispatch CLI", "Modificar package/version", "Eliminar comportamiento existente"]
11
+ },
12
+ "actors": ["Tech Lead", "Implementador futuro", "Reviewer", "Usuarios CLI"],
13
+ "preconditions": ["04-slice identifica parser/registry como candidato aprobado"],
14
+ "inputs": ["Matriz de extraccion", "Baseline", "Contrato de no regresion", "Diffs de rama fuente"],
15
+ "outputs": ["Plan tecnico para rama futura desde origin/main"],
16
+ "workflow": [
17
+ {"step": 1, "name": "Confirmar decision", "description": "Definir extraer codigo, concepto o rehacer."},
18
+ {"step": 2, "name": "Mapear comandos", "description": "Listar comandos afectados por parser."},
19
+ {"step": 3, "name": "Definir gates", "description": "Definir compatibilidad y validaciones."},
20
+ {"step": 4, "name": "Preparar rollback", "description": "Definir como revertir si falla."}
21
+ ],
22
+ "business_rules": ["Parser/registry es alto riesgo", "Aliases/flags/exit codes no desaparecen sin aprobacion", "JSON requiere contrato", "No mezclar con bump de version"],
23
+ "validations": ["Todos los comandos baseline mapeados", "Diferencias con motivo y mejora", "Rollback definido", "Package/version fuera"],
24
+ "error_cases": ["Comando sin baseline", "Alias no preservable", "Codigo viejo no encaja"],
25
+ "acceptance_criteria": ["No permite merge/cherry-pick amplio", "Cambio transversal reconocido", "Matriz por comando", "Package/version fuera", "Rollback definido"],
26
+ "dependencies": {
27
+ "functional": ["Baseline", "Contrato", "Matriz de extraccion"],
28
+ "technical": [],
29
+ "external": [],
30
+ "depends_on_slices": ["04-slice"]
31
+ },
32
+ "implementation_order": 5,
33
+ "slicing_rationale": "Parser/registry requiere plan dedicado porque su blast radius es toda la CLI.",
34
+ "risks": ["Compatibilidad total puede requerir tests adicionales"],
35
+ "open_questions": ["Extraer codigo exacto o reimplementar concepto?"]
36
+ }