create-quiver 0.15.0 → 0.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +3 -0
- package/CHANGELOG.md +6 -0
- package/README.md +33 -0
- package/README_FOR_AI.md +13 -6
- package/ROADMAP.md +5 -0
- package/docs/AI_CONTEXT.md.template +4 -0
- package/docs/AI_ONBOARDING_PROMPT.md.template +8 -0
- package/docs/CLI_UX_GUIDE.md +31 -2
- package/docs/COMMANDS.md.template +16 -5
- package/docs/TROUBLESHOOTING.md +70 -0
- package/docs/TROUBLESHOOTING.md.template +20 -0
- package/docs/WORKFLOW.md.template +2 -2
- package/docs/getting-started/installation.md +86 -0
- package/docs/reference/commands.md +39 -5
- package/package.json +1 -1
- package/specs/quiver-v31-ai-model-catalog-agent-selection/EVIDENCE_REPORT.md +185 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/EXECUTION_PLAN.md +85 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/SPEC.md +337 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/STATUS.md +30 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/pr.md +98 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-00-spec-foundation/slice.json +62 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-01-model-catalog-alias-normalization/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-01-model-catalog-alias-normalization/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-01-model-catalog-alias-normalization/slice.json +72 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-02-interactive-agent-set-selectors/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-02-interactive-agent-set-selectors/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-02-interactive-agent-set-selectors/slice.json +78 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-03-agent-doctor-repair/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-03-agent-doctor-repair/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-03-agent-doctor-repair/slice.json +77 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-04-shared-preflight-provider-errors/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-04-shared-preflight-provider-errors/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-04-shared-preflight-provider-errors/slice.json +84 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-05-ai-models-list/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-05-ai-models-list/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-05-ai-models-list/slice.json +72 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-06-docs-templates-alignment/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-06-docs-templates-alignment/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-06-docs-templates-alignment/slice.json +84 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-07-tests-smokes-release-readiness/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-07-tests-smokes-release-readiness/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-07-tests-smokes-release-readiness/slice.json +94 -0
- package/specs/quiver-v32-npx-installation-guidance/EVIDENCE_REPORT.md +26 -0
- package/specs/quiver-v32-npx-installation-guidance/SPEC.md +55 -0
- package/specs/quiver-v32-npx-installation-guidance/STATUS.md +23 -0
- package/specs/quiver-v32-npx-installation-guidance/pr.md +72 -0
- package/specs/quiver-v32-npx-installation-guidance/slices/slice-00-installation-docs/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v32-npx-installation-guidance/slices/slice-00-installation-docs/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v32-npx-installation-guidance/slices/slice-00-installation-docs/slice.json +75 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/EVIDENCE_REPORT.md +93 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/EXECUTION_PLAN.md +83 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/SPEC.md +158 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/STATUS.md +31 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/pr.md +109 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-00-approval-ux-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-00-approval-ux-foundation/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-00-approval-ux-foundation/slice.json +65 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-01-approval-candidates-model/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-01-approval-candidates-model/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-01-approval-candidates-model/slice.json +74 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-02-approve-interactive-selection/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-02-approve-interactive-selection/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-02-approve-interactive-selection/slice.json +79 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-03-technical-plan-review-decision-data/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-03-technical-plan-review-decision-data/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-03-technical-plan-review-decision-data/slice.json +75 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-04-revise-input-guardrails/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-04-revise-input-guardrails/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-04-revise-input-guardrails/slice.json +73 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-05-provider-progress-alignment/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-05-provider-progress-alignment/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-05-provider-progress-alignment/slice.json +91 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-06-workflow-surface-integration/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-06-workflow-surface-integration/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-06-workflow-surface-integration/slice.json +87 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-07-docs-tests-release-readiness/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-07-docs-tests-release-readiness/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v33-approval-ux-and-planner-progress/slices/slice-07-docs-tests-release-readiness/slice.json +97 -0
- package/src/create-quiver/commands/ai.js +561 -46
- package/src/create-quiver/commands/flow.js +76 -14
- package/src/create-quiver/commands/spec.js +8 -1
- package/src/create-quiver/index.js +36 -12
- package/src/create-quiver/lib/agent-profiles.js +332 -4
- package/src/create-quiver/lib/ai/approval-candidates.js +86 -0
- package/src/create-quiver/lib/ai/execution-plan.js +7 -2
- package/src/create-quiver/lib/ai/executor.js +9 -2
- package/src/create-quiver/lib/ai/model-catalog.js +333 -0
- package/src/create-quiver/lib/ai/plan-review.js +77 -1
- package/src/create-quiver/lib/ai/providers.js +143 -4
- package/src/create-quiver/lib/ai/run-state.js +21 -4
- package/src/create-quiver/lib/approvals.js +103 -0
- package/src/create-quiver/lib/cli/selectors.js +53 -0
- package/src/create-quiver/lib/git.js +13 -4
- package/src/create-quiver/lib/paths.js +45 -3
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos soportados por la versión instalada.
|
|
4
4
|
|
|
5
|
+
## npx vs instalación local
|
|
6
|
+
|
|
7
|
+
Quiver está pensado para ejecutarse principalmente con `npx`:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx --yes create-quiver@latest <comando>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
En ese modo npm descarga o reutiliza el CLI desde su caché y no lo instala en `node_modules`. Eso es normal: `create-quiver` es una herramienta de workflow, no una dependencia runtime de la app.
|
|
14
|
+
|
|
15
|
+
Instalalo como dependencia de desarrollo solo si querés fijar una versión para el equipo:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install --save-dev create-quiver
|
|
19
|
+
npx create-quiver <comando>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Más detalle: [Instalación y uso con npx](../getting-started/installation.md).
|
|
23
|
+
|
|
5
24
|
## Configuración inicial
|
|
6
25
|
|
|
7
26
|
| Comando | Para qué sirve |
|
|
@@ -26,16 +45,29 @@ Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos
|
|
|
26
45
|
| `npx --yes create-quiver@latest ai prepare-context --with-planner --dry-run` | Previsualiza una propuesta docs-only generada por el planner sin escribir archivos. |
|
|
27
46
|
| `npx --yes create-quiver@latest ai prepare-context --with-planner --print-prompt` | Imprime el prompt exacto para ejecutar el planner en otro entorno. |
|
|
28
47
|
| `npx --yes create-quiver@latest ai prepare-context --with-planner --review --interactive` | Ejecuta planner, abre revisión humana y pide confirmación antes de escribir docs permitidos. |
|
|
29
|
-
| `npx --yes create-quiver@latest ai
|
|
48
|
+
| `npx --yes create-quiver@latest ai models list` | Lista proveedores y modelos conocidos por Quiver sin afirmar disponibilidad en la cuenta. |
|
|
49
|
+
| `npx --yes create-quiver@latest ai models list --provider codex` | Filtra el catálogo local por proveedor. |
|
|
50
|
+
| `npx --yes create-quiver@latest ai models list --json` | Emite el catálogo local en JSON parseable. |
|
|
51
|
+
| `npx --yes create-quiver@latest ai agent set <role>` | En TTY, guía la selección de proveedor, modelo conocido por Quiver o modelo custom. |
|
|
52
|
+
| `npx --yes create-quiver@latest ai agent set <role> --provider <provider> --model <model-id>` | Guarda un perfil de agente sin secretos en modo script/no-TTY. |
|
|
53
|
+
| `npx --yes create-quiver@latest ai agent set planner --provider codex --model gpt-5.5 --dry-run` | Previsualiza la escritura del perfil sin modificar `.quiver/agents/profiles.json`. |
|
|
54
|
+
| `npx --yes create-quiver@latest ai agent doctor` | Diagnostica perfiles de agentes, alias visuales, proveedores faltantes y modelos custom no validados. |
|
|
55
|
+
| `npx --yes create-quiver@latest ai agent doctor --json` | Emite el diagnóstico de perfiles como JSON parseable. |
|
|
56
|
+
| `npx --yes create-quiver@latest ai agent repair --dry-run` | Previsualiza reparaciones seguras de perfiles, como normalizar `model: "GPT 5.5"` a `model: "gpt-5.5"` y `displayName: "GPT 5.5"`. |
|
|
30
57
|
| `npx --yes create-quiver@latest ai run create --input <file>` | Inicia una ejecución persistente de IA. |
|
|
31
58
|
| `npx --yes create-quiver@latest ai status` | Muestra el estado de la ejecución actual. |
|
|
32
59
|
| `npx --yes create-quiver@latest ai plan --phase acceptance --input <file>` | Genera criterios de aceptación. |
|
|
33
60
|
| `npx --yes create-quiver@latest ai plan --phase acceptance --review --interactive --input <file>` | Permite revisar y confirmar el borrador del planner antes de guardarlo. |
|
|
34
|
-
| `npx --yes create-quiver@latest ai revise --phase acceptance --input <
|
|
35
|
-
| `npx --yes create-quiver@latest ai approve --phase acceptance
|
|
61
|
+
| `npx --yes create-quiver@latest ai revise --phase acceptance --input <feedback.md>` | Crea una nueva versión de criterios desde feedback; `--input` sin valor o archivos inexistentes fallan antes del proveedor. |
|
|
62
|
+
| `npx --yes create-quiver@latest ai approve --phase acceptance` | En TTY lista drafts y recomienda el current/latest; en CI/no-TTY exige `--version <n>`. |
|
|
63
|
+
| `npx --yes create-quiver@latest ai approve --phase acceptance --version <n>` | Aprueba criterios en modo explícito/script-safe. |
|
|
36
64
|
| `npx --yes create-quiver@latest ai plan --phase technical-plan` | Genera plan técnico. |
|
|
37
|
-
| `npx --yes create-quiver@latest ai
|
|
38
|
-
| `npx --yes create-quiver@latest ai
|
|
65
|
+
| `npx --yes create-quiver@latest ai revise --phase technical-plan --input <feedback.md>` | Crea una nueva versión del plan técnico desde feedback. |
|
|
66
|
+
| `npx --yes create-quiver@latest ai review-plan` | Revisa el plan técnico y guarda recomendación `approve`, `approve-with-risk` o `revise`. |
|
|
67
|
+
| `npx --yes create-quiver@latest ai repair-plan` | Repara un plan técnico aprobado legacy que no cumple el contrato `spec.slices[]`, creando un nuevo draft. |
|
|
68
|
+
| `npx --yes create-quiver@latest ai approve --phase technical-plan` | En TTY lista drafts con datos de review; `revise` bloquea aprobación y `approve-with-risk` muestra riesgos. |
|
|
69
|
+
| `npx --yes create-quiver@latest ai approve --phase technical-plan --version <n>` | Aprueba el plan técnico revisado en modo explícito/script-safe. |
|
|
70
|
+
| `npx --yes create-quiver@latest ai approvals` | Muestra approvals run-scoped/globales, candidatos actuales, versión recomendada y próximo comando. |
|
|
39
71
|
|
|
40
72
|
## Specs y slices
|
|
41
73
|
|
|
@@ -76,6 +108,7 @@ Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos
|
|
|
76
108
|
| `--methodology wdd-sdd` | Declara la metodología soportada por comandos interactivos o automatizados. |
|
|
77
109
|
| `--no-color` | Desactiva colores ANSI en salida humana. |
|
|
78
110
|
| `--provider codex\|claude\|gemini` | Selecciona CLI local de proveedor. |
|
|
111
|
+
| `--model <model-id>` | Selecciona el identificador técnico del modelo para `ai agent set` o ejecución de proveedor. Quiver normaliza alias conocidos, pero no garantiza acceso en la cuenta del proveedor. |
|
|
79
112
|
| `--commit` | Permite que Quiver commitee trabajo validado del slice. |
|
|
80
113
|
| `--mode manual` | Imprime prompts para asignación manual de ejecutores. |
|
|
81
114
|
| `--mode delegated` | Usa ejecución delegada con worktrees temporales cuando es seguro. |
|
|
@@ -90,6 +123,7 @@ Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos
|
|
|
90
123
|
| `ai plan` | sí | sí | sí |
|
|
91
124
|
| `spec create` | sí | sí | sí |
|
|
92
125
|
| `ai pr` | no | sí | sí |
|
|
126
|
+
| `ai approve` | no | no | no |
|
|
93
127
|
| `flow`, `next`, `graph` | no | no | no |
|
|
94
128
|
| `ai inspect`, `ai export`, `ai specs list`, `ai slices list`, `ai trace report` | no | no | no |
|
|
95
129
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# Evidence Report - Quiver v31 AI Model Catalog and Agent Selection
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
This report starts with documentation-only evidence for `slice-00`. Product implementation evidence must be appended by each later slice.
|
|
6
|
+
|
|
7
|
+
## slice-00 - Spec foundation
|
|
8
|
+
|
|
9
|
+
### Completed
|
|
10
|
+
|
|
11
|
+
- Created v31 spec package with `SPEC.md`, `STATUS.md`, `EXECUTION_PLAN.md`, `EVIDENCE_REPORT.md`, and `pr.md`.
|
|
12
|
+
- Created 8 slice folders with `slice.json`, `EXECUTION_BRIEF.md`, and `CLOSURE_BRIEF.md`.
|
|
13
|
+
- Synchronized `README_FOR_AI.md` and `ROADMAP.md` to mark v31 as planned work.
|
|
14
|
+
|
|
15
|
+
### Validation
|
|
16
|
+
|
|
17
|
+
- `find specs/quiver-v31-ai-model-catalog-agent-selection -name 'slice.json' -print -exec node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8')); console.log('ok', process.argv[1])" {} \;` passed for 8 slice files.
|
|
18
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v31-ai-model-catalog-agent-selection` passed and reported 8 slices.
|
|
19
|
+
- `git diff --check` passed.
|
|
20
|
+
|
|
21
|
+
### Risks Observed During Validation
|
|
22
|
+
|
|
23
|
+
- The repo is currently ahead of `origin/main` by the local `v0.15.0` release commit from the prior npm publication attempt. This slice does not modify or resolve that release state.
|
|
24
|
+
|
|
25
|
+
## Later Slices
|
|
26
|
+
|
|
27
|
+
Each implementation slice must append:
|
|
28
|
+
|
|
29
|
+
- commands executed;
|
|
30
|
+
- tests or smokes run;
|
|
31
|
+
- files changed;
|
|
32
|
+
- validation result;
|
|
33
|
+
- human and JSON output evidence when applicable;
|
|
34
|
+
- remaining risks;
|
|
35
|
+
- evidence location.
|
|
36
|
+
|
|
37
|
+
## slice-01 - Local model catalog and alias normalization
|
|
38
|
+
|
|
39
|
+
### Completed
|
|
40
|
+
|
|
41
|
+
- Added `src/create-quiver/lib/ai/model-catalog.js` as the local, versioned model catalog source of truth.
|
|
42
|
+
- Added Codex, Claude, and Gemini known model entries with aliases, role recommendations, cost/quality/stability metadata, and custom model support.
|
|
43
|
+
- Added tolerant alias normalization for case, spaces, dashes, and punctuation.
|
|
44
|
+
- Updated agent profile creation to normalize known visual aliases into technical model ids while preserving human `displayName`.
|
|
45
|
+
- Preserved free-form custom model support and added optional profile metadata: `modelSource`, `modelAlias`, `validation_status`, `validated_at`, and `validation_error`.
|
|
46
|
+
|
|
47
|
+
### Validation
|
|
48
|
+
|
|
49
|
+
- `node --test tests/lib/model-catalog.test.js tests/lib/agent-profiles.test.js` passed: 10 tests.
|
|
50
|
+
- `git diff --check` passed.
|
|
51
|
+
|
|
52
|
+
### Risks
|
|
53
|
+
|
|
54
|
+
- Catalog entries are local and can become stale. Later docs must keep the wording "known by Quiver" and avoid implying account-level availability.
|
|
55
|
+
- Live provider validation and command preflight are intentionally deferred to later slices.
|
|
56
|
+
|
|
57
|
+
## slice-02 - Interactive agent set provider and model selectors
|
|
58
|
+
|
|
59
|
+
### Completed
|
|
60
|
+
|
|
61
|
+
- Added interactive provider/model resolution for `ai agent set <role>`.
|
|
62
|
+
- Added no-TTY/CI safeguards requiring explicit `--provider` and `--model`.
|
|
63
|
+
- Added existing profile actions: update current, create new, change default, and cancel before writes.
|
|
64
|
+
- Added provider CLI status hints in provider choices.
|
|
65
|
+
- Added role-ordered model choices from the local catalog.
|
|
66
|
+
- Added custom model id and display-name capture.
|
|
67
|
+
- Added a write summary before saving profiles selected through prompts.
|
|
68
|
+
- Made `ai agent` dispatch async-safe.
|
|
69
|
+
|
|
70
|
+
### Validation
|
|
71
|
+
|
|
72
|
+
- `node --test tests/commands/ai-agent.test.js tests/lib/cli-selectors.test.js tests/lib/model-catalog.test.js tests/lib/agent-profiles.test.js` passed: 30 tests.
|
|
73
|
+
|
|
74
|
+
### Risks
|
|
75
|
+
|
|
76
|
+
- Provider status is best-effort CLI detection and does not guarantee account-level model availability.
|
|
77
|
+
- Interactive rendering is validated through injectable prompt helpers; real terminal behavior should be covered by smoke testing in the final slice.
|
|
78
|
+
|
|
79
|
+
## slice-03 - Agent profile doctor and repair dry-run
|
|
80
|
+
|
|
81
|
+
### Completed
|
|
82
|
+
|
|
83
|
+
- Added pure profile diagnostics that evaluate every configured agent profile.
|
|
84
|
+
- Added `ai agent doctor` with human output sections `Checks` and `Suggested fixes`.
|
|
85
|
+
- Added `ai agent doctor --json` with parseable JSON output and no human prose.
|
|
86
|
+
- Added exit code 1 when doctor errors are present.
|
|
87
|
+
- Added `ai agent repair --dry-run` with before/after changes and no writes.
|
|
88
|
+
- Added safe catalog-alias repair for legacy profiles such as `model: "GPT 5.5"`.
|
|
89
|
+
- Added warnings for custom unvalidated models and provider CLI checks.
|
|
90
|
+
- Updated CLI help for `ai agent doctor` and `ai agent repair`.
|
|
91
|
+
|
|
92
|
+
### Validation
|
|
93
|
+
|
|
94
|
+
- `node --test tests/commands/ai-agent.test.js tests/lib/agent-profiles.test.js tests/lib/model-catalog.test.js tests/lib/cli-selectors.test.js` passed: 36 tests.
|
|
95
|
+
|
|
96
|
+
### Risks
|
|
97
|
+
|
|
98
|
+
- Provider CLI checks are best-effort and do not prove selected model entitlement.
|
|
99
|
+
- Repair write mode is intentionally unavailable until dry-run behavior is dogfooded.
|
|
100
|
+
|
|
101
|
+
## slice-04 - Shared model preflight and provider error extraction
|
|
102
|
+
|
|
103
|
+
### Completed
|
|
104
|
+
|
|
105
|
+
- Added shared provider model alias resolution.
|
|
106
|
+
- Added blocking policy for display aliases read from persisted profiles.
|
|
107
|
+
- Added normalization for CLI `--model` display aliases in dry-run and invocation output.
|
|
108
|
+
- Added provider error cause extraction for invalid model, auth, missing CLI, timeout, and generic failures.
|
|
109
|
+
- Added provider failure serialization for non-zero exits where stderr contains the useful cause.
|
|
110
|
+
- Applied model preflight options to planner, reviewer, repair-plan, execute-slice, and execute-plan runtime paths.
|
|
111
|
+
- Added tests for `GPT 5.5` CLI override normalization, legacy profile blocking before provider execution, invalid model priority over MCP noise, and secret redaction.
|
|
112
|
+
|
|
113
|
+
### Validation
|
|
114
|
+
|
|
115
|
+
- `node --test tests/lib/ai-providers.test.js tests/commands/ai-prepare-context-planner.test.js tests/commands/ai-execute-slice.test.js` passed: 35 tests.
|
|
116
|
+
- `node --test tests/lib/ai-providers.test.js tests/commands/ai-prepare-context-planner.test.js tests/commands/ai-plan.test.js tests/commands/ai-review-plan.test.js tests/commands/ai-execute-slice.test.js tests/commands/ai-execute-plan.test.js` passed: 78 tests.
|
|
117
|
+
|
|
118
|
+
### Risks
|
|
119
|
+
|
|
120
|
+
- Provider stderr patterns can change; future observed failures should become fixtures.
|
|
121
|
+
- Custom models remain allowed and can only be proven through live provider validation.
|
|
122
|
+
|
|
123
|
+
## slice-05 - AI models list command
|
|
124
|
+
|
|
125
|
+
### Completed
|
|
126
|
+
|
|
127
|
+
- Added `ai models list`.
|
|
128
|
+
- Added `--provider <id>` filtering for catalog providers.
|
|
129
|
+
- Added `--json` clean machine output with `catalogVersion` and `lastUpdated`.
|
|
130
|
+
- Updated CLI help and contract tests.
|
|
131
|
+
- Added human output wording that says models are known by Quiver and avoids claiming availability.
|
|
132
|
+
|
|
133
|
+
### Validation
|
|
134
|
+
|
|
135
|
+
- `node --test tests/commands/ai-models.test.js tests/commands/cli-contract.test.js` passed: 11 tests.
|
|
136
|
+
|
|
137
|
+
### Risks
|
|
138
|
+
|
|
139
|
+
- The model catalog is local and can become stale until Quiver has a remote/update mechanism.
|
|
140
|
+
|
|
141
|
+
## slice-06 - Documentation and generated template alignment
|
|
142
|
+
|
|
143
|
+
### Completed
|
|
144
|
+
|
|
145
|
+
- Updated `README.md` with concise public-facing model catalog, agent setup, doctor, and repair commands.
|
|
146
|
+
- Updated `docs/reference/commands.md` with interactive and script-safe agent setup, `ai models list`, `ai agent doctor`, and `ai agent repair --dry-run`.
|
|
147
|
+
- Updated `docs/CLI_UX_GUIDE.md` with the profile data contract: `model` is the provider technical id and `displayName` is the human label.
|
|
148
|
+
- Updated generated project templates: `docs/COMMANDS.md.template`, `docs/AI_ONBOARDING_PROMPT.md.template`, and `docs/AI_CONTEXT.md.template`.
|
|
149
|
+
- Updated `README_FOR_AI.md`, `ROADMAP.md`, `STATUS.md`, and the slice closure to reflect completed docs/templates alignment without claiming package publication.
|
|
150
|
+
|
|
151
|
+
### Validation
|
|
152
|
+
|
|
153
|
+
- `node bin/create-quiver.js --help` passed and exposed `ai models list`, `ai agent doctor`, and `ai agent repair --dry-run`.
|
|
154
|
+
- `node bin/create-quiver.js ai models list --provider codex` passed and printed "Models are known by Quiver; provider account access is not guaranteed."
|
|
155
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v31-ai-model-catalog-agent-selection` passed with a warning before this evidence section was appended.
|
|
156
|
+
- `git diff --check` passed.
|
|
157
|
+
|
|
158
|
+
### Risks
|
|
159
|
+
|
|
160
|
+
- The final release-readiness slice must verify the CLI help contract after docs alignment.
|
|
161
|
+
- The local model catalog can become stale until Quiver has a remote/update mechanism.
|
|
162
|
+
|
|
163
|
+
## slice-07 - Tests, smokes, package dry-run, and release readiness
|
|
164
|
+
|
|
165
|
+
### Completed
|
|
166
|
+
|
|
167
|
+
- Corrected remaining CLI help/flow guidance so `--model` is documented as a technical model id, not a free-form label.
|
|
168
|
+
- Updated contract tests and `smoke:create-quiver` packaged-help assertions for `ai agent doctor`, `ai agent repair --dry-run`, `ai models list`, and `--model <model-id>`.
|
|
169
|
+
- Updated release docs: `CHANGELOG.md`, `README_FOR_AI.md`, `ROADMAP.md`, `STATUS.md`, `pr.md`, and this evidence report.
|
|
170
|
+
|
|
171
|
+
### Validation
|
|
172
|
+
|
|
173
|
+
- `node --test tests/commands/cli-contract.test.js tests/commands/flow.test.js tests/commands/ai-agent.test.js tests/lib/agent-profiles.test.js` passed: 44 tests.
|
|
174
|
+
- `node --test tests/**/*.test.js` passed: 482 tests.
|
|
175
|
+
- `npm run smoke:doctor-fixtures` passed: 13 fixture states.
|
|
176
|
+
- `npm run smoke:create-quiver` passed after updating packaged-help expectations.
|
|
177
|
+
- `npm run smoke:guided-workflow` passed.
|
|
178
|
+
- `npm run package:quiver` passed with package smoke.
|
|
179
|
+
- `npm pack --dry-run` passed and generated dry-run tarball details for `create-quiver@0.15.0`.
|
|
180
|
+
|
|
181
|
+
### Risks
|
|
182
|
+
|
|
183
|
+
- npm publication was not performed and still requires explicit human approval.
|
|
184
|
+
- Live provider model entitlement was not tested because it depends on provider CLI/account access and may consume tokens.
|
|
185
|
+
- The local model catalog remains manually maintained until Quiver has a remote/update mechanism.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Execution Plan - Quiver v31 AI Model Catalog and Agent Selection
|
|
2
|
+
|
|
3
|
+
## Execution Order
|
|
4
|
+
|
|
5
|
+
```mermaid
|
|
6
|
+
flowchart TD
|
|
7
|
+
S00[slice-00: Spec foundation]
|
|
8
|
+
S01[slice-01: Model catalog and alias normalization]
|
|
9
|
+
S02[slice-02: Interactive agent set selectors]
|
|
10
|
+
S03[slice-03: Agent doctor and repair dry-run]
|
|
11
|
+
S04[slice-04: Shared preflight and provider errors]
|
|
12
|
+
S05[slice-05: AI models list]
|
|
13
|
+
S06[slice-06: Docs and templates alignment]
|
|
14
|
+
S07[slice-07: Tests, smokes, and release readiness]
|
|
15
|
+
|
|
16
|
+
S00 --> S01
|
|
17
|
+
S01 --> S02
|
|
18
|
+
S01 --> S03
|
|
19
|
+
S01 --> S04
|
|
20
|
+
S01 --> S05
|
|
21
|
+
S02 --> S03
|
|
22
|
+
S03 --> S04
|
|
23
|
+
S04 --> S06
|
|
24
|
+
S05 --> S06
|
|
25
|
+
S06 --> S07
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Waves
|
|
29
|
+
|
|
30
|
+
### Wave 0 - Sequential
|
|
31
|
+
|
|
32
|
+
1. `slice-00-spec-foundation`
|
|
33
|
+
|
|
34
|
+
This slice must run first. It commits the approved spec, every slice, handoffs, execution plan, PR body, and source-of-truth documentation sync.
|
|
35
|
+
|
|
36
|
+
### Wave 1 - Sequential Core
|
|
37
|
+
|
|
38
|
+
1. `slice-01-model-catalog-alias-normalization`
|
|
39
|
+
|
|
40
|
+
The catalog and model-resolution contract must exist before selectors, doctor, repair, or live command preflight can use it.
|
|
41
|
+
|
|
42
|
+
### Wave 2 - Parallel after slice-01
|
|
43
|
+
|
|
44
|
+
- `slice-02-interactive-agent-set-selectors`
|
|
45
|
+
- `slice-05-ai-models-list`
|
|
46
|
+
|
|
47
|
+
These can run in parallel if their write scopes stay separated.
|
|
48
|
+
|
|
49
|
+
### Wave 3 - Sequential Diagnostics and Runtime
|
|
50
|
+
|
|
51
|
+
1. `slice-03-agent-doctor-repair`
|
|
52
|
+
2. `slice-04-shared-preflight-provider-errors`
|
|
53
|
+
|
|
54
|
+
Doctor/repair should land before command preflight so existing-profile diagnostics and preflight reuse the same issue classification.
|
|
55
|
+
|
|
56
|
+
### Wave 4 - Sequential Docs
|
|
57
|
+
|
|
58
|
+
1. `slice-06-docs-templates-alignment`
|
|
59
|
+
|
|
60
|
+
Docs depend on the final command names and output contracts.
|
|
61
|
+
|
|
62
|
+
### Wave 5 - Sequential Close
|
|
63
|
+
|
|
64
|
+
1. `slice-07-tests-smokes-release-readiness`
|
|
65
|
+
|
|
66
|
+
Final validation is never parallel-safe.
|
|
67
|
+
|
|
68
|
+
## Parallel Safety Notes
|
|
69
|
+
|
|
70
|
+
- Do not run any implementation slice before `slice-00`.
|
|
71
|
+
- Do not implement selectors before catalog helpers exist.
|
|
72
|
+
- Do not add live command preflight before doctor/repair issue classification is stable.
|
|
73
|
+
- `slice-02` and `slice-05` may both touch `commands/ai.js`; if conflicts are likely, run `slice-02` first.
|
|
74
|
+
- `slice-07` must close the spec after all other slices.
|
|
75
|
+
|
|
76
|
+
## Recommended Commit Order
|
|
77
|
+
|
|
78
|
+
1. `docs: add v31 ai model catalog spec`
|
|
79
|
+
2. `feat: add ai model catalog normalization`
|
|
80
|
+
3. `feat: add interactive agent model selectors`
|
|
81
|
+
4. `feat: add agent profile doctor repair`
|
|
82
|
+
5. `feat: add ai model preflight errors`
|
|
83
|
+
6. `feat: add ai models list`
|
|
84
|
+
7. `docs: document ai model catalog setup`
|
|
85
|
+
8. `docs: close v31 model catalog release readiness`
|