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.
Files changed (111) hide show
  1. package/README.md +312 -124
  2. package/README_FOR_AI.md +59 -45
  3. package/ROADMAP.md +12 -11
  4. package/docs/AI_ONBOARDING_PROMPT.md.template +120 -52
  5. package/docs/COMMANDS.md.template +41 -6
  6. package/docs/GITFLOW_PR_GUIDE.md.template +11 -0
  7. package/docs/STANDARD.md.template +1 -1
  8. package/docs/SUPPORT_MATRIX.md.template +4 -0
  9. package/docs/TROUBLESHOOTING.md.template +29 -1
  10. package/docs/WORKFLOW.md.template +1 -1
  11. package/package.json +6 -1
  12. package/package.template.json +11 -6
  13. package/scripts/check-pr-readiness.sh +1 -1
  14. package/scripts/check-scope.sh +0 -1
  15. package/scripts/check-slice-readiness.sh +3 -4
  16. package/scripts/init-docs.sh +55 -9
  17. package/specs/quiver-v19-self-install-dev-dep/EVIDENCE_REPORT.md +2 -2
  18. package/specs/quiver-v19-self-install-dev-dep/STATUS.md +4 -4
  19. package/specs/quiver-v19-self-install-dev-dep/slices/slice-01-auto-install-dev-dep/slice.json +4 -4
  20. package/specs/quiver-v20-ai-cli-orchestration/EVIDENCE_REPORT.md +23 -0
  21. package/specs/quiver-v20-ai-cli-orchestration/EXECUTION_PLAN.md +57 -0
  22. package/specs/quiver-v20-ai-cli-orchestration/SPEC.md +202 -0
  23. package/specs/quiver-v20-ai-cli-orchestration/STATUS.md +35 -0
  24. package/specs/quiver-v20-ai-cli-orchestration/pr.md +100 -0
  25. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
  26. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
  27. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/slice.json +54 -0
  28. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/CLOSURE_BRIEF.md +39 -0
  29. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/EXECUTION_BRIEF.md +63 -0
  30. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/slice.json +55 -0
  31. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/CLOSURE_BRIEF.md +40 -0
  32. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/EXECUTION_BRIEF.md +60 -0
  33. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/slice.json +54 -0
  34. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/CLOSURE_BRIEF.md +43 -0
  35. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/EXECUTION_BRIEF.md +62 -0
  36. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/slice.json +62 -0
  37. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/CLOSURE_BRIEF.md +36 -0
  38. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/EXECUTION_BRIEF.md +63 -0
  39. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/slice.json +59 -0
  40. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/CLOSURE_BRIEF.md +32 -0
  41. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/EXECUTION_BRIEF.md +61 -0
  42. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/slice.json +59 -0
  43. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/CLOSURE_BRIEF.md +36 -0
  44. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/EXECUTION_BRIEF.md +64 -0
  45. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/slice.json +65 -0
  46. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/CLOSURE_BRIEF.md +36 -0
  47. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/EXECUTION_BRIEF.md +66 -0
  48. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/slice.json +63 -0
  49. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
  50. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/EXECUTION_BRIEF.md +64 -0
  51. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/slice.json +77 -0
  52. package/specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md +31 -0
  53. package/specs/quiver-v21-ai-first-layout/EXECUTION_PLAN.md +185 -0
  54. package/specs/quiver-v21-ai-first-layout/SPEC.md +212 -0
  55. package/specs/quiver-v21-ai-first-layout/STATUS.md +37 -0
  56. package/specs/quiver-v21-ai-first-layout/pr.md +110 -0
  57. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
  58. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +63 -0
  59. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/slice.json +45 -0
  60. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/CLOSURE_BRIEF.md +31 -0
  61. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/EXECUTION_BRIEF.md +59 -0
  62. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/slice.json +57 -0
  63. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/CLOSURE_BRIEF.md +32 -0
  64. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/EXECUTION_BRIEF.md +60 -0
  65. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/slice.json +58 -0
  66. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/CLOSURE_BRIEF.md +34 -0
  67. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/EXECUTION_BRIEF.md +61 -0
  68. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/slice.json +64 -0
  69. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/CLOSURE_BRIEF.md +32 -0
  70. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/EXECUTION_BRIEF.md +58 -0
  71. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/slice.json +64 -0
  72. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/CLOSURE_BRIEF.md +32 -0
  73. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/EXECUTION_BRIEF.md +60 -0
  74. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/slice.json +65 -0
  75. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/CLOSURE_BRIEF.md +31 -0
  76. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/EXECUTION_BRIEF.md +62 -0
  77. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/slice.json +66 -0
  78. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/CLOSURE_BRIEF.md +33 -0
  79. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/EXECUTION_BRIEF.md +61 -0
  80. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/slice.json +67 -0
  81. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
  82. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/EXECUTION_BRIEF.md +66 -0
  83. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/slice.json +62 -0
  84. package/src/create-quiver/commands/ai.js +442 -0
  85. package/src/create-quiver/index.js +421 -84
  86. package/src/create-quiver/lib/ai/context-packs.js +158 -0
  87. package/src/create-quiver/lib/ai/execution-plan.js +254 -0
  88. package/src/create-quiver/lib/ai/executor.js +323 -0
  89. package/src/create-quiver/lib/ai/github.js +329 -0
  90. package/src/create-quiver/lib/ai/phase-gates.js +72 -0
  91. package/src/create-quiver/lib/ai/preflight.js +58 -0
  92. package/src/create-quiver/lib/ai/prompt-transport.js +81 -0
  93. package/src/create-quiver/lib/ai/prompts.js +39 -0
  94. package/src/create-quiver/lib/ai/providers.js +314 -0
  95. package/src/create-quiver/lib/ai/safety.js +151 -0
  96. package/src/create-quiver/lib/ai/spec-generator.js +314 -0
  97. package/src/create-quiver/lib/ai/spec-templates.js +715 -0
  98. package/src/create-quiver/lib/doctor.js +114 -0
  99. package/src/create-quiver/lib/git.js +21 -0
  100. package/src/create-quiver/lib/init-docs.js +286 -25
  101. package/src/create-quiver/lib/init-layout.js +426 -0
  102. package/src/create-quiver/lib/lifecycle.js +2 -2
  103. package/src/create-quiver/lib/paths.js +63 -2
  104. package/src/create-quiver/lib/project-scan.js +66 -0
  105. package/src/create-quiver/lib/readiness.js +4 -2
  106. package/src/create-quiver/lib/scope.js +125 -0
  107. package/src/create-quiver/lib/slice-graph.js +6 -0
  108. package/src/create-quiver/lib/slice.js +51 -8
  109. package/src/create-quiver/lib/state.js +18 -1
  110. package/src/create-quiver/lib/template-resolver.js +74 -0
  111. package/.claude/settings.local.json +0 -52
