create-quiver 0.9.0 → 0.10.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/README.md +312 -124
- package/README_FOR_AI.md +59 -45
- package/ROADMAP.md +12 -11
- package/docs/AI_ONBOARDING_PROMPT.md.template +120 -52
- package/docs/COMMANDS.md.template +41 -6
- package/docs/GITFLOW_PR_GUIDE.md.template +11 -0
- package/docs/STANDARD.md.template +1 -1
- package/docs/SUPPORT_MATRIX.md.template +4 -0
- package/docs/TROUBLESHOOTING.md.template +29 -1
- package/docs/WORKFLOW.md.template +1 -1
- package/package.json +6 -1
- package/package.template.json +11 -6
- package/scripts/check-pr-readiness.sh +1 -1
- package/scripts/check-scope.sh +0 -1
- package/scripts/check-slice-readiness.sh +3 -4
- package/scripts/init-docs.sh +55 -9
- package/specs/quiver-v19-self-install-dev-dep/EVIDENCE_REPORT.md +2 -2
- package/specs/quiver-v19-self-install-dev-dep/STATUS.md +4 -4
- package/specs/quiver-v19-self-install-dev-dep/slices/slice-01-auto-install-dev-dep/slice.json +4 -4
- package/specs/quiver-v20-ai-cli-orchestration/EVIDENCE_REPORT.md +23 -0
- package/specs/quiver-v20-ai-cli-orchestration/EXECUTION_PLAN.md +57 -0
- package/specs/quiver-v20-ai-cli-orchestration/SPEC.md +202 -0
- package/specs/quiver-v20-ai-cli-orchestration/STATUS.md +35 -0
- package/specs/quiver-v20-ai-cli-orchestration/pr.md +100 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/slice.json +54 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/CLOSURE_BRIEF.md +39 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/EXECUTION_BRIEF.md +63 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/slice.json +55 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/CLOSURE_BRIEF.md +40 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/EXECUTION_BRIEF.md +60 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/slice.json +54 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/CLOSURE_BRIEF.md +43 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/EXECUTION_BRIEF.md +62 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/slice.json +62 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/EXECUTION_BRIEF.md +63 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/slice.json +59 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/slice.json +59 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/EXECUTION_BRIEF.md +64 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/slice.json +65 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/EXECUTION_BRIEF.md +66 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/slice.json +63 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/EXECUTION_BRIEF.md +64 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/slice.json +77 -0
- package/specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md +31 -0
- package/specs/quiver-v21-ai-first-layout/EXECUTION_PLAN.md +185 -0
- package/specs/quiver-v21-ai-first-layout/SPEC.md +212 -0
- package/specs/quiver-v21-ai-first-layout/STATUS.md +37 -0
- package/specs/quiver-v21-ai-first-layout/pr.md +110 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +63 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/slice.json +45 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/slice.json +57 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/EXECUTION_BRIEF.md +60 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/slice.json +58 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/slice.json +64 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/slice.json +64 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/EXECUTION_BRIEF.md +60 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/slice.json +65 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/EXECUTION_BRIEF.md +62 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/slice.json +66 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/slice.json +67 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/EXECUTION_BRIEF.md +66 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/slice.json +62 -0
- package/src/create-quiver/commands/ai.js +442 -0
- package/src/create-quiver/index.js +421 -84
- package/src/create-quiver/lib/ai/context-packs.js +158 -0
- package/src/create-quiver/lib/ai/execution-plan.js +254 -0
- package/src/create-quiver/lib/ai/executor.js +323 -0
- package/src/create-quiver/lib/ai/github.js +329 -0
- package/src/create-quiver/lib/ai/phase-gates.js +72 -0
- package/src/create-quiver/lib/ai/preflight.js +58 -0
- package/src/create-quiver/lib/ai/prompt-transport.js +81 -0
- package/src/create-quiver/lib/ai/prompts.js +39 -0
- package/src/create-quiver/lib/ai/providers.js +314 -0
- package/src/create-quiver/lib/ai/safety.js +151 -0
- package/src/create-quiver/lib/ai/spec-generator.js +314 -0
- package/src/create-quiver/lib/ai/spec-templates.js +715 -0
- package/src/create-quiver/lib/doctor.js +114 -0
- package/src/create-quiver/lib/git.js +21 -0
- package/src/create-quiver/lib/init-docs.js +286 -25
- package/src/create-quiver/lib/init-layout.js +426 -0
- package/src/create-quiver/lib/lifecycle.js +2 -2
- package/src/create-quiver/lib/paths.js +63 -2
- package/src/create-quiver/lib/project-scan.js +66 -0
- package/src/create-quiver/lib/readiness.js +4 -2
- package/src/create-quiver/lib/scope.js +125 -0
- package/src/create-quiver/lib/slice-graph.js +6 -0
- package/src/create-quiver/lib/slice.js +51 -8
- package/src/create-quiver/lib/state.js +18 -1
- package/src/create-quiver/lib/template-resolver.js +74 -0
- package/.claude/settings.local.json +0 -52
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-03: Generation profiles and visible contract
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v21-ai-first-layout
|
|
4
|
+
**Slice:** slice-03-generation-profiles-visible-contract
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
El valor visible del cambio aparece cuando el init default deja de generar archivos que parecen ruido para onboarding.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Implementar la escritura real de los perfiles default, minimal y full.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Init writer.
|
|
18
|
+
- Perfiles de archivos visibles.
|
|
19
|
+
- Package scripts generados por perfil.
|
|
20
|
+
- Smokes iniciales por perfil.
|
|
21
|
+
|
|
22
|
+
## Criterios de aceptacion
|
|
23
|
+
|
|
24
|
+
- Default no crea `docs-template/`, `tools/scripts/` ni spec placeholder.
|
|
25
|
+
- Minimal crea solo el contrato esencial.
|
|
26
|
+
- Full conserva salida amplia de compatibilidad.
|
|
27
|
+
- Scripts npm no apuntan a archivos ausentes.
|
|
28
|
+
- Archivos existentes no se sobrescriben.
|
|
29
|
+
|
|
30
|
+
## Plan tecnico resumido
|
|
31
|
+
|
|
32
|
+
Usar el layout planner para ejecutar operaciones por perfil. Separar sets de archivos en esenciales, full, legacy y templates. Mantener `--full` como escape hatch del comportamiento amplio.
|
|
33
|
+
|
|
34
|
+
## Pasos sugeridos de ejecucion
|
|
35
|
+
|
|
36
|
+
1. Definir file sets por perfil.
|
|
37
|
+
2. Conectar writer a operaciones planeadas.
|
|
38
|
+
3. Ajustar merge de package scripts por perfil.
|
|
39
|
+
4. Evitar spec placeholder en default/minimal.
|
|
40
|
+
5. Agregar smokes de default, minimal y full.
|
|
41
|
+
6. Actualizar evidence/status del slice.
|
|
42
|
+
|
|
43
|
+
## Restricciones
|
|
44
|
+
|
|
45
|
+
- No mover analyze scan output.
|
|
46
|
+
- No eliminar compatibilidad full.
|
|
47
|
+
- No generar scripts que dependan de `tools/scripts/` sin `--legacy-scripts`.
|
|
48
|
+
|
|
49
|
+
## Riesgos
|
|
50
|
+
|
|
51
|
+
- Reducir demasiado el default y dejar docs necesarias afuera.
|
|
52
|
+
- Romper proyectos que esperaban spec placeholder.
|
|
53
|
+
- Mantener tests viejos que asumen layout anterior.
|
|
54
|
+
|
|
55
|
+
## Checklist de finalizacion
|
|
56
|
+
|
|
57
|
+
- [ ] Default smoke actualizado.
|
|
58
|
+
- [ ] Minimal smoke agregado.
|
|
59
|
+
- [ ] Full smoke agregado.
|
|
60
|
+
- [ ] Scripts por perfil validados.
|
|
61
|
+
- [ ] No hay overwrite accidental.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-03-generation-profiles-visible-contract",
|
|
3
|
+
"ticket": "QUIVER-21-03",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Implement generation profiles and visible contract",
|
|
6
|
+
"objective": "Change generated output so default and minimal init are clean while full mode preserves the broader current contract.",
|
|
7
|
+
"description": "This slice updates init writing behavior according to the approved profiles and prevents default placeholder specs, visible templates, and legacy scripts.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "generation-profiles-visible-contract",
|
|
12
|
+
"branch_name": "feature/QUIVER-21-03-generation-profiles-visible-contract"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/index.js",
|
|
16
|
+
"src/create-quiver/lib/init-docs.js",
|
|
17
|
+
"src/create-quiver/lib/init-layout.js",
|
|
18
|
+
"tests/lib/init-docs.test.js",
|
|
19
|
+
"tests/commands/init-profiles.test.js",
|
|
20
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
21
|
+
"scripts/ci/smoke-init-docs.sh",
|
|
22
|
+
"specs/quiver-v21-ai-first-layout/STATUS.md",
|
|
23
|
+
"specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md",
|
|
24
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/CLOSURE_BRIEF.md",
|
|
25
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/slice.json"
|
|
26
|
+
],
|
|
27
|
+
"depends_on": [
|
|
28
|
+
"slice-02-internal-layout-template-resolver"
|
|
29
|
+
],
|
|
30
|
+
"parallel_safe": "after_dependencies",
|
|
31
|
+
"parallel_safe_reason": "Needs the internal layout and template resolver before changing generation behavior.",
|
|
32
|
+
"must": [
|
|
33
|
+
"Default init creates the clean AI-first visible contract.",
|
|
34
|
+
"Default init does not create `docs-template/`.",
|
|
35
|
+
"Default init does not create `tools/scripts/`.",
|
|
36
|
+
"Default init does not create placeholder `specs/<project-slug>/`.",
|
|
37
|
+
"`--minimal` creates only the minimum AI onboarding contract.",
|
|
38
|
+
"`--full` preserves the broad current output as explicit behavior.",
|
|
39
|
+
"Generated package scripts do not point at files that were not created.",
|
|
40
|
+
"Existing files are skipped by default."
|
|
41
|
+
],
|
|
42
|
+
"not_included": [
|
|
43
|
+
"Analyze scan relocation.",
|
|
44
|
+
"Legacy migration recommendations.",
|
|
45
|
+
"Documentation alignment beyond tests needed for this behavior."
|
|
46
|
+
],
|
|
47
|
+
"acceptance": [
|
|
48
|
+
"Default smoke asserts no root `docs-template/`, no `tools/scripts/`, and no placeholder spec.",
|
|
49
|
+
"Minimal smoke asserts only essential files are generated.",
|
|
50
|
+
"Full smoke asserts broad current docs remain available under `--full`.",
|
|
51
|
+
"Generated scripts are valid for each profile.",
|
|
52
|
+
"Existing files are preserved."
|
|
53
|
+
],
|
|
54
|
+
"tests": [
|
|
55
|
+
"node --test tests/lib/init-docs.test.js tests/commands/init-profiles.test.js",
|
|
56
|
+
"npm run smoke:create-quiver",
|
|
57
|
+
"bash scripts/ci/smoke-init-docs.sh",
|
|
58
|
+
"git diff --check"
|
|
59
|
+
],
|
|
60
|
+
"estimated_hours": 8,
|
|
61
|
+
"actual_hours": 7,
|
|
62
|
+
"status": "completed",
|
|
63
|
+
"blocked_reason": null
|
|
64
|
+
}
|
package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/CLOSURE_BRIEF.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-04: Analyze scan relocation
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se movio la salida cruda de `analyze` a `.quiver/scans/PROJECT_SCAN.json` y se mantuvo `docs/PROJECT_MAP.md` como artefacto visible para humanos y agentes. Se agrego un helper central para rutas de scan con lectura preferente del path nuevo y fallback legacy a `docs/PROJECT_SCAN.json`.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Scan nuevo creado.
|
|
10
|
+
- [x] Project map visible creado.
|
|
11
|
+
- [x] Fallback legacy cubierto.
|
|
12
|
+
- [x] Preferencia nuevo sobre legacy testeada.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `analyze` escribe el JSON crudo en `.quiver/scans/PROJECT_SCAN.json`.
|
|
17
|
+
- `docs/PROJECT_MAP.md` se sigue escribiendo y queda visible.
|
|
18
|
+
- `doctor` considera valido el scan nuevo o legacy mientras exista el project map.
|
|
19
|
+
- Los metadatos de context pack reportan el scan usado cuando reciben `repoRoot`.
|
|
20
|
+
- Smokes actualizados para validar el path nuevo.
|
|
21
|
+
|
|
22
|
+
## Pendientes
|
|
23
|
+
|
|
24
|
+
No quedan pendientes dentro de este slice. La alineacion textual de templates que todavia nombran `docs/PROJECT_SCAN.json` queda para `slice-07`.
|
|
25
|
+
|
|
26
|
+
## Riesgos remanentes
|
|
27
|
+
|
|
28
|
+
Durante la transicion pueden coexistir `.quiver/scans/PROJECT_SCAN.json` y `docs/PROJECT_SCAN.json`; el helper prefiere el path nuevo para evitar ambiguedad.
|
|
29
|
+
|
|
30
|
+
## Recomendaciones futuras
|
|
31
|
+
|
|
32
|
+
Actualizar las guias visibles para presentar `docs/PROJECT_MAP.md` como lectura principal y el JSON crudo como artefacto interno de herramientas.
|
package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/EXECUTION_BRIEF.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-04: Analyze scan relocation
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v21-ai-first-layout
|
|
4
|
+
**Slice:** slice-04-analyze-scan-relocation
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
`PROJECT_SCAN.json` es dato crudo para herramientas. El proyecto visible necesita `PROJECT_MAP.md`, no necesariamente el JSON completo en `docs/`.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Mover el scan crudo a `.quiver/scans/` y mantener compatibilidad con el path viejo.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Escritura de `analyze`.
|
|
18
|
+
- Lectura de scan en doctor/context packs.
|
|
19
|
+
- Compatibilidad con `docs/PROJECT_SCAN.json`.
|
|
20
|
+
- Tests de path nuevo y legacy.
|
|
21
|
+
|
|
22
|
+
## Criterios de aceptacion
|
|
23
|
+
|
|
24
|
+
- `analyze` escribe `.quiver/scans/PROJECT_SCAN.json`.
|
|
25
|
+
- `docs/PROJECT_MAP.md` sigue visible.
|
|
26
|
+
- Lectores soportan path nuevo y legacy.
|
|
27
|
+
- Si existen ambos, se prefiere el path nuevo.
|
|
28
|
+
|
|
29
|
+
## Plan tecnico resumido
|
|
30
|
+
|
|
31
|
+
Crear helpers de scan path sobre `.quiver/`, cambiar escritura de analyze y actualizar consumidores para leer con fallback.
|
|
32
|
+
|
|
33
|
+
## Pasos sugeridos de ejecucion
|
|
34
|
+
|
|
35
|
+
1. Identificar todos los consumidores de `docs/PROJECT_SCAN.json`.
|
|
36
|
+
2. Crear helper de lectura/escritura de scan.
|
|
37
|
+
3. Cambiar `analyze`.
|
|
38
|
+
4. Actualizar doctor y AI context.
|
|
39
|
+
5. Agregar tests de compatibilidad.
|
|
40
|
+
|
|
41
|
+
## Restricciones
|
|
42
|
+
|
|
43
|
+
- No borrar archivos legacy.
|
|
44
|
+
- No ocultar `PROJECT_MAP.md`.
|
|
45
|
+
- No cambiar el contrato semantico del scan.
|
|
46
|
+
|
|
47
|
+
## Riesgos
|
|
48
|
+
|
|
49
|
+
- Onboarding que siga buscando solo el path viejo.
|
|
50
|
+
- Smokes desactualizados.
|
|
51
|
+
- Usuarios confundidos por dos paths durante transicion.
|
|
52
|
+
|
|
53
|
+
## Checklist de finalizacion
|
|
54
|
+
|
|
55
|
+
- [ ] Analyze path nuevo validado.
|
|
56
|
+
- [ ] Project map visible validado.
|
|
57
|
+
- [ ] Fallback legacy validado.
|
|
58
|
+
- [ ] Smokes actualizados.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-04-analyze-scan-relocation",
|
|
3
|
+
"ticket": "QUIVER-21-04",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Relocate analyze scan output",
|
|
6
|
+
"objective": "Move raw analyze output to `.quiver/scans/PROJECT_SCAN.json` while keeping `docs/PROJECT_MAP.md` visible and supporting legacy reads.",
|
|
7
|
+
"description": "This slice separates machine-readable scan data from human-facing project map documentation.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "analyze-scan-relocation",
|
|
12
|
+
"branch_name": "feature/QUIVER-21-04-analyze-scan-relocation"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/index.js",
|
|
16
|
+
"src/create-quiver/commands/ai.js",
|
|
17
|
+
"src/create-quiver/lib/ai/context-packs.js",
|
|
18
|
+
"src/create-quiver/lib/ai/executor.js",
|
|
19
|
+
"src/create-quiver/lib/project-scan.js",
|
|
20
|
+
"tests/commands/analyze.test.js",
|
|
21
|
+
"tests/lib/ai-context-packs.test.js",
|
|
22
|
+
"tests/lib/project-scan.test.js",
|
|
23
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
24
|
+
"scripts/ci/smoke-cross-platform.js",
|
|
25
|
+
"specs/quiver-v21-ai-first-layout/STATUS.md",
|
|
26
|
+
"specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md",
|
|
27
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/CLOSURE_BRIEF.md",
|
|
28
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/slice.json"
|
|
29
|
+
],
|
|
30
|
+
"depends_on": [
|
|
31
|
+
"slice-02-internal-layout-template-resolver"
|
|
32
|
+
],
|
|
33
|
+
"parallel_safe": "after_dependencies",
|
|
34
|
+
"parallel_safe_reason": "Depends on `.quiver/` internal path helpers but can run before docs alignment.",
|
|
35
|
+
"must": [
|
|
36
|
+
"Write raw scan JSON to `.quiver/scans/PROJECT_SCAN.json`.",
|
|
37
|
+
"Keep writing `docs/PROJECT_MAP.md` for humans and agents.",
|
|
38
|
+
"Read legacy `docs/PROJECT_SCAN.json` when present.",
|
|
39
|
+
"Prefer the new scan path when both new and legacy files exist.",
|
|
40
|
+
"Update AI context packing and doctor scan detection to support both paths."
|
|
41
|
+
],
|
|
42
|
+
"not_included": [
|
|
43
|
+
"Changing project map content semantics.",
|
|
44
|
+
"Removing legacy scan files.",
|
|
45
|
+
"Changing generated visible docs beyond necessary path references."
|
|
46
|
+
],
|
|
47
|
+
"acceptance": [
|
|
48
|
+
"`analyze` creates `.quiver/scans/PROJECT_SCAN.json`.",
|
|
49
|
+
"`analyze` still creates `docs/PROJECT_MAP.md`.",
|
|
50
|
+
"Doctor and AI onboarding helpers can read legacy scan path.",
|
|
51
|
+
"Tests cover preference order when both paths exist."
|
|
52
|
+
],
|
|
53
|
+
"tests": [
|
|
54
|
+
"node --test tests/commands/analyze.test.js tests/lib/project-scan.test.js tests/lib/ai-context-packs.test.js",
|
|
55
|
+
"node --test tests/**/*.test.js",
|
|
56
|
+
"bash scripts/ci/smoke-create-quiver.sh",
|
|
57
|
+
"node scripts/ci/smoke-cross-platform.js",
|
|
58
|
+
"git diff --check"
|
|
59
|
+
],
|
|
60
|
+
"estimated_hours": 6,
|
|
61
|
+
"actual_hours": 5,
|
|
62
|
+
"status": "completed",
|
|
63
|
+
"blocked_reason": null
|
|
64
|
+
}
|
package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/CLOSURE_BRIEF.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-05: Empty specs and layout doctor
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se adapto `doctor` para aceptar proyectos sin specs despues del init AI-first y reportar el estado de layout como `new`, `legacy`, `hybrid` o `incomplete`. `plan`, `graph` y `next` ya devolvian estados vacios validos, y se agrego cobertura para asegurar ese comportamiento junto con el nuevo doctor.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] No-spec soportado.
|
|
10
|
+
- [x] Layout nuevo detectado.
|
|
11
|
+
- [x] Layout legacy detectado.
|
|
12
|
+
- [x] Proyectos con specs no regresan.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `doctor` ya no exige exactamente un spec generado.
|
|
17
|
+
- `doctor` muestra layout, specs detectadas, senales legacy y recomendaciones accionables.
|
|
18
|
+
- Se agrego `collectLayoutReport()` y `collectDoctorReport()` para separar deteccion de layout de presentacion CLI.
|
|
19
|
+
- Los wrappers legacy solo se validan como ejecutables si existen.
|
|
20
|
+
- Se agregaron tests para layouts nuevo sin specs, minimal, legacy, hybrid e incomplete.
|
|
21
|
+
|
|
22
|
+
## Pendientes
|
|
23
|
+
|
|
24
|
+
No quedan pendientes dentro de este slice. La limpieza/migracion no destructiva de assets legacy corresponde a `slice-06`.
|
|
25
|
+
|
|
26
|
+
## Riesgos remanentes
|
|
27
|
+
|
|
28
|
+
Los mensajes de doctor cambiaron; smokes que esperaban texto exacto del layout viejo deben alinearse en `slice-06`/`slice-08`.
|
|
29
|
+
|
|
30
|
+
## Recomendaciones futuras
|
|
31
|
+
|
|
32
|
+
Mantener `doctor` como reporte de estado y recomendaciones; no convertir senales legacy en errores duros salvo que falte un archivo necesario para ejecutar un comando pedido.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-05: Empty specs and layout doctor
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v21-ai-first-layout
|
|
4
|
+
**Slice:** slice-05-empty-specs-layout-doctor
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
Default init ya no debe crear specs falsas. Por eso los comandos que recorren slices deben aceptar que todavia no haya specs.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Hacer que comandos de planificacion y doctor soporten layout nuevo, legacy e hibrido sin falsos errores.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- `plan`
|
|
18
|
+
- `graph`
|
|
19
|
+
- `next`
|
|
20
|
+
- `doctor`
|
|
21
|
+
- Deteccion de layout.
|
|
22
|
+
- Tests de no-spec repos.
|
|
23
|
+
|
|
24
|
+
## Criterios de aceptacion
|
|
25
|
+
|
|
26
|
+
- `plan`, `graph`, `next` y `doctor` no fallan por ausencia de specs.
|
|
27
|
+
- Doctor detecta layout nuevo, legacy, hibrido e incompleto.
|
|
28
|
+
- Doctor reporta recomendaciones accionables.
|
|
29
|
+
- Proyectos con specs existentes siguen funcionando.
|
|
30
|
+
|
|
31
|
+
## Plan tecnico resumido
|
|
32
|
+
|
|
33
|
+
Separar "no specs yet" de errores reales. Agregar detector de layout en doctor y actualizar formatters para comunicar estados vacios.
|
|
34
|
+
|
|
35
|
+
## Pasos sugeridos de ejecucion
|
|
36
|
+
|
|
37
|
+
1. Agregar fixtures sin specs.
|
|
38
|
+
2. Ajustar colectores de slices para estado vacio.
|
|
39
|
+
3. Ajustar salidas human/json.
|
|
40
|
+
4. Agregar detector de layout.
|
|
41
|
+
5. Agregar tests de legacy/hibrido.
|
|
42
|
+
|
|
43
|
+
## Restricciones
|
|
44
|
+
|
|
45
|
+
- No migrar archivos.
|
|
46
|
+
- No ocultar errores reales de JSON invalido.
|
|
47
|
+
- No cambiar formato JSON existente salvo campos compatibles.
|
|
48
|
+
|
|
49
|
+
## Riesgos
|
|
50
|
+
|
|
51
|
+
- Convertir errores reales en estados vacios.
|
|
52
|
+
- Romper automatizaciones que esperan exit code no cero.
|
|
53
|
+
- Mensajes ambiguos para usuarios nuevos.
|
|
54
|
+
|
|
55
|
+
## Checklist de finalizacion
|
|
56
|
+
|
|
57
|
+
- [ ] No-spec tests pasan.
|
|
58
|
+
- [ ] Layout doctor testeado.
|
|
59
|
+
- [ ] Proyectos con specs siguen pasando.
|
|
60
|
+
- [ ] Salidas JSON siguen parseables.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-05-empty-specs-layout-doctor",
|
|
3
|
+
"ticket": "QUIVER-21-05",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Support empty specs state and layout doctor",
|
|
6
|
+
"objective": "Make plan, graph, next, and doctor treat projects without specs as valid while doctor reports new, legacy, and hybrid layouts.",
|
|
7
|
+
"description": "Default init no longer creates placeholder specs, so orchestration commands must handle an empty specs directory or no specs directory cleanly.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "empty-specs-layout-doctor",
|
|
12
|
+
"branch_name": "feature/QUIVER-21-05-empty-specs-layout-doctor"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/plan.js",
|
|
16
|
+
"src/create-quiver/commands/graph.js",
|
|
17
|
+
"src/create-quiver/commands/next.js",
|
|
18
|
+
"src/create-quiver/lib/slice-graph.js",
|
|
19
|
+
"src/create-quiver/lib/doctor.js",
|
|
20
|
+
"src/create-quiver/index.js",
|
|
21
|
+
"tests/commands/doctor.test.js",
|
|
22
|
+
"tests/commands/plan.test.js",
|
|
23
|
+
"tests/commands/graph.test.js",
|
|
24
|
+
"tests/commands/next.test.js",
|
|
25
|
+
"tests/lib/doctor.test.js",
|
|
26
|
+
"specs/quiver-v21-ai-first-layout/STATUS.md",
|
|
27
|
+
"specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md",
|
|
28
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/CLOSURE_BRIEF.md",
|
|
29
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/slice.json"
|
|
30
|
+
],
|
|
31
|
+
"depends_on": [
|
|
32
|
+
"slice-03-generation-profiles-visible-contract",
|
|
33
|
+
"slice-04-analyze-scan-relocation"
|
|
34
|
+
],
|
|
35
|
+
"parallel_safe": "after_dependencies",
|
|
36
|
+
"parallel_safe_reason": "Requires the new default no-spec behavior and scan path compatibility.",
|
|
37
|
+
"must": [
|
|
38
|
+
"Make `plan` return a clear valid empty state when no specs exist.",
|
|
39
|
+
"Make `graph` return a clear valid empty state when no specs exist.",
|
|
40
|
+
"Make `next` return a clear valid empty state when no specs exist.",
|
|
41
|
+
"Make `doctor` detect layout type: new, legacy, hybrid, or incomplete.",
|
|
42
|
+
"Doctor must not treat missing specs as an error immediately after default init.",
|
|
43
|
+
"Doctor should surface actionable recommendations for legacy files."
|
|
44
|
+
],
|
|
45
|
+
"not_included": [
|
|
46
|
+
"Migrating legacy files.",
|
|
47
|
+
"Changing spec generation.",
|
|
48
|
+
"Documentation copy beyond command output strings."
|
|
49
|
+
],
|
|
50
|
+
"acceptance": [
|
|
51
|
+
"No-spec projects do not fail `plan`, `graph`, `next`, or `doctor` unexpectedly.",
|
|
52
|
+
"Doctor reports layout state with clear language.",
|
|
53
|
+
"Legacy paths are warnings or recommendations, not hard failures.",
|
|
54
|
+
"Existing behavior for projects with specs remains intact."
|
|
55
|
+
],
|
|
56
|
+
"tests": [
|
|
57
|
+
"node --test tests/commands/doctor.test.js tests/lib/doctor.test.js tests/commands/plan.test.js tests/commands/graph.test.js tests/commands/next.test.js",
|
|
58
|
+
"node --test tests/**/*.test.js",
|
|
59
|
+
"git diff --check"
|
|
60
|
+
],
|
|
61
|
+
"estimated_hours": 6,
|
|
62
|
+
"actual_hours": 5,
|
|
63
|
+
"status": "completed",
|
|
64
|
+
"blocked_reason": null
|
|
65
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-06: Legacy migration and optional assets
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se implemento la transicion no destructiva para migracion y se habilitaron los assets opcionales explicitos.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Migracion no destructiva.
|
|
10
|
+
- [x] Legacy scripts opcionales.
|
|
11
|
+
- [x] Templates exportados bajo `.quiver/`.
|
|
12
|
+
- [x] Full mode validado.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `migrate` ahora reporta layout legado detectado y preservado, incluyendo `docs-template/`, `tools/scripts/` y `docs/PROJECT_SCAN.json`.
|
|
17
|
+
- `init --legacy-scripts` crea wrappers Bash y scripts npm compatibles.
|
|
18
|
+
- `init --include-templates` exporta templates a `.quiver/templates/`.
|
|
19
|
+
- `init --full` sigue habilitando el layout amplio de compatibilidad.
|
|
20
|
+
|
|
21
|
+
## Pendientes
|
|
22
|
+
|
|
23
|
+
Ninguno para este slice.
|
|
24
|
+
|
|
25
|
+
## Riesgos remanentes
|
|
26
|
+
|
|
27
|
+
- La salida de migracion sigue siendo conservadora: detecta y reporta, pero no limpia automaticamente el layout viejo.
|
|
28
|
+
|
|
29
|
+
## Recomendaciones futuras
|
|
30
|
+
|
|
31
|
+
- Mantener las smokes de migracion y perfiles opcionales en slices posteriores para evitar regresiones.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-06: Legacy migration and optional assets
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v21-ai-first-layout
|
|
4
|
+
**Slice:** slice-06-legacy-migration-optional-assets
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
Cambiar el default no alcanza: proyectos existentes pueden tener layout viejo y algunos usuarios siguen necesitando scripts o templates visibles.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar transicion no destructiva y flags explicitos para assets opcionales.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- `migrate` legacy detection.
|
|
18
|
+
- `--legacy-scripts`.
|
|
19
|
+
- `--include-templates`.
|
|
20
|
+
- `--full` broad optional assets.
|
|
21
|
+
- Smokes de migracion y perfiles opcionales.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- `migrate` no borra ni mueve archivos legacy.
|
|
26
|
+
- Layout legacy se detecta y reporta.
|
|
27
|
+
- `--legacy-scripts` crea wrappers y scripts validos.
|
|
28
|
+
- `--include-templates` exporta a `.quiver/templates/`.
|
|
29
|
+
- `--full` mantiene assets amplios de forma explicita.
|
|
30
|
+
|
|
31
|
+
## Plan tecnico resumido
|
|
32
|
+
|
|
33
|
+
Extender perfiles y migracion para distinguir cleanup sugerido de acciones destructivas. Mantener compatibilidad por lectura y generar opcionales solo cuando el usuario lo pide.
|
|
34
|
+
|
|
35
|
+
## Pasos sugeridos de ejecucion
|
|
36
|
+
|
|
37
|
+
1. Agregar deteccion legacy en migrate.
|
|
38
|
+
2. Implementar generacion legacy scripts bajo flag.
|
|
39
|
+
3. Implementar export de templates bajo `.quiver/templates/`.
|
|
40
|
+
4. Definir set full.
|
|
41
|
+
5. Actualizar package scripts segun flags.
|
|
42
|
+
6. Agregar smokes de migracion.
|
|
43
|
+
|
|
44
|
+
## Restricciones
|
|
45
|
+
|
|
46
|
+
- No borrar archivos legacy.
|
|
47
|
+
- No crear root `docs-template/` en layout nuevo.
|
|
48
|
+
- No mezclar scripts legacy en default.
|
|
49
|
+
|
|
50
|
+
## Riesgos
|
|
51
|
+
|
|
52
|
+
- Flags combinados generen scripts inconsistentes.
|
|
53
|
+
- Migracion demasiado silenciosa.
|
|
54
|
+
- Full mode arrastre demasiada deuda sin documentar.
|
|
55
|
+
|
|
56
|
+
## Checklist de finalizacion
|
|
57
|
+
|
|
58
|
+
- [ ] Migrate preserva legacy.
|
|
59
|
+
- [ ] Legacy scripts validos.
|
|
60
|
+
- [ ] Include templates validado.
|
|
61
|
+
- [ ] Full mode validado.
|
|
62
|
+
- [ ] Recomendaciones de migracion claras.
|
package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/slice.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-06-legacy-migration-optional-assets",
|
|
3
|
+
"ticket": "QUIVER-21-06",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Add legacy migration and optional assets",
|
|
6
|
+
"objective": "Make migration non-destructive for legacy layouts and implement explicit optional generation for legacy scripts and templates.",
|
|
7
|
+
"description": "This slice handles transition behavior so existing projects can keep working while new projects stay clean by default.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "legacy-migration-optional-assets",
|
|
12
|
+
"branch_name": "feature/QUIVER-21-06-legacy-migration-optional-assets"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/index.js",
|
|
16
|
+
"src/create-quiver/lib/init-docs.js",
|
|
17
|
+
"src/create-quiver/lib/init-layout.js",
|
|
18
|
+
"src/create-quiver/lib/state.js",
|
|
19
|
+
"scripts/migrate-project.sh",
|
|
20
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
21
|
+
"scripts/ci/smoke-cross-platform.js",
|
|
22
|
+
"tests/commands/init-profiles.test.js",
|
|
23
|
+
"specs/quiver-v21-ai-first-layout/STATUS.md",
|
|
24
|
+
"specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md",
|
|
25
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/CLOSURE_BRIEF.md",
|
|
26
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/slice.json"
|
|
27
|
+
],
|
|
28
|
+
"depends_on": [
|
|
29
|
+
"slice-03-generation-profiles-visible-contract",
|
|
30
|
+
"slice-04-analyze-scan-relocation"
|
|
31
|
+
],
|
|
32
|
+
"parallel_safe": "after_dependencies",
|
|
33
|
+
"parallel_safe_reason": "Can run after generation profiles and scan relocation are stable.",
|
|
34
|
+
"must": [
|
|
35
|
+
"`migrate` must not delete or move legacy files without explicit user action.",
|
|
36
|
+
"`migrate` must detect legacy root `docs-template/`, `tools/scripts/`, and `docs/PROJECT_SCAN.json`.",
|
|
37
|
+
"`--legacy-scripts` must create Bash wrappers and matching package scripts.",
|
|
38
|
+
"`--include-templates` must export templates under `.quiver/templates/`.",
|
|
39
|
+
"`--full` must keep broad optional docs and OSS/community files as explicit behavior.",
|
|
40
|
+
"Migration output must explain recommended next steps for legacy-to-AI-first cleanup."
|
|
41
|
+
],
|
|
42
|
+
"not_included": [
|
|
43
|
+
"Automatic destructive cleanup of legacy files.",
|
|
44
|
+
"Publishing package release.",
|
|
45
|
+
"Long-form documentation rewrite."
|
|
46
|
+
],
|
|
47
|
+
"acceptance": [
|
|
48
|
+
"Legacy project migration preserves existing files.",
|
|
49
|
+
"Legacy layout is detected and reported.",
|
|
50
|
+
"`--legacy-scripts` creates wrappers and scripts that point to real files.",
|
|
51
|
+
"`--include-templates` creates `.quiver/templates/` and no root `docs-template/`.",
|
|
52
|
+
"`--full` covers optional broad assets intentionally."
|
|
53
|
+
],
|
|
54
|
+
"tests": [
|
|
55
|
+
"node --test tests/commands/init-profiles.test.js tests/lib/init-docs.test.js",
|
|
56
|
+
"node --test tests/**/*.test.js",
|
|
57
|
+
"bash scripts/ci/smoke-init-docs.sh",
|
|
58
|
+
"bash scripts/ci/smoke-create-quiver.sh",
|
|
59
|
+
"node scripts/ci/smoke-cross-platform.js",
|
|
60
|
+
"git diff --check"
|
|
61
|
+
],
|
|
62
|
+
"estimated_hours": 7,
|
|
63
|
+
"actual_hours": 6,
|
|
64
|
+
"status": "completed",
|
|
65
|
+
"blocked_reason": null
|
|
66
|
+
}
|
package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/CLOSURE_BRIEF.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-07: Documentation and guidance alignment
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se alineo la documentacion humana, la guia para agentes y las plantillas generadas con el layout AI-first actual. El flujo default ahora queda documentado como contrato visible chico con maquinaria interna en `.quiver/`, mientras `docs-template/`, `tools/scripts/` y los specs placeholder quedan marcados como compatibilidad u opciones explicitas.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Visible vs interno documentado.
|
|
10
|
+
- [x] Legacy marcado como compatibilidad.
|
|
11
|
+
- [x] Specs reales documentadas en fase spec.
|
|
12
|
+
- [x] Paths de scan/map correctos.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `README.md` prioriza `init --name`, `.quiver/`, `docs/PROJECT_MAP.md` y el flujo planner/executor.
|
|
17
|
+
- `README_FOR_AI.md` dejo de presentar `docs-template/` como onboarding normal.
|
|
18
|
+
- `docs/AI_ONBOARDING_PROMPT.md.template`, `docs/WORKFLOW.md.template` y `docs/STANDARD.md.template` apuntan al mapa visible y al scan crudo en `.quiver/scans/PROJECT_SCAN.json`.
|
|
19
|
+
- `docs/COMMANDS.md.template` documenta init, profiles y analyzer output.
|
|
20
|
+
- `src/create-quiver/lib/init-docs.js` y `scripts/init-docs.sh` ajustan README generado y dejan el script Bash como compatibilidad legacy.
|
|
21
|
+
- Los smokes esperan la ruta nueva del scan en el onboarding prompt generado.
|
|
22
|
+
|
|
23
|
+
## Pendientes
|
|
24
|
+
|
|
25
|
+
Ninguno para este slice.
|
|
26
|
+
|
|
27
|
+
## Riesgos remanentes
|
|
28
|
+
|
|
29
|
+
El script Bash `scripts/init-docs.sh` sigue siendo una ruta legacy amplia y conserva referencias internas a `docs-template/`, `tools/scripts/` y `slice-template` porque ese es su proposito de compatibilidad.
|
|
30
|
+
|
|
31
|
+
## Recomendaciones futuras
|
|
32
|
+
|
|
33
|
+
Completar `slice-08` con la validacion final de smokes, release readiness y consistencia del paquete antes de publicar.
|