create-quiver 0.10.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BACKLOG.md +16 -17
- package/CHANGELOG.md +78 -0
- package/README.md +208 -41
- package/README_FOR_AI.md +50 -24
- package/ROADMAP.md +34 -11
- package/docs/AI_CONTEXT.md.template +2 -0
- package/docs/AI_ONBOARDING_PROMPT.md.template +31 -18
- package/docs/COMMANDS.md.template +90 -16
- package/docs/CONTEXTO.md.template +2 -0
- package/docs/DECISIONS.md.template +1 -0
- package/docs/INDEX.md.template +20 -18
- package/docs/STATUS.md.template +6 -1
- package/docs/SUPPORT_MATRIX.md.template +2 -2
- package/docs/TROUBLESHOOTING.md.template +50 -0
- package/docs/WORKFLOW.md.template +27 -17
- package/package.json +27 -4
- package/package.template.json +13 -1
- package/scripts/init-docs.sh +11 -4
- package/scripts/package-quiver.sh +18 -2
- package/specs/quiver-v22-guided-ai-workflow/EVIDENCE_REPORT.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/EXECUTION_PLAN.md +88 -0
- package/specs/quiver-v22-guided-ai-workflow/SPEC.md +228 -0
- package/specs/quiver-v22-guided-ai-workflow/STATUS.md +42 -0
- package/specs/quiver-v22-guided-ai-workflow/pr.md +104 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/slice.json +55 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/slice.json +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/slice.json +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/slice.json +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/slice.json +54 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/slice.json +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/slice.json +55 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/slice.json +53 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/slice.json +59 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/slice.json +60 -0
- package/specs/quiver-v23-guided-flow-productization/EVIDENCE_REPORT.md +80 -0
- package/specs/quiver-v23-guided-flow-productization/EXECUTION_PLAN.md +80 -0
- package/specs/quiver-v23-guided-flow-productization/SPEC.md +203 -0
- package/specs/quiver-v23-guided-flow-productization/STATUS.md +39 -0
- package/specs/quiver-v23-guided-flow-productization/pr.md +119 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/EXECUTION_BRIEF.md +35 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/slice.json +56 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/slice.json +54 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/slice.json +59 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/slice.json +53 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/slice.json +54 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/EXECUTION_BRIEF.md +34 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/slice.json +57 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/slice.json +63 -0
- package/specs/quiver-v24-dx-onboarding-hardening/EVIDENCE_REPORT.md +55 -0
- package/specs/quiver-v24-dx-onboarding-hardening/EXECUTION_PLAN.md +43 -0
- package/specs/quiver-v24-dx-onboarding-hardening/SPEC.md +149 -0
- package/specs/quiver-v24-dx-onboarding-hardening/STATUS.md +31 -0
- package/specs/quiver-v24-dx-onboarding-hardening/pr.md +76 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/slice.json +55 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/slice.json +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/slice.json +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/slice.json +70 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/slice.json +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/CLOSURE_BRIEF.md +43 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/slice.json +60 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/slice.json +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/slice.json +54 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/slice.json +59 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/slice.json +76 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/EVIDENCE_REPORT.md +293 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/EXECUTION_PLAN.md +58 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/SPEC.md +242 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/STATUS.md +35 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/pr.md +77 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/slice.json +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/CLOSURE_BRIEF.md +43 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/slice.json +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/slice.json +53 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/slice.json +55 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/CLOSURE_BRIEF.md +39 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/slice.json +53 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/CLOSURE_BRIEF.md +39 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/slice.json +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/slice.json +53 -0
- package/specs/quiver-v26-0121-smoke-hardening/EVIDENCE_REPORT.md +208 -0
- package/specs/quiver-v26-0121-smoke-hardening/EXECUTION_PLAN.md +57 -0
- package/specs/quiver-v26-0121-smoke-hardening/SPEC.md +137 -0
- package/specs/quiver-v26-0121-smoke-hardening/STATUS.md +32 -0
- package/specs/quiver-v26-0121-smoke-hardening/pr.md +96 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/slice.json +73 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/slice.json +76 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/CLOSURE_BRIEF.md +37 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/slice.json +75 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/CLOSURE_BRIEF.md +37 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/slice.json +77 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/slice.json +77 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/slice.json +84 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/slice.json +82 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/slice.json +92 -0
- package/src/create-quiver/commands/ai.js +1060 -37
- package/src/create-quiver/commands/demo.js +22 -0
- package/src/create-quiver/commands/evidence.js +37 -0
- package/src/create-quiver/commands/flow.js +562 -0
- package/src/create-quiver/commands/graph.js +19 -4
- package/src/create-quiver/commands/next.js +28 -0
- package/src/create-quiver/commands/plan.js +9 -6
- package/src/create-quiver/commands/prepare.js +236 -0
- package/src/create-quiver/commands/spec.js +133 -0
- package/src/create-quiver/index.js +1010 -31
- package/src/create-quiver/lib/actionable-error.js +27 -0
- package/src/create-quiver/lib/agent-profiles.js +148 -0
- package/src/create-quiver/lib/ai/context-packs.js +16 -0
- package/src/create-quiver/lib/ai/execution-plan.js +377 -11
- package/src/create-quiver/lib/ai/executor.js +633 -24
- package/src/create-quiver/lib/ai/export-state.js +534 -0
- package/src/create-quiver/lib/ai/github.js +279 -0
- package/src/create-quiver/lib/ai/onboarding-template.js +578 -0
- package/src/create-quiver/lib/ai/plan-review.js +286 -0
- package/src/create-quiver/lib/ai/providers.js +5 -3
- package/src/create-quiver/lib/ai/run-state.js +414 -0
- package/src/create-quiver/lib/ai/safety.js +5 -0
- package/src/create-quiver/lib/ai/spec-generator.js +12 -0
- package/src/create-quiver/lib/ai/spec-templates.js +80 -11
- package/src/create-quiver/lib/approvals.js +369 -0
- package/src/create-quiver/lib/demo.js +832 -0
- package/src/create-quiver/lib/doctor.js +309 -0
- package/src/create-quiver/lib/evidence.js +115 -0
- package/src/create-quiver/lib/handoff.js +81 -12
- package/src/create-quiver/lib/init-docs.js +302 -17
- package/src/create-quiver/lib/init-layout.js +34 -1
- package/src/create-quiver/lib/json.js +53 -3
- package/src/create-quiver/lib/lifecycle.js +6 -0
- package/src/create-quiver/lib/package-safety.js +117 -0
- package/src/create-quiver/lib/readiness.js +103 -21
- package/src/create-quiver/lib/scope.js +50 -7
- package/src/create-quiver/lib/slice-graph.js +138 -37
- package/src/create-quiver/lib/slice.js +14 -9
- package/src/create-quiver/lib/spec-worktrees.js +363 -0
|
@@ -44,6 +44,56 @@ Use this guide when a first-run bootstrap or gate check fails. The recovery path
|
|
|
44
44
|
2. Re-add the remote only if the workflow genuinely needs it.
|
|
45
45
|
3. Prefer the local base branch path when validating first-run behavior.
|
|
46
46
|
|
|
47
|
+
## Local Slice Validation In A New Repo
|
|
48
|
+
|
|
49
|
+
### Symptom
|
|
50
|
+
|
|
51
|
+
- `check-slice` asks for a remote/base branch while the repo is still local-only
|
|
52
|
+
|
|
53
|
+
### Recovery
|
|
54
|
+
|
|
55
|
+
1. Run `npx create-quiver check-slice --local <slice.json>` for structural validation.
|
|
56
|
+
2. Before PR readiness, run normal `check-slice <slice.json>` with a local base branch, `--base <branch>`, or a configured remote.
|
|
57
|
+
3. Treat `--local` as a first-use validation mode, not as a replacement for PR checks.
|
|
58
|
+
|
|
59
|
+
## Context Preparation Overwrites Docs
|
|
60
|
+
|
|
61
|
+
### Symptom
|
|
62
|
+
|
|
63
|
+
- `ai prepare-context` wrote generated context docs and you expected only a preview
|
|
64
|
+
|
|
65
|
+
### Recovery
|
|
66
|
+
|
|
67
|
+
1. Use `npx create-quiver ai prepare-context --dry-run` first.
|
|
68
|
+
2. Review assumptions, risks, files considered, and omitted paths.
|
|
69
|
+
3. Commit or preserve any manual edits before running write mode.
|
|
70
|
+
4. Write mode is intentionally limited to approved docs/context files and does not touch product code.
|
|
71
|
+
|
|
72
|
+
## Evidence Contains Sensitive Output
|
|
73
|
+
|
|
74
|
+
### Symptom
|
|
75
|
+
|
|
76
|
+
- `evidence run` captured output that may include secrets
|
|
77
|
+
|
|
78
|
+
### Recovery
|
|
79
|
+
|
|
80
|
+
1. Treat redaction as best effort, not a secret scanner.
|
|
81
|
+
2. Avoid running commands that intentionally print credentials.
|
|
82
|
+
3. Delete or rewrite the local evidence file before sharing it if sensitive output remains.
|
|
83
|
+
4. Prefer `--max-output <n>` for noisy commands.
|
|
84
|
+
|
|
85
|
+
## Demo Scaffold Conflict
|
|
86
|
+
|
|
87
|
+
### Symptom
|
|
88
|
+
|
|
89
|
+
- `demo create spec-viewer` reports preserved files in the target directory
|
|
90
|
+
|
|
91
|
+
### Recovery
|
|
92
|
+
|
|
93
|
+
1. Re-run with `--dry-run` and inspect the planned preserve/create list.
|
|
94
|
+
2. Use `--dir <empty-target>` when you want a clean demo.
|
|
95
|
+
3. Existing files are preserved; Quiver does not overwrite them for the demo.
|
|
96
|
+
|
|
47
97
|
## Generated File Conflicts
|
|
48
98
|
|
|
49
99
|
### Symptom
|
|
@@ -9,7 +9,7 @@ This document is the canonical implementation workflow for the project.
|
|
|
9
9
|
- Do not implement without a slice.
|
|
10
10
|
- One slice maps to one commit.
|
|
11
11
|
- One spec maps to one PR.
|
|
12
|
-
- Slice numbering is local to each spec. Every spec starts
|
|
12
|
+
- Slice numbering is local to each spec. Every spec starts with mandatory `slice-00` as the documentary foundation; `slice-01` is the first implementation slice.
|
|
13
13
|
- The spec defines the plan; the slice defines the execution.
|
|
14
14
|
- No slice should enter execution until it is `ready`.
|
|
15
15
|
- The documentation PR establishes the workflow files before the first slice executes.
|
|
@@ -32,29 +32,39 @@ Use maps, metadata, diffs, and summaries first. Open full files only when the sm
|
|
|
32
32
|
|
|
33
33
|
## Planning
|
|
34
34
|
|
|
35
|
-
1.
|
|
36
|
-
2.
|
|
37
|
-
3.
|
|
38
|
-
4.
|
|
39
|
-
5.
|
|
40
|
-
6.
|
|
41
|
-
7.
|
|
42
|
-
8.
|
|
43
|
-
9.
|
|
35
|
+
1. Run `npx create-quiver flow` when the next safe command is unclear.
|
|
36
|
+
2. Triage the request.
|
|
37
|
+
3. Save reusable planner/executor provider choices with `ai agent set` when the team has preferred local AI CLIs.
|
|
38
|
+
4. Use `ai plan --phase acceptance` to draft criteria, then save the approved version with `ai approve --phase acceptance`.
|
|
39
|
+
5. Use `ai plan --phase technical-plan` to draft the plan.
|
|
40
|
+
6. Use `ai review-plan` to review the technical-plan draft for production readiness without changing product code.
|
|
41
|
+
7. Save the reviewed plan version with `ai approve --phase technical-plan --version <n>`.
|
|
42
|
+
8. Use `spec create` to generate the spec, mandatory `slice-00`, implementation slices, handoffs, execution plan, and `pr.md`.
|
|
43
|
+
9. Open and merge the documentation PR or commit that establishes `slice-00` before running implementation slices.
|
|
44
|
+
10. Read the AI context pack, support matrix, and troubleshooting guide before the first slice if the environment is new or uncertain.
|
|
45
|
+
11. If the project already existed before this Quiver version, run `migrate` before `analyze`.
|
|
46
|
+
12. If the project was analyzed, read `AI_ONBOARDING_PROMPT.md` before making documentation updates.
|
|
47
|
+
13. Prefer the generated `quiver:*` npm scripts for repeatable project workflows once the package has been initialized or migrated.
|
|
44
48
|
|
|
45
49
|
## Execution
|
|
46
50
|
|
|
47
|
-
1.
|
|
51
|
+
1. Create or reuse the spec worktree with `npx create-quiver spec start specs/<spec-slug>` or `npm run quiver:spec:start -- specs/<spec-slug>`. Use `--dry-run` first when you want to inspect the planned branch/path without changing Git state.
|
|
52
|
+
2. Inspect lifecycle state with `npx create-quiver ai inspect`, or export it with `npx create-quiver ai export --format json` for dashboards/agents and `--format markdown` for PRs/docs.
|
|
53
|
+
3. Inspect manual prompts with `npx create-quiver ai execute-plan --dry-run --commit --mode manual` or delegated waves with `npm run quiver:ai:execute-plan -- --dry-run --commit --mode delegated`.
|
|
54
|
+
4. Print a minimal manual executor prompt with `npx create-quiver ai prompt-slice --slice <slice.json> --dry-run` when assigning the slice to another agent.
|
|
55
|
+
5. Bootstrap a single slice with `npx create-quiver start-slice <slice.json>` or `npm run quiver:start-slice -- <slice.json>` when manual execution is preferred.
|
|
48
56
|
- The bootstrap step should work with canonical paths and a local base branch when `origin` is absent.
|
|
49
57
|
- Draft slices require `--allow-draft`; otherwise `npx create-quiver start-slice` exits before execution.
|
|
50
58
|
- Legacy Bash wrappers remain available for compatibility, but generated projects should prefer the Node CLI and `quiver:*` npm scripts.
|
|
51
59
|
- `start-slice` generates `docs/ai/ACTIVE_SLICE.md` and `WORKTREE_CONTEXT.md`; use the active slice brief as the source of truth for execution.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
6. Implement only what the slice declares.
|
|
61
|
+
7. Make one commit for that slice, or let `ai execute-slice --commit` / `ai execute-plan --execute --commit --mode delegated` create it after provider, branch/worktree, scope, and validation pass.
|
|
62
|
+
- `ai execute-slice` updates `CLOSURE_BRIEF.md`, `EVIDENCE_REPORT.md`, `COMMAND_LOG.md`, `STATUS.md`, and `slice.json` only after the provider changes in-scope files and validation passes.
|
|
63
|
+
8. Validate with `npx create-quiver check-slice <slice.json>` or `npm run quiver:check-slice -- <slice.json>`.
|
|
64
|
+
9. Write evidence. Prefer `npx create-quiver evidence run -- <command>` when you need a compact local Markdown record of validation output.
|
|
65
|
+
10. Repeat for the next slice until the spec is complete.
|
|
66
|
+
11. Open one PR for the spec. Use `npx create-quiver ai pr --dry-run --input specs/<spec-slug>/pr.md --ssh-host-alias <alias> ...` first, then add `--create` only after review. Quiver blocks PR creation while slices in that spec remain open.
|
|
67
|
+
12. After the PR is merged and the spec worktree is clean, close it with `npx create-quiver spec close specs/<spec-slug>`.
|
|
58
68
|
|
|
59
69
|
## Support Contract
|
|
60
70
|
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-quiver",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Quiver CLI for scaffolding projects from the packaged template",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"bin": {
|
|
8
|
-
"create-quiver": "bin/create-quiver.js"
|
|
8
|
+
"create-quiver": "bin/create-quiver.js",
|
|
9
|
+
"quiver": "bin/create-quiver.js"
|
|
9
10
|
},
|
|
10
11
|
"scripts": {
|
|
11
12
|
"check:slice": "bash tools/scripts/check-slice-readiness.sh",
|
|
@@ -13,17 +14,39 @@
|
|
|
13
14
|
"start:slice": "bash tools/scripts/start-slice.sh",
|
|
14
15
|
"cleanup:slice": "bash tools/scripts/cleanup-slice.sh",
|
|
15
16
|
"migrate": "bash tools/scripts/migrate-project.sh",
|
|
16
|
-
"quiver:
|
|
17
|
-
"quiver:
|
|
17
|
+
"quiver:analyze": "npx create-quiver analyze",
|
|
18
|
+
"quiver:flow": "npx create-quiver flow",
|
|
19
|
+
"quiver:prepare": "npx create-quiver prepare",
|
|
20
|
+
"quiver:plan": "node bin/create-quiver.js plan",
|
|
21
|
+
"quiver:graph": "node bin/create-quiver.js graph",
|
|
18
22
|
"quiver:next": "npx create-quiver next",
|
|
23
|
+
"quiver:doctor": "npx create-quiver doctor",
|
|
24
|
+
"quiver:evidence": "npx create-quiver evidence",
|
|
25
|
+
"quiver:ai:agent": "npx create-quiver ai agent",
|
|
26
|
+
"quiver:ai:inspect": "npx create-quiver ai inspect",
|
|
27
|
+
"quiver:ai:export": "npx create-quiver ai export",
|
|
28
|
+
"quiver:ai:specs": "npx create-quiver ai specs list",
|
|
29
|
+
"quiver:ai:slices": "npx create-quiver ai slices list",
|
|
30
|
+
"quiver:ai:trace": "npx create-quiver ai trace report",
|
|
19
31
|
"quiver:ai:onboard": "npx create-quiver ai onboard",
|
|
32
|
+
"quiver:ai:prepare-context": "npx create-quiver ai prepare-context",
|
|
20
33
|
"quiver:ai:plan": "npx create-quiver ai plan",
|
|
34
|
+
"quiver:ai:review-plan": "npx create-quiver ai review-plan",
|
|
35
|
+
"quiver:ai:approve": "npx create-quiver ai approve",
|
|
36
|
+
"quiver:ai:prompt-slice": "npx create-quiver ai prompt-slice",
|
|
21
37
|
"quiver:ai:execute-slice": "npx create-quiver ai execute-slice",
|
|
38
|
+
"quiver:ai:execute-plan": "npx create-quiver ai execute-plan",
|
|
22
39
|
"quiver:ai:pr": "npx create-quiver ai pr",
|
|
23
40
|
"quiver:ai:doctor": "npx create-quiver ai doctor",
|
|
41
|
+
"quiver:spec:create": "npx create-quiver spec create",
|
|
42
|
+
"quiver:spec:start": "npx create-quiver spec start",
|
|
43
|
+
"quiver:spec:status": "npx create-quiver spec status",
|
|
44
|
+
"quiver:spec:close": "npx create-quiver spec close",
|
|
24
45
|
"package:quiver": "bash scripts/package-quiver.sh",
|
|
25
46
|
"smoke:create-quiver": "bash scripts/ci/smoke-create-quiver.sh",
|
|
47
|
+
"smoke:doctor-fixtures": "node scripts/ci/smoke-doctor-fixtures.js",
|
|
26
48
|
"smoke:tiered-pack": "bash scripts/ci/smoke-tiered-pack.sh",
|
|
49
|
+
"smoke:guided-workflow": "bash scripts/ci/smoke-guided-workflow.sh",
|
|
27
50
|
"release:quiver": "bash scripts/release-quiver.sh"
|
|
28
51
|
}
|
|
29
52
|
}
|
package/package.template.json
CHANGED
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "quiver-
|
|
2
|
+
"name": "quiver-project",
|
|
3
3
|
"private": true,
|
|
4
4
|
"scripts": {
|
|
5
5
|
"quiver:migrate": "npx create-quiver migrate",
|
|
6
6
|
"quiver:analyze": "npx create-quiver analyze",
|
|
7
|
+
"quiver:flow": "npx create-quiver flow",
|
|
7
8
|
"quiver:plan": "npx create-quiver plan",
|
|
8
9
|
"quiver:graph": "npx create-quiver graph",
|
|
9
10
|
"quiver:next": "npx create-quiver next",
|
|
10
11
|
"quiver:doctor": "npx create-quiver doctor",
|
|
12
|
+
"quiver:evidence": "npx create-quiver evidence",
|
|
13
|
+
"quiver:ai:agent": "npx create-quiver ai agent",
|
|
11
14
|
"quiver:ai:onboard": "npx create-quiver ai onboard",
|
|
15
|
+
"quiver:ai:prepare-context": "npx create-quiver ai prepare-context",
|
|
12
16
|
"quiver:ai:plan": "npx create-quiver ai plan",
|
|
17
|
+
"quiver:ai:review-plan": "npx create-quiver ai review-plan",
|
|
18
|
+
"quiver:ai:approve": "npx create-quiver ai approve",
|
|
19
|
+
"quiver:ai:prompt-slice": "npx create-quiver ai prompt-slice",
|
|
13
20
|
"quiver:ai:execute-slice": "npx create-quiver ai execute-slice",
|
|
21
|
+
"quiver:ai:execute-plan": "npx create-quiver ai execute-plan",
|
|
14
22
|
"quiver:ai:pr": "npx create-quiver ai pr",
|
|
15
23
|
"quiver:ai:doctor": "npx create-quiver ai doctor",
|
|
24
|
+
"quiver:spec:create": "npx create-quiver spec create",
|
|
25
|
+
"quiver:spec:start": "npx create-quiver spec start",
|
|
26
|
+
"quiver:spec:status": "npx create-quiver spec status",
|
|
27
|
+
"quiver:spec:close": "npx create-quiver spec close",
|
|
16
28
|
"quiver:start-slice": "npx create-quiver start-slice",
|
|
17
29
|
"quiver:check-slice": "npx create-quiver check-slice",
|
|
18
30
|
"quiver:check-pr": "npx create-quiver check-pr",
|
package/scripts/init-docs.sh
CHANGED
|
@@ -522,8 +522,12 @@ Start with dry-runs so you can inspect the provider, role, context pack, and inv
|
|
|
522
522
|
\`\`\`bash
|
|
523
523
|
npm run quiver:ai:onboard -- --dry-run
|
|
524
524
|
npm run quiver:ai:plan -- --phase acceptance --input requirements.md --dry-run
|
|
525
|
-
npm run quiver:ai:
|
|
526
|
-
npm run quiver:ai:plan -- --phase
|
|
525
|
+
npm run quiver:ai:approve -- --phase acceptance --input acceptance-approved.md
|
|
526
|
+
npm run quiver:ai:plan -- --phase technical-plan --dry-run
|
|
527
|
+
npm run quiver:ai:review-plan -- --dry-run
|
|
528
|
+
npm run quiver:ai:approve -- --phase technical-plan --version <n>
|
|
529
|
+
npm run quiver:spec:create -- --dry-run
|
|
530
|
+
npm run quiver:ai:prompt-slice -- --slice specs/<spec-slug>/slices/<slice-id>/slice.json --dry-run
|
|
527
531
|
npm run quiver:ai:pr -- --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work
|
|
528
532
|
\`\`\`
|
|
529
533
|
|
|
@@ -532,7 +536,9 @@ Remove \`--dry-run\` only after the phase output is approved and the local provi
|
|
|
532
536
|
When a real spec exists, execute one approved slice at a time:
|
|
533
537
|
|
|
534
538
|
\`\`\`bash
|
|
539
|
+
npm run quiver:ai:prompt-slice -- --slice specs/<spec-slug>/slices/<slice-id>/slice.json --dry-run
|
|
535
540
|
npm run quiver:ai:execute-slice -- --slice specs/<spec-slug>/slices/<slice-id>/slice.json --dry-run
|
|
541
|
+
npm run quiver:ai:execute-plan -- --dry-run --commit --mode delegated
|
|
536
542
|
\`\`\`
|
|
537
543
|
|
|
538
544
|
## Project NPM Scripts
|
|
@@ -547,6 +553,7 @@ npm run quiver:next
|
|
|
547
553
|
npm run quiver:doctor
|
|
548
554
|
npm run quiver:ai:onboard -- --dry-run
|
|
549
555
|
npm run quiver:ai:plan -- --phase acceptance --input requirements.md --dry-run
|
|
556
|
+
npm run quiver:ai:prompt-slice -- --slice specs/<spec-slug>/slices/<slice-id>/slice.json --dry-run
|
|
550
557
|
npm run quiver:ai:execute-slice -- --slice specs/<spec-slug>/slices/<slice-id>/slice.json --dry-run
|
|
551
558
|
npm run quiver:ai:doctor -- --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work
|
|
552
559
|
npm run quiver:ai:pr -- --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work
|
|
@@ -645,7 +652,7 @@ Record durable decisions in \`docs/DECISIONS.md\` so future AI agents do not re-
|
|
|
645
652
|
|
|
646
653
|
## First Slice Workflow
|
|
647
654
|
|
|
648
|
-
Use this section only for the legacy/full scaffold that includes a placeholder spec. In the default AI-first layout, create real specs and slices with \`npx create-quiver
|
|
655
|
+
Use this section only for the legacy/full scaffold that includes a placeholder spec. In the default AI-first layout, create real specs and slices with \`npx create-quiver spec create\` after acceptance criteria are approved and the technical plan is reviewed and approved.
|
|
649
656
|
|
|
650
657
|
1. Review or refine specs/$PROJECT_SLUG/SPEC.md.
|
|
651
658
|
2. Create the first slice from specs/$PROJECT_SLUG/slices/slice-template/slice.json.
|
|
@@ -700,7 +707,7 @@ echo "📝 Próximos pasos:"
|
|
|
700
707
|
echo " 1. Editar docs/AI_CONTEXT.md con el contexto resumido para IA"
|
|
701
708
|
echo " 2. Editar docs/CONTEXTO.md con la información de tu proyecto"
|
|
702
709
|
echo " 3. Editar docs/STATUS.md con el estado actual"
|
|
703
|
-
echo " 4. Para el flujo recomendado, crear specs reales con: npx create-quiver
|
|
710
|
+
echo " 4. Para el flujo recomendado, crear specs reales con: npx create-quiver spec create"
|
|
704
711
|
echo " 5. Usar tools/scripts solo si necesitás compatibilidad legacy"
|
|
705
712
|
echo ""
|
|
706
713
|
echo "📖 Más información:"
|
|
@@ -34,10 +34,26 @@ contents="$(
|
|
|
34
34
|
tar -tzf "$tarball_path"
|
|
35
35
|
)"
|
|
36
36
|
|
|
37
|
+
cd "$repo_root"
|
|
38
|
+
# shellcheck disable=SC2016
|
|
39
|
+
printf '%s\n' "$contents" | node -e '
|
|
40
|
+
const fs = require("node:fs");
|
|
41
|
+
const { assertPackageSafety } = require("./src/create-quiver/lib/package-safety");
|
|
42
|
+
|
|
43
|
+
const paths = fs.readFileSync(0, "utf8").split(/\r?\n/).filter(Boolean);
|
|
44
|
+
|
|
45
|
+
try {
|
|
46
|
+
assertPackageSafety(paths);
|
|
47
|
+
} catch (error) {
|
|
48
|
+
process.stderr.write(`${error.message}\n`);
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
51
|
+
'
|
|
52
|
+
|
|
37
53
|
require_present() {
|
|
38
54
|
local path="$1"
|
|
39
55
|
|
|
40
|
-
if !
|
|
56
|
+
if ! grep -Fxq "$path" <<<"$contents"; then
|
|
41
57
|
echo "FAIL: falta '$path' en el paquete" >&2
|
|
42
58
|
exit 1
|
|
43
59
|
fi
|
|
@@ -46,7 +62,7 @@ require_present() {
|
|
|
46
62
|
require_absent() {
|
|
47
63
|
local path="$1"
|
|
48
64
|
|
|
49
|
-
if
|
|
65
|
+
if grep -Fxq "$path" <<<"$contents"; then
|
|
50
66
|
echo "FAIL: '$path' no debería publicarse en el paquete" >&2
|
|
51
67
|
exit 1
|
|
52
68
|
fi
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Evidence Report - Quiver v22 Guided AI Workflow
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Implementation is completed. Slices `slice-00` through `slice-10` are completed.
|
|
6
|
+
|
|
7
|
+
## Slice Evidence
|
|
8
|
+
|
|
9
|
+
| Slice | Evidence |
|
|
10
|
+
|-------|----------|
|
|
11
|
+
| slice-00 | Spec foundation files created. All `slice.json` files parse successfully and `git diff --check` passed. |
|
|
12
|
+
| slice-01 | Documentation source-of-truth sync completed. README no longer claims `package.json`/CHANGELOG are at 0.9.0, CHANGELOG includes 0.10.0, ROADMAP/BACKLOG distinguish shipped v20/v21 work from the then-active v22 implementation line, and targeted tests passed. |
|
|
13
|
+
| slice-02 | Prepare command implemented with dry-run diagnostics, GitHub CLI guidance, provider CLI guidance, SSH identity/auth recovery steps, and next safe command output. Targeted tests passed. |
|
|
14
|
+
| slice-03 | Analyze now refreshes `docs/AI_CONTEXT.md`, keeps `docs/PROJECT_MAP.md` visible, keeps raw scan under `.quiver/scans/PROJECT_SCAN.json`, summarizes missing/assumed context, and excludes secret/noisy paths from AI-facing context. Targeted tests passed. |
|
|
15
|
+
| slice-04 | Planner approval state implemented under `.quiver/approvals`, with draft persistence, explicit approvals, default use of approved acceptance/technical-plan inputs, `ai approvals` status, and blocking of unapproved/stale inputs. Targeted tests passed. |
|
|
16
|
+
| slice-05 | Spec-level worktree lifecycle implemented with `spec start/status`, safe main/develop base selection, dirty worktree protection, and `slice-00` completion guard for later `start-slice` executions. Targeted tests passed. |
|
|
17
|
+
| slice-06 | `ai execute-slice` now keeps executor context bounded, validates scope, runs declared validation commands, reports retry/abort guidance on failure, and creates exactly one commit when `--commit` is enabled after successful provider, scope, and validation stages. Targeted tests passed. |
|
|
18
|
+
| slice-07 | Execution waves now distinguish parallel-ready groups from sequential fallback, block parallel suggestions on unknown or overlapping file scopes, print dry-run executor commands without provider calls, and support explicit `ai execute-plan --execute --commit` with stop-on-failure behavior. Targeted tests passed. |
|
|
19
|
+
| slice-08 | `ai pr` now validates setup, reads generated `pr.md`, prints a dry-run `gh pr create` plan, and creates the PR only with explicit `--create`. Missing gh/auth/guide/identity/body/dirty state still blocks with guidance. Tests mock gh and real PR creation is not required. |
|
|
20
|
+
| slice-09 | `spec close` now blocks unmerged or dirty spec worktrees, removes merged clean worktrees, and pulls the main checkout when a remote base exists. Package safety now checks npm tarball contents for env files, npm credentials, AI local state, worktree state, and local worktree context before package smoke passes. Targeted tests and package smoke passed. |
|
|
21
|
+
| slice-10 | Final docs and generated templates now present the guided AI workflow as available behavior. Smokes cover prepare, approvals, execution waves, PR dry-run/create mocks, cleanup, package safety, generated project scripts, post-analyze AI context front matter, and mandatory `slice-00` fixtures. Full tests, smokes, JSON validation, diff check, and npm pack dry-run passed. |
|
|
22
|
+
|
|
23
|
+
## Validation Log
|
|
24
|
+
|
|
25
|
+
- 2026-05-21: `find specs/quiver-v22-guided-ai-workflow -name "slice.json" -print -exec node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))" {} \;`
|
|
26
|
+
- 2026-05-21: `git diff --check`
|
|
27
|
+
- 2026-05-21: `node --test tests/commands/analyze.test.js tests/commands/ai-plan.test.js tests/commands/ai-pr.test.js`
|
|
28
|
+
- 2026-05-21: `node --test tests/commands/prepare.test.js tests/lib/ai-github.test.js tests/lib/ai-providers.test.js tests/lib/doctor.test.js`
|
|
29
|
+
- 2026-05-21: `node --test tests/commands/analyze.test.js tests/lib/ai-context-packs.test.js tests/lib/ai-safety.test.js`
|
|
30
|
+
- 2026-05-21: `node --test tests/commands/ai-plan.test.js tests/commands/ai-plan-spec-phase.test.js tests/lib/approvals.test.js`
|
|
31
|
+
- 2026-05-21: `node --test tests/lib/lifecycle.test.js tests/commands/spec-worktree.test.js`
|
|
32
|
+
- 2026-05-21: `node --test tests/lib/check-slice.test.js tests/commands/next.test.js`
|
|
33
|
+
- 2026-05-21: `git diff --check`
|
|
34
|
+
- 2026-05-21: `node --test tests/commands/ai-execute-slice.test.js tests/lib/ai-executor.test.js tests/lib/scope.test.js`
|
|
35
|
+
- 2026-05-21: `git diff --check`
|
|
36
|
+
- 2026-05-21: `node --test tests/lib/ai-execution-plan.test.js tests/commands/ai-execute-plan.test.js`
|
|
37
|
+
- 2026-05-21: `node --test tests/commands/ai-execute-slice.test.js tests/lib/ai-executor.test.js`
|
|
38
|
+
- 2026-05-21: `git diff --check`
|
|
39
|
+
- 2026-05-21: `node --test tests/commands/ai-pr.test.js tests/lib/ai-github.test.js`
|
|
40
|
+
- 2026-05-21: `git diff --check`
|
|
41
|
+
- 2026-05-21: `node --test tests/commands/spec-close.test.js tests/lib/package-safety.test.js`
|
|
42
|
+
- 2026-05-21: `bash scripts/package-quiver.sh`
|
|
43
|
+
- 2026-05-21: `node --test tests/commands/spec-worktree.test.js tests/lib/lifecycle.test.js tests/commands/spec-close.test.js tests/lib/package-safety.test.js`
|
|
44
|
+
- 2026-05-21: `git diff --check`
|
|
45
|
+
- 2026-05-21: `node --test tests/lib/init-layout.test.js tests/lib/init-docs.test.js tests/commands/init-profiles.test.js`
|
|
46
|
+
- 2026-05-21: `node --test tests/commands/analyze.test.js tests/lib/init-docs.test.js`
|
|
47
|
+
- 2026-05-21: `npm run smoke:guided-workflow`
|
|
48
|
+
- 2026-05-21: `node --test tests/**/*.test.js`
|
|
49
|
+
- 2026-05-21: `npm run smoke:create-quiver`
|
|
50
|
+
- 2026-05-21: `npm run smoke:tiered-pack`
|
|
51
|
+
- 2026-05-21: `npm --cache /private/tmp/quiver-npm-cache pack --dry-run`
|
|
52
|
+
- 2026-05-21: `git diff --check`
|
|
53
|
+
- 2026-05-21: `find specs/quiver-v22-guided-ai-workflow -name slice.json -print -exec node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))" {} \;`
|
|
54
|
+
|
|
55
|
+
## Notes
|
|
56
|
+
|
|
57
|
+
- `npm pack --dry-run` failed once against the global npm cache because `~/.npm` contains root-owned files. Re-running with `npm --cache /private/tmp/quiver-npm-cache pack --dry-run` passed.
|
|
58
|
+
- No npm publish was performed by this slice.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Execution Plan - Quiver v22 Guided AI Workflow
|
|
2
|
+
|
|
3
|
+
## Rule
|
|
4
|
+
|
|
5
|
+
`slice-00` is mandatory and must be committed first. It establishes the spec foundation in the repo.
|
|
6
|
+
|
|
7
|
+
## Recommended Wave Plan
|
|
8
|
+
|
|
9
|
+
This is the safe default plan. It optimizes for low merge risk and production-readiness over speed.
|
|
10
|
+
|
|
11
|
+
| Wave | Mode | Slices | Why |
|
|
12
|
+
|------|------|--------|-----|
|
|
13
|
+
| 0 | Sequential | `slice-00-spec-foundation` | Publishes the spec foundation, handoffs, execution plan, and PR body. Nothing else should start before this commit exists. |
|
|
14
|
+
| 1 | Sequential | `slice-01-docs-source-of-truth-sync` | Fixes current documentation drift so later agents read reliable guidance. |
|
|
15
|
+
| 2 | Sequential | `slice-02-prepare-command-diagnostics` | Adds the safe project preparation entrypoint used by later workflow steps. |
|
|
16
|
+
| 3 | Sequential | `slice-03-context-doc-refresh` | Improves AI context generation after the preparation command exists. |
|
|
17
|
+
| 4 | Sequential | `slice-04-planner-approval-state` | Adds persisted approvals; spec/worktree automation should not run before approved inputs are traceable. |
|
|
18
|
+
| 5 | Sequential | `slice-05-spec-worktree-lifecycle` | Establishes one spec per worktree before executor, PR, and cleanup automation. |
|
|
19
|
+
| 6 | Sequential | `slice-06-executor-commit-recovery` | Makes single-slice execution safe and recoverable before multi-slice execution. |
|
|
20
|
+
| 7 | Sequential | `slice-07-execution-waves-delegation` | Builds on the executor to coordinate waves and delegation. |
|
|
21
|
+
| 8 | Sequential | `slice-08-pr-create-gh-ssh` | Adds PR creation after command-router changes from execution slices are stable. |
|
|
22
|
+
| 9 | Sequential | `slice-09-post-merge-cleanup-release-safety` | Requires execution-wave and PR behavior to be known. |
|
|
23
|
+
| 10 | Sequential | `slice-10-docs-smokes-release-readiness` | Final docs and smokes must run last. |
|
|
24
|
+
|
|
25
|
+
## Parallelization Assessment
|
|
26
|
+
|
|
27
|
+
No slice should run in parallel before `slice-05`.
|
|
28
|
+
|
|
29
|
+
After `slice-05`, `slice-06-executor-commit-recovery` and `slice-08-pr-create-gh-ssh` are conceptually independent, but the declared file scopes overlap in command-router files such as `src/create-quiver/commands/ai.js`. Because of that, the default recommendation is sequential execution.
|
|
30
|
+
|
|
31
|
+
Parallel execution is allowed only if the executor changes are split so file ownership is disjoint:
|
|
32
|
+
|
|
33
|
+
| Optional Wave | Mode | Slices | Condition |
|
|
34
|
+
|---------------|------|--------|-----------|
|
|
35
|
+
| 6A | Parallel | `slice-06-executor-commit-recovery` + `slice-08-pr-create-gh-ssh` | Only if one slice owns executor internals and the other owns PR internals without both editing the same command-router files. |
|
|
36
|
+
| 6B | Sequential integration | Router wiring or conflict resolution | Required if 6A was used and both features need command registration. |
|
|
37
|
+
| 7 | Sequential | `slice-07-execution-waves-delegation` | Starts only after executor behavior from `slice-06` is integrated. |
|
|
38
|
+
|
|
39
|
+
If the file scopes are not split before execution, do not use the optional parallel wave.
|
|
40
|
+
|
|
41
|
+
## Dependency Graph
|
|
42
|
+
|
|
43
|
+
```mermaid
|
|
44
|
+
flowchart TD
|
|
45
|
+
S00[slice-00 spec foundation] --> S01[slice-01 docs sync]
|
|
46
|
+
S01 --> S02[slice-02 prepare diagnostics]
|
|
47
|
+
S02 --> S03[slice-03 context doc refresh]
|
|
48
|
+
S03 --> S04[slice-04 planner approvals]
|
|
49
|
+
S04 --> S05[slice-05 spec worktree lifecycle]
|
|
50
|
+
S05 --> S06[slice-06 executor commit recovery]
|
|
51
|
+
S06 --> S07[slice-07 execution waves]
|
|
52
|
+
S05 --> S08[slice-08 PR creation]
|
|
53
|
+
S07 --> S09[slice-09 cleanup and release safety]
|
|
54
|
+
S08 --> S09
|
|
55
|
+
S09 --> S10[slice-10 docs smokes release readiness]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Suggested Commit Order
|
|
59
|
+
|
|
60
|
+
1. `docs(spec): add guided ai workflow spec foundation`
|
|
61
|
+
2. `docs(ai): sync source of truth for guided workflow`
|
|
62
|
+
3. `feat(cli): add guided prepare diagnostics`
|
|
63
|
+
4. `feat(analyze): refresh ai context docs safely`
|
|
64
|
+
5. `feat(ai): persist planner approvals`
|
|
65
|
+
6. `feat(spec): manage spec worktree lifecycle`
|
|
66
|
+
7. `feat(ai): commit validated executor slices`
|
|
67
|
+
8. `feat(ai): execute slices by safe waves`
|
|
68
|
+
9. `feat(ai): create prs with gh and ssh guidance`
|
|
69
|
+
10. `feat(spec): close merged specs and guard releases`
|
|
70
|
+
11. `docs(ai): document guided workflow and add smokes`
|
|
71
|
+
|
|
72
|
+
## Executor Assignment
|
|
73
|
+
|
|
74
|
+
Recommended executor model:
|
|
75
|
+
|
|
76
|
+
- Use the planner agent for `slice-00`, high-level review, and final integration checks.
|
|
77
|
+
- Use cheaper executor agents for `slice-01` through `slice-08` only after the owning slice and file scope are clear.
|
|
78
|
+
- Keep `slice-09` with a stronger reviewer because it includes cleanup and release-safety behavior.
|
|
79
|
+
- Keep `slice-10` with the planner or a docs/test-focused executor because it validates the full user-facing story.
|
|
80
|
+
|
|
81
|
+
## Integration Notes
|
|
82
|
+
|
|
83
|
+
- Do not start implementation slices before `slice-00` is committed.
|
|
84
|
+
- Do not enable parallel execution before file-scope conflict checks exist.
|
|
85
|
+
- If two slices declare the same source file, execute them sequentially or split ownership before delegation.
|
|
86
|
+
- Keep provider and `gh` tests mocked.
|
|
87
|
+
- Treat real provider CLIs as optional manual checks.
|
|
88
|
+
- Keep one spec PR branch/worktree for final integration.
|