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.
- package/.github/pull_request_template.md +17 -0
- package/.github/workflows/ci.yml +76 -0
- package/.markdown-link-check.json +15 -0
- package/.markdownlint.json +11 -0
- package/ARCHITECTURE.md +133 -0
- package/CHANGELOG.md +16 -0
- package/CONTRIBUTING.md +174 -9
- package/README.md +17 -2
- package/README_FOR_AI.md +4 -1
- package/ROADMAP.md +4 -0
- package/SECURITY.md +9 -2
- package/docs/AI_CONTEXT.md.es.template +3 -1
- package/docs/AI_CONTEXT.md.template +3 -1
- package/docs/CLI_UX_GUIDE.md +20 -1
- package/docs/COMMANDS.md.template +20 -6
- package/docs/GITFLOW_PR_GUIDE.md +73 -11
- package/docs/GITFLOW_PR_GUIDE.md.es.template +61 -2
- package/docs/GITFLOW_PR_GUIDE.md.template +72 -10
- package/docs/INDEX.md +6 -1
- package/docs/QUICK.md.template +2 -1
- package/docs/STANDARD.md.template +2 -1
- package/docs/WORKFLOW.md.es.template +3 -1
- package/docs/WORKFLOW.md.template +6 -4
- package/docs/getting-started/installation.md +7 -0
- package/docs/reference/commands.md +138 -6
- package/docs/reference/slice-schema.md +37 -0
- package/docs/schema/slice.schema.json +221 -0
- package/docs/specs/01-spec/01-slice/01-slice.json +36 -0
- package/docs/specs/01-spec/01-slice/01-slice.md +106 -0
- package/docs/specs/01-spec/01-slice/CLOSURE_BRIEF.md +80 -0
- package/docs/specs/01-spec/01-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/02-slice/02-slice.json +36 -0
- package/docs/specs/01-spec/02-slice/02-slice.md +108 -0
- package/docs/specs/01-spec/02-slice/CLOSURE_BRIEF.md +88 -0
- package/docs/specs/01-spec/02-slice/EXECUTION_BRIEF.md +40 -0
- package/docs/specs/01-spec/03-slice/03-slice.json +36 -0
- package/docs/specs/01-spec/03-slice/03-slice.md +103 -0
- package/docs/specs/01-spec/03-slice/CLOSURE_BRIEF.md +54 -0
- package/docs/specs/01-spec/03-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/04-slice/04-slice.json +36 -0
- package/docs/specs/01-spec/04-slice/04-slice.md +107 -0
- package/docs/specs/01-spec/04-slice/CLOSURE_BRIEF.md +46 -0
- package/docs/specs/01-spec/04-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/05-slice/05-slice.json +36 -0
- package/docs/specs/01-spec/05-slice/05-slice.md +106 -0
- package/docs/specs/01-spec/05-slice/CLOSURE_BRIEF.md +84 -0
- package/docs/specs/01-spec/05-slice/EXECUTION_BRIEF.md +109 -0
- package/docs/specs/01-spec/06-slice/06-slice.json +36 -0
- package/docs/specs/01-spec/06-slice/06-slice.md +107 -0
- package/docs/specs/01-spec/06-slice/CLOSURE_BRIEF.md +67 -0
- package/docs/specs/01-spec/06-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/07-slice/07-slice.json +36 -0
- package/docs/specs/01-spec/07-slice/07-slice.md +105 -0
- package/docs/specs/01-spec/07-slice/CLOSURE_BRIEF.md +71 -0
- package/docs/specs/01-spec/07-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/08-slice/08-slice.json +36 -0
- package/docs/specs/01-spec/08-slice/08-slice.md +105 -0
- package/docs/specs/01-spec/08-slice/CLOSURE_BRIEF.md +114 -0
- package/docs/specs/01-spec/08-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/CLOSURE_BRIEF.md +87 -0
- package/docs/specs/01-spec/spec.md +197 -0
- package/docs/workflows/full-ai-spec-to-pr.md +46 -3
- package/i18n/es/docs/GITFLOW_PR_GUIDE.md.template +38 -1
- package/package.json +27 -1
- package/scripts/package-quiver.sh +82 -2
- package/scripts/release-quiver.sh +14 -3
- package/specs/[project-name]/slices/pr.md.template +19 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +122 -1
- package/specs/quiver-v46-deep-project-analysis/EVIDENCE_REPORT.md +94 -0
- package/specs/quiver-v46-deep-project-analysis/EXECUTION_PLAN.md +26 -0
- package/specs/quiver-v46-deep-project-analysis/SPEC.md +157 -0
- package/specs/quiver-v46-deep-project-analysis/STATUS.md +26 -0
- package/specs/quiver-v46-deep-project-analysis/pr.md +131 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/CLOSURE_BRIEF.md +14 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/EXECUTION_BRIEF.md +41 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/slice.json +61 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/EXECUTION_BRIEF.md +33 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/slice.json +80 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/EXECUTION_BRIEF.md +34 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/slice.json +79 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/EXECUTION_BRIEF.md +33 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/slice.json +79 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/EXECUTION_BRIEF.md +32 -0
- package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/slice.json +85 -0
- package/specs/quiver-v50-audit-trust-foundation/EVIDENCE_REPORT.md +151 -0
- package/specs/quiver-v50-audit-trust-foundation/EXECUTION_PLAN.md +34 -0
- package/specs/quiver-v50-audit-trust-foundation/SPEC.md +113 -0
- package/specs/quiver-v50-audit-trust-foundation/STATUS.md +26 -0
- package/specs/quiver-v50-audit-trust-foundation/pr.md +120 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/slice.json +57 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/CLOSURE_BRIEF.md +24 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/EXECUTION_BRIEF.md +67 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/slice.json +71 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/CLOSURE_BRIEF.md +24 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/EXECUTION_BRIEF.md +71 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/slice.json +81 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/slice.json +56 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/CLOSURE_BRIEF.md +23 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/EXECUTION_BRIEF.md +68 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/slice.json +84 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/EXECUTION_BRIEF.md +73 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/slice.json +72 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/EXECUTION_BRIEF.md +66 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/slice.json +74 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/CLOSURE_BRIEF.md +29 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/EXECUTION_BRIEF.md +74 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/slice.json +81 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md +145 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/EXECUTION_PLAN.md +32 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/SPEC.md +109 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/STATUS.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/pr.md +69 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json +56 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/slice.json +68 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/EXECUTION_BRIEF.md +65 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/pr.md +134 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/slice.json +80 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/EXECUTION_BRIEF.md +80 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/pr.md +159 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/slice.json +102 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/EXECUTION_BRIEF.md +74 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/pr.md +147 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/slice.json +91 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/CLOSURE_BRIEF.md +28 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/EXECUTION_BRIEF.md +73 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/pr.md +146 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/slice.json +100 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md +76 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/pr.md +155 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json +111 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md +95 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/EXECUTION_PLAN.md +31 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/SPEC.md +107 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/STATUS.md +22 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/pr.md +69 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/EXECUTION_BRIEF.md +60 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/slice.json +62 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/EXECUTION_BRIEF.md +71 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md +146 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json +106 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/EXECUTION_BRIEF.md +67 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/pr.md +144 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json +86 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/EXECUTION_BRIEF.md +75 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/pr.md +159 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/slice.json +105 -0
- package/src/create-quiver/commands/ai.js +521 -0
- package/src/create-quiver/commands/changelog.js +93 -0
- package/src/create-quiver/commands/config.js +16 -5
- package/src/create-quiver/commands/evidence.js +33 -2
- package/src/create-quiver/commands/flow.js +1 -0
- package/src/create-quiver/commands/graph.js +8 -2
- package/src/create-quiver/commands/plan.js +6 -0
- package/src/create-quiver/commands/spec.js +28 -13
- package/src/create-quiver/index.js +408 -98
- package/src/create-quiver/lib/ai/analyze-project-discovery.js +387 -0
- package/src/create-quiver/lib/ai/analyze-project-docs.js +364 -0
- package/src/create-quiver/lib/ai/analyze-project-parser.js +277 -0
- package/src/create-quiver/lib/ai/analyze-project-prompts.js +214 -0
- package/src/create-quiver/lib/ai/analyze-project-review.js +99 -0
- package/src/create-quiver/lib/ai/analyze-project-sampling.js +402 -0
- package/src/create-quiver/lib/ai/analyze-project-schema.js +92 -0
- package/src/create-quiver/lib/ai/analyze-project-validation.js +309 -0
- package/src/create-quiver/lib/ai/artifacts.js +4 -1
- package/src/create-quiver/lib/ai/github.js +5 -2
- package/src/create-quiver/lib/ai/spec-templates.js +19 -0
- package/src/create-quiver/lib/cli/command-registry.js +72 -0
- package/src/create-quiver/lib/cli/parser.js +14 -0
- package/src/create-quiver/lib/evidence.js +161 -6
- package/src/create-quiver/lib/git.js +99 -0
- package/src/create-quiver/lib/i18n/messages/en.js +52 -7
- package/src/create-quiver/lib/i18n/messages/es.js +54 -9
- package/src/create-quiver/lib/init-docs.js +1 -1
- package/src/create-quiver/lib/init-layout.js +9 -8
- package/src/create-quiver/lib/lifecycle.js +24 -26
- package/src/create-quiver/lib/readiness.js +67 -56
- package/src/create-quiver/lib/spec-worktrees.js +16 -34
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - 06-slice
|
|
2
|
+
|
|
3
|
+
## Resultado
|
|
4
|
+
|
|
5
|
+
Completado como plan de comandos/wrappers y ejecutado parcialmente con un wrapper read-only de bajo riesgo: `changelog`.
|
|
6
|
+
|
|
7
|
+
## Evidencia
|
|
8
|
+
|
|
9
|
+
Plan por comando/namespace:
|
|
10
|
+
|
|
11
|
+
| Comando/namespace | Estado en `origin/main` | Decision |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| `slice ...` | Ya existe como namespace canonico en help | No re-agregar; comparar gaps antes de tocar |
|
|
14
|
+
| `handoff ...` | Ya existe como namespace canonico en help | No re-agregar; comparar gaps antes de tocar |
|
|
15
|
+
| `evidence list/show` | Ya existe en help | No importar version vieja sin diff contractual |
|
|
16
|
+
| `doctor` | Ya existe | Solo mejoras puntuales con antes/despues |
|
|
17
|
+
| `init` | Ya existe | Solo mejoras puntuales con side effects controlados |
|
|
18
|
+
| `analyze` | Ya existe y escribe docs/.quiver | Requiere sandbox/dry-run antes de cambios |
|
|
19
|
+
| `status` top-level | No aparece como top-level en baseline; existe `ai status` y `spec status` | Candidato nuevo solo si no colisiona y mejora es verificable |
|
|
20
|
+
| `changelog` top-level | No aparece como top-level en baseline; hay scripts/checks | Implementado como wrapper read-only separado, sin package/version |
|
|
21
|
+
| `ai` subcommands | Amplios y provider-aware | Separar por subcomando; depende de baseline adicional |
|
|
22
|
+
|
|
23
|
+
Implementacion ejecutada:
|
|
24
|
+
|
|
25
|
+
| Comando | Antes | Despues | Motivo | Mejora | Validacion esperada | Rollback |
|
|
26
|
+
|---|---|---|---|---|---|---|
|
|
27
|
+
| `changelog` | `unsupported command: changelog`, exit `1` | Muestra ultimas entradas parseables de `CHANGELOG.md`; `--json` emite `schema_version: 1`, `source`, `missing`, `entries`; exit `0` | Recuperar wrapper util sin importar la modernizacion completa ni tocar versionado | Consulta read-only del changelog local con salida humana y JSON estable | `node --test tests/commands/parser-contract.test.js tests/commands/cli-contract.test.js`; `node bin/create-quiver.js changelog`; `node bin/create-quiver.js changelog --json`; confirmar que `status --json` sigue unsupported | Remover `src/create-quiver/commands/changelog.js`, quitar `changelog` del registry, help, dispatch y tests asociados |
|
|
28
|
+
|
|
29
|
+
Reglas para cada implementacion futura:
|
|
30
|
+
|
|
31
|
+
- Un comando por unidad de cambio salvo dependencia justificada.
|
|
32
|
+
- Antes/despues obligatorio.
|
|
33
|
+
- Si cambia stdout/stderr, JSON, exit code o side effect, requiere aprobacion explicita.
|
|
34
|
+
- No tocar package/version.
|
|
35
|
+
|
|
36
|
+
## Cambios de comportamiento
|
|
37
|
+
|
|
38
|
+
- `changelog` top-level pasa de unsupported a comando soportado.
|
|
39
|
+
- No se quita funcionalidad existente.
|
|
40
|
+
- `status` top-level sigue sin habilitarse para evitar colision con `ai status` y `spec status`.
|
|
41
|
+
- No cambia `package.json`, versionado, aliases ni comandos con side effects.
|
|
42
|
+
|
|
43
|
+
## Regresiones detectadas
|
|
44
|
+
|
|
45
|
+
Ninguna detectada.
|
|
46
|
+
|
|
47
|
+
## Validacion ejecutada
|
|
48
|
+
|
|
49
|
+
| Comando | Resultado |
|
|
50
|
+
|---|---|
|
|
51
|
+
| `node --check src/create-quiver/index.js && node --check src/create-quiver/commands/changelog.js && node --check src/create-quiver/lib/cli/command-registry.js && node --check tests/commands/parser-contract.test.js && node --check tests/commands/cli-contract.test.js` | OK |
|
|
52
|
+
| `node --test tests/commands/parser-contract.test.js tests/commands/cli-contract.test.js` | OK, 17 tests, 17 pass |
|
|
53
|
+
| `npm run docs:commands:write` | OK, sincronizo `docs/reference/commands.md` |
|
|
54
|
+
| `npm run docs:commands:check` | OK, referencia de comandos sincronizada |
|
|
55
|
+
| `node bin/create-quiver.js changelog` | OK, salida humana con entradas de `CHANGELOG.md` |
|
|
56
|
+
| `node bin/create-quiver.js changelog --json` | OK, `schema_version: 1`, `missing: false`, `entries` parseable |
|
|
57
|
+
| `node bin/create-quiver.js status --json` | OK, sigue unsupported con exit `1` |
|
|
58
|
+
|
|
59
|
+
## Riesgos residuales
|
|
60
|
+
|
|
61
|
+
- `status` requiere decision de producto para evitar colision de UX.
|
|
62
|
+
- `changelog` validado localmente antes de merge.
|
|
63
|
+
- Comandos write-capable necesitan baseline adicional en sandbox antes de implementarse.
|
|
64
|
+
|
|
65
|
+
## Decision sobre ramas
|
|
66
|
+
|
|
67
|
+
Mantener ramas fuente hasta cerrar comparacion por comando. No importar wrappers en bloque.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - 06-slice
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Planificar extraccion de comandos/wrappers por unidad independiente.
|
|
6
|
+
|
|
7
|
+
## Base segura
|
|
8
|
+
|
|
9
|
+
`origin/main` con baseline, contrato y matriz aprobados.
|
|
10
|
+
|
|
11
|
+
## Archivos candidatos
|
|
12
|
+
|
|
13
|
+
Archivos de comando especificos autorizados por la matriz.
|
|
14
|
+
|
|
15
|
+
## Archivos excluidos
|
|
16
|
+
|
|
17
|
+
Parser global salvo dependencia aprobada, package files y version/release files.
|
|
18
|
+
|
|
19
|
+
## Funcionalidad existente afectada
|
|
20
|
+
|
|
21
|
+
Solo comandos listados explicitamente en la matriz del slice.
|
|
22
|
+
|
|
23
|
+
## Matriz antes/despues
|
|
24
|
+
|
|
25
|
+
Obligatoria por comando: flags, aliases, help, JSON, exit code, stdout/stderr, side effects.
|
|
26
|
+
|
|
27
|
+
## Validaciones
|
|
28
|
+
|
|
29
|
+
- Un comando por unidad de implementacion futura.
|
|
30
|
+
- Mejora verificable.
|
|
31
|
+
- No se pierden aliases/flags.
|
|
32
|
+
|
|
33
|
+
## Riesgos
|
|
34
|
+
|
|
35
|
+
Duplicar comandos existentes o cambiar UX sin evidencia.
|
|
36
|
+
|
|
37
|
+
## Rollback
|
|
38
|
+
|
|
39
|
+
Revertir comando afectado y validar baseline de ese comando.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "07-slice",
|
|
3
|
+
"slice_number": "07",
|
|
4
|
+
"title": "Docs, tests y evidencia",
|
|
5
|
+
"objective": "Planificar como validar y documentar cambios futuros para que CLI, docs y tests no diverjan.",
|
|
6
|
+
"problem": "Evita que tests nuevos den falsa seguridad o que docs generadas no coincidan con la CLI real.",
|
|
7
|
+
"value_outcome": "Contrato de evidencia para futuras implementaciones: pruebas minimas, docs afectadas y criterios de cierre.",
|
|
8
|
+
"scope": {
|
|
9
|
+
"includes": ["Mapa de cobertura", "Regla de cobertura equivalente", "Gate CLI/docs", "Evidencia minima", "Validaciones pendientes"],
|
|
10
|
+
"excludes": ["Ejecutar tests", "Modificar tests", "Regenerar docs", "Cambiar codigo"]
|
|
11
|
+
},
|
|
12
|
+
"actors": ["Reviewer", "Implementador futuro", "Maintainer", "Usuarios CLI"],
|
|
13
|
+
"preconditions": ["Contrato aprobado", "Planes de extraccion definidos"],
|
|
14
|
+
"inputs": ["Baseline", "Matriz de comandos", "Tests existentes", "Docs actuales"],
|
|
15
|
+
"outputs": ["Checklist de validacion", "Contrato de evidencia"],
|
|
16
|
+
"workflow": [
|
|
17
|
+
{"step": 1, "name": "Mapear cobertura", "description": "Relacionar tests actuales con comportamiento."},
|
|
18
|
+
{"step": 2, "name": "Mapear docs", "description": "Identificar docs que describen comandos."},
|
|
19
|
+
{"step": 3, "name": "Definir evidencia", "description": "Crear checklist por tipo de cambio."},
|
|
20
|
+
{"step": 4, "name": "Definir cierre", "description": "Definir riesgos residuales y validaciones pendientes."}
|
|
21
|
+
],
|
|
22
|
+
"business_rules": ["No eliminar cobertura sin reemplazo", "Docs reflejan CLI real", "Pendiente no es exito", "JSON/exit code requiere prueba especifica"],
|
|
23
|
+
"validations": ["Evidencia minima por cambio", "Gate CLI/docs", "Cobertura equivalente", "Formato de riesgos"],
|
|
24
|
+
"error_cases": ["Validacion no ejecutable", "Docs generadas sin proceso", "Test viejo borrado"],
|
|
25
|
+
"acceptance_criteria": ["Checklist de evidencia", "Gate CLI/docs", "Regla de cobertura", "Pendientes separados de exitos", "Riesgos residuales explicitos"],
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"functional": ["Baseline", "Contrato", "Planes de extraccion"],
|
|
28
|
+
"technical": [],
|
|
29
|
+
"external": [],
|
|
30
|
+
"depends_on_slices": ["03-slice", "05-slice", "06-slice"]
|
|
31
|
+
},
|
|
32
|
+
"implementation_order": 7,
|
|
33
|
+
"slicing_rationale": "La evidencia evita que extracciones parciales se cierren sin pruebas suficientes.",
|
|
34
|
+
"risks": ["Proceso de docs generadas no documentado"],
|
|
35
|
+
"open_questions": ["Evidencia minima manual, automatizada o ambas?"]
|
|
36
|
+
}
|
|
@@ -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.
|