create-quiver 0.12.1 → 0.13.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/CHANGELOG.md +8 -0
- package/README.md +16 -8
- package/README_FOR_AI.md +11 -6
- package/ROADMAP.md +9 -2
- package/docs/COMMANDS.md.template +9 -2
- package/package.json +2 -1
- package/specs/quiver-v26-0121-smoke-hardening/SPEC.md +2 -2
- package/specs/quiver-v26-0121-smoke-hardening/STATUS.md +5 -5
- package/specs/quiver-v27-reliability-ai-workflow-hardening/AUDIT_V24_V25_V26.md +67 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/COMMAND_CONTRACTS.md +125 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/COVERAGE_MATRIX.md +74 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/EVIDENCE_REPORT.md +179 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/EXECUTION_PLAN.md +71 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/SPEC.md +176 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/STATUS.md +37 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/pr.md +132 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-00-docs-audit-coverage-and-contracts/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-00-docs-audit-coverage-and-contracts/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-00-docs-audit-coverage-and-contracts/slice.json +75 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-01-core-state-resolver-and-canonical-statuses/CLOSURE_BRIEF.md +37 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-01-core-state-resolver-and-canonical-statuses/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-01-core-state-resolver-and-canonical-statuses/slice.json +79 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-02-json-export-contract-and-machine-output/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-02-json-export-contract-and-machine-output/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-02-json-export-contract-and-machine-output/slice.json +75 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-03-approved-plan-to-spec-create/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-03-approved-plan-to-spec-create/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-03-approved-plan-to-spec-create/slice.json +78 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-04-ai-artifact-storage-redaction-and-token-compaction/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-04-ai-artifact-storage-redaction-and-token-compaction/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-04-ai-artifact-storage-redaction-and-token-compaction/slice.json +77 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-05-worktree-lifecycle-locks-and-recovery/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-05-worktree-lifecycle-locks-and-recovery/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-05-worktree-lifecycle-locks-and-recovery/slice.json +84 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-06-validation-gates-and-scope-safety/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-06-validation-gates-and-scope-safety/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-06-validation-gates-and-scope-safety/slice.json +99 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-07-context-analysis-and-doctor-flow/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-07-context-analysis-and-doctor-flow/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-07-context-analysis-and-doctor-flow/slice.json +88 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-08-cross-platform-help-auth-and-dx/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-08-cross-platform-help-auth-and-dx/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-08-cross-platform-help-auth-and-dx/slice.json +85 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-09-fixtures-smoke-docs-and-release-readiness/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-09-fixtures-smoke-docs-and-release-readiness/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v27-reliability-ai-workflow-hardening/slices/slice-09-fixtures-smoke-docs-and-release-readiness/slice.json +91 -0
- package/src/create-quiver/commands/ai.js +84 -9
- package/src/create-quiver/commands/flow.js +52 -4
- package/src/create-quiver/commands/graph.js +7 -7
- package/src/create-quiver/commands/plan.js +6 -15
- package/src/create-quiver/commands/spec.js +282 -0
- package/src/create-quiver/index.js +83 -21
- package/src/create-quiver/lib/agent-profiles.js +15 -3
- package/src/create-quiver/lib/ai/artifacts.js +318 -0
- package/src/create-quiver/lib/ai/execution-plan.js +9 -0
- package/src/create-quiver/lib/ai/executor.js +3 -2
- package/src/create-quiver/lib/ai/export-state.js +242 -97
- package/src/create-quiver/lib/ai/github.js +80 -3
- package/src/create-quiver/lib/ai/plan-review.js +2 -0
- package/src/create-quiver/lib/ai/spec-generator.js +72 -13
- package/src/create-quiver/lib/ai/spec-templates.js +72 -12
- package/src/create-quiver/lib/analyze.js +2 -2
- package/src/create-quiver/lib/approvals.js +14 -2
- package/src/create-quiver/lib/doctor.js +79 -0
- package/src/create-quiver/lib/git.js +40 -1
- package/src/create-quiver/lib/handoff.js +43 -1
- package/src/create-quiver/lib/init-docs.js +11 -7
- package/src/create-quiver/lib/init-layout.js +1 -0
- package/src/create-quiver/lib/lifecycle.js +52 -3
- package/src/create-quiver/lib/locks.js +134 -0
- package/src/create-quiver/lib/package-safety.js +7 -0
- package/src/create-quiver/lib/paths.js +74 -0
- package/src/create-quiver/lib/project-scan.js +74 -0
- package/src/create-quiver/lib/project-state-resolver.js +236 -0
- package/src/create-quiver/lib/readiness.js +48 -7
- package/src/create-quiver/lib/scope.js +2 -1
- package/src/create-quiver/lib/slice.js +8 -4
- package/src/create-quiver/lib/spec-worktrees.js +121 -38
- package/src/create-quiver/lib/statuses.js +115 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.13.0] - 2026-05-25
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Implemented v27 reliability and AI workflow hardening under `specs/quiver-v27-reliability-ai-workflow-hardening/`, based on Pixel Quiver dogfooding findings.
|
|
12
|
+
- Shared project-state resolver, canonical statuses, schema v2 lifecycle exports, structured approved-plan spec creation, AI artifact cleanup/redaction, token compaction, worktree locks/recovery, validation gates, context freshness diagnostics, cross-platform DX guidance, and release-readiness fixture coverage.
|
|
13
|
+
- Final v27 package/tarball smoke coverage for packaged CLI help, `flow`, `ai agent set --dry-run`, doctor fixtures, guided workflow, and full test suite validation.
|
|
14
|
+
|
|
7
15
|
## [0.12.1] - 2026-05-23
|
|
8
16
|
|
|
9
17
|
### Added
|
package/README.md
CHANGED
|
@@ -16,6 +16,7 @@ npx create-quiver flow
|
|
|
16
16
|
npx create-quiver prepare --dry-run
|
|
17
17
|
npx create-quiver analyze
|
|
18
18
|
npx create-quiver doctor
|
|
19
|
+
npx create-quiver ai agent set planner --provider codex --model "planner-model" --dry-run
|
|
19
20
|
npx create-quiver ai agent set planner --provider codex --model "planner-model"
|
|
20
21
|
npx create-quiver ai agent set executor --provider codex --model "executor-model"
|
|
21
22
|
npx create-quiver ai prepare-context --dry-run
|
|
@@ -61,12 +62,13 @@ Reglas prácticas por sistema:
|
|
|
61
62
|
- Windows con PowerShell: usá los mismos comandos `npx`, `npm` y `node`, pero adaptá rutas a formato Windows, por ejemplo `C:\Users\<usuario>\ssh\github-work`.
|
|
62
63
|
- Windows con Git Bash o WSL: podés usar rutas tipo Unix, por ejemplo `~/.ssh/github-work`.
|
|
63
64
|
- Los wrappers Bash bajo `tools/scripts/` son compatibilidad legacy u opcional. Para trabajo nuevo, preferí el CLI Node y los scripts `quiver:*`.
|
|
65
|
+
- Si una ruta tiene espacios, mantenela entre comillas. En los preflights de GitHub, Quiver imprime ejemplos seguros para macOS/Linux, Windows PowerShell, Git Bash y WSL.
|
|
64
66
|
|
|
65
67
|
Cuando uses GitHub o PRs:
|
|
66
68
|
|
|
67
69
|
- `--ssh-host-alias` recibe el alias del host en tu configuración SSH, por ejemplo `github-work` o `github-personal`.
|
|
68
70
|
- `--identity-file` recibe la ruta al archivo de clave, que cambia según el sistema operativo.
|
|
69
|
-
- `gh` debe estar instalado y autenticado; Quiver lo valida con `ai doctor` o `ai pr --dry-run
|
|
71
|
+
- `gh` debe estar instalado y autenticado; Quiver lo valida con `ai doctor` o `ai pr --dry-run`, y cuando falla indica cuenta, permisos/scopes, alias SSH y próximo comando seguro.
|
|
70
72
|
|
|
71
73
|
### Desarrollar este repositorio
|
|
72
74
|
|
|
@@ -317,7 +319,8 @@ El paquete también publica el alias binario `quiver`, que apunta al mismo CLI.
|
|
|
317
319
|
| `npx create-quiver --help` | Lista todos los comandos públicos con descripción, opciones principales y ejemplos recomendados. |
|
|
318
320
|
| `npx create-quiver help` | Alias legible de la ayuda completa. |
|
|
319
321
|
| `quiver --help` | Muestra la misma ayuda cuando Quiver ya está instalado localmente. |
|
|
320
|
-
| `npx create-quiver flow` | Muestra el estado inicial del flujo guiado y el próximo comando seguro sin escribir estado ni llamar providers. |
|
|
322
|
+
| `npx create-quiver flow` | Muestra el estado inicial del flujo guiado, la fuente/frescura del contexto, el package manager detectado, el script `quiver:flow` correcto y el próximo comando seguro sin escribir estado ni llamar providers. |
|
|
323
|
+
| `npx create-quiver ai agent set <role> --provider <provider> --model <label> --dry-run` | Previsualiza el perfil que se guardaría sin escribir `.quiver/agents/profiles.json`. |
|
|
321
324
|
| `npx create-quiver ai agent set <role> --provider <provider> --model <label>` | Guarda perfiles reutilizables para planner, executor, reviewer o doctor sin guardar secretos. |
|
|
322
325
|
| `npx create-quiver ai agent list` | Lista los perfiles configurados. |
|
|
323
326
|
| `npx create-quiver ai agent show <role>` | Muestra un perfil específico. |
|
|
@@ -336,7 +339,8 @@ El paquete también publica el alias binario `quiver`, que apunta al mismo CLI.
|
|
|
336
339
|
| `npx create-quiver init --full` | Crea el layout amplio de compatibilidad. |
|
|
337
340
|
| `npx create-quiver init --legacy-scripts` | Agrega wrappers Bash legacy bajo `tools/scripts/`. |
|
|
338
341
|
| `npx create-quiver init --include-templates` | Exporta templates empaquetados bajo `.quiver/templates/`. |
|
|
339
|
-
| `npx create-quiver analyze` |
|
|
342
|
+
| `npx create-quiver analyze --dry-run` | Previsualiza el scan, el mapa de proyecto y el refresh de contexto sin escribir archivos. |
|
|
343
|
+
| `npx create-quiver analyze` | Genera `.quiver/scans/PROJECT_SCAN.json`, `docs/PROJECT_MAP.md` y refresca `docs/AI_CONTEXT.md`. |
|
|
340
344
|
| `npx create-quiver doctor` | Valida que el contrato de Quiver esté completo. |
|
|
341
345
|
| `npx create-quiver doctor --fix --dry-run` | Muestra reparaciones seguras sin escribir archivos. |
|
|
342
346
|
| `npx create-quiver doctor --fix` | Aplica reparaciones no destructivas e idempotentes. |
|
|
@@ -354,6 +358,7 @@ El paquete también publica el alias binario `quiver`, que apunta al mismo CLI.
|
|
|
354
358
|
| `npx create-quiver spec create` | Crea la spec real desde el plan técnico revisado y aprobado. |
|
|
355
359
|
| `npx create-quiver spec start <spec-dir>` | Crea o reutiliza el worktree dedicado de una spec. Usá `--dry-run` para ver qué worktree se crearía sin tocar Git. |
|
|
356
360
|
| `npx create-quiver spec status <spec-dir>` | Muestra branch, path, `slice-00` y slices pendientes. |
|
|
361
|
+
| `npx create-quiver spec validate <spec-dir>` | Valida documentos de spec, slices, briefs, evidencia, estado, dependencias y rutas seguras. |
|
|
357
362
|
| `npx create-quiver spec close <spec-dir>` | Cierra un worktree de spec ya mergeado y limpio; en modo normal también intenta traer los cambios del merge al checkout principal. |
|
|
358
363
|
| `npx create-quiver start-slice <slice.json>` | Prepara worktree y contexto para ejecutar un slice. |
|
|
359
364
|
| `npx create-quiver check-slice <slice.json>` | Valida readiness del slice. |
|
|
@@ -374,6 +379,7 @@ El paquete también publica el alias binario `quiver`, que apunta al mismo CLI.
|
|
|
374
379
|
npx create-quiver ai prepare-context --dry-run
|
|
375
380
|
npx create-quiver ai onboard --dry-run
|
|
376
381
|
npx create-quiver ai onboard --print-prompt
|
|
382
|
+
npx create-quiver ai agent set planner --provider codex --model "planner-model" --dry-run
|
|
377
383
|
npx create-quiver ai agent set planner --provider codex --model "planner-model"
|
|
378
384
|
npx create-quiver ai agent set executor --provider codex --model "executor-model"
|
|
379
385
|
npx create-quiver ai agent set doctor --provider codex --model "diagnostic-model"
|
|
@@ -462,7 +468,7 @@ Notas reales del estado actual:
|
|
|
462
468
|
|
|
463
469
|
| Script | Uso |
|
|
464
470
|
|---|---|
|
|
465
|
-
| `npm run quiver:analyze` | Ejecuta `npx create-quiver analyze
|
|
471
|
+
| `npm run quiver:analyze` | Ejecuta `npx create-quiver analyze`; usalo con `-- --dry-run` para previsualizar sin escribir. |
|
|
466
472
|
| `npm run quiver:flow` | Ejecuta `npx create-quiver flow`. |
|
|
467
473
|
| `npm run quiver:plan` | Ejecuta `npx create-quiver plan`. |
|
|
468
474
|
| `npm run quiver:prepare` | Ejecuta preparación guiada y diagnósticos. |
|
|
@@ -489,6 +495,7 @@ Notas reales del estado actual:
|
|
|
489
495
|
| `npm run quiver:spec:create` | Ejecuta `npx create-quiver spec create`. |
|
|
490
496
|
| `npm run quiver:spec:start` | Ejecuta `npx create-quiver spec start`. |
|
|
491
497
|
| `npm run quiver:spec:status` | Ejecuta `npx create-quiver spec status`. |
|
|
498
|
+
| `npm run quiver:spec:validate` | Ejecuta `npx create-quiver spec validate`. |
|
|
492
499
|
| `npm run quiver:spec:close` | Ejecuta `npx create-quiver spec close`. |
|
|
493
500
|
| `npm run package:quiver` | Empaqueta y valida el tarball npm. |
|
|
494
501
|
| `npm run smoke:create-quiver` | Smoke del instalador `create-quiver`. |
|
|
@@ -555,9 +562,10 @@ Checklist de release:
|
|
|
555
562
|
2. `npm run smoke:create-quiver`
|
|
556
563
|
3. `npm run smoke:doctor-fixtures`
|
|
557
564
|
4. `npm run smoke:guided-workflow`
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
565
|
+
5. `npm run smoke:tiered-pack`
|
|
566
|
+
6. `npm run package:quiver`
|
|
567
|
+
7. `npm pack --dry-run`
|
|
568
|
+
8. Confirmar que el PR esta aprobado antes de publicar.
|
|
561
569
|
|
|
562
570
|
## 📚 Documentación útil
|
|
563
571
|
|
|
@@ -571,7 +579,7 @@ Checklist de release:
|
|
|
571
579
|
|
|
572
580
|
## Información confirmada y pendiente
|
|
573
581
|
|
|
574
|
-
- `package.json` está en `0.
|
|
582
|
+
- `package.json` está en `0.13.0` y `CHANGELOG.md` reconoce `0.13.0`.
|
|
575
583
|
- `package.json` no declara `engines`; la versión mínima real de Node queda pendiente. La CI usa Node 22.
|
|
576
584
|
- Si aparece alguna referencia vieja a `0.9.0`, hay que actualizarla al contrato actual antes de seguir.
|
|
577
585
|
- Los scripts legacy de `package.json` que apuntan a `tools/scripts/*` deben confirmarse para este repo fuente o separarse de los scripts pensados para proyectos generados con `--legacy-scripts` o `--full`.
|
package/README_FOR_AI.md
CHANGED
|
@@ -16,9 +16,10 @@ Use `npx create-quiver demo create spec-viewer --dry-run` to inspect the optiona
|
|
|
16
16
|
The v20, v21, v22, and v23 specs are completed. `specs/quiver-v23-guided-flow-productization/` productized the manual planner/executor prompt workflow into guided Quiver commands, profiles, compact prompts, safe approvals, executor prompts, delegated execution modes, and release readiness evidence.
|
|
17
17
|
The v24 spec is implemented under `specs/quiver-v24-dx-onboarding-hardening/`; it captures DX hardening found while dogfooding Quiver with Quiver Spec Viewer, including init hygiene, CLI ambiguity, local slice validation, analyzer quality, AI context preparation, evidence capture, and demo scaffolding. Do not claim a package release until npm publication actually happens.
|
|
18
18
|
The v25 spec is implemented under `specs/quiver-v25-ai-first-lifecycle-orchestrator/` and shipped in `create-quiver@0.12.0`; it covers safe AI onboarding docs, strict run state, phase locks, agent adapters, approval gates, spec/slice generation, execution planning, controlled slice execution, worktree/PR lifecycle, validation hardening, export, and migration.
|
|
19
|
-
The v26 hotfix spec is implemented under `specs/quiver-v26-0121-smoke-hardening
|
|
19
|
+
The v26 hotfix spec is implemented under `specs/quiver-v26-0121-smoke-hardening/` and shipped in `create-quiver@0.12.1`; it covers smoke hardening for CLI help/version output, generated doc links, AI approval/review guidance, local validation, slice brief validation, demo readiness, scoped plan/graph performance, and release smoke coverage.
|
|
20
|
+
The v27 spec is implemented under `specs/quiver-v27-reliability-ai-workflow-hardening/` and shipped in `create-quiver@0.13.0`; it captures Pixel Quiver dogfooding findings (`QP-001` to `QP-019`, `QIS-001` to `QIS-022`) and includes shared state resolution, canonical statuses, schema v2 exports, structured spec creation, AI artifact cleanup, worktree locks, validation gates, context diagnostics, cross-platform DX, fixtures, smoke suites, and package/tarball release readiness.
|
|
20
21
|
Guided AI workflow behavior is available: prepare, approvals, production-readiness plan review, spec worktrees, executor commits, execution waves, PR creation, spec close, and package safety.
|
|
21
|
-
Generated projects also get `quiver:*` npm scripts that call the Node CLI directly; prefer those for repeatable project workflows, including `quiver:flow` for the read-only guided entrypoint, `quiver:plan` for sequential planning, `quiver:graph` for parallel-level inspection, `quiver:next` for the next ready slice, `quiver:evidence` for local command evidence, `quiver:spec:create` for real spec generation, and the AI family `quiver:ai:agent`, `quiver:ai:inspect`, `quiver:ai:export`, `quiver:ai:specs`, `quiver:ai:slices`, `quiver:ai:trace`, `quiver:ai:onboard`, `quiver:ai:prepare-context`, `quiver:ai:plan`, `quiver:ai:review-plan`, `quiver:ai:approve`, `quiver:ai:prompt-slice`, `quiver:ai:execute-slice`, `quiver:ai:execute-plan`, `quiver:ai:pr`, and `quiver:ai:doctor`. Use `quiver:graph --format mermaid` for PR-ready Markdown or `quiver:graph --format dot` for Graphviz source.
|
|
22
|
+
Generated projects also get `quiver:*` npm scripts that call the Node CLI directly; prefer those for repeatable project workflows, including `quiver:flow` for the read-only guided entrypoint, `quiver:plan` for sequential planning, `quiver:graph` for parallel-level inspection, `quiver:next` for the next ready slice, `quiver:evidence` for local command evidence, `quiver:spec:create` for real spec generation, `quiver:spec:validate` for full spec validation, and the AI family `quiver:ai:agent`, `quiver:ai:inspect`, `quiver:ai:export`, `quiver:ai:specs`, `quiver:ai:slices`, `quiver:ai:trace`, `quiver:ai:onboard`, `quiver:ai:prepare-context`, `quiver:ai:plan`, `quiver:ai:review-plan`, `quiver:ai:approve`, `quiver:ai:prompt-slice`, `quiver:ai:execute-slice`, `quiver:ai:execute-plan`, `quiver:ai:pr`, and `quiver:ai:doctor`. Use `quiver:graph --format mermaid` for PR-ready Markdown or `quiver:graph --format dot` for Graphviz source.
|
|
22
23
|
`quiver:ai:execute-plan` supports `--mode manual` for paste-ready executor prompts and `--mode delegated` for temporary worktrees on parallel-ready waves; unsafe waves fall back to sequential execution.
|
|
23
24
|
Agent profiles live in `.quiver/agents/profiles.json`; they store role, provider, model label, context label, and display label only. Do not store API keys, tokens, or credentials there.
|
|
24
25
|
Planner drafts are versioned under `.quiver/approvals/<phase>/drafts/`; review the technical-plan draft with `npx create-quiver ai review-plan --dry-run` before approving it, then approve a concrete version with `npx create-quiver ai approve --phase <phase> --version <n>` when reviewing iterations.
|
|
@@ -28,6 +29,9 @@ Use `npm run smoke:doctor-fixtures` after changing doctor, preflight, validation
|
|
|
28
29
|
The primary generated project context for agents is `docs/AI_CONTEXT.md`.
|
|
29
30
|
The project map is the single source of truth for stack, package manager, commands, and file hints: `docs/PROJECT_MAP.md`.
|
|
30
31
|
The raw analyzer output is internal machinery at `.quiver/scans/PROJECT_SCAN.json`; read it only when the visible map is not enough.
|
|
32
|
+
`npx create-quiver analyze --dry-run` must remain read-only and only preview the scan/project-map/context writes. `npx create-quiver flow` reports the context source/freshness and the package-manager-aware generated script command so agents can see whether the project map is current, stale, partial, legacy, invalid, or missing.
|
|
33
|
+
`npx create-quiver ai agent set <role> --provider <provider> --model "<label>" --dry-run` must preview `.quiver/agents/profiles.json` changes without writing. Use it before saving planner/executor/reviewer/doctor profiles.
|
|
34
|
+
GitHub PR diagnostics must stay cross-platform: auth failures should point to likely account, scope, and SSH alias issues; path examples with spaces must be copy-safe for macOS/Linux, Windows PowerShell, Git Bash, and WSL.
|
|
31
35
|
The universal router for generated projects is `AGENTS.md`; read it before `docs/AI_CONTEXT.md` and `docs/AI_ONBOARDING_PROMPT.md`.
|
|
32
36
|
Generated projects also get `docs/DECISIONS.md`; use it for durable choices that should not be re-litigated.
|
|
33
37
|
If a generated project has been analyzed, the exact agent handoff prompt is `docs/AI_ONBOARDING_PROMPT.md`.
|
|
@@ -64,7 +68,7 @@ Prefer maps, metadata, diffs, and summaries over full file reads when they are e
|
|
|
64
68
|
- The normal workflow runs from the project root without `--dir`; use `--dir` only when targeting another directory explicitly.
|
|
65
69
|
- The cross-platform contract targets native macOS, Linux, and Windows users through the Node CLI (`npx create-quiver ...`) and generated `quiver:*` npm scripts. Bash wrappers are legacy or optional compatibility, not the primary path. Keep root README examples clear about adapting SSH identity paths on Windows PowerShell, Git Bash, WSL, macOS, and Linux.
|
|
66
70
|
- The support contract lives in `docs/SUPPORT_MATRIX.md` and `docs/TROUBLESHOOTING.md`.
|
|
67
|
-
- Generated project npm scripts should prefer `quiver:*` names such as `quiver:analyze`, `quiver:flow`, `quiver:plan`, `quiver:graph`, `quiver:next`, `quiver:doctor`, `quiver:evidence`, `quiver:ai:agent`, `quiver:ai:inspect`, `quiver:ai:export`, `quiver:ai:specs`, `quiver:ai:slices`, `quiver:ai:trace`, `quiver:ai:prepare-context`, `quiver:ai:plan`, `quiver:ai:review-plan`, `quiver:ai:approve`, `quiver:ai:prompt-slice`, `quiver:ai:execute-slice`, `quiver:ai:execute-plan`, `quiver:spec:create`, `quiver:spec:start`, `quiver:spec:status`, `quiver:spec:close`, `quiver:start-slice`, `quiver:check-slice`, and `quiver:check-pr`.
|
|
71
|
+
- Generated project npm scripts should prefer `quiver:*` names such as `quiver:analyze`, `quiver:flow`, `quiver:plan`, `quiver:graph`, `quiver:next`, `quiver:doctor`, `quiver:evidence`, `quiver:ai:agent`, `quiver:ai:inspect`, `quiver:ai:export`, `quiver:ai:specs`, `quiver:ai:slices`, `quiver:ai:trace`, `quiver:ai:prepare-context`, `quiver:ai:plan`, `quiver:ai:review-plan`, `quiver:ai:approve`, `quiver:ai:prompt-slice`, `quiver:ai:execute-slice`, `quiver:ai:execute-plan`, `quiver:spec:create`, `quiver:spec:start`, `quiver:spec:status`, `quiver:spec:validate`, `quiver:spec:close`, `quiver:start-slice`, `quiver:check-slice`, and `quiver:check-pr`.
|
|
68
72
|
- Optional demos are created with `npx create-quiver demo create spec-viewer`; do not add demo output to the package or default init flow.
|
|
69
73
|
- `quiver:graph` defaults to the tree view; choose `--format mermaid` or `--format dot` when you need exportable graph artifacts.
|
|
70
74
|
- `quiver:next` prints the next ready slice and can auto-start it behind a confirmation prompt.
|
|
@@ -135,13 +139,13 @@ After initialization, the user should:
|
|
|
135
139
|
1. Run `npx create-quiver flow` when unsure about the next safe command
|
|
136
140
|
2. Run `npx create-quiver ai prepare-context --dry-run` to preview onboarding docs, diffs, assumptions, risks, contradictions, and omitted paths
|
|
137
141
|
3. After review, run `npx create-quiver ai prepare-context` to write docs-only context updates; Quiver snapshots touched docs under `.quiver/runs/<run-id>/snapshots/` and preserves human-authored content
|
|
138
|
-
4. Run `npx create-quiver analyze` if `docs/PROJECT_MAP.md` or `.quiver/scans/PROJECT_SCAN.json` is missing or stale
|
|
142
|
+
4. Run `npx create-quiver analyze --dry-run` when unsure what analysis would update, then run `npx create-quiver analyze` if `docs/PROJECT_MAP.md` or `.quiver/scans/PROJECT_SCAN.json` is missing or stale
|
|
139
143
|
5. If the project already exists from an older Quiver version and was previously initialized by Quiver, run `npx create-quiver migrate`
|
|
140
144
|
6. If the project was never initialized by Quiver, run `npx create-quiver init --name "Project Name"` instead of `migrate`
|
|
141
145
|
7. Ask the AI agent to execute `docs/AI_ONBOARDING_PROMPT.md`
|
|
142
146
|
8. Review context docs before creating the first implementation slice
|
|
143
147
|
9. Open and merge the documentation PR that establishes the workflow files
|
|
144
|
-
10.
|
|
148
|
+
10. Preview reusable provider choices with `npx create-quiver ai agent set <role> --provider <provider> --model "<label>" --dry-run`, then save planner/executor/doctor profiles without `--dry-run` after review
|
|
145
149
|
11. Use `npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run`; use `--print-prompt` when you need the exact prompt without provider auth
|
|
146
150
|
12. If the human asks for changes, create a new draft with `npx create-quiver ai revise --phase acceptance --input feedback.md --dry-run`; after human approval, save the selected current draft with `npx create-quiver ai approve --phase acceptance --version <n>`
|
|
147
151
|
13. Use `npx create-quiver ai plan --phase technical-plan --dry-run`
|
|
@@ -157,7 +161,8 @@ After initialization, the user should:
|
|
|
157
161
|
23. Keep one commit per slice
|
|
158
162
|
24. Open one PR per spec with `npx create-quiver ai pr --dry-run --input specs/<spec-slug>/pr.md --ssh-host-alias <alias> ...`, then `--create` only after review; PR creation is blocked while spec slices remain open
|
|
159
163
|
25. After merge, close the worktree with `npx create-quiver spec close specs/<spec-slug>`
|
|
160
|
-
26. Validate the
|
|
164
|
+
26. Validate the spec with `npx create-quiver spec validate specs/<spec-slug>` or `npm run quiver:spec:validate -- specs/<spec-slug>`
|
|
165
|
+
27. Validate the slice and the final PR with the workflow gates
|
|
161
166
|
|
|
162
167
|
Bootstrap note: `start-slice` should resolve paths canonically, prefer a local `develop` or `main` base branch before reaching for `origin`, and reject `draft` slices unless `--allow-draft` is passed intentionally.
|
|
163
168
|
Release note: `scripts/package-quiver.sh` runs package safety against the npm tarball and must fail if local AI state, env files, npm credentials, or worktree state would be published.
|
package/ROADMAP.md
CHANGED
|
@@ -65,10 +65,16 @@
|
|
|
65
65
|
- Published package `0.12.0`.
|
|
66
66
|
- **v25** — AI-first lifecycle orchestrator: safe AI onboarding docs, strict run state, phase locks, agent adapters, approval gates, generated specs/slices/handoffs/PR body, execution waves, controlled slice execution, worktree/PR lifecycle, validation hardening, export, and migration.
|
|
67
67
|
|
|
68
|
-
## v0.12.1 — Smoke Hardening Hotfix (
|
|
68
|
+
## v0.12.1 — Smoke Hardening Hotfix (shipped 2026-05-24)
|
|
69
69
|
|
|
70
|
+
- Published package `0.12.1`.
|
|
70
71
|
- **v26** — `0.12.1` smoke hardening from clean npm package validation: CLI help/version output, generated doc links, AI approval/review guidance, local validation, slice brief validation, demo scaffold readiness, scoped plan/graph performance, and release smoke coverage.
|
|
71
72
|
|
|
73
|
+
## v0.13 — Reliability and AI Workflow Hardening (shipped 2026-05-25)
|
|
74
|
+
|
|
75
|
+
- Published package `0.13.0`.
|
|
76
|
+
- **v27** — Reliability hardening from Pixel Quiver dogfooding: shared state resolver, canonical statuses, JSON export contract, approved-plan spec generation, AI artifact cleanup, token compaction, worktree lifecycle, validation gates, context diagnostics, cross-platform DX, fixtures, smoke tests, and package/tarball release readiness live in `specs/quiver-v27-reliability-ai-workflow-hardening/`.
|
|
77
|
+
|
|
72
78
|
## Post-Checkpoint Plan (do not execute before validating v14)
|
|
73
79
|
|
|
74
80
|
> This section now records the follow-up line from the v14-era plan.
|
|
@@ -83,7 +89,8 @@
|
|
|
83
89
|
- **v23 — Guided Flow Productization** (completed): AI-first flow command, agent profiles, compact onboarding/planning prompts, production plan review, explicit `spec create`, manual executor prompts, delegated worktree execution, and release readiness live in `specs/quiver-v23-guided-flow-productization/`.
|
|
84
90
|
- **v24 — DX Onboarding Hardening** (shipped in `0.11.0`): real-world dogfooding fixes for init/templates, CLI routing, doctor/prepare, local validation, analyzer, AI context preparation, evidence, and demos live in `specs/quiver-v24-dx-onboarding-hardening/`.
|
|
85
91
|
- **v25 — AI-First Lifecycle Orchestrator** (shipped in `0.12.0`): safe AI onboarding docs, strict run state, phase locks, agent adapters, approval gates, generated specs/slices/handoffs/PR body, execution waves, controlled slice execution, worktree/PR lifecycle, validation hardening, export, and migration live in `specs/quiver-v25-ai-first-lifecycle-orchestrator/`.
|
|
86
|
-
- **v26 — 0.12.1 Smoke Hardening** (
|
|
92
|
+
- **v26 — 0.12.1 Smoke Hardening** (shipped in `0.12.1`): first-use hardening from clean npm smoke testing, covering CLI help/version output, generated doc links, AI approval/review guidance, local validation, slice brief validation, demo readiness, scoped plan/graph performance, and release smoke coverage live in `specs/quiver-v26-0121-smoke-hardening/`.
|
|
93
|
+
- **v27 — Reliability and AI Workflow Hardening** (shipped in `0.13.0`): Pixel Quiver dogfooding follow-up covering resolver/export/spec-create/AI-artifact/worktree/validation/context/DX hardening lives in `specs/quiver-v27-reliability-ai-workflow-hardening/`.
|
|
87
94
|
|
|
88
95
|
The shipped v20/v21/v22/v23 work is no longer pending. The older context-diagnostics and slice-archaeology ideas remain deferred until real demand justifies them.
|
|
89
96
|
|
|
@@ -15,8 +15,9 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
15
15
|
| `npx create-quiver --help` | Lists all public commands with descriptions, key options, and recommended examples | macOS, Linux, Windows | current | `npx create-quiver --help` |
|
|
16
16
|
| `npx create-quiver help` | Readable alias for the complete CLI help | macOS, Linux, Windows | current | `npx create-quiver help` |
|
|
17
17
|
| `quiver --help` | Shows the same help when Quiver is installed locally as a project dependency | macOS, Linux, Windows | current | `quiver --help` |
|
|
18
|
-
| `npx create-quiver flow` | Shows the read-only guided flow entrypoint and next safe command | macOS, Linux, Windows | v0.11 | `npx create-quiver flow` |
|
|
19
|
-
| `quiver
|
|
18
|
+
| `npx create-quiver flow` | Shows the read-only guided flow entrypoint, context source/freshness, package-manager-aware script guidance, and next safe command | macOS, Linux, Windows | v0.11 | `npx create-quiver flow` |
|
|
19
|
+
| `npx create-quiver analyze --dry-run` | Previews scan, project-map, and AI context writes without creating files | macOS, Linux, Windows | v0.13 | `npx create-quiver analyze --dry-run` |
|
|
20
|
+
| `quiver:analyze` | Writes raw analyzer data to `.quiver/scans/PROJECT_SCAN.json`, the visible project map to `docs/PROJECT_MAP.md`, and refreshed AI context | macOS, Linux, Windows | v0.8 | `npm run quiver:analyze` |
|
|
20
21
|
| `quiver:flow` | Runs the guided flow entrypoint through the generated npm script | macOS, Linux, Windows | v0.11 | `npm run quiver:flow` |
|
|
21
22
|
| `quiver:prepare` | Runs guided setup diagnostics and context preparation | macOS, Linux, Windows | v0.10 | `npm run quiver:prepare -- --dry-run --provider codex` |
|
|
22
23
|
| `quiver:doctor` | Validates the Quiver contract and reports layout or migration guidance | macOS, Linux, Windows | v0.8 | `npm run quiver:doctor` |
|
|
@@ -40,6 +41,7 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
40
41
|
| `quiver:plan -- --include-completed` | Shows completed slices for audit/demo history | macOS, Linux, Windows | v0.11 | `npm run quiver:plan -- --include-completed --spec <spec>` |
|
|
41
42
|
| `quiver:graph -- --include-completed` | Includes completed slices in the dependency graph history view | macOS, Linux, Windows | v0.11 | `npm run quiver:graph -- --include-completed --spec <spec>` |
|
|
42
43
|
| `quiver:next -- --include-completed` | Keeps actionable next-slice output and appends completed history | macOS, Linux, Windows | v0.11 | `npm run quiver:next -- --include-completed --spec <spec>` |
|
|
44
|
+
| `quiver:ai:agent -- set <role> ... --dry-run` | Previews planner/executor/reviewer/doctor provider profile writes without creating `.quiver/agents/profiles.json` | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:agent -- set planner --provider codex --model "planner-model" --dry-run` |
|
|
43
45
|
| `quiver:ai:agent` | Stores reusable planner/executor/reviewer/doctor provider profiles without secrets | macOS, Linux, Windows | v0.11 | `npm run quiver:ai:agent -- set planner --provider codex --model "planner-model"` |
|
|
44
46
|
| `quiver:ai:inspect` | Shows actionable lifecycle state through the generated npm script | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:inspect` |
|
|
45
47
|
| `quiver:ai:export` | Exports lifecycle state as JSON or Markdown through the generated npm script | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:export -- --format json` |
|
|
@@ -60,6 +62,7 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
60
62
|
| `quiver:spec:create` | Creates the real spec tree from the reviewed approved technical plan | macOS, Linux, Windows | v0.11 | `npm run quiver:spec:create -- --dry-run` |
|
|
61
63
|
| `quiver:spec:start` | Creates or reuses the dedicated worktree for one spec | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:start -- specs/<spec>` |
|
|
62
64
|
| `quiver:spec:status` | Shows spec worktree, branch, `slice-00`, and pending slices | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:status -- specs/<spec>` |
|
|
65
|
+
| `quiver:spec:validate` | Validates spec docs, slices, briefs, evidence, status, dependencies, and safe paths | macOS, Linux, Windows | v0.13 | `npm run quiver:spec:validate -- specs/<spec>` |
|
|
63
66
|
| `quiver:spec:close` | Closes a merged clean spec worktree and pulls the main checkout | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:close -- specs/<spec> --dry-run` |
|
|
64
67
|
| `quiver:check-slice -- --local <slice.json>` | Runs local structural slice validation without remote/base checks | macOS, Linux, Windows | v0.11 | `npm run quiver:check-slice -- --local specs/<spec>/slices/<slice>/slice.json` |
|
|
65
68
|
| `quiver:check-handoff -- <handoff-or-brief.md>` | Validates legacy `HANDOFF.md` files and per-slice `EXECUTION_BRIEF.md` / `CLOSURE_BRIEF.md` files | macOS, Linux, Windows | v0.12.1 | `npm run quiver:check-handoff -- specs/<spec>/slices/<slice>/EXECUTION_BRIEF.md` |
|
|
@@ -87,6 +90,7 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
87
90
|
| `--provider <codex\|claude\|gemini>` | `ai onboard`, `ai plan`, `ai revise`, `ai review-plan`, `ai execute-slice`, `ai execute-plan` | Select the local AI CLI adapter |
|
|
88
91
|
| `--model <label>` | `ai agent set` | Store a free-form model label in an agent profile; Quiver does not verify model availability |
|
|
89
92
|
| `--label <label>` | `ai agent set` | Store a display label for the profile |
|
|
93
|
+
| `--dry-run` | `ai agent set` | Preview profile writes without creating or updating `.quiver/agents/profiles.json` |
|
|
90
94
|
| `--print-prompt` | `ai onboard`, `ai plan`, `ai revise`, `ai review-plan` | Print the exact provider prompt and exit without executing provider CLIs or requiring provider auth |
|
|
91
95
|
| `--role <planner\|executor\|reviewer\|doctor>` | `ai onboard`, `ai plan`, `ai revise`, `ai execute-slice`, `ai execute-plan` | Select an AI role; execution requires executor |
|
|
92
96
|
| `--context <full\|planning\|slice\|minimal>` | `ai onboard`, `ai plan`, `ai revise`, `ai review-plan`, `ai execute-slice`, `ai execute-plan` | Select a token-budgeted context pack |
|
|
@@ -115,6 +119,8 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
115
119
|
- `check-handoff` validates both exceptional `HANDOFF.md` transfers and current slice-local `EXECUTION_BRIEF.md` / `CLOSURE_BRIEF.md` contracts.
|
|
116
120
|
- `quiver:ai:onboard`, `quiver:ai:plan`, `quiver:ai:revise`, `quiver:ai:review-plan`, and `quiver:ai:execute-slice` support `codex`, `claude`, and `gemini` through local CLIs. Use `--dry-run` first to inspect the invocation without requiring provider auth, or `--print-prompt` to print the exact planner/reviewer prompt without executing a provider.
|
|
117
121
|
- `quiver:ai:prepare-context -- --dry-run` previews docs-only context drafts, diff snippets, assumptions, risks, contradictions, and omitted paths. Write mode stores snapshots under `.quiver/runs/<run-id>/snapshots/` and preserves human-authored content by appending or refreshing a Quiver-managed block.
|
|
122
|
+
- `quiver:flow` reports the detected package manager and the matching generated project script, for example `npm run quiver:flow`, `pnpm run quiver:flow`, `yarn run quiver:flow`, or `bun run quiver:flow`.
|
|
123
|
+
- `quiver:ai:agent -- set ... --dry-run` previews provider/model profile changes without writing `.quiver/agents/profiles.json`.
|
|
118
124
|
- `quiver:ai:agent` stores provider/model labels under `.quiver/agents/profiles.json`; credentials stay in the provider CLI or OS credential store.
|
|
119
125
|
- `quiver:ai:inspect`, `quiver:ai:specs`, `quiver:ai:slices`, and `quiver:ai:trace` are read-only inspection surfaces for humans and agents.
|
|
120
126
|
- `quiver:ai:export -- --format json` is the dashboard/agent-friendly state contract; `--format markdown` is the PR/docs-friendly version.
|
|
@@ -128,6 +134,7 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
128
134
|
- `quiver:ai:execute-plan -- --dry-run --commit --mode delegated` prints safe delegated waves and falls back to sequential mode when file scope is missing or overlapping.
|
|
129
135
|
- `quiver:ai:execute-plan -- --execute --commit --mode delegated` uses temporary worktrees for parallel-ready waves and integrates one validated commit per slice.
|
|
130
136
|
- `quiver:ai:pr -- --dry-run` validates GitHub CLI, auth, Git remote, current branch/worktree, `docs/GITFLOW_PR_GUIDE.md`, SSH host alias, optional identity file, `pr.md`, and open slice status without creating a PR. Add `--create` only after reviewing the plan.
|
|
137
|
+
- GitHub auth and SSH diagnostics should identify likely account, scopes, and alias issues. When paths contain spaces, Quiver prints copy-safe examples for macOS/Linux, Windows PowerShell, Git Bash, and WSL.
|
|
131
138
|
- `quiver:spec:close` refuses dirty or unmerged spec worktrees unless discard behavior is explicitly requested.
|
|
132
139
|
- `npm run smoke:doctor-fixtures` validates the required fixture matrix for doctor, validation, and actionable error coverage in the Quiver source repo.
|
|
133
140
|
- After `init` or `migrate`, Quiver auto-installs itself as a dev dependency. Use `--skip-install` to suppress.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-quiver",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Quiver CLI for scaffolding projects from the packaged template",
|
|
6
6
|
"license": "MIT",
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"quiver:spec:create": "npx create-quiver spec create",
|
|
42
42
|
"quiver:spec:start": "npx create-quiver spec start",
|
|
43
43
|
"quiver:spec:status": "npx create-quiver spec status",
|
|
44
|
+
"quiver:spec:validate": "npx create-quiver spec validate",
|
|
44
45
|
"quiver:spec:close": "npx create-quiver spec close",
|
|
45
46
|
"package:quiver": "bash scripts/package-quiver.sh",
|
|
46
47
|
"smoke:create-quiver": "bash scripts/ci/smoke-create-quiver.sh",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Quiver v26 - 0.12.1 Smoke Hardening
|
|
2
2
|
|
|
3
3
|
**Date:** 2026-05-23
|
|
4
|
-
**Status:** Implemented;
|
|
4
|
+
**Status:** Implemented; shipped in `create-quiver@0.12.1`
|
|
5
5
|
|
|
6
6
|
Slice numbering resets here. This spec intentionally starts at `slice-00`.
|
|
7
7
|
|
|
@@ -134,4 +134,4 @@ The production-readiness review added these constraints:
|
|
|
134
134
|
|
|
135
135
|
## Release Plan
|
|
136
136
|
|
|
137
|
-
This spec
|
|
137
|
+
This spec targeted `0.12.1`, which has been published. Follow-up reliability findings from Pixel Quiver dogfooding are tracked in `specs/quiver-v27-reliability-ai-workflow-hardening/`.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Status - Quiver v26 0.12.1 Smoke Hardening
|
|
2
2
|
|
|
3
|
-
**Overall status:** Slices 00-07 complete;
|
|
3
|
+
**Overall status:** Slices 00-07 complete; shipped in `create-quiver@0.12.1`
|
|
4
4
|
**Created:** 2026-05-23
|
|
5
5
|
**Current slice:** slice-07 completed
|
|
6
6
|
|
|
7
7
|
## Summary
|
|
8
8
|
|
|
9
|
-
This hotfix spec tracks the first-use issues found while smoke testing `create-quiver@0.12.0` from npm.
|
|
9
|
+
This hotfix spec tracks the first-use issues found while smoke testing `create-quiver@0.12.0` from npm. It prepared the `0.12.1` package that was later published.
|
|
10
10
|
|
|
11
11
|
## Slice Status
|
|
12
12
|
|
|
@@ -24,9 +24,9 @@ This hotfix spec tracks the first-use issues found while smoke testing `create-q
|
|
|
24
24
|
## Current Blockers
|
|
25
25
|
|
|
26
26
|
- No local implementation blockers remain.
|
|
27
|
-
- npm publication
|
|
28
|
-
-
|
|
27
|
+
- npm publication for `0.12.1` is complete.
|
|
28
|
+
- Follow-up dogfooding findings are tracked in `specs/quiver-v27-reliability-ai-workflow-hardening/`.
|
|
29
29
|
|
|
30
30
|
## Next Step
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Use v27 for the next reliability hardening cycle.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Audit - v24/v25/v26 Against Pixel Quiver Evidence
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This audit records the starting point for v27. It separates already existing implementation surfaces from behavior that remains partial, fragile, or unproven by the Pixel Quiver dogfooding evidence.
|
|
6
|
+
|
|
7
|
+
## Audited Inputs
|
|
8
|
+
|
|
9
|
+
- `README_FOR_AI.md`
|
|
10
|
+
- `ROADMAP.md`
|
|
11
|
+
- `CHANGELOG.md`
|
|
12
|
+
- `specs/quiver-v24-dx-onboarding-hardening/**`
|
|
13
|
+
- `specs/quiver-v25-ai-first-lifecycle-orchestrator/**`
|
|
14
|
+
- `specs/quiver-v26-0121-smoke-hardening/**`
|
|
15
|
+
- `src/create-quiver/**`
|
|
16
|
+
- `tests/**`
|
|
17
|
+
- Pixel Quiver evidence files containing `QP-001..QP-019` and `QIS-001..QIS-022`
|
|
18
|
+
|
|
19
|
+
## Existing Coverage Observed
|
|
20
|
+
|
|
21
|
+
The current repository already contains implementation and tests in several areas that v27 must reuse instead of rebuilding from scratch:
|
|
22
|
+
|
|
23
|
+
| Area | Existing evidence in repo |
|
|
24
|
+
|---|---|
|
|
25
|
+
| `flow`, onboarding, and first-use guidance | `src/create-quiver/commands/flow.js`, `tests/commands/flow.test.js`, v24/v25/v26 docs. |
|
|
26
|
+
| Context analysis and context preparation | `src/create-quiver/commands/analyze.js`, `src/create-quiver/commands/prepare-context.js`, `tests/commands/analyze.test.js`, `tests/commands/prepare-context.test.js`. |
|
|
27
|
+
| Doctor diagnostics | `src/create-quiver/commands/doctor.js`, `tests/commands/doctor.test.js`, doctor fixture scripts. |
|
|
28
|
+
| AI lifecycle commands | `src/create-quiver/commands/ai-onboard.js`, `ai-plan.js`, `ai-revise.js`, `ai-approve.js`, `ai-execute-plan.js`, `ai-export.js`, and related tests. |
|
|
29
|
+
| AI export/state helpers | `src/create-quiver/lib/ai/export-state.js`, `tests/lib/ai-export-state.test.js`, `tests/commands/ai-export.test.js`. |
|
|
30
|
+
| Spec and worktree lifecycle | `src/create-quiver/commands/spec-create.js`, `spec-start.js`, `spec-status.js`, `spec-close.js`, `src/create-quiver/lib/spec-worktrees.js`, related command tests. |
|
|
31
|
+
| Scope, slice, handoff, and path validation | `src/create-quiver/commands/check-scope.js`, `check-slice.js`, `check-handoff.js`, `src/create-quiver/lib/scope.js`, `handoff.js`, `paths.js`, related tests. |
|
|
32
|
+
| Evidence redaction and package safety | `src/create-quiver/lib/evidence.js`, `tests/lib/evidence.test.js`, `tests/lib/package-safety.test.js`. |
|
|
33
|
+
| Cross-platform path handling | `tests/lib/paths.test.js` includes Windows-style path normalization and project-root safety coverage. |
|
|
34
|
+
|
|
35
|
+
## Dogfooding Gaps Still Requiring v27 Work
|
|
36
|
+
|
|
37
|
+
| Gap | Evidence | Why existing coverage is not enough |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| Classic and AI commands still disagree on completed slices. | QP-003, QIS-006 | Tests cover command names and helper output, but Pixel Quiver showed inconsistent lifecycle state across `plan --include-completed`, `ai inspect`, and `ai export`. |
|
|
40
|
+
| JSON export is not stable enough for dashboards. | QP-019, QIS-004, QIS-022 | Existing `ai export` support exists, but the dashboard contract needs schema versioning, source metadata, lifecycle data, agents, runs, approvals, blockers, evidence, aggregates, and pure stdout JSON. |
|
|
41
|
+
| `spec create` can ignore approved plan structure. | QP-011, QP-012, QIS-014, QIS-015 | Existing spec creation exists, but approved technical-plan parsing, structured slice validation, deterministic naming, and safe failure cleanup need direct regression fixtures. |
|
|
42
|
+
| AI artifacts can contain prompt echo or raw provider noise. | QP-010, QIS-013 | Existing AI commands do not fully prove clean draft/raw transcript separation for real provider-style output. |
|
|
43
|
+
| Revision feedback can exceed context limits. | QP-009, QIS-012 | Token compaction and safe refusal need explicit behavior before provider overflow. |
|
|
44
|
+
| Worktree lifecycle needs persistent one-spec behavior and recovery. | QP-018, QIS-021 | Worktree helpers exist, but dogfooding showed nested/conflicting worktree confusion and missing recovery guidance. |
|
|
45
|
+
| Validation gates miss execution preconditions. | QP-013, QP-016, QP-017, QIS-003, QIS-016, QIS-019, QIS-020 | Existing validation commands exist, but they must align with actual execution needs, base branch resolution, handoff templates, and strict spec validation. |
|
|
46
|
+
| `analyze --dry-run` must be strictly read-only and stack detection must improve. | QP-005, QP-014, QIS-007, QIS-017 | Analyzer tests exist, but v27 needs mutation guards and React/Vite fixtures based on dogfooding failures. |
|
|
47
|
+
| `flow`, `doctor`, and `prepare-context` must use current resolver state. | QP-001, QP-006, QP-015, QIS-001, QIS-008, QIS-018 | Existing diagnostics exist, but stale examples and missing evidence-backed next steps remain a real-world problem. |
|
|
48
|
+
| Cross-platform help and GitHub auth guidance are incomplete. | QP-002, QP-004, QP-007, QIS-002, QIS-009, QIS-010, QIS-011 | Existing docs/help exist, but they must be more explicit for Windows/macOS/Linux, `gh`, aliases, and AI agent setup dry-runs. |
|
|
49
|
+
|
|
50
|
+
## Source-of-Truth Sync
|
|
51
|
+
|
|
52
|
+
`README_FOR_AI.md`, `ROADMAP.md`, and `CHANGELOG.md` were updated before implementation started so they do not describe v27 as already released.
|
|
53
|
+
|
|
54
|
+
The current sync decision is:
|
|
55
|
+
|
|
56
|
+
- v26 / `0.12.1` is shipped.
|
|
57
|
+
- v27 is active/planned implementation work.
|
|
58
|
+
- v27 must not be described as published until release smoke and npm publication happen.
|
|
59
|
+
|
|
60
|
+
## Implementation Guidance
|
|
61
|
+
|
|
62
|
+
- Treat v24/v25/v26 as prior art, not proof of closure.
|
|
63
|
+
- Prefer extending existing commands and tests over creating duplicate lifecycle paths.
|
|
64
|
+
- Add dogfooding fixtures that reproduce the Pixel Quiver failures in sanitized form.
|
|
65
|
+
- Keep compatibility where users may depend on existing command names.
|
|
66
|
+
- Introduce shared contracts first, then command-specific behavior.
|
|
67
|
+
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Command Contracts - Quiver v27 Reliability and AI Workflow Hardening
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
These contracts apply to every command touched by v27. A slice may add stricter behavior, but it must not weaken these defaults without documenting a migration path.
|
|
6
|
+
|
|
7
|
+
## Output Streams
|
|
8
|
+
|
|
9
|
+
- Human-readable progress, hints, warnings, and debug text go to `stderr` when `--format json` is used.
|
|
10
|
+
- Machine-readable JSON goes to `stdout` only.
|
|
11
|
+
- A successful JSON command must produce valid JSON parseable without stripping banners, logs, colors, prompts, or extra lines.
|
|
12
|
+
- Non-JSON human commands may use `stdout` for primary content and `stderr` for warnings/errors.
|
|
13
|
+
- Error details must be actionable and include the command area, failing precondition, and next safe step when known.
|
|
14
|
+
|
|
15
|
+
## Exit Codes
|
|
16
|
+
|
|
17
|
+
| Code | Meaning |
|
|
18
|
+
|---:|---|
|
|
19
|
+
| 0 | Success. Requested operation completed or dry-run was valid. |
|
|
20
|
+
| 1 | General command failure with no more specific category. |
|
|
21
|
+
| 2 | Invalid user input, unsupported option, missing required argument, or schema validation failure. |
|
|
22
|
+
| 3 | Unsafe repository state, missing dependency, dirty worktree, stale lock, or failed precondition. |
|
|
23
|
+
| 4 | External tool/provider failure, including AI provider, `gh`, git, npm, or package manager failures. |
|
|
24
|
+
| 5 | Partial state was detected and recovery is required. The command must report exact files/state involved. |
|
|
25
|
+
|
|
26
|
+
## Dry-Run
|
|
27
|
+
|
|
28
|
+
- `--dry-run` is strictly read-only.
|
|
29
|
+
- A dry-run command must not write, create, delete, rename, stage, commit, or modify files anywhere in the repository.
|
|
30
|
+
- This includes `.quiver/`, `docs/`, `specs/`, generated logs, cache files, lock files, and package artifacts.
|
|
31
|
+
- Dry-run output must clearly state what would change, where it would be written, and which validations would run.
|
|
32
|
+
- If a command cannot guarantee read-only behavior, it must fail before doing work and explain why dry-run is unsupported.
|
|
33
|
+
|
|
34
|
+
## Write Classes
|
|
35
|
+
|
|
36
|
+
Every writing command must fit one of these classes:
|
|
37
|
+
|
|
38
|
+
| Class | Meaning | Requirements |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| inspect | Read-only command. | Must not write. Supports JSON when useful. |
|
|
41
|
+
| generate | Creates new files from validated input. | Must preflight collisions and fail atomically where possible. |
|
|
42
|
+
| update | Modifies existing files or state. | Must backup or preserve recoverable previous valid state when practical. |
|
|
43
|
+
| execute | Performs implementation or lifecycle action. | Must validate dependencies, scope, git state, and target worktree first. |
|
|
44
|
+
| external | Calls git, GitHub, package manager, or AI provider. | Must report external command failure clearly and preserve local state. |
|
|
45
|
+
|
|
46
|
+
## Atomicity and Partial State
|
|
47
|
+
|
|
48
|
+
- Commands that write multiple files must validate all inputs before the first write whenever possible.
|
|
49
|
+
- If partial writes can occur, the command must report exactly which files were written and how to recover.
|
|
50
|
+
- Failed generation must not leave empty directories unless they are explicitly reported as recoverable partial state.
|
|
51
|
+
- Existing valid files must not be replaced with invalid output.
|
|
52
|
+
|
|
53
|
+
## Idempotency
|
|
54
|
+
|
|
55
|
+
- Re-running a successful command with the same inputs should either produce the same result or report that no change is needed.
|
|
56
|
+
- Collision handling must be deterministic and documented.
|
|
57
|
+
- Commands that create slugs, spec ids, slice ids, branches, or worktree paths must use stable generation rules.
|
|
58
|
+
|
|
59
|
+
## Path Safety
|
|
60
|
+
|
|
61
|
+
- All write paths must resolve inside the project root unless the command explicitly documents an external target.
|
|
62
|
+
- Path traversal (`..`), symlink escape, absolute-path injection, and writing into parent directories must be rejected.
|
|
63
|
+
- Paths printed in help or next-step examples must be copy-safe when project paths include spaces.
|
|
64
|
+
- Shell examples must be safe for the target shell family: macOS/Linux POSIX shells, Windows PowerShell, Git Bash, and WSL.
|
|
65
|
+
|
|
66
|
+
## Root Detection
|
|
67
|
+
|
|
68
|
+
- Commands must resolve and report the project root used for reads and writes.
|
|
69
|
+
- Running from a subdirectory, a worktree, or a simple monorepo package must produce deterministic root resolution.
|
|
70
|
+
- If multiple plausible roots exist, the command must stop and ask for an explicit root or print the safe command to run.
|
|
71
|
+
|
|
72
|
+
## Package Manager Detection
|
|
73
|
+
|
|
74
|
+
- Quiver must prefer the package manager indicated by lockfiles and package metadata.
|
|
75
|
+
- Detection priority must be deterministic and documented.
|
|
76
|
+
- Suggested commands must match the detected package manager: npm, pnpm, yarn, or bun.
|
|
77
|
+
- If detection is ambiguous, Quiver must report the ambiguity and use the safest explicit command form.
|
|
78
|
+
|
|
79
|
+
## Deterministic Ordering
|
|
80
|
+
|
|
81
|
+
- JSON arrays for specs, slices, agents, runs, approvals, blockers, evidence, and next steps must be sorted deterministically.
|
|
82
|
+
- Stable order should prefer declared dependency order, numeric slice order, created timestamp, and then id as a tiebreaker.
|
|
83
|
+
- Human summaries must follow the same order where practical.
|
|
84
|
+
|
|
85
|
+
## Status Catalogs
|
|
86
|
+
|
|
87
|
+
Commands must use shared canonical statuses from the resolver once slice-01 introduces them. Until then, commands must not invent one-off lifecycle names.
|
|
88
|
+
|
|
89
|
+
Minimum canonical families:
|
|
90
|
+
|
|
91
|
+
- Spec: `draft`, `planned`, `approved`, `in-progress`, `blocked`, `review`, `done`, `archived`
|
|
92
|
+
- Slice: `planned`, `ready`, `in-progress`, `blocked`, `review`, `completed`, `skipped`
|
|
93
|
+
- Run: `draft`, `waiting-approval`, `approved`, `running`, `blocked`, `done`, `failed`
|
|
94
|
+
- Agent: `idle`, `planning`, `reading`, `coding`, `reviewing`, `blocked`, `waiting-approval`, `done`
|
|
95
|
+
- Approval: `pending`, `approved`, `rejected`, `superseded`
|
|
96
|
+
|
|
97
|
+
## JSON Schema and Versioning
|
|
98
|
+
|
|
99
|
+
- Machine-readable exports must include `schema_version`.
|
|
100
|
+
- Breaking changes require a new schema version and migration guidance.
|
|
101
|
+
- Payloads must include `generated_at`, `project_root`, `source`, and `warnings`.
|
|
102
|
+
- Optional fields must be present as empty arrays/objects when that makes downstream parsing simpler and stable.
|
|
103
|
+
|
|
104
|
+
## Legacy and Strict Modes
|
|
105
|
+
|
|
106
|
+
- Existing commands should preserve legacy behavior by default when changing output would break users.
|
|
107
|
+
- New strict behavior may be introduced behind explicit flags or by adding new command variants.
|
|
108
|
+
- When legacy behavior is used, output should point to the stricter command or flag where appropriate.
|
|
109
|
+
|
|
110
|
+
## Security and Redaction
|
|
111
|
+
|
|
112
|
+
- Secrets, tokens, auth headers, provider keys, private URLs, and unnecessary absolute local paths must be redacted from committed fixtures and generated evidence.
|
|
113
|
+
- Raw AI transcripts must be stored separately from clean drafts.
|
|
114
|
+
- Redaction must happen before writing logs that may be committed.
|
|
115
|
+
|
|
116
|
+
## Validation Expectations
|
|
117
|
+
|
|
118
|
+
Each implementation slice must add or update tests for the contracts it touches. At minimum:
|
|
119
|
+
|
|
120
|
+
- Successful `--format json` output parses as JSON.
|
|
121
|
+
- Failing commands write diagnostics to `stderr` and exit non-zero.
|
|
122
|
+
- Dry-run commands leave the git diff unchanged.
|
|
123
|
+
- Path safety rejects writes outside the project root.
|
|
124
|
+
- Fixtures preserve deterministic order.
|
|
125
|
+
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Coverage Matrix - Quiver v27 Reliability and AI Workflow Hardening
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This matrix maps every Pixel Quiver dogfooding problem (`QP-*`) and improvement suggestion (`QIS-*`) to the v27 implementation slice that must close it.
|
|
6
|
+
|
|
7
|
+
The source files are evidence inputs, not fixtures. Do not copy unsanitized local paths, user names, command output, or project-specific data into committed fixtures without explicit sanitization.
|
|
8
|
+
|
|
9
|
+
## Problem Coverage
|
|
10
|
+
|
|
11
|
+
| Evidence | Area | Primary Slice | Risk if missed | Validation strategy |
|
|
12
|
+
|---|---|---|---|---|
|
|
13
|
+
| QP-001 | `flow` source discovery and stale examples | slice-07 | Users and agents follow incorrect next steps. | Fixture with current and stale spec state; `flow` output checked against resolver state. |
|
|
14
|
+
| QP-002 | Paths with spaces and copy-safe examples | slice-08 | Commands fail in common macOS/Linux/Windows project paths. | Cross-platform path formatting snapshots for macOS, Linux, PowerShell, Git Bash, and WSL examples. |
|
|
15
|
+
| QP-003 | Classic and AI commands disagree about completed slices | slice-01, slice-02 | Agents act on incomplete or stale lifecycle state. | Shared resolver tests plus export tests with completed, planned, blocked, and active slices. |
|
|
16
|
+
| QP-004 | GitHub authentication and alias guidance | slice-08 | PR creation or preflight fails late with unclear recovery. | `ai doctor` and PR preflight fixtures for missing `gh`, wrong account, missing scopes, and alias expectations. |
|
|
17
|
+
| QP-005 | Analyzer misdetects React/Vite context | slice-07 | Context docs are wrong, causing bad onboarding and bad prompts. | React/Vite fixture with expected stack detection and no false Vue classification. |
|
|
18
|
+
| QP-006 | `prepare-context` lacks evidence and next-step clarity | slice-07 | Agents cannot trust generated context or understand what to do next. | Snapshot output includes evidence, stale/missing docs, and next safe command. |
|
|
19
|
+
| QP-007 | Agent docs gaps and missing prompts | slice-07, slice-08 | Users manually invent onboarding and execution prompts. | Docs/help tests confirm planner, executor, and handoff guidance exists and links to generated files. |
|
|
20
|
+
| QP-008 | Source-of-truth docs drift | slice-00, slice-07 | README, roadmap, and AI docs contradict product state. | Documentation audit plus docs sync checks in final release slice. |
|
|
21
|
+
| QP-009 | `ai revise` grows context without compaction | slice-04 | Planner calls exceed provider limits or waste tokens. | Token-limit fixture validates compacted feedback or safe refusal before provider overflow. |
|
|
22
|
+
| QP-010 | Prompt echo and raw logs mix into final drafts | slice-04 | Specs and plans contain unusable provider noise. | AI artifact fixture separates clean draft from raw transcript and redacts secrets. |
|
|
23
|
+
| QP-011 | `spec create` ignores approved plan structure | slice-03 | Quiver creates generic or incomplete scaffolds after approval. | Approved-plan fixture creates expected spec, slices, handoffs, execution plan, and PR body. |
|
|
24
|
+
| QP-012 | Failed `spec create` leaves empty dirs | slice-03 | Repo state becomes dirty and confusing after failure. | Failure fixture asserts no partial writes or exact recovery report. |
|
|
25
|
+
| QP-013 | `check-slice --local` misses execution preconditions | slice-06 | Later execution fails after a passing local check. | Local check fixture validates required git, worktree, brief, dependency, and scope preconditions or lists skipped checks. |
|
|
26
|
+
| QP-014 | `analyze --dry-run` writes files | slice-07 | Users cannot safely inspect impact before generating docs. | Dry-run test asserts no file changes, including `.quiver/`, `docs/`, and `specs/`. |
|
|
27
|
+
| QP-015 | `doctor` points to wrong spec/slice examples | slice-07 | First-use guidance sends users to stale work. | Doctor fixture derives active spec/slice from resolver state. |
|
|
28
|
+
| QP-016 | `check-scope` assumes wrong base branch | slice-06 | Valid branches fail scope checks or bad diffs are compared. | Scope fixtures cover `--base`, `git.base_branch`, remote default, and fallback order. |
|
|
29
|
+
| QP-017 | `check-handoff` missing actionable template/aliases | slice-06 | Users cannot quickly fix invalid briefs. | Handoff fixture prints missing headings, minimal template, and supported aliases. |
|
|
30
|
+
| QP-018 | Worktree lifecycle causes nested/conflicting worktrees | slice-05 | Spec work becomes scattered, dirty, or unsafe to merge. | Worktree fixtures cover persistent spec worktree, locks, stale state, dirty state, and recovery. |
|
|
31
|
+
| QP-019 | JSON export not dashboard-ready | slice-02 | UIs and agents need custom parsing or cannot consume Quiver state. | JSON schema and fixture parse tests with deterministic output. |
|
|
32
|
+
|
|
33
|
+
## Suggestion Coverage
|
|
34
|
+
|
|
35
|
+
| Evidence | Area | Primary Slice | Risk if missed | Validation strategy |
|
|
36
|
+
|---|---|---|---|---|
|
|
37
|
+
| QIS-001 | Improve `flow` source references | slice-07 | Flow output remains untrustworthy. | Flow snapshot includes source file, status, and active target. |
|
|
38
|
+
| QIS-002 | Quote/copy-safe command examples | slice-08 | Users with spaces in paths hit preventable failures. | Help snapshot validates quoted examples per shell family. |
|
|
39
|
+
| QIS-003 | Add/strengthen `spec validate` | slice-06 | Broken specs/slices pass until later commands fail. | Spec validation fixture covers schema, dependencies, briefs, worktree hints, and source metadata. |
|
|
40
|
+
| QIS-004 | Export canonical dashboard data | slice-02 | Dashboard and agents keep using unstable ad-hoc output. | Export schema fixture validates required top-level datasets and aggregates. |
|
|
41
|
+
| QIS-005 | Generate executor handoff packages | slice-06 | Executors need too much context and burn tokens. | Handoff package fixture includes only selected slice, briefs, constraints, evidence, and validation commands. |
|
|
42
|
+
| QIS-006 | One resolver for classic and AI commands | slice-01 | Commands keep disagreeing about lifecycle state. | Unit tests require classic and AI command adapters to consume the same resolver output. |
|
|
43
|
+
| QIS-007 | Improve framework detection | slice-07 | Context docs misrepresent stack and workflow. | Analyzer fixtures for React/Vite, package-manager variants, and unknown stack. |
|
|
44
|
+
| QIS-008 | Evidence-backed context generation | slice-07 | Generated docs cannot be trusted or maintained. | `prepare-context` output references source files and marks assumptions. |
|
|
45
|
+
| QIS-009 | GitHub/PR readiness diagnostics | slice-08 | PR creation fails late. | Doctor/preflight output includes `gh`, auth, account, scopes, alias, remote, and next action. |
|
|
46
|
+
| QIS-010 | Agent onboarding guide | slice-07, slice-08 | Users manually paste long prompts repeatedly. | README/help docs expose planner/executor/doctor/reviewer flows with minimal-context guidance. |
|
|
47
|
+
| QIS-011 | `ai agent set --dry-run` or equivalent preflight | slice-08 | Users configure agents without seeing effect or missing dependencies. | Dry-run setup output lists provider command, availability, and files that would change without writing. |
|
|
48
|
+
| QIS-012 | Token compaction for revisions | slice-04 | Iteration becomes expensive and brittle. | Revision fixture compacts accepted history and preserves required decisions. |
|
|
49
|
+
| QIS-013 | Separate clean draft and raw transcript | slice-04 | Prompt echo corrupts committed docs. | Artifact tests assert separate files and redacted raw output. |
|
|
50
|
+
| QIS-014 | Approved-plan parser | slice-03 | Structured human approvals cannot become accurate slices. | Parser fixtures cover valid, invalid, partial, and ambiguous slice blocks. |
|
|
51
|
+
| QIS-015 | Deterministic slug/path generation | slice-03 | Repeated `spec create` creates inconsistent names or collisions. | Slug fixtures cover accents, spaces, punctuation, long titles, and collisions. |
|
|
52
|
+
| QIS-016 | Stronger slice execution gate | slice-06 | Execution starts with missing dependencies or invalid scope. | `start-slice`/`check-slice` fixture blocks unsafe execution and prints recovery. |
|
|
53
|
+
| QIS-017 | Strict dry-run contract | slice-07 | Trust in Quiver inspection commands is lost. | Dry-run mutation guard across analysis/context commands. |
|
|
54
|
+
| QIS-018 | Doctor active-state awareness | slice-07 | Doctor suggests stale examples. | Doctor fixture uses resolver current state and reports stale docs. |
|
|
55
|
+
| QIS-019 | Base branch configuration | slice-06 | Scope checks fail in repos using `main`, `develop`, or custom branches. | Base resolution fixture covers CLI option, slice config, git config, remote HEAD, fallback. |
|
|
56
|
+
| QIS-020 | Handoff template guidance | slice-06 | Invalid briefs are hard to fix. | `check-handoff` output includes minimal copyable template. |
|
|
57
|
+
| QIS-021 | Persistent spec worktree lifecycle | slice-05 | One-spec-per-worktree model remains manual and error-prone. | Worktree commands create/reuse/report one persistent worktree per spec. |
|
|
58
|
+
| QIS-022 | Machine-readable output contract | slice-02 | Agents cannot parse command output safely. | `--format json` tests validate stdout-only JSON, stderr diagnostics, schema versioning, and deterministic ordering. |
|
|
59
|
+
|
|
60
|
+
## Slice Responsibility Summary
|
|
61
|
+
|
|
62
|
+
| Slice | Responsibility |
|
|
63
|
+
|---|---|
|
|
64
|
+
| slice-00 | Documentary foundation, evidence mapping, command contracts, v24/v25/v26 audit. |
|
|
65
|
+
| slice-01 | Shared state resolver and canonical statuses for specs, slices, runs, approvals, agents, evidence, and worktrees. |
|
|
66
|
+
| slice-02 | Stable JSON export and pure machine-readable command output. |
|
|
67
|
+
| slice-03 | Approved technical plan parsing and reliable spec/slice generation. |
|
|
68
|
+
| slice-04 | AI draft storage, raw logs, redaction, and token compaction. |
|
|
69
|
+
| slice-05 | Persistent spec worktree lifecycle, locks, recovery, and no nested worktrees. |
|
|
70
|
+
| slice-06 | Validation gates, scope safety, handoff packages, and local execution preconditions. |
|
|
71
|
+
| slice-07 | Context analysis, prepare-context, flow, doctor, dry-run safety, and source-backed docs. |
|
|
72
|
+
| slice-08 | Cross-platform help, GitHub auth, agent setup guidance, and first-use DX. |
|
|
73
|
+
| slice-09 | Fixtures, smoke tests, docs sync, package smoke, and release readiness. |
|
|
74
|
+
|