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,29 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-02: Flow status and next-step wizard
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Implementar un comando que muestre estado, bloqueos y proximo paso seguro.
|
|
6
|
+
|
|
7
|
+
## Alcance
|
|
8
|
+
|
|
9
|
+
- Leer estado de `.quiver/`, docs, approvals y specs.
|
|
10
|
+
- Reutilizar doctor/status existentes donde convenga.
|
|
11
|
+
- Imprimir salida breve y accionable.
|
|
12
|
+
|
|
13
|
+
## Criterios de aceptacion
|
|
14
|
+
|
|
15
|
+
- No falla con proyectos no inicializados.
|
|
16
|
+
- No llama proveedores.
|
|
17
|
+
- No escribe archivos salvo que una opcion futura lo pida explicitamente.
|
|
18
|
+
- Tiene tests por etapa relevante.
|
|
19
|
+
|
|
20
|
+
## Restricciones
|
|
21
|
+
|
|
22
|
+
- No resolver perfiles de agentes en esta slice.
|
|
23
|
+
- No crear specs ni ejecutar slices.
|
|
24
|
+
|
|
25
|
+
## Checklist de finalizacion
|
|
26
|
+
|
|
27
|
+
- [ ] Tests por estado.
|
|
28
|
+
- [ ] Docs actualizadas.
|
|
29
|
+
- [ ] Evidencia registrada.
|
package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/slice.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-02-flow-status-wizard",
|
|
3
|
+
"ticket": "QUIVER-23-02",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Flow status and next-step wizard",
|
|
6
|
+
"objective": "Tell the user where they are in the Quiver workflow and what the next safe command is.",
|
|
7
|
+
"description": "Add a status/wizard layer that reads project state, docs, approvals, specs, slices, and worktrees to produce actionable next steps.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "flow-status-wizard",
|
|
12
|
+
"branch_name": "feature/QUIVER-23-02-flow-status-wizard"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/flow.js",
|
|
16
|
+
"src/create-quiver/lib/**",
|
|
17
|
+
"src/create-quiver/index.js",
|
|
18
|
+
"docs/WORKFLOW.md.template",
|
|
19
|
+
"docs/COMMANDS.md.template",
|
|
20
|
+
"tests/commands/*.test.js"
|
|
21
|
+
],
|
|
22
|
+
"depends_on": [
|
|
23
|
+
"slice-01-short-command-and-flow-entrypoint"
|
|
24
|
+
],
|
|
25
|
+
"parallel_safe": "no",
|
|
26
|
+
"parallel_safe_reason": "Depends on command routing and shared workflow state inspection.",
|
|
27
|
+
"must": [
|
|
28
|
+
"Report current workflow stage.",
|
|
29
|
+
"Report blockers.",
|
|
30
|
+
"Print the next safe command.",
|
|
31
|
+
"Handle uninitialized projects gracefully.",
|
|
32
|
+
"Avoid provider calls."
|
|
33
|
+
],
|
|
34
|
+
"not_included": [
|
|
35
|
+
"Agent profile management.",
|
|
36
|
+
"Executing provider commands.",
|
|
37
|
+
"Creating specs."
|
|
38
|
+
],
|
|
39
|
+
"acceptance": [
|
|
40
|
+
"Uninitialized project receives init guidance.",
|
|
41
|
+
"Initialized project without analysis receives analyze/prepare guidance.",
|
|
42
|
+
"Project with draft criteria receives approval guidance.",
|
|
43
|
+
"Project with ready slices receives execution guidance.",
|
|
44
|
+
"Output is concise and copy-pasteable."
|
|
45
|
+
],
|
|
46
|
+
"tests": [
|
|
47
|
+
"node --test tests/commands/flow*.test.js tests/lib/doctor.test.js",
|
|
48
|
+
"git diff --check"
|
|
49
|
+
],
|
|
50
|
+
"estimated_hours": 6,
|
|
51
|
+
"status": "completed",
|
|
52
|
+
"blocked_reason": null,
|
|
53
|
+
"actual_hours": 3,
|
|
54
|
+
"completed_at": "2026-05-21T14:46:40-0300"
|
|
55
|
+
}
|
package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/CLOSURE_BRIEF.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-03: Agent profiles
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se agregaron perfiles reutilizables para `planner`, `executor`, `reviewer` y `researcher` bajo `.quiver/agents/profiles.json`, con comandos `ai agent set/list/show`, validacion de provider y etiquetas de modelo libres.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Perfiles persistidos.
|
|
10
|
+
- [x] Sin secretos.
|
|
11
|
+
- [x] Provider validado.
|
|
12
|
+
- [x] Tests pasan.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `src/create-quiver/lib/agent-profiles.js`: storage, validacion de roles/providers y rechazo de valores con forma de secreto.
|
|
17
|
+
- `src/create-quiver/commands/ai.js`: subcomando `ai agent` y provider default desde perfil para planner.
|
|
18
|
+
- `src/create-quiver/lib/ai/executor.js` y `execution-plan.js`: provider default desde perfil executor.
|
|
19
|
+
- `src/create-quiver/commands/flow.js`: wizard recomienda configurar perfiles antes de planificar.
|
|
20
|
+
- `package.json`, `package.template.json` e `init-layout.js`: script `quiver:ai:agent`.
|
|
21
|
+
- Docs y tests de lib/CLI.
|
|
22
|
+
|
|
23
|
+
## Pendientes
|
|
24
|
+
|
|
25
|
+
Ninguno para este slice.
|
|
26
|
+
|
|
27
|
+
## Riesgos remanentes
|
|
28
|
+
|
|
29
|
+
Los modelos se guardan como etiquetas de configuracion y no se pasan como argumentos al provider hasta definir compatibilidad por CLI en un slice posterior.
|
|
30
|
+
|
|
31
|
+
## Recomendaciones futuras
|
|
32
|
+
|
|
33
|
+
Usar estos perfiles en prompts de onboarding y preparacion de contexto desde `slice-04`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-03: Agent profiles
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Permitir que el usuario guarde perfiles reutilizables para planner, executor, reviewer y researcher.
|
|
6
|
+
|
|
7
|
+
## Alcance
|
|
8
|
+
|
|
9
|
+
- Estado local bajo `.quiver/`.
|
|
10
|
+
- Comandos para set/list/show.
|
|
11
|
+
- Integracion basica con providers existentes.
|
|
12
|
+
|
|
13
|
+
## Criterios de aceptacion
|
|
14
|
+
|
|
15
|
+
- Perfiles persistidos sin secretos.
|
|
16
|
+
- Provider validado.
|
|
17
|
+
- Modelos guardados como etiquetas/configuracion.
|
|
18
|
+
- Tests unitarios y CLI.
|
|
19
|
+
|
|
20
|
+
## Restricciones
|
|
21
|
+
|
|
22
|
+
- No prometer disponibilidad real de modelos.
|
|
23
|
+
- No llamar APIs externas.
|
|
24
|
+
|
|
25
|
+
## Checklist de finalizacion
|
|
26
|
+
|
|
27
|
+
- [ ] Estado definido.
|
|
28
|
+
- [ ] CLI documentado.
|
|
29
|
+
- [ ] Tests pasan.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-03-agent-profiles",
|
|
3
|
+
"ticket": "QUIVER-23-03",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Agent profiles for planner, executor, reviewer, and researcher",
|
|
6
|
+
"objective": "Persist reusable AI agent profiles so users do not repeat provider/model choices in every command.",
|
|
7
|
+
"description": "Add profile commands and state for planner, executor, reviewer, and optional researcher roles.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "agent-profiles",
|
|
12
|
+
"branch_name": "feature/QUIVER-23-03-agent-profiles"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/ai/providers.js",
|
|
17
|
+
"src/create-quiver/lib/**",
|
|
18
|
+
"docs/COMMANDS.md.template",
|
|
19
|
+
"tests/lib/*.test.js",
|
|
20
|
+
"tests/commands/*.test.js"
|
|
21
|
+
],
|
|
22
|
+
"depends_on": [
|
|
23
|
+
"slice-02-flow-status-wizard"
|
|
24
|
+
],
|
|
25
|
+
"parallel_safe": "no",
|
|
26
|
+
"parallel_safe_reason": "Defines shared AI state consumed by later prompts and execution commands.",
|
|
27
|
+
"must": [
|
|
28
|
+
"Persist planner, executor, reviewer, and researcher profile settings.",
|
|
29
|
+
"Support provider and model-like free-form fields without hardcoding unstable model names.",
|
|
30
|
+
"Validate provider support.",
|
|
31
|
+
"Never store secrets.",
|
|
32
|
+
"Expose list/show/set commands."
|
|
33
|
+
],
|
|
34
|
+
"not_included": [
|
|
35
|
+
"Calling providers.",
|
|
36
|
+
"Plan review behavior.",
|
|
37
|
+
"Delegated execution."
|
|
38
|
+
],
|
|
39
|
+
"acceptance": [
|
|
40
|
+
"Profiles can be set, listed, and read.",
|
|
41
|
+
"Unknown providers are rejected with supported provider guidance.",
|
|
42
|
+
"Free-form model labels are preserved as configuration, not treated as verified availability.",
|
|
43
|
+
"No secrets are requested or stored."
|
|
44
|
+
],
|
|
45
|
+
"tests": [
|
|
46
|
+
"node --test tests/lib/agent-profiles.test.js tests/commands/ai*.test.js",
|
|
47
|
+
"git diff --check"
|
|
48
|
+
],
|
|
49
|
+
"estimated_hours": 6,
|
|
50
|
+
"status": "completed",
|
|
51
|
+
"blocked_reason": null,
|
|
52
|
+
"actual_hours": 4,
|
|
53
|
+
"completed_at": "2026-05-21T14:54:02-0300"
|
|
54
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-04: Context preparation and onboarding
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se productizo el onboarding planner como plantilla empaquetada e index-first, compartida por `ai onboard` y `prepare`. El dry-run ahora reporta fuente del prompt, docs seleccionados y deuda documental.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Prompt index-first.
|
|
10
|
+
- [x] Omitidos reportados.
|
|
11
|
+
- [x] Supuestos y riesgos reportados.
|
|
12
|
+
- [x] Tests pasan.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `src/create-quiver/lib/ai/onboarding-template.js`: plan de contexto, docs seleccionados, deuda, omisiones y prompt planner.
|
|
17
|
+
- `src/create-quiver/commands/ai.js`: `ai onboard --dry-run` muestra prompt source, selected docs y documentation debt.
|
|
18
|
+
- `src/create-quiver/commands/prepare.js`: reporte de onboarding context sin leer todo `docs/`.
|
|
19
|
+
- `docs/AI_ONBOARDING_PROMPT.md.template`: lectura index-first y selectiva.
|
|
20
|
+
- Tests de `prepare`, `ai onboard` y safety.
|
|
21
|
+
|
|
22
|
+
## Pendientes
|
|
23
|
+
|
|
24
|
+
Ninguno para este slice.
|
|
25
|
+
|
|
26
|
+
## Riesgos remanentes
|
|
27
|
+
|
|
28
|
+
La plantilla reporta deuda documental por rutas esperadas aunque algunos proyectos minimalistas pueden no necesitarlas todas; el flujo lo trata como guia, no como bloqueo.
|
|
29
|
+
|
|
30
|
+
## Recomendaciones futuras
|
|
31
|
+
|
|
32
|
+
Usar el plan de contexto compartido para prompts mas especificos en criterios, plan tecnico y review.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-04: Context preparation and onboarding
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Convertir el prompt largo de onboarding planificador en una plantilla mantenida por Quiver y una experiencia de preparacion de contexto.
|
|
6
|
+
|
|
7
|
+
## Alcance
|
|
8
|
+
|
|
9
|
+
- Templates de onboarding.
|
|
10
|
+
- Comando de prepare/onboard.
|
|
11
|
+
- Reglas index-first y WDD/SDD.
|
|
12
|
+
- Reporte de documentos leidos, omitidos, supuestos y riesgos.
|
|
13
|
+
|
|
14
|
+
## Criterios de aceptacion
|
|
15
|
+
|
|
16
|
+
- Prompt generado es mas corto y especifico que el prompt manual.
|
|
17
|
+
- No lee todo `docs/` por defecto.
|
|
18
|
+
- Mantiene trazabilidad documental.
|
|
19
|
+
- Tests pasan.
|
|
20
|
+
|
|
21
|
+
## Restricciones
|
|
22
|
+
|
|
23
|
+
- No modificar codigo de producto durante onboarding.
|
|
24
|
+
- No inventar docs inexistentes.
|
|
25
|
+
|
|
26
|
+
## Checklist de finalizacion
|
|
27
|
+
|
|
28
|
+
- [ ] Template actualizado.
|
|
29
|
+
- [ ] Dry-run validado.
|
|
30
|
+
- [ ] Tests pasan.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-04-context-preparation-onboarding",
|
|
3
|
+
"ticket": "QUIVER-23-04",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Context preparation and onboarding prompt productization",
|
|
6
|
+
"objective": "Turn the long planner onboarding prompt into a maintained token-efficient Quiver flow.",
|
|
7
|
+
"description": "Productize context preparation so the planner reads the index first, selects relevant docs, reports assumptions, and avoids unnecessary docs.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "context-preparation-onboarding",
|
|
12
|
+
"branch_name": "feature/QUIVER-23-04-context-preparation-onboarding"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/prepare.js",
|
|
16
|
+
"src/create-quiver/commands/ai.js",
|
|
17
|
+
"src/create-quiver/lib/init-docs.js",
|
|
18
|
+
"src/create-quiver/lib/ai/**",
|
|
19
|
+
"docs/AI_ONBOARDING_PROMPT.md.template",
|
|
20
|
+
"docs/AI_CONTEXT.md.template",
|
|
21
|
+
"docs/INDEX.md.template",
|
|
22
|
+
"tests/commands/*.test.js",
|
|
23
|
+
"tests/lib/*.test.js"
|
|
24
|
+
],
|
|
25
|
+
"depends_on": [
|
|
26
|
+
"slice-03-agent-profiles"
|
|
27
|
+
],
|
|
28
|
+
"parallel_safe": "no",
|
|
29
|
+
"parallel_safe_reason": "Touches onboarding templates and AI command behavior.",
|
|
30
|
+
"must": [
|
|
31
|
+
"Keep onboarding token-efficient.",
|
|
32
|
+
"Start from docs/INDEX.md when present.",
|
|
33
|
+
"Report selected docs and why.",
|
|
34
|
+
"Avoid reading all docs by default.",
|
|
35
|
+
"Keep WDD/SDD constraints explicit.",
|
|
36
|
+
"Preserve no-product-code rule during onboarding."
|
|
37
|
+
],
|
|
38
|
+
"not_included": [
|
|
39
|
+
"Plan review command.",
|
|
40
|
+
"Executor prompt generation.",
|
|
41
|
+
"Delegated execution."
|
|
42
|
+
],
|
|
43
|
+
"acceptance": [
|
|
44
|
+
"Generated onboarding prompt includes index-first navigation.",
|
|
45
|
+
"Dry-run shows prompt source and context pack.",
|
|
46
|
+
"Missing referenced docs are reported as documentation debt.",
|
|
47
|
+
"Context preparation excludes secrets and noisy paths.",
|
|
48
|
+
"README snippets remain short."
|
|
49
|
+
],
|
|
50
|
+
"tests": [
|
|
51
|
+
"node --test tests/commands/prepare.test.js tests/commands/ai-onboard.test.js tests/lib/ai-safety.test.js",
|
|
52
|
+
"git diff --check"
|
|
53
|
+
],
|
|
54
|
+
"estimated_hours": 8,
|
|
55
|
+
"status": "completed",
|
|
56
|
+
"blocked_reason": null,
|
|
57
|
+
"actual_hours": 4,
|
|
58
|
+
"completed_at": "2026-05-21T14:59:09-0300"
|
|
59
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-05: Planner iteration history
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se agrego historial versionado para drafts de `acceptance` y `technical-plan`, manteniendo compatibilidad con `draft.md` y `approved.md`. Ahora se puede aprobar una version concreta con `ai approve --version`.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Drafts versionados.
|
|
10
|
+
- [x] Aprobacion explicita.
|
|
11
|
+
- [x] Bloqueos preservados.
|
|
12
|
+
- [x] Tests pasan.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `src/create-quiver/lib/approvals.js`: drafts versionados, metadata de version y deteccion de stale cuando se aprueba una version anterior.
|
|
17
|
+
- `src/create-quiver/commands/ai.js` e `index.js`: soporte `ai approve --version <n>`.
|
|
18
|
+
- `tests/lib/approvals.test.js` y `tests/commands/ai-plan.test.js`: multiples drafts y aprobacion por version.
|
|
19
|
+
- Docs de comandos y README actualizados.
|
|
20
|
+
|
|
21
|
+
## Pendientes
|
|
22
|
+
|
|
23
|
+
Ninguno para este slice.
|
|
24
|
+
|
|
25
|
+
## Riesgos remanentes
|
|
26
|
+
|
|
27
|
+
Los archivos legacy `draft.md` y `approved.md` siguen existiendo como punteros/copia para compatibilidad; el historial canonico de drafts vive en `drafts/`.
|
|
28
|
+
|
|
29
|
+
## Recomendaciones futuras
|
|
30
|
+
|
|
31
|
+
Usar el historial versionado como entrada de la revision de plan de produccion en `slice-06`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-05: Planner iteration history
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Guardar versiones de criterios y planes para que el usuario pueda iterar y aprobar una version concreta.
|
|
6
|
+
|
|
7
|
+
## Alcance
|
|
8
|
+
|
|
9
|
+
- Estado de drafts y approvals.
|
|
10
|
+
- Comandos de listado/status.
|
|
11
|
+
- Reglas de bloqueo para fases posteriores.
|
|
12
|
+
|
|
13
|
+
## Criterios de aceptacion
|
|
14
|
+
|
|
15
|
+
- Varias iteraciones conviven.
|
|
16
|
+
- La aprobacion apunta a una version concreta.
|
|
17
|
+
- Las fases usan aprobados por defecto.
|
|
18
|
+
- Tests pasan.
|
|
19
|
+
|
|
20
|
+
## Restricciones
|
|
21
|
+
|
|
22
|
+
- No crear specs sin plan aprobado.
|
|
23
|
+
- No borrar historial sin comando explicito.
|
|
24
|
+
|
|
25
|
+
## Checklist de finalizacion
|
|
26
|
+
|
|
27
|
+
- [ ] Historial persistido.
|
|
28
|
+
- [ ] Estado mostrado.
|
|
29
|
+
- [ ] Tests pasan.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-05-planner-iteration-history",
|
|
3
|
+
"ticket": "QUIVER-23-05",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Planner iteration history for criteria and plans",
|
|
6
|
+
"objective": "Make acceptance criteria and technical-plan iterations explicit, versioned, and approvable.",
|
|
7
|
+
"description": "Persist drafts, revisions, approved versions, and status for criteria and technical plans.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "planner-iteration-history",
|
|
12
|
+
"branch_name": "feature/QUIVER-23-05-planner-iteration-history"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/approvals.js",
|
|
17
|
+
"src/create-quiver/lib/**",
|
|
18
|
+
"docs/COMMANDS.md.template",
|
|
19
|
+
"tests/lib/approvals.test.js",
|
|
20
|
+
"tests/commands/ai-plan.test.js"
|
|
21
|
+
],
|
|
22
|
+
"depends_on": [
|
|
23
|
+
"slice-04-context-preparation-onboarding"
|
|
24
|
+
],
|
|
25
|
+
"parallel_safe": "no",
|
|
26
|
+
"parallel_safe_reason": "Extends planner approval state consumed by later slices.",
|
|
27
|
+
"must": [
|
|
28
|
+
"Store multiple criteria drafts.",
|
|
29
|
+
"Store multiple technical plan drafts.",
|
|
30
|
+
"Show draft history and approved version.",
|
|
31
|
+
"Approve a selected version explicitly.",
|
|
32
|
+
"Block later phases on missing approval."
|
|
33
|
+
],
|
|
34
|
+
"not_included": [
|
|
35
|
+
"Production plan review.",
|
|
36
|
+
"Spec generation changes beyond using approved versions."
|
|
37
|
+
],
|
|
38
|
+
"acceptance": [
|
|
39
|
+
"Multiple drafts can exist without overwriting approved artifacts.",
|
|
40
|
+
"Status output shows draft, approved, stale, and missing states.",
|
|
41
|
+
"Technical plan uses approved criteria by default.",
|
|
42
|
+
"Spec generation blocks without approved plan."
|
|
43
|
+
],
|
|
44
|
+
"tests": [
|
|
45
|
+
"node --test tests/lib/approvals.test.js tests/commands/ai-plan.test.js",
|
|
46
|
+
"git diff --check"
|
|
47
|
+
],
|
|
48
|
+
"estimated_hours": 7,
|
|
49
|
+
"status": "completed",
|
|
50
|
+
"blocked_reason": null,
|
|
51
|
+
"actual_hours": 4,
|
|
52
|
+
"completed_at": "2026-05-21T15:03:43-0300"
|
|
53
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-06: Production plan review
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se agrego la fase `ai review-plan` para revisar el draft del plan tecnico antes de aprobarlo y antes de generar specs. El review usa el perfil `reviewer`, imprime metadata en dry-run, persiste el resultado en `.quiver/approvals/plan-review/` y bloquea la generacion de spec si el plan tecnico no esta revisado y aprobado.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Review generado.
|
|
10
|
+
- [x] Review persistido.
|
|
11
|
+
- [x] Bloqueos aplicados.
|
|
12
|
+
- [x] Tests pasan.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- Nuevo modulo `src/create-quiver/lib/ai/plan-review.js`.
|
|
17
|
+
- Nuevo subcomando `npx create-quiver ai review-plan`.
|
|
18
|
+
- `flow` ahora guia al usuario a revisar el plan tecnico antes de aprobarlo.
|
|
19
|
+
- `ai approvals` muestra el estado `plan-review`.
|
|
20
|
+
- La generacion de spec exige plan tecnico revisado y aprobado.
|
|
21
|
+
- README, templates, generated docs y smokes quedaron alineados con el nuevo paso.
|
|
22
|
+
|
|
23
|
+
## Pendientes
|
|
24
|
+
|
|
25
|
+
- La UX futura podria simplificar `--version <n>` para el plan tecnico revisado, pero no bloquea este slice.
|
|
26
|
+
|
|
27
|
+
## Riesgos remanentes
|
|
28
|
+
|
|
29
|
+
- El comando usa CLIs locales de proveedores; en automatizacion se debe seguir usando `--dry-run` o mocks para evitar llamadas pagas.
|
|
30
|
+
|
|
31
|
+
## Recomendaciones futuras
|
|
32
|
+
|
|
33
|
+
- En `slice-07`, hacer que la experiencia de creacion de spec explique claramente que la entrada valida es el plan tecnico revisado y aprobado.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-06: Production plan review
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Formalizar el prompt de revision del plan como una fase antes de crear specs.
|
|
6
|
+
|
|
7
|
+
## Alcance
|
|
8
|
+
|
|
9
|
+
- Nuevo comando o fase de review.
|
|
10
|
+
- Prompt mantenido por Quiver.
|
|
11
|
+
- Persistencia de resultado.
|
|
12
|
+
- Bloqueo opcional/obligatorio para spec creation.
|
|
13
|
+
|
|
14
|
+
## Criterios de aceptacion
|
|
15
|
+
|
|
16
|
+
- Detecta supuestos fragiles, huecos, ambiguedades y riesgos.
|
|
17
|
+
- No cuestiona el alcance aprobado.
|
|
18
|
+
- No modifica codigo.
|
|
19
|
+
- Tests pasan.
|
|
20
|
+
|
|
21
|
+
## Restricciones
|
|
22
|
+
|
|
23
|
+
- No implementar fixes.
|
|
24
|
+
- No abrir nuevas preguntas si la ambiguedad no bloquea; documentar supuestos.
|
|
25
|
+
|
|
26
|
+
## Checklist de finalizacion
|
|
27
|
+
|
|
28
|
+
- [ ] Review command probado.
|
|
29
|
+
- [ ] Estado persistido.
|
|
30
|
+
- [ ] Tests pasan.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-06-production-plan-review",
|
|
3
|
+
"ticket": "QUIVER-23-06",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Production-readiness plan review phase",
|
|
6
|
+
"objective": "Add a review phase that checks the technical plan for fragile assumptions, missing cases, and ambiguity before spec creation.",
|
|
7
|
+
"description": "Productize the user's plan-review prompt as a Quiver command and persisted review artifact.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "production-plan-review",
|
|
12
|
+
"branch_name": "feature/QUIVER-23-06-production-plan-review"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/ai/**",
|
|
17
|
+
"src/create-quiver/lib/**",
|
|
18
|
+
"docs/COMMANDS.md.template",
|
|
19
|
+
"tests/commands/*.test.js",
|
|
20
|
+
"tests/lib/*.test.js"
|
|
21
|
+
],
|
|
22
|
+
"depends_on": [
|
|
23
|
+
"slice-05-planner-iteration-history"
|
|
24
|
+
],
|
|
25
|
+
"parallel_safe": "no",
|
|
26
|
+
"parallel_safe_reason": "Adds a new planner gate consumed by spec generation.",
|
|
27
|
+
"must": [
|
|
28
|
+
"Review technical-plan drafts before plan approval and spec generation.",
|
|
29
|
+
"Report fragile assumptions, uncovered cases, ambiguous criteria, risks, and recommended fixes.",
|
|
30
|
+
"Do not question approved scope.",
|
|
31
|
+
"Persist the review result.",
|
|
32
|
+
"Block spec creation if required review is missing when configured as mandatory."
|
|
33
|
+
],
|
|
34
|
+
"not_included": [
|
|
35
|
+
"Implementing the plan.",
|
|
36
|
+
"Creating specs directly.",
|
|
37
|
+
"Changing provider API integration."
|
|
38
|
+
],
|
|
39
|
+
"acceptance": [
|
|
40
|
+
"Dry-run prints review prompt metadata.",
|
|
41
|
+
"Review output is stored as a draft/review artifact.",
|
|
42
|
+
"The command never modifies product code.",
|
|
43
|
+
"Spec generation requires reviewed and approved plan state.",
|
|
44
|
+
"Tests cover missing plan, dry-run, provider failure, and persisted review."
|
|
45
|
+
],
|
|
46
|
+
"tests": [
|
|
47
|
+
"node --test tests/commands/ai-plan*.test.js tests/lib/approvals.test.js",
|
|
48
|
+
"git diff --check"
|
|
49
|
+
],
|
|
50
|
+
"estimated_hours": 8,
|
|
51
|
+
"status": "completed",
|
|
52
|
+
"completed_at": "2026-05-21",
|
|
53
|
+
"blocked_reason": null
|
|
54
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-07: Spec create experience
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se agrego `npx create-quiver spec create` como paso explicito para crear specs reales desde el plan tecnico revisado y aprobado. El comando soporta `--dry-run`, valida colisiones antes de escribir, crea todos los artefactos esperados y muestra los proximos comandos seguros.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Inputs aprobados/revisados usados.
|
|
10
|
+
- [x] Artefactos generados.
|
|
11
|
+
- [x] `slice-00` generado.
|
|
12
|
+
- [x] Tests pasan.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- Nuevo modulo `src/create-quiver/commands/spec.js`.
|
|
17
|
+
- Nuevo subcomando `spec create`.
|
|
18
|
+
- Nuevo script `quiver:spec:create` en paquetes generados.
|
|
19
|
+
- `flow` ahora recomienda `spec create --dry-run` cuando el plan esta revisado y aprobado.
|
|
20
|
+
- README, templates y docs generadas usan `spec create` como flujo principal.
|
|
21
|
+
- Tests agregados en `tests/commands/spec-create.test.js`.
|
|
22
|
+
|
|
23
|
+
## Pendientes
|
|
24
|
+
|
|
25
|
+
- `ai plan --phase spec` sigue existiendo por compatibilidad; en la documentacion principal queda desplazado por `spec create`.
|
|
26
|
+
|
|
27
|
+
## Riesgos remanentes
|
|
28
|
+
|
|
29
|
+
- La UX todavia requiere que el usuario conozca o revise el numero de version aprobado del plan tecnico.
|
|
30
|
+
|
|
31
|
+
## Recomendaciones futuras
|
|
32
|
+
|
|
33
|
+
- En `slice-08`, usar el spec generado por `spec create` como fuente para prompts minimos de executor.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-07: Spec create experience
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Hacer que la creacion de specs sea un paso claro despues de plan revisado y aprobado.
|
|
6
|
+
|
|
7
|
+
## Alcance
|
|
8
|
+
|
|
9
|
+
- UX del comando.
|
|
10
|
+
- Validaciones de inputs aprobados.
|
|
11
|
+
- Generacion de artefactos.
|
|
12
|
+
- Proximo paso sugerido.
|
|
13
|
+
|
|
14
|
+
## Criterios de aceptacion
|
|
15
|
+
|
|
16
|
+
- Bloquea si falta aprobacion/review.
|
|
17
|
+
- Crea todos los artefactos esperados.
|
|
18
|
+
- `slice-00` es obligatorio.
|
|
19
|
+
- Tests pasan.
|
|
20
|
+
|
|
21
|
+
## Restricciones
|
|
22
|
+
|
|
23
|
+
- No ejecutar slices.
|
|
24
|
+
- No abrir PR.
|
|
25
|
+
|
|
26
|
+
## Checklist de finalizacion
|
|
27
|
+
|
|
28
|
+
- [ ] Spec generation validado.
|
|
29
|
+
- [ ] JSON validado.
|
|
30
|
+
- [ ] Tests pasan.
|