create-quiver 0.10.0 → 0.12.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/BACKLOG.md +16 -17
- package/CHANGELOG.md +34 -0
- package/README.md +174 -39
- package/README_FOR_AI.md +48 -24
- package/ROADMAP.md +22 -11
- package/docs/AI_CONTEXT.md.template +2 -0
- package/docs/AI_ONBOARDING_PROMPT.md.template +25 -18
- package/docs/COMMANDS.md.template +59 -11
- package/docs/CONTEXTO.md.template +2 -0
- package/docs/DECISIONS.md.template +1 -0
- package/docs/INDEX.md.template +20 -18
- package/docs/STATUS.md.template +1 -0
- package/docs/SUPPORT_MATRIX.md.template +2 -2
- package/docs/TROUBLESHOOTING.md.template +50 -0
- package/docs/WORKFLOW.md.template +25 -17
- package/package.json +19 -2
- package/package.template.json +13 -1
- package/scripts/init-docs.sh +11 -4
- package/scripts/package-quiver.sh +18 -2
- package/specs/quiver-v22-guided-ai-workflow/EVIDENCE_REPORT.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/EXECUTION_PLAN.md +88 -0
- package/specs/quiver-v22-guided-ai-workflow/SPEC.md +228 -0
- package/specs/quiver-v22-guided-ai-workflow/STATUS.md +42 -0
- package/specs/quiver-v22-guided-ai-workflow/pr.md +104 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/slice.json +55 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/slice.json +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/slice.json +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/slice.json +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/slice.json +54 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/slice.json +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/slice.json +55 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/slice.json +53 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/slice.json +59 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/slice.json +60 -0
- package/specs/quiver-v23-guided-flow-productization/EVIDENCE_REPORT.md +80 -0
- package/specs/quiver-v23-guided-flow-productization/EXECUTION_PLAN.md +80 -0
- package/specs/quiver-v23-guided-flow-productization/SPEC.md +203 -0
- package/specs/quiver-v23-guided-flow-productization/STATUS.md +39 -0
- package/specs/quiver-v23-guided-flow-productization/pr.md +119 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/EXECUTION_BRIEF.md +35 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/slice.json +56 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/slice.json +54 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/slice.json +59 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/slice.json +53 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/slice.json +54 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/EXECUTION_BRIEF.md +34 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/slice.json +57 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/slice.json +63 -0
- package/specs/quiver-v24-dx-onboarding-hardening/EVIDENCE_REPORT.md +55 -0
- package/specs/quiver-v24-dx-onboarding-hardening/EXECUTION_PLAN.md +43 -0
- package/specs/quiver-v24-dx-onboarding-hardening/SPEC.md +149 -0
- package/specs/quiver-v24-dx-onboarding-hardening/STATUS.md +31 -0
- package/specs/quiver-v24-dx-onboarding-hardening/pr.md +76 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/slice.json +55 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/slice.json +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/slice.json +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/slice.json +70 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/slice.json +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/CLOSURE_BRIEF.md +43 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/slice.json +60 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/slice.json +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/slice.json +54 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/slice.json +59 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/slice.json +76 -0
- package/src/create-quiver/commands/ai.js +508 -35
- package/src/create-quiver/commands/demo.js +22 -0
- package/src/create-quiver/commands/evidence.js +37 -0
- package/src/create-quiver/commands/flow.js +561 -0
- package/src/create-quiver/commands/graph.js +14 -1
- package/src/create-quiver/commands/next.js +28 -0
- package/src/create-quiver/commands/plan.js +6 -3
- package/src/create-quiver/commands/prepare.js +236 -0
- package/src/create-quiver/commands/spec.js +133 -0
- package/src/create-quiver/index.js +688 -25
- package/src/create-quiver/lib/agent-profiles.js +148 -0
- package/src/create-quiver/lib/ai/context-packs.js +12 -0
- package/src/create-quiver/lib/ai/execution-plan.js +370 -10
- package/src/create-quiver/lib/ai/executor.js +376 -17
- package/src/create-quiver/lib/ai/github.js +196 -0
- package/src/create-quiver/lib/ai/onboarding-template.js +365 -0
- package/src/create-quiver/lib/ai/plan-review.js +283 -0
- package/src/create-quiver/lib/ai/providers.js +1 -0
- package/src/create-quiver/lib/ai/safety.js +5 -0
- package/src/create-quiver/lib/ai/spec-templates.js +2 -2
- package/src/create-quiver/lib/approvals.js +350 -0
- package/src/create-quiver/lib/demo.js +657 -0
- package/src/create-quiver/lib/doctor.js +234 -0
- package/src/create-quiver/lib/evidence.js +115 -0
- package/src/create-quiver/lib/init-docs.js +284 -17
- package/src/create-quiver/lib/init-layout.js +26 -1
- package/src/create-quiver/lib/lifecycle.js +6 -0
- package/src/create-quiver/lib/package-safety.js +117 -0
- package/src/create-quiver/lib/readiness.js +85 -18
- package/src/create-quiver/lib/slice-graph.js +1 -0
- package/src/create-quiver/lib/slice.js +8 -8
- package/src/create-quiver/lib/spec-worktrees.js +349 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-08: PR creation with gh and SSH guidance
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se extendio `ai pr` para validar setup, leer `pr.md`, mostrar el plan de `gh pr create` en dry-run y crear el PR solo cuando el usuario pasa `--create`.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Dry-run no crea PR.
|
|
10
|
+
- [x] PR se crea con `gh` en setup valido.
|
|
11
|
+
- [x] Faltantes bloquean.
|
|
12
|
+
- [x] Tests ejecutados.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `ai pr --dry-run` imprime comando planificado y no ejecuta `gh pr create`.
|
|
17
|
+
- `ai pr --create --input specs/<spec-slug>/pr.md` ejecuta `gh pr create` con argumentos seguros.
|
|
18
|
+
- El cuerpo del PR se toma de `pr.md`; si hay multiples `pr.md`, se exige `--input`.
|
|
19
|
+
- Se mantiene la validacion de gh, auth, remote, branch, worktree limpio, guia GitFlow, alias SSH e identity file.
|
|
20
|
+
- Tests mockean `gh` y cubren dry-run, create, faltantes y fallos de `gh pr create`.
|
|
21
|
+
|
|
22
|
+
## Pendientes
|
|
23
|
+
|
|
24
|
+
Sin pendientes criticos para esta slice.
|
|
25
|
+
|
|
26
|
+
## Riesgos remanentes
|
|
27
|
+
|
|
28
|
+
La deteccion automatica de `pr.md` requiere que haya uno solo; si hay varios specs en el repo, el usuario debe pasar `--input`.
|
|
29
|
+
|
|
30
|
+
## Recomendaciones futuras
|
|
31
|
+
|
|
32
|
+
Mantener el merge fuera de `ai pr`; el merge queda como decision humana.
|
package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/EXECUTION_BRIEF.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-08: PR creation with gh and SSH guidance
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v22-guided-ai-workflow
|
|
4
|
+
**Slice:** slice-08-pr-create-gh-ssh
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
`ai pr` hoy valida preflight, pero el flujo final necesita crear el PR con `gh` usando `pr.md`.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar creacion de PR segura, con dry-run y guia clara para gh/SSH.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Leer `pr.md`.
|
|
18
|
+
- Validar setup.
|
|
19
|
+
- Construir y ejecutar `gh pr create`.
|
|
20
|
+
- Mantener dry-run.
|
|
21
|
+
- No mergear PRs.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- Dry-run no crea PR.
|
|
26
|
+
- Faltantes bloquean con mensaje claro.
|
|
27
|
+
- Setup valido crea PR usando `pr.md`.
|
|
28
|
+
- Tests mockean `gh`.
|
|
29
|
+
|
|
30
|
+
## Plan tecnico resumido
|
|
31
|
+
|
|
32
|
+
Extender preflight existente y agregar una capa de creacion que use argumentos seguros, cuerpo desde archivo y confirmacion explicita.
|
|
33
|
+
|
|
34
|
+
## Pasos sugeridos de ejecucion
|
|
35
|
+
|
|
36
|
+
1. Revisar `ai/github.js` y `ai-pr.test.js`.
|
|
37
|
+
2. Definir flags de create.
|
|
38
|
+
3. Leer y validar `pr.md`.
|
|
39
|
+
4. Construir llamada segura a `gh`.
|
|
40
|
+
5. Agregar tests de dry-run y success mockeado.
|
|
41
|
+
|
|
42
|
+
## Restricciones
|
|
43
|
+
|
|
44
|
+
- No instalar `gh`.
|
|
45
|
+
- No modificar SSH config.
|
|
46
|
+
- No mergear.
|
|
47
|
+
|
|
48
|
+
## Riesgos
|
|
49
|
+
|
|
50
|
+
- Crear PR contra base incorrecta.
|
|
51
|
+
- Confundir alias SSH con identity file.
|
|
52
|
+
|
|
53
|
+
## Checklist de finalizacion
|
|
54
|
+
|
|
55
|
+
- [ ] Dry-run listo.
|
|
56
|
+
- [ ] Create listo con mocks.
|
|
57
|
+
- [ ] Faltantes bloquean.
|
|
58
|
+
- [ ] Tests pasan.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-08-pr-create-gh-ssh",
|
|
3
|
+
"ticket": "QUIVER-22-08",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "PR creation with gh and SSH guidance",
|
|
6
|
+
"objective": "Create GitHub PRs from generated pr.md after validating gh, auth, branch, worktree, remote, and SSH inputs.",
|
|
7
|
+
"description": "Upgrade GitHub PR preflight into PR creation while keeping dry-run, explicit confirmation, and cross-platform setup guidance.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "pr-create-gh-ssh",
|
|
12
|
+
"branch_name": "feature/QUIVER-22-08-pr-create-gh-ssh"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/ai/github.js",
|
|
17
|
+
"src/create-quiver/lib/pr-create.js",
|
|
18
|
+
"tests/commands/ai-pr.test.js",
|
|
19
|
+
"tests/lib/ai-github.test.js"
|
|
20
|
+
],
|
|
21
|
+
"depends_on": [
|
|
22
|
+
"slice-05-spec-worktree-lifecycle"
|
|
23
|
+
],
|
|
24
|
+
"parallel_safe": "conditional",
|
|
25
|
+
"parallel_safe_reason": "Conceptually independent after spec worktree lifecycle, but it currently overlaps command-router files with executor and execution-wave slices. Run sequentially unless file ownership is split first.",
|
|
26
|
+
"must": [
|
|
27
|
+
"Read the generated pr.md body.",
|
|
28
|
+
"Validate gh is installed and authenticated.",
|
|
29
|
+
"Validate remote, branch, worktree, clean state, SSH alias, and identity file.",
|
|
30
|
+
"Support dry-run without creating a PR.",
|
|
31
|
+
"Create a PR with gh only after checks pass and user intent is explicit.",
|
|
32
|
+
"Keep PR merge out of scope."
|
|
33
|
+
],
|
|
34
|
+
"not_included": [
|
|
35
|
+
"Merging PRs.",
|
|
36
|
+
"Post-merge cleanup.",
|
|
37
|
+
"Installing gh automatically."
|
|
38
|
+
],
|
|
39
|
+
"acceptance": [
|
|
40
|
+
"Dry-run prints the gh command plan and creates no PR.",
|
|
41
|
+
"Missing gh/auth/identity/GitFlow guide/remote/dirty worktree blocks creation with clear guidance.",
|
|
42
|
+
"Valid setup creates a PR using pr.md.",
|
|
43
|
+
"The command never merges the PR.",
|
|
44
|
+
"Tests mock gh and do not require real GitHub auth."
|
|
45
|
+
],
|
|
46
|
+
"tests": [
|
|
47
|
+
"node --test tests/commands/ai-pr.test.js tests/lib/ai-github.test.js",
|
|
48
|
+
"git diff --check"
|
|
49
|
+
],
|
|
50
|
+
"estimated_hours": 7,
|
|
51
|
+
"status": "completed",
|
|
52
|
+
"blocked_reason": null
|
|
53
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-09: Post-merge cleanup and release safety
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se agrego cierre seguro de worktrees por spec con `spec close` y un gate de package safety para bloquear archivos locales sensibles antes del release.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Cleanup bloquea PR no mergeado.
|
|
10
|
+
- [x] Cleanup bloquea worktree sucio.
|
|
11
|
+
- [x] Main local se actualiza.
|
|
12
|
+
- [x] Package safety cubierto.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- Nuevo comando `npx create-quiver spec close <spec-dir>`.
|
|
17
|
+
- `spec close` bloquea worktrees sucios y ramas de spec no mergeadas, salvo descarte explicito.
|
|
18
|
+
- `spec close --dry-run` muestra la limpieza planeada sin remover worktrees.
|
|
19
|
+
- `spec close` remueve el worktree mergeado y hace `git pull --ff-only` cuando hay remote base.
|
|
20
|
+
- Nuevo modulo `package-safety` para validar paths del tarball.
|
|
21
|
+
- `scripts/package-quiver.sh` ejecuta package safety sobre el contenido real de `npm pack`.
|
|
22
|
+
|
|
23
|
+
## Pendientes
|
|
24
|
+
|
|
25
|
+
Sin pendientes criticos para esta slice.
|
|
26
|
+
|
|
27
|
+
## Riesgos remanentes
|
|
28
|
+
|
|
29
|
+
Package safety valida nombres/rutas dentro del tarball; no inspecciona secretos embebidos dentro de archivos aparentemente seguros.
|
|
30
|
+
|
|
31
|
+
## Recomendaciones futuras
|
|
32
|
+
|
|
33
|
+
Mantener cleanup destructivo separado de PR merge. Si se agrega borrado de ramas remotas, debe quedar detras de un flag explicito distinto.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-09: Post-merge cleanup and release safety
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v22-guided-ai-workflow
|
|
4
|
+
**Slice:** slice-09-post-merge-cleanup-release-safety
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
Despues del merge, el usuario quiere cerrar el worktree y actualizar el checkout principal. Ademas, la publicacion npm debe bloquear archivos locales sensibles.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar cierre seguro de spec y guardas de packaging/release.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Cleanup post-merge.
|
|
18
|
+
- Validacion de PR mergeado.
|
|
19
|
+
- Proteccion ante worktree sucio.
|
|
20
|
+
- Pull del checkout principal.
|
|
21
|
+
- Guardas para `npm pack`/release.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- No se limpia si el PR no esta mergeado.
|
|
26
|
+
- No se limpia worktree sucio por default.
|
|
27
|
+
- El cierre exitoso elimina worktree y actualiza main.
|
|
28
|
+
- Packaging falla si entran archivos sensibles.
|
|
29
|
+
|
|
30
|
+
## Plan tecnico resumido
|
|
31
|
+
|
|
32
|
+
Extender lifecycle a nivel spec y agregar un chequeo de paquete que inspeccione el resultado de `npm pack --dry-run` o equivalente antes de publicar.
|
|
33
|
+
|
|
34
|
+
## Pasos sugeridos de ejecucion
|
|
35
|
+
|
|
36
|
+
1. Revisar cleanup actual y supuestos de base branch.
|
|
37
|
+
2. Definir cierre de spec.
|
|
38
|
+
3. Agregar validaciones de merge/dirty.
|
|
39
|
+
4. Agregar package safety.
|
|
40
|
+
5. Cubrir tests y smoke.
|
|
41
|
+
|
|
42
|
+
## Restricciones
|
|
43
|
+
|
|
44
|
+
- No mergear PR.
|
|
45
|
+
- No publicar npm.
|
|
46
|
+
- No descartar cambios sin flag explicito.
|
|
47
|
+
|
|
48
|
+
## Riesgos
|
|
49
|
+
|
|
50
|
+
- Borrar trabajo local no mergeado.
|
|
51
|
+
- Fallar en repos con base branch distinta.
|
|
52
|
+
- Falsos positivos en package safety.
|
|
53
|
+
|
|
54
|
+
## Checklist de finalizacion
|
|
55
|
+
|
|
56
|
+
- [ ] Cleanup seguro listo.
|
|
57
|
+
- [ ] Main/develop sin hardcode incorrecto.
|
|
58
|
+
- [ ] Package safety listo.
|
|
59
|
+
- [ ] Tests pasan.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-09-post-merge-cleanup-release-safety",
|
|
3
|
+
"ticket": "QUIVER-22-09",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Post-merge cleanup and release safety",
|
|
6
|
+
"objective": "Safely close merged spec worktrees and prevent local AI/tool state from entering npm packages.",
|
|
7
|
+
"description": "Add post-merge lifecycle checks and release/package safety guards for secrets, env files, npm credentials, and local AI tool directories.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "post-merge-cleanup-release-safety",
|
|
12
|
+
"branch_name": "feature/QUIVER-22-09-post-merge-cleanup-release-safety"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/index.js",
|
|
16
|
+
"src/create-quiver/lib/lifecycle.js",
|
|
17
|
+
"src/create-quiver/lib/git.js",
|
|
18
|
+
"src/create-quiver/lib/spec-worktrees.js",
|
|
19
|
+
"src/create-quiver/lib/package-safety.js",
|
|
20
|
+
"scripts/release-quiver.sh",
|
|
21
|
+
".npmignore",
|
|
22
|
+
"tests/commands/spec-close.test.js",
|
|
23
|
+
"tests/lib/package-safety.test.js"
|
|
24
|
+
],
|
|
25
|
+
"depends_on": [
|
|
26
|
+
"slice-07-execution-waves-delegation",
|
|
27
|
+
"slice-08-pr-create-gh-ssh"
|
|
28
|
+
],
|
|
29
|
+
"parallel_safe": "no",
|
|
30
|
+
"parallel_safe_reason": "Cleanup and release safety must integrate final workflow state and PR behavior.",
|
|
31
|
+
"must": [
|
|
32
|
+
"Refuse normal cleanup before PR merge is confirmed.",
|
|
33
|
+
"Refuse cleanup when the worktree is dirty unless explicit discard behavior is used.",
|
|
34
|
+
"Remove the spec worktree after safe confirmation.",
|
|
35
|
+
"Pull merged changes into the main local checkout.",
|
|
36
|
+
"Fail package/release safety if local settings, env files, npm credentials, or AI tool local state would enter the tarball.",
|
|
37
|
+
"Keep destructive operations explicit and recoverable."
|
|
38
|
+
],
|
|
39
|
+
"not_included": [
|
|
40
|
+
"Merging PRs.",
|
|
41
|
+
"Deleting remote branches without explicit existing workflow support.",
|
|
42
|
+
"Publishing a new npm version."
|
|
43
|
+
],
|
|
44
|
+
"acceptance": [
|
|
45
|
+
"Unmerged PR blocks normal spec cleanup.",
|
|
46
|
+
"Dirty worktree blocks normal spec cleanup.",
|
|
47
|
+
"Merged clean spec can be closed and main checkout can be pulled.",
|
|
48
|
+
"Release/package safety fails when unsafe local files would be packaged.",
|
|
49
|
+
"Release/package safety passes when unsafe paths are ignored or absent."
|
|
50
|
+
],
|
|
51
|
+
"tests": [
|
|
52
|
+
"node --test tests/commands/spec-close.test.js tests/lib/package-safety.test.js",
|
|
53
|
+
"npm pack --dry-run",
|
|
54
|
+
"git diff --check"
|
|
55
|
+
],
|
|
56
|
+
"estimated_hours": 8,
|
|
57
|
+
"status": "completed",
|
|
58
|
+
"blocked_reason": null
|
|
59
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-10: Final docs, smokes, and release readiness
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
- Se actualizaron README, README_FOR_AI, CHANGELOG, ROADMAP, BACKLOG y templates generados para presentar el guided AI workflow como disponible.
|
|
6
|
+
- Se alinearon los snippets de onboarding con aprobaciones persistidas, `spec start`, ejecución por olas, PR con `pr.md` y cierre de worktree.
|
|
7
|
+
- Se agregó `smoke:guided-workflow` y se reforzaron los smokes existentes para el contrato real post-`analyze`, scripts nuevos y `slice-00` obligatorio.
|
|
8
|
+
- `docs/AI_CONTEXT.md` refrescado por `analyze` conserva front matter para mantener el contrato token-efficient.
|
|
9
|
+
- Se actualizaron STATUS, EVIDENCE_REPORT y el estado del slice.
|
|
10
|
+
|
|
11
|
+
## Validacion contra criterios de aceptacion
|
|
12
|
+
|
|
13
|
+
- [x] Docs finales listas.
|
|
14
|
+
- [x] Smokes listas.
|
|
15
|
+
- [x] STATUS/EVIDENCE actualizados.
|
|
16
|
+
- [x] No se publico npm.
|
|
17
|
+
|
|
18
|
+
## Cambios relevantes
|
|
19
|
+
|
|
20
|
+
- Root docs y templates muestran `prepare`, `ai approve`, `ai execute-plan`, `ai pr --input`, `spec start/status/close` y commit opt-in.
|
|
21
|
+
- Scripts de smoke cubren flujo guiado, creación/migración, package safety y fixtures con `slice-00`.
|
|
22
|
+
- El package dry-run pasó usando cache temporal por permisos rotos en la cache global de npm.
|
|
23
|
+
|
|
24
|
+
## Pendientes
|
|
25
|
+
|
|
26
|
+
- Publicar una nueva version npm queda fuera de este slice y debe hacerse con el flujo de release.
|
|
27
|
+
|
|
28
|
+
## Riesgos remanentes
|
|
29
|
+
|
|
30
|
+
- La cache global `~/.npm` tiene archivos root-owned; `npm pack --dry-run` requiere cache temporal o corregir permisos localmente.
|
|
31
|
+
|
|
32
|
+
## Recomendaciones futuras
|
|
33
|
+
|
|
34
|
+
- Ejecutar `npm run release:quiver` o `bash scripts/release-quiver.sh ...` solo despues de revisar este PR y decidir el bump.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-10: Final docs, smokes, and release readiness
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v22-guided-ai-workflow
|
|
4
|
+
**Slice:** slice-10-docs-smokes-release-readiness
|
|
5
|
+
**Tipo:** docs-test
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
Cuando todas las piezas existen, hay que actualizar la documentacion publica, templates generados, smokes y evidencia.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Cerrar la feature con docs completas, pruebas y readiness de release sin publicar.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- README y guia IA.
|
|
18
|
+
- Templates/docs generados.
|
|
19
|
+
- Smoke tests.
|
|
20
|
+
- STATUS/EVIDENCE_REPORT.
|
|
21
|
+
- Checklist de release.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- Docs muestran el flujo como disponible.
|
|
26
|
+
- Smokes cubren happy path y fallas principales.
|
|
27
|
+
- Evidencia actualizada.
|
|
28
|
+
- No se publica npm.
|
|
29
|
+
|
|
30
|
+
## Plan tecnico resumido
|
|
31
|
+
|
|
32
|
+
Actualizar docs y templates despues de terminar comportamiento, luego ejecutar suite amplia y registrar evidencia.
|
|
33
|
+
|
|
34
|
+
## Pasos sugeridos de ejecucion
|
|
35
|
+
|
|
36
|
+
1. Revisar todos los comandos implementados.
|
|
37
|
+
2. Actualizar README y README_FOR_AI.
|
|
38
|
+
3. Actualizar generated docs/templates.
|
|
39
|
+
4. Agregar smokes.
|
|
40
|
+
5. Ejecutar tests.
|
|
41
|
+
6. Actualizar STATUS/EVIDENCE_REPORT.
|
|
42
|
+
|
|
43
|
+
## Restricciones
|
|
44
|
+
|
|
45
|
+
- No publicar npm.
|
|
46
|
+
- No abrir PR si no se pidio.
|
|
47
|
+
|
|
48
|
+
## Riesgos
|
|
49
|
+
|
|
50
|
+
- Documentar comandos con nombres distintos a los implementados.
|
|
51
|
+
- Smokes demasiado dependientes de herramientas reales.
|
|
52
|
+
|
|
53
|
+
## Checklist de finalizacion
|
|
54
|
+
|
|
55
|
+
- [ ] Docs finales actualizadas.
|
|
56
|
+
- [ ] Templates actualizados.
|
|
57
|
+
- [ ] Smokes agregados.
|
|
58
|
+
- [ ] Evidencia final registrada.
|
package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/slice.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-10-docs-smokes-release-readiness",
|
|
3
|
+
"ticket": "QUIVER-22-10",
|
|
4
|
+
"type": "docs-test",
|
|
5
|
+
"title": "Final docs, smokes, and release readiness",
|
|
6
|
+
"objective": "Finish the guided workflow with updated user docs, generated templates, smoke coverage, and release readiness evidence.",
|
|
7
|
+
"description": "Update public docs and generated project templates, add end-to-end smoke coverage, and confirm the feature is ready for release without publishing.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "guided-workflow-release-readiness",
|
|
12
|
+
"branch_name": "feature/QUIVER-22-10-guided-workflow-release-readiness"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"README.md",
|
|
16
|
+
"README_FOR_AI.md",
|
|
17
|
+
"CHANGELOG.md",
|
|
18
|
+
"src/create-quiver/lib/init-docs.js",
|
|
19
|
+
"src/create-quiver/lib/init-layout.js",
|
|
20
|
+
"tests/commands/*.test.js",
|
|
21
|
+
"scripts/ci/*.sh",
|
|
22
|
+
"specs/quiver-v22-guided-ai-workflow/STATUS.md",
|
|
23
|
+
"specs/quiver-v22-guided-ai-workflow/EVIDENCE_REPORT.md"
|
|
24
|
+
],
|
|
25
|
+
"depends_on": [
|
|
26
|
+
"slice-09-post-merge-cleanup-release-safety"
|
|
27
|
+
],
|
|
28
|
+
"parallel_safe": "no",
|
|
29
|
+
"parallel_safe_reason": "Final docs and smokes must run after all behavior slices are complete.",
|
|
30
|
+
"must": [
|
|
31
|
+
"Document the finished guided workflow in root docs.",
|
|
32
|
+
"Update generated project docs/templates where users see commands.",
|
|
33
|
+
"Add smoke coverage for the happy path and major failure paths.",
|
|
34
|
+
"Update STATUS and EVIDENCE_REPORT.",
|
|
35
|
+
"Run full relevant test suite.",
|
|
36
|
+
"Do not publish npm in this slice."
|
|
37
|
+
],
|
|
38
|
+
"not_included": [
|
|
39
|
+
"Changing feature behavior after acceptance unless a blocking bug is found.",
|
|
40
|
+
"Publishing a release.",
|
|
41
|
+
"Merging PR."
|
|
42
|
+
],
|
|
43
|
+
"acceptance": [
|
|
44
|
+
"README shows the guided AI workflow as available behavior.",
|
|
45
|
+
"Generated docs mention prepare, approvals, executor commits, PR creation, and cleanup.",
|
|
46
|
+
"Smoke tests cover dry-run preparation, approvals, execution waves, PR dry-run, cleanup dry-run, and package safety.",
|
|
47
|
+
"STATUS and EVIDENCE_REPORT reflect completed slices.",
|
|
48
|
+
"Release checklist is ready but no npm publish is performed."
|
|
49
|
+
],
|
|
50
|
+
"tests": [
|
|
51
|
+
"node --test tests/**/*.test.js",
|
|
52
|
+
"npm run smoke:create-quiver",
|
|
53
|
+
"npm run smoke:tiered-pack",
|
|
54
|
+
"npm pack --dry-run",
|
|
55
|
+
"git diff --check"
|
|
56
|
+
],
|
|
57
|
+
"estimated_hours": 6,
|
|
58
|
+
"status": "completed",
|
|
59
|
+
"blocked_reason": null
|
|
60
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Evidence Report - Quiver v23 Guided Flow Productization
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Spec foundation is created. `slice-00` through `slice-10` are completed.
|
|
6
|
+
|
|
7
|
+
## Slice Evidence
|
|
8
|
+
|
|
9
|
+
| Slice | Evidence |
|
|
10
|
+
|-------|----------|
|
|
11
|
+
| slice-00 | Spec foundation files created. All `slice.json` files parse successfully and `git diff --check` passed. |
|
|
12
|
+
| slice-01 | Added `quiver` as a package binary alias, added read-only `flow` command, generated `quiver:flow` script, docs, and command tests. |
|
|
13
|
+
| slice-02 | Expanded `flow` into a status wizard that reports uninitialized, context-needed, criteria approval, technical-plan approval, spec generation, slice execution, blocked slice graph, and PR-ready states. |
|
|
14
|
+
| slice-03 | Added `.quiver/agents/profiles.json`, `ai agent set/list/show`, provider validation, free-form model labels, profile-backed provider defaults, docs, and tests. |
|
|
15
|
+
| slice-04 | Added a packaged planner onboarding template, shared context plan, prepare report selected docs/debt/omissions, index-first generated prompt, and tests. |
|
|
16
|
+
| slice-05 | Added versioned drafts under `.quiver/approvals/<phase>/drafts/`, `ai approve --version`, status history output, and approval blocking against stale versions. |
|
|
17
|
+
| slice-06 | Added `ai review-plan`, review prompt metadata, persisted `.quiver/approvals/plan-review/` artifacts, flow guidance before technical-plan approval, and a spec-generation gate that requires the reviewed technical-plan version to be approved. |
|
|
18
|
+
| slice-07 | Added `npx create-quiver spec create`, generated `quiver:spec:create` scripts, dry-run preview, collision checks, next safe commands, and docs/tests for creating specs from reviewed approved technical plans. |
|
|
19
|
+
| slice-08 | Added `npx create-quiver ai prompt-slice`, generated `quiver:ai:prompt-slice` scripts, minimal SPEC excerpts, required closure brief handling, final report format, docs/templates, and tests for manual executor prompts. |
|
|
20
|
+
| slice-09 | Added `--mode manual` and `--mode delegated` for `ai execute-plan`, dry-run prompt/execute commands, delegated temporary worktrees for parallel-ready waves, sequential fallback for unsafe scopes, one-commit integration, recovery guidance, docs, and tests. |
|
|
21
|
+
| slice-10 | Updated README, README_FOR_AI, CHANGELOG, ROADMAP, BACKLOG, generated docs/templates, smoke coverage, release readiness checklist, final status/evidence, and confirmed no npm publish was performed. |
|
|
22
|
+
|
|
23
|
+
## Validation Log
|
|
24
|
+
|
|
25
|
+
- 2026-05-21: `find specs/quiver-v23-guided-flow-productization -name "slice.json" -print -exec node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))" {} \;`
|
|
26
|
+
- 2026-05-21: `git diff --check`
|
|
27
|
+
- 2026-05-21: `node --test tests/commands/flow.test.js tests/commands/init-profiles.test.js tests/commands/prepare.test.js`
|
|
28
|
+
- 2026-05-21: `node bin/create-quiver.js flow --json`
|
|
29
|
+
- 2026-05-21: `node --test tests/commands/flow.test.js tests/lib/doctor.test.js`
|
|
30
|
+
- 2026-05-21: `git diff --check`
|
|
31
|
+
- 2026-05-21: `node --test tests/lib/agent-profiles.test.js tests/commands/ai-agent.test.js tests/commands/flow.test.js tests/commands/ai-onboard.test.js tests/commands/ai-plan.test.js tests/commands/ai-execute-slice.test.js tests/commands/ai-execute-plan.test.js`
|
|
32
|
+
- 2026-05-21: `git diff --check`
|
|
33
|
+
- 2026-05-21: `node --test tests/commands/prepare.test.js tests/commands/ai-onboard.test.js tests/lib/ai-safety.test.js`
|
|
34
|
+
- 2026-05-21: `git diff --check`
|
|
35
|
+
- 2026-05-21: `node --test tests/lib/approvals.test.js tests/commands/ai-plan.test.js tests/commands/ai-plan-spec-phase.test.js`
|
|
36
|
+
- 2026-05-21: `git diff --check`
|
|
37
|
+
- 2026-05-21: `node --test tests/commands/ai-review-plan.test.js`
|
|
38
|
+
- 2026-05-21: `node --test tests/commands/doctor.test.js tests/lib/init-docs.test.js tests/lib/init-layout.test.js tests/lib/package-safety.test.js tests/commands/flow.test.js tests/commands/ai-review-plan.test.js tests/commands/ai-plan-spec-phase.test.js tests/commands/ai-plan.test.js`
|
|
39
|
+
- 2026-05-21: `node --test tests/**/*.test.js`
|
|
40
|
+
- 2026-05-21: `git diff --check`
|
|
41
|
+
- 2026-05-21: `find specs/quiver-v23-guided-flow-productization -name slice.json -print -exec node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))" {} \;`
|
|
42
|
+
- 2026-05-21: `npm run smoke:create-quiver`
|
|
43
|
+
- 2026-05-21: `npm run smoke:tiered-pack`
|
|
44
|
+
- 2026-05-21: `npm run smoke:guided-workflow`
|
|
45
|
+
- 2026-05-21: `npm run smoke:create-quiver`
|
|
46
|
+
- 2026-05-21: `npm pack --dry-run` failed because the user npm cache under `~/.npm` contains root-owned files.
|
|
47
|
+
- 2026-05-21: `npm --cache /private/tmp/quiver-npm-cache pack --dry-run`
|
|
48
|
+
- 2026-05-21: `npm run smoke:tiered-pack`
|
|
49
|
+
|
|
50
|
+
## Release Readiness Checklist
|
|
51
|
+
|
|
52
|
+
- [x] Root README documents the guided flow as available behavior.
|
|
53
|
+
- [x] Generated docs mention flow status, profiles, onboarding, review-plan, spec create, executor prompts, delegated execution, PR creation, and cleanup.
|
|
54
|
+
- [x] Guided workflow smoke covers flow status, profiles, onboarding, planner iterations, review-plan, spec create, executor prompt dry-run, delegated execution dry-run, PR dry-run, cleanup dry-run, and package safety.
|
|
55
|
+
- [x] Package dry-run succeeded with an isolated npm cache.
|
|
56
|
+
- [x] No npm publish was performed in this slice.
|
|
57
|
+
- 2026-05-21: `node --test tests/lib/ai-execution-plan.test.js tests/commands/ai-execute-plan.test.js tests/commands/ai-execute-slice.test.js`
|
|
58
|
+
- 2026-05-21: `node --test tests/lib/ai-execution-plan.test.js tests/commands/ai-execute-plan.test.js tests/commands/ai-execute-slice.test.js tests/lib/init-docs.test.js tests/lib/init-layout.test.js`
|
|
59
|
+
- 2026-05-21: `node --test tests/**/*.test.js`
|
|
60
|
+
- 2026-05-21: `git diff --check`
|
|
61
|
+
- 2026-05-21: `find specs/quiver-v23-guided-flow-productization -name slice.json -print -exec node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))" {} \;`
|
|
62
|
+
- 2026-05-21: `npm run smoke:create-quiver`
|
|
63
|
+
- 2026-05-21: `npm run smoke:tiered-pack`
|
|
64
|
+
- 2026-05-21: `node --test tests/commands/ai-execute-slice.test.js tests/lib/ai-executor.test.js tests/lib/init-docs.test.js tests/lib/init-layout.test.js`
|
|
65
|
+
- 2026-05-21: `node --test tests/**/*.test.js`
|
|
66
|
+
- 2026-05-21: `git diff --check`
|
|
67
|
+
- 2026-05-21: `find specs/quiver-v23-guided-flow-productization -name slice.json -print -exec node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))" {} \;`
|
|
68
|
+
- 2026-05-21: `npm run smoke:create-quiver`
|
|
69
|
+
- 2026-05-21: `npm run smoke:tiered-pack`
|
|
70
|
+
- 2026-05-21: `node --test tests/commands/spec-create.test.js tests/commands/flow.test.js tests/commands/ai-plan-spec-phase.test.js tests/lib/ai-spec-generator.test.js tests/lib/init-layout.test.js`
|
|
71
|
+
- 2026-05-21: `node --test tests/commands/spec-create.test.js tests/commands/flow.test.js tests/lib/ai-spec-generator.test.js tests/commands/ai-plan-spec-phase.test.js tests/lib/init-docs.test.js tests/lib/init-layout.test.js`
|
|
72
|
+
- 2026-05-21: `node --test tests/**/*.test.js`
|
|
73
|
+
- 2026-05-21: `git diff --check`
|
|
74
|
+
- 2026-05-21: `find specs/quiver-v23-guided-flow-productization -name slice.json -print -exec node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))" {} \;`
|
|
75
|
+
- 2026-05-21: `npm run smoke:create-quiver`
|
|
76
|
+
- 2026-05-21: `npm run smoke:tiered-pack`
|
|
77
|
+
|
|
78
|
+
## Notes
|
|
79
|
+
|
|
80
|
+
This report must be updated by each slice executor with commands run, results, risks, and follow-up work.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Execution Plan - Quiver v23 Guided Flow Productization
|
|
2
|
+
|
|
3
|
+
## Rule
|
|
4
|
+
|
|
5
|
+
`slice-00` is mandatory and must be committed first. It establishes the spec foundation in the repo.
|
|
6
|
+
|
|
7
|
+
## Recommended Wave Plan
|
|
8
|
+
|
|
9
|
+
This is the safe default plan. It favors reliable integration over speed because several slices will touch command routing, docs, and shared AI workflow state.
|
|
10
|
+
|
|
11
|
+
| Wave | Mode | Slices | Why |
|
|
12
|
+
|------|------|--------|-----|
|
|
13
|
+
| 0 | Sequential | `slice-00-spec-foundation` | Publishes the spec foundation, handoffs, execution plan, and PR body. |
|
|
14
|
+
| 1 | Sequential | `slice-01-short-command-and-flow-entrypoint` | Establishes the command surface before adding higher-level flow behavior. |
|
|
15
|
+
| 2 | Sequential | `slice-02-flow-status-wizard` | Adds the next-step guide that later slices can extend. |
|
|
16
|
+
| 3 | Sequential | `slice-03-agent-profiles` | Adds planner/executor/reviewer profile state before using those profiles in prompts. |
|
|
17
|
+
| 4 | Sequential | `slice-04-context-preparation-onboarding` | Productizes onboarding prompts after profiles and flow status exist. |
|
|
18
|
+
| 5 | Sequential | `slice-05-planner-iteration-history` | Adds versioned drafts and approvals before plan review and spec creation. |
|
|
19
|
+
| 6 | Sequential | `slice-06-production-plan-review` | Adds the production-readiness review gate before spec generation. |
|
|
20
|
+
| 7 | Sequential | `slice-07-spec-create-experience` | Builds on approved and reviewed plans to create specs predictably. |
|
|
21
|
+
| 8 | Sequential | `slice-08-executor-prompt-generation` | Generates minimal manual executor prompts after spec/slice shape is stable. |
|
|
22
|
+
| 9 | Sequential | `slice-09-delegated-slice-execution` | Adds the highest-risk delegated execution behavior after all prerequisites exist. |
|
|
23
|
+
| 10 | Sequential | `slice-10-docs-smokes-release-readiness` | Final docs and smokes must run last. |
|
|
24
|
+
|
|
25
|
+
## Parallelization Assessment
|
|
26
|
+
|
|
27
|
+
Default recommendation: execute sequentially.
|
|
28
|
+
|
|
29
|
+
Optional parallel work is possible only after `slice-03` if file ownership is split:
|
|
30
|
+
|
|
31
|
+
| Optional Wave | Mode | Slices | Condition |
|
|
32
|
+
|---------------|------|--------|-----------|
|
|
33
|
+
| 4A | Parallel | `slice-04-context-preparation-onboarding` + `slice-05-planner-iteration-history` | Only if command routing changes are isolated and shared state files are not edited by both slices. |
|
|
34
|
+
| 8A | Parallel | `slice-08-executor-prompt-generation` + docs draft work for `slice-10` | Only if docs work does not depend on final delegated behavior. |
|
|
35
|
+
|
|
36
|
+
If file scopes overlap or are unknown, fall back to sequential execution.
|
|
37
|
+
|
|
38
|
+
## Dependency Graph
|
|
39
|
+
|
|
40
|
+
```mermaid
|
|
41
|
+
flowchart TD
|
|
42
|
+
S00[slice-00 spec foundation] --> S01[slice-01 short command and flow entrypoint]
|
|
43
|
+
S01 --> S02[slice-02 flow status wizard]
|
|
44
|
+
S02 --> S03[slice-03 agent profiles]
|
|
45
|
+
S03 --> S04[slice-04 context preparation onboarding]
|
|
46
|
+
S04 --> S05[slice-05 planner iteration history]
|
|
47
|
+
S05 --> S06[slice-06 production plan review]
|
|
48
|
+
S06 --> S07[slice-07 spec create experience]
|
|
49
|
+
S07 --> S08[slice-08 executor prompt generation]
|
|
50
|
+
S08 --> S09[slice-09 delegated slice execution]
|
|
51
|
+
S09 --> S10[slice-10 docs smokes release readiness]
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Suggested Commit Order
|
|
55
|
+
|
|
56
|
+
1. `docs(spec): add guided flow productization spec`
|
|
57
|
+
2. `feat(cli): add quiver flow entrypoint`
|
|
58
|
+
3. `feat(flow): show next safe workflow step`
|
|
59
|
+
4. `feat(ai): persist agent profiles`
|
|
60
|
+
5. `feat(ai): productize context onboarding`
|
|
61
|
+
6. `feat(ai): version planner drafts and approvals`
|
|
62
|
+
7. `feat(ai): review technical plans for production readiness`
|
|
63
|
+
8. `feat(spec): create specs from reviewed approved plans`
|
|
64
|
+
9. `feat(ai): generate minimal executor prompts`
|
|
65
|
+
10. `feat(ai): delegate slice execution safely`
|
|
66
|
+
11. `docs(ai): document guided flow and add smokes`
|
|
67
|
+
|
|
68
|
+
## Executor Assignment
|
|
69
|
+
|
|
70
|
+
- Keep `slice-00`, `slice-01`, `slice-02`, `slice-06`, `slice-09`, and `slice-10` with a stronger planner/reviewer because they affect user flow, safety, or integration.
|
|
71
|
+
- `slice-03`, `slice-04`, `slice-05`, `slice-07`, and `slice-08` can be executed by cheaper code-focused agents if their file scopes are clear.
|
|
72
|
+
- Do not delegate parallel slices unless write sets are disjoint.
|
|
73
|
+
|
|
74
|
+
## Integration Notes
|
|
75
|
+
|
|
76
|
+
- Do not start implementation slices before `slice-00` is committed.
|
|
77
|
+
- Keep provider calls mocked in automated tests.
|
|
78
|
+
- Keep real provider CLI checks manual or dry-run only.
|
|
79
|
+
- Preserve existing `npx create-quiver` commands.
|
|
80
|
+
- Treat `quiver` as an alias unless a deliberate package decision changes that.
|