@@ -0,0 +1,61 @@
1
+ # EXECUTION BRIEF - slice-07: Documentation and guidance alignment
2
+
3
+ **Spec:** quiver-v21-ai-first-layout
4
+ **Slice:** slice-07-docs-guidance-alignment
5
+ **Tipo:** docs
6
+
7
+ ## Contexto
8
+
9
+ Despues de cambiar comportamiento, la documentacion debe dejar de presentar `docs-template/`, `tools/scripts/` y spec placeholder como default.
10
+
11
+ ## Objetivo
12
+
13
+ Alinear README, README_FOR_AI, generated README y templates con el nuevo layout AI-first.
14
+
15
+ ## Alcance
16
+
17
+ - Root README.
18
+ - AI guide.
19
+ - Generated README in Node and Bash paths.
20
+ - Docs templates for commands, workflow, onboarding, support and troubleshooting.
21
+ - Smoke assertions de docs.
22
+
23
+ ## Criterios de aceptacion
24
+
25
+ - Toda la documentacion diferencia contrato visible de maquinaria interna.
26
+ - `docs-template/` y `tools/scripts/` aparecen solo como legacy/opcionales.
27
+ - Specs reales se documentan como salida de `ai plan --phase spec`.
28
+ - Scan crudo y project map tienen paths correctos.
29
+
30
+ ## Plan tecnico resumido
31
+
32
+ Actualizar docs despues de estabilizar comportamiento. Agregar asserts en smokes para evitar drift.
33
+
34
+ ## Pasos sugeridos de ejecucion
35
+
36
+ 1. Revisar textos actuales que nombren paths legacy.
37
+ 2. Actualizar README y README_FOR_AI.
38
+ 3. Actualizar generated README.
39
+ 4. Actualizar templates.
40
+ 5. Ajustar smokes de doc.
41
+ 6. Validar que no se prometan comandos inexistentes.
42
+
43
+ ## Restricciones
44
+
45
+ - No cambiar codigo de comportamiento salvo generated README text.
46
+ - No duplicar instrucciones largas.
47
+ - No documentar flags no implementados.
48
+
49
+ ## Riesgos
50
+
51
+ - Docs queden ahead del comportamiento.
52
+ - README se vuelva demasiado largo.
53
+ - Onboarding IA vuelva a abrir `.quiver/` innecesariamente.
54
+
55
+ ## Checklist de finalizacion
56
+
57
+ - [ ] README actualizado.
58
+ - [ ] README_FOR_AI actualizado.
59
+ - [ ] Generated README actualizado.
60
+ - [ ] Templates actualizados.
61
+ - [ ] Smokes de docs pasan.
@@ -0,0 +1,67 @@
1
+ {
2
+ "slice_id": "slice-07-docs-guidance-alignment",
3
+ "ticket": "QUIVER-21-07",
4
+ "type": "docs",
5
+ "title": "Align documentation with AI-first layout",
6
+ "objective": "Update human and AI-facing documentation so every source describes the same visible contract and internal `.quiver/` model.",
7
+ "description": "Behavior changes need docs alignment to avoid two competing truths about `docs-template/`, `tools/scripts/`, scans, and specs.",
8
+ "git": {
9
+ "branch_type": "docs",
10
+ "base_branch": "main",
11
+ "branch_slug": "docs-guidance-alignment",
12
+ "branch_name": "docs/QUIVER-21-07-docs-guidance-alignment"
13
+ },
14
+ "files": [
15
+ "README.md",
16
+ "README_FOR_AI.md",
17
+ "docs/AI_ONBOARDING_PROMPT.md.template",
18
+ "docs/COMMANDS.md.template",
19
+ "docs/WORKFLOW.md.template",
20
+ "docs/SUPPORT_MATRIX.md.template",
21
+ "docs/TROUBLESHOOTING.md.template",
22
+ "docs/GITFLOW_PR_GUIDE.md.template",
23
+ "src/create-quiver/lib/init-docs.js",
24
+ "scripts/init-docs.sh",
25
+ "scripts/ci/smoke-create-quiver.sh",
26
+ "scripts/ci/smoke-init-docs.sh",
27
+ "specs/quiver-v21-ai-first-layout/STATUS.md",
28
+ "specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md",
29
+ "specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/CLOSURE_BRIEF.md",
30
+ "specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/slice.json"
31
+ ],
32
+ "depends_on": [
33
+ "slice-05-empty-specs-layout-doctor",
34
+ "slice-06-legacy-migration-optional-assets"
35
+ ],
36
+ "parallel_safe": "after_dependencies",
37
+ "parallel_safe_reason": "Docs must reflect final behavior from previous slices.",
38
+ "must": [
39
+ "Update root README to present AI-first layout and init profiles accurately.",
40
+ "Update README_FOR_AI so `docs-template/` is no longer the normal onboarding flow.",
41
+ "Update generated README content to explain visible contract vs internal `.quiver/` machinery.",
42
+ "Update commands/support/troubleshooting templates for new paths and flags.",
43
+ "Document that real specs are created by `ai plan --phase spec`, not default init.",
44
+ "Document legacy paths as compatibility, not recommended default."
45
+ ],
46
+ "not_included": [
47
+ "Changing behavior.",
48
+ "Release publication.",
49
+ "Large marketing rewrite unrelated to layout."
50
+ ],
51
+ "acceptance": [
52
+ "Docs agree that `.quiver/` is internal.",
53
+ "Docs agree that default init does not create `docs-template/`, `tools/scripts/`, or placeholder specs.",
54
+ "Generated README points agents to visible contract first.",
55
+ "Docs mention `.quiver/scans/PROJECT_SCAN.json` and visible `docs/PROJECT_MAP.md` correctly.",
56
+ "Legacy guidance is clearly marked as compatibility."
57
+ ],
58
+ "tests": [
59
+ "bash scripts/ci/smoke-init-docs.sh",
60
+ "npm run smoke:create-quiver",
61
+ "git diff --check"
62
+ ],
63
+ "estimated_hours": 5,
64
+ "actual_hours": 4,
65
+ "status": "completed",
66
+ "blocked_reason": null
67
+ }
@@ -0,0 +1,35 @@
1
+ # CLOSURE BRIEF - slice-08: Smokes and release readiness
2
+
3
+ ## Resumen de lo realizado
4
+
5
+ Se ejecuto la matriz final de validacion para v21 y se ajusto `smoke-tiered-pack` para que pruebe explicitamente el perfil `--full --skip-install` cuando necesita assets legacy como spec placeholder y wrappers. Tambien se actualizaron evidencia, status y cuerpo de PR.
6
+
7
+ ## Validacion contra criterios de aceptacion
8
+
9
+ - [x] Suite Node pasa.
10
+ - [x] Smokes pasan.
11
+ - [x] Evidence actualizado.
12
+ - [x] PR body listo.
13
+
14
+ ## Cambios relevantes
15
+
16
+ - `scripts/ci/smoke-tiered-pack.sh` usa `init --full --skip-install` y espera la guia correcta de `doctor` para el estado AI-first sin specs.
17
+ - `scripts/ci/smoke-cross-platform.js` usa `init` explicito para el smoke de perfiles.
18
+ - `src/create-quiver/index.js` tiene fallback sin `npm` para empaquetar templates cuando `--skip-install` evita instalar dependencias.
19
+ - Scripts legacy quedaron alineados con shellcheck y `check-slice` acepta `develop` local en modo sin origin.
20
+ - `specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md` registra la matriz final.
21
+ - `specs/quiver-v21-ai-first-layout/STATUS.md` marca la spec como completada.
22
+ - `specs/quiver-v21-ai-first-layout/pr.md` queda listo para copiar al PR.
23
+ - `slice.json` queda marcado como completado.
24
+
25
+ ## Pendientes
26
+
27
+ No quedan pendientes dentro de esta spec. No se publico npm ni se abrio PR.
28
+
29
+ ## Riesgos remanentes
30
+
31
+ La matriz local valida macOS/shell actual y el smoke cross-platform simulado; la verificacion definitiva multi-OS queda en CI.
32
+
33
+ ## Recomendaciones futuras
34
+
35
+ Abrir PR de la spec con el cuerpo preparado y correr la CI completa antes de publicar una nueva version npm.
@@ -0,0 +1,66 @@
1
+ # EXECUTION BRIEF - slice-08: Smokes and release readiness
2
+
3
+ **Spec:** quiver-v21-ai-first-layout
4
+ **Slice:** slice-08-smokes-release-readiness
5
+ **Tipo:** chore
6
+
7
+ ## Contexto
8
+
9
+ El cambio toca init, analyze, doctor, docs y compatibilidad legacy. El cierre debe probar todos los perfiles y estados criticos.
10
+
11
+ ## Objetivo
12
+
13
+ Completar validaciones, evidencia y cuerpo de PR para la spec v21.
14
+
15
+ ## Alcance
16
+
17
+ - Smokes de perfiles.
18
+ - Smokes cross-platform.
19
+ - Suite Node.
20
+ - Evidence report.
21
+ - PR body.
22
+ - Fixes menores necesarios para que las validaciones pasen.
23
+
24
+ ## Criterios de aceptacion
25
+
26
+ - Suite Node completa pasa.
27
+ - Smokes principales pasan.
28
+ - Evidencia real agregada.
29
+ - PR body listo.
30
+ - No queda drift documental conocido.
31
+
32
+ ## Plan tecnico resumido
33
+
34
+ Ejecutar la matriz completa despues de todas las slices funcionales y documentales. Ajustar smokes o errores menores solo dentro del alcance de v21.
35
+
36
+ ## Pasos sugeridos de ejecucion
37
+
38
+ 1. Ejecutar suite Node.
39
+ 2. Ejecutar smoke create-quiver.
40
+ 3. Ejecutar smoke init-docs.
41
+ 4. Ejecutar smoke cross-platform.
42
+ 5. Revisar `git diff --check`.
43
+ 6. Actualizar evidence y PR body.
44
+ 7. Cerrar status.
45
+
46
+ ## Restricciones
47
+
48
+ - No publicar npm.
49
+ - No abrir PR sin pedido explicito.
50
+ - No agregar nuevo alcance funcional.
51
+
52
+ ## Riesgos
53
+
54
+ - Smokes lentos o dependientes de red.
55
+ - Tests legacy que asumen layout viejo.
56
+ - Fixes de ultimo minuto que expandan alcance.
57
+
58
+ ## Checklist de finalizacion
59
+
60
+ - [ ] `node --test tests/**/*.test.js` pasa.
61
+ - [ ] `npm run smoke:create-quiver` pasa.
62
+ - [ ] `bash scripts/ci/smoke-init-docs.sh` pasa.
63
+ - [ ] `node scripts/ci/smoke-cross-platform.js` pasa.
64
+ - [ ] `git diff --check` pasa.
65
+ - [ ] Evidence report actualizado.
66
+ - [ ] PR body actualizado.
@@ -0,0 +1,62 @@
1
+ {
2
+ "slice_id": "slice-08-smokes-release-readiness",
3
+ "ticket": "QUIVER-21-08",
4
+ "type": "chore",
5
+ "title": "Finalize smokes and release readiness",
6
+ "objective": "Run and harden the full validation matrix for the AI-first layout before PR or release work.",
7
+ "description": "This slice closes cross-profile smoke coverage, evidence, and final consistency checks.",
8
+ "git": {
9
+ "branch_type": "chore",
10
+ "base_branch": "main",
11
+ "branch_slug": "smokes-release-readiness",
12
+ "branch_name": "chore/QUIVER-21-08-smokes-release-readiness"
13
+ },
14
+ "files": [
15
+ "scripts/ci/smoke-create-quiver.sh",
16
+ "scripts/ci/smoke-init-docs.sh",
17
+ "scripts/ci/smoke-cross-platform.js",
18
+ "tests/**/*.test.js",
19
+ "specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md",
20
+ "specs/quiver-v21-ai-first-layout/STATUS.md",
21
+ "specs/quiver-v21-ai-first-layout/pr.md",
22
+ "specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/CLOSURE_BRIEF.md",
23
+ "specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/slice.json"
24
+ ],
25
+ "depends_on": [
26
+ "slice-07-docs-guidance-alignment"
27
+ ],
28
+ "parallel_safe": "after_dependencies",
29
+ "parallel_safe_reason": "Final validation depends on completed behavior and docs.",
30
+ "must": [
31
+ "Validate default, minimal, full, legacy-scripts, include-templates, and dry-run profiles.",
32
+ "Validate analyze scan relocation and visible project map.",
33
+ "Validate no-spec state for plan, graph, next, and doctor.",
34
+ "Validate legacy compatibility for scan, docs-template, and tools/scripts where applicable.",
35
+ "Update evidence report with real commands and outcomes.",
36
+ "Update PR body with summary, validation, and risks."
37
+ ],
38
+ "not_included": [
39
+ "Publishing to npm.",
40
+ "Opening the PR unless explicitly requested.",
41
+ "Changing product behavior beyond smoke fixes required for this spec."
42
+ ],
43
+ "acceptance": [
44
+ "Full Node test suite passes.",
45
+ "Create-quiver smoke passes.",
46
+ "Init-docs smoke passes.",
47
+ "Cross-platform smoke passes.",
48
+ "Evidence report is updated.",
49
+ "PR body is ready for review."
50
+ ],
51
+ "tests": [
52
+ "node --test tests/**/*.test.js",
53
+ "npm run smoke:create-quiver",
54
+ "bash scripts/ci/smoke-init-docs.sh",
55
+ "node scripts/ci/smoke-cross-platform.js",
56
+ "git diff --check"
57
+ ],
58
+ "estimated_hours": 4,
59
+ "actual_hours": 3,
60
+ "status": "completed",
61
+ "blocked_reason": null
62
+ }