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,80 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - 01-slice
|
|
2
|
+
|
|
3
|
+
## Resultado
|
|
4
|
+
|
|
5
|
+
Completado.
|
|
6
|
+
|
|
7
|
+
## Evidencia
|
|
8
|
+
|
|
9
|
+
Snapshot local tomado el `2026-06-08T17:04:35-0300`.
|
|
10
|
+
|
|
11
|
+
Base usada: `origin/main` @ `7bc234bbf96fb17d8c44863fac25430b59fc832e`.
|
|
12
|
+
|
|
13
|
+
Estado del working tree al iniciar snapshot: `main...origin/main [ahead 1, behind 44]`.
|
|
14
|
+
|
|
15
|
+
Verificacion remota no destructiva ejecutada el `2026-06-08T17:12:45-0300`:
|
|
16
|
+
|
|
17
|
+
| Campo | Valor |
|
|
18
|
+
|---|---|
|
|
19
|
+
| Remote URL | `git@github-personal:FabriJuncal/quiver.git` |
|
|
20
|
+
| `origin/main` local | `7bc234bbf96fb17d8c44863fac25430b59fc832e` |
|
|
21
|
+
| `main` remoto | `7bc234bbf96fb17d8c44863fac25430b59fc832e` |
|
|
22
|
+
| `origin/main` fresco | Si |
|
|
23
|
+
| Heads remotos actuales | 10 |
|
|
24
|
+
| Remote-tracking refs locales bajo `origin` | 13 |
|
|
25
|
+
|
|
26
|
+
Remote-tracking refs locales stale detectados, sin pruning automatico:
|
|
27
|
+
|
|
28
|
+
- `origin/feature/QUIVER-52-02-v52-generated-cli-reference`
|
|
29
|
+
- `origin/feature/QUIVER-52-03-v52-release-package-hygiene`
|
|
30
|
+
|
|
31
|
+
Resumen de refs revisados:
|
|
32
|
+
|
|
33
|
+
| Metrica | Valor |
|
|
34
|
+
|---|---:|
|
|
35
|
+
| Total refs revisados, excluyendo `origin/main` | 76 |
|
|
36
|
+
| Locales | 65 |
|
|
37
|
+
| Remotos | 11 |
|
|
38
|
+
| Sin delta contra `origin/main` | 60 |
|
|
39
|
+
| Con commits por encima de `origin/main` | 16 |
|
|
40
|
+
| Con conflictos textuales probables por `merge-tree` | 13 |
|
|
41
|
+
| Sin merge-base / desconocidos | 0 |
|
|
42
|
+
|
|
43
|
+
Refs con commits por encima de `origin/main`:
|
|
44
|
+
|
|
45
|
+
| Ref | Ahead | Behind | Conflicto textual | Estado |
|
|
46
|
+
|---|---:|---:|---|---|
|
|
47
|
+
| `backup/QUIVER-52-03-before-squash` | 3 | 2 | No | revisar como backup, no merge directo |
|
|
48
|
+
| `backup/main-before-pull-v31` | 9 | 111 | Si | conflicto / backup obsoleto |
|
|
49
|
+
| `docs/QUIVER-02-decision-log-context-checkpoint` | 1 | 326 | Si | conflicto / revert viejo |
|
|
50
|
+
| `drafts/v19-v22-orchestration-followups` | 1 | 286 | No | revisar como draft documental |
|
|
51
|
+
| `feature/QUIVER-01-ci-matrix-verified` | 2 | 300 | Si | revisar/extraccion manual |
|
|
52
|
+
| `feature/QUIVER-03-project-map-reading-order` | 1 | 324 | Si | conflicto / revert viejo |
|
|
53
|
+
| `feature/QUIVER-20-ai-cli-orchestration` | 1 | 253 | Si | conflicto / probablemente obsoleto |
|
|
54
|
+
| `feature/QUIVER-46-49-cli-modernization` | 3 | 44 | Si | fuente de extraccion, no merge completo |
|
|
55
|
+
| `feature/QUIVER-50-01-runtime-minimum-and-package-metadata` | 1 | 38 | Si | extraccion conceptual separada |
|
|
56
|
+
| `feature/QUIVER-50-03-v50-security-reporting` | 1 | 38 | Si | extraccion documental manual |
|
|
57
|
+
| `feature/QUIVER-50-06-contributor-and-architecture-docs` | 1 | 38 | Si | extraccion documental manual |
|
|
58
|
+
| `main` | 1 | 44 | Si | divergida, no usar como base |
|
|
59
|
+
| `origin/drafts/v19-v22-orchestration-followups` | 1 | 286 | No | duplicado remoto de draft |
|
|
60
|
+
| `origin/feature/QUIVER-01-ci-matrix-verified` | 2 | 300 | Si | duplicado remoto para revisar |
|
|
61
|
+
| `origin/feature/QUIVER-20-ai-cli-orchestration` | 1 | 253 | Si | duplicado remoto obsoleto |
|
|
62
|
+
| `origin/feature/QUIVER-46-49-cli-modernization` | 3 | 44 | Si | duplicado remoto de fuente de extraccion |
|
|
63
|
+
|
|
64
|
+
## Cambios de comportamiento
|
|
65
|
+
|
|
66
|
+
Ninguno. Solo se ejecutaron comandos Git read-only y `merge-tree`.
|
|
67
|
+
|
|
68
|
+
## Regresiones detectadas
|
|
69
|
+
|
|
70
|
+
Ninguna; no se modifico codigo ni ramas.
|
|
71
|
+
|
|
72
|
+
## Riesgos residuales
|
|
73
|
+
|
|
74
|
+
- No se ejecuto `fetch` ni `prune`; hay remote-tracking refs locales stale documentados.
|
|
75
|
+
- `merge-tree` cubre conflicto textual, no conflicto semantico ni de contrato.
|
|
76
|
+
- Ramas `ahead=0` quedan como `sin delta`, no como eliminables.
|
|
77
|
+
|
|
78
|
+
## Decision sobre ramas
|
|
79
|
+
|
|
80
|
+
No se cierra ni elimina ninguna rama. Las ramas fuente de extraccion quedan retenidas hasta completar la matriz de extraccion.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - 01-slice
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Generar un snapshot verificable de ramas sin modificar el repo.
|
|
6
|
+
|
|
7
|
+
## Base segura
|
|
8
|
+
|
|
9
|
+
Usar `origin/main` y registrar su SHA exacto al momento de ejecucion.
|
|
10
|
+
|
|
11
|
+
## Archivos candidatos
|
|
12
|
+
|
|
13
|
+
Solo documentos de evidencia del slice si se implementa documentacion posterior.
|
|
14
|
+
|
|
15
|
+
## Archivos excluidos
|
|
16
|
+
|
|
17
|
+
Codigo fuente, package files, ramas Git y configuracion remota.
|
|
18
|
+
|
|
19
|
+
## Funcionalidad existente afectada
|
|
20
|
+
|
|
21
|
+
Ninguna. Este slice es read-only.
|
|
22
|
+
|
|
23
|
+
## Matriz antes/despues
|
|
24
|
+
|
|
25
|
+
No aplica porque no modifica comportamiento.
|
|
26
|
+
|
|
27
|
+
## Validaciones
|
|
28
|
+
|
|
29
|
+
- Inventario incluye local/remota.
|
|
30
|
+
- Inventario registra SHA y fecha.
|
|
31
|
+
- No hay acciones destructivas.
|
|
32
|
+
|
|
33
|
+
## Riesgos
|
|
34
|
+
|
|
35
|
+
Snapshot remoto desactualizado si no se autoriza `fetch`.
|
|
36
|
+
|
|
37
|
+
## Rollback
|
|
38
|
+
|
|
39
|
+
No aplica a codigo. Si el reporte es incorrecto, descartarlo y regenerarlo con snapshot fresco.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "02-slice",
|
|
3
|
+
"slice_number": "02",
|
|
4
|
+
"title": "Baseline de comportamiento actual",
|
|
5
|
+
"objective": "Documentar el comportamiento actual que no debe romperse antes de cualquier extraccion o refactor.",
|
|
6
|
+
"problem": "Sin baseline, la regla de no quitar funcionalidad no es verificable.",
|
|
7
|
+
"value_outcome": "Matriz de comportamiento actual para comandos, flags, aliases, outputs, JSON, exit codes, side effects, exports, scripts, templates y docs generadas.",
|
|
8
|
+
"scope": {
|
|
9
|
+
"includes": ["Comandos", "Aliases", "Flags", "Help", "JSON", "Exit codes", "Stdout/stderr", "Archivos generados", "Scripts", "Exports", "Templates", "Docs generadas"],
|
|
10
|
+
"excludes": ["Cambios de parser", "Cambios de comandos", "Bumps de version", "Reemplazo de tests"]
|
|
11
|
+
},
|
|
12
|
+
"actors": ["Tech Lead", "Reviewer", "Usuarios CLI", "Automatizaciones"],
|
|
13
|
+
"preconditions": ["01-slice completado o snapshot aprobado"],
|
|
14
|
+
"inputs": ["CLI actual", "Documentacion actual", "Tests existentes"],
|
|
15
|
+
"outputs": ["Matriz baseline", "Lista de gaps"],
|
|
16
|
+
"workflow": [
|
|
17
|
+
{"step": 1, "name": "Enumerar comandos", "description": "Listar comandos y aliases actuales."},
|
|
18
|
+
{"step": 2, "name": "Registrar contratos", "description": "Registrar flags, help, JSON, exit codes y streams."},
|
|
19
|
+
{"step": 3, "name": "Registrar side effects", "description": "Documentar archivos generados, scripts, exports y templates."},
|
|
20
|
+
{"step": 4, "name": "Marcar gaps", "description": "Listar areas sin evidencia suficiente."}
|
|
21
|
+
],
|
|
22
|
+
"business_rules": ["Ningun slice tecnico avanza sin baseline", "JSON y exit codes son contrato", "Falta de evidencia se marca como riesgo"],
|
|
23
|
+
"validations": ["Cada comando critico tiene entrada", "Cada gap esta marcado", "La matriz permite comparacion futura"],
|
|
24
|
+
"error_cases": ["Comandos con side effects", "Outputs variables", "JSON no soportado"],
|
|
25
|
+
"acceptance_criteria": ["Existe matriz baseline", "Cubre comandos/flags/aliases/help/JSON/exit codes/side effects", "Gaps listados", "Cambios futuros comparan contra baseline"],
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"functional": ["Snapshot aprobado"],
|
|
28
|
+
"technical": ["CLI actual"],
|
|
29
|
+
"external": [],
|
|
30
|
+
"depends_on_slices": ["01-slice"]
|
|
31
|
+
},
|
|
32
|
+
"implementation_order": 2,
|
|
33
|
+
"slicing_rationale": "El baseline transforma no regresion en criterio verificable.",
|
|
34
|
+
"risks": ["Cobertura incompleta de comandos"],
|
|
35
|
+
"open_questions": ["Cuales son comandos criticos minimos si se prioriza?"]
|
|
36
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# 02-slice - Baseline de comportamiento actual
|
|
2
|
+
|
|
3
|
+
## 1. Nombre del slice
|
|
4
|
+
|
|
5
|
+
Baseline de comportamiento actual.
|
|
6
|
+
|
|
7
|
+
## 2. Objetivo del slice
|
|
8
|
+
|
|
9
|
+
Documentar el comportamiento actual que no debe romperse antes de cualquier extraccion o refactor.
|
|
10
|
+
|
|
11
|
+
## 3. Problema puntual que resuelve
|
|
12
|
+
|
|
13
|
+
Sin baseline, la regla de no quitar funcionalidad no es verificable.
|
|
14
|
+
|
|
15
|
+
## 4. Valor observable que entrega
|
|
16
|
+
|
|
17
|
+
Matriz de comportamiento actual para comandos, flags, aliases, outputs, JSON, exit codes, side effects, exports, scripts, templates y docs generadas.
|
|
18
|
+
|
|
19
|
+
## 5. Alcance especifico
|
|
20
|
+
|
|
21
|
+
Crear un contrato de observacion del estado actual. No cambia codigo ni tests.
|
|
22
|
+
|
|
23
|
+
## 6. Que incluye
|
|
24
|
+
|
|
25
|
+
- Inventario de comandos visibles.
|
|
26
|
+
- Aliases y flags.
|
|
27
|
+
- `--help` y `--json`.
|
|
28
|
+
- Exit codes para exito/error.
|
|
29
|
+
- Stdout/stderr esperados.
|
|
30
|
+
- Archivos generados y rutas.
|
|
31
|
+
- Scripts CI relevantes.
|
|
32
|
+
- Exports internos usados por tests o consumidores.
|
|
33
|
+
- Templates y docs generadas.
|
|
34
|
+
|
|
35
|
+
## 7. Que no incluye
|
|
36
|
+
|
|
37
|
+
- Cambios de parser.
|
|
38
|
+
- Cambios de comandos.
|
|
39
|
+
- Bumps de version.
|
|
40
|
+
- Reemplazo de tests.
|
|
41
|
+
|
|
42
|
+
## 8. Actores involucrados
|
|
43
|
+
|
|
44
|
+
Tech Lead, reviewer, usuarios CLI y automatizaciones.
|
|
45
|
+
|
|
46
|
+
## 9. Precondiciones
|
|
47
|
+
|
|
48
|
+
`01-slice` completado o snapshot de base aprobado.
|
|
49
|
+
|
|
50
|
+
## 10. Entradas necesarias
|
|
51
|
+
|
|
52
|
+
CLI actual sobre `origin/main`, documentacion actual y tests existentes.
|
|
53
|
+
|
|
54
|
+
## 11. Flujo operativo paso a paso
|
|
55
|
+
|
|
56
|
+
1. Enumerar comandos y aliases actuales.
|
|
57
|
+
2. Registrar flags por comando.
|
|
58
|
+
3. Capturar comportamiento de ayuda.
|
|
59
|
+
4. Registrar contratos JSON cuando existan.
|
|
60
|
+
5. Registrar exit codes y streams.
|
|
61
|
+
6. Registrar archivos generados y side effects.
|
|
62
|
+
7. Registrar scripts y exports relevantes.
|
|
63
|
+
8. Identificar areas sin evidencia.
|
|
64
|
+
|
|
65
|
+
## 12. Salidas esperadas
|
|
66
|
+
|
|
67
|
+
Matriz de baseline y lista de gaps que bloquean extracciones futuras.
|
|
68
|
+
|
|
69
|
+
## 13. Reglas de negocio aplicables
|
|
70
|
+
|
|
71
|
+
- Ningun slice tecnico puede avanzar sin baseline suficiente.
|
|
72
|
+
- `--json`, exit codes y side effects son contrato funcional.
|
|
73
|
+
- Falta de evidencia se documenta como riesgo, no se asume seguro.
|
|
74
|
+
|
|
75
|
+
## 14. Validaciones
|
|
76
|
+
|
|
77
|
+
- Cada comando critico tiene entrada en la matriz.
|
|
78
|
+
- Cada cambio futuro puede referenciar baseline.
|
|
79
|
+
- Los gaps estan marcados explicitamente.
|
|
80
|
+
|
|
81
|
+
## 15. Manejo de errores o edge cases
|
|
82
|
+
|
|
83
|
+
- Si un comando no puede ejecutarse sin side effects, registrar precondiciones y no forzarlo.
|
|
84
|
+
- Si no existe JSON mode, registrar como no soportado.
|
|
85
|
+
- Si hay outputs variables, registrar partes estables.
|
|
86
|
+
|
|
87
|
+
## 16. Criterios de aceptacion
|
|
88
|
+
|
|
89
|
+
- Existe matriz baseline antes de extraer codigo.
|
|
90
|
+
- Baseline cubre comandos, flags, aliases, help, JSON, exit codes y side effects.
|
|
91
|
+
- Las areas no cubiertas estan listadas como riesgos.
|
|
92
|
+
- Ningun cambio futuro puede declararse no regresivo sin comparar contra este baseline.
|
|
93
|
+
|
|
94
|
+
## 17. Dependencias tecnicas, funcionales o externas
|
|
95
|
+
|
|
96
|
+
Snapshot aprobado y acceso a CLI/documentacion actual.
|
|
97
|
+
|
|
98
|
+
## 18. Depende de slices
|
|
99
|
+
|
|
100
|
+
`01-slice`.
|
|
101
|
+
|
|
102
|
+
## 19. Riesgos / decisiones abiertas
|
|
103
|
+
|
|
104
|
+
Puede ser costoso cubrir todos los comandos; si se prioriza, debe quedar explicito.
|
|
105
|
+
|
|
106
|
+
## 20. Pendientes / preguntas abiertas
|
|
107
|
+
|
|
108
|
+
Definir comandos criticos minimos si el baseline completo requiere varias iteraciones.
|
|
@@ -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
|
+
}
|