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
package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/slice.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-06-executor-commit-recovery",
|
|
3
|
+
"ticket": "QUIVER-22-06",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Executor validation, recovery, and commit per slice",
|
|
6
|
+
"objective": "Let executor agents modify approved slice scope and create one commit after validation passes.",
|
|
7
|
+
"description": "Extend slice execution with recoverable failure reporting, retry/abort guidance, optional commit automation, and strict one-slice-one-commit behavior.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "executor-commit-recovery",
|
|
12
|
+
"branch_name": "feature/QUIVER-22-06-executor-commit-recovery"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/ai/executor.js",
|
|
17
|
+
"src/create-quiver/lib/scope.js",
|
|
18
|
+
"src/create-quiver/lib/git.js",
|
|
19
|
+
"src/create-quiver/lib/slice-runner.js",
|
|
20
|
+
"tests/commands/ai-execute-slice.test.js",
|
|
21
|
+
"tests/lib/ai-executor.test.js",
|
|
22
|
+
"tests/lib/scope.test.js"
|
|
23
|
+
],
|
|
24
|
+
"depends_on": [
|
|
25
|
+
"slice-05-spec-worktree-lifecycle"
|
|
26
|
+
],
|
|
27
|
+
"parallel_safe": "after_dependencies",
|
|
28
|
+
"parallel_safe_reason": "Can run in parallel with PR creation only if file scopes remain separate.",
|
|
29
|
+
"must": [
|
|
30
|
+
"Keep executor context limited to approved slice data.",
|
|
31
|
+
"Require a clean worktree before execution unless explicitly overridden by existing safe options.",
|
|
32
|
+
"Validate changed files against slice scope after execution.",
|
|
33
|
+
"Run declared validation commands or report why they were skipped.",
|
|
34
|
+
"Create exactly one commit when validation passes and commit automation is enabled.",
|
|
35
|
+
"Write or print a recovery report when execution fails."
|
|
36
|
+
],
|
|
37
|
+
"not_included": [
|
|
38
|
+
"Parallel execution waves.",
|
|
39
|
+
"PR creation.",
|
|
40
|
+
"Post-merge cleanup."
|
|
41
|
+
],
|
|
42
|
+
"acceptance": [
|
|
43
|
+
"Executor refuses to run with dirty worktree by default.",
|
|
44
|
+
"Executor reports provider failure without hiding local changes.",
|
|
45
|
+
"Scope violations block commit automation.",
|
|
46
|
+
"Validation failures block commit automation.",
|
|
47
|
+
"Successful execution with commit enabled creates one slice commit.",
|
|
48
|
+
"Retry and abort guidance is shown after failures."
|
|
49
|
+
],
|
|
50
|
+
"tests": [
|
|
51
|
+
"node --test tests/commands/ai-execute-slice.test.js tests/lib/ai-executor.test.js tests/lib/scope.test.js",
|
|
52
|
+
"git diff --check"
|
|
53
|
+
],
|
|
54
|
+
"estimated_hours": 8,
|
|
55
|
+
"status": "completed",
|
|
56
|
+
"blocked_reason": null
|
|
57
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-07: Execution waves and safe delegation
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se agrego `ai execute-plan` para imprimir o ejecutar olas de slices. El plan detecta conflictos por archivos, scope desconocido y fuerza fallback secuencial cuando no es seguro paralelizar.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Olas respetan dependencias.
|
|
10
|
+
- [x] Paralelo bloqueado ante conflictos.
|
|
11
|
+
- [x] Dry-run no ejecuta providers.
|
|
12
|
+
- [x] Tests ejecutados.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `execution-plan` ahora incluye `execution_groups`, `fallback_reason` y `unknown_scope_slices`.
|
|
17
|
+
- `parallel_ready` solo queda activo si hay mas de un slice, todos declaran files y no hay overlap.
|
|
18
|
+
- `ai execute-plan --dry-run --commit` imprime comandos de executor por slice.
|
|
19
|
+
- `ai execute-plan --execute --commit` ejecuta slices usando el executor validado y corta ante el primer fallo.
|
|
20
|
+
- La ejecucion real exige `--commit` para preservar un commit por slice.
|
|
21
|
+
|
|
22
|
+
## Pendientes
|
|
23
|
+
|
|
24
|
+
Sin pendientes criticos para esta slice.
|
|
25
|
+
|
|
26
|
+
## Riesgos remanentes
|
|
27
|
+
|
|
28
|
+
La ejecucion paralela real queda representada como grupos `parallel-ready`; la ejecucion local integrada corre de forma controlada para no mezclar agentes en el mismo worktree.
|
|
29
|
+
|
|
30
|
+
## Recomendaciones futuras
|
|
31
|
+
|
|
32
|
+
Si se agrega paralelismo real automatico, debe crear worktrees separados por slice antes de llamar providers en paralelo.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-07: Execution waves and safe delegation
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v22-guided-ai-workflow
|
|
4
|
+
**Slice:** slice-07-execution-waves-delegation
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
El usuario quiere que Quiver indique que slices van secuenciales y cuales pueden ir en paralelo con agentes ejecutores baratos.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar ejecucion por olas con fallback seguro a secuencial.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Planificar olas desde dependencias.
|
|
18
|
+
- Validar conflictos por archivos.
|
|
19
|
+
- Imprimir comandos en dry-run.
|
|
20
|
+
- Ejecutar olas cuando este habilitado.
|
|
21
|
+
- Respetar un commit por slice.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- `slice-00` siempre va primero.
|
|
26
|
+
- Paralelo solo se permite sin conflictos.
|
|
27
|
+
- Scope desconocido cae a secuencial.
|
|
28
|
+
- Una falla corta la ola requerida.
|
|
29
|
+
- Dry-run no llama providers.
|
|
30
|
+
|
|
31
|
+
## Plan tecnico resumido
|
|
32
|
+
|
|
33
|
+
Extender `execution-plan` y agregar un comando de execute-plan que use el executor ya validado. Mantener primero modo print-only/dry-run.
|
|
34
|
+
|
|
35
|
+
## Pasos sugeridos de ejecucion
|
|
36
|
+
|
|
37
|
+
1. Revisar `execution-plan.js` y `slice-graph.js`.
|
|
38
|
+
2. Agregar deteccion de conflicto por files.
|
|
39
|
+
3. Agregar comando dry-run.
|
|
40
|
+
4. Integrar ejecucion real con flags explicitos.
|
|
41
|
+
5. Agregar tests de waves y conflictos.
|
|
42
|
+
|
|
43
|
+
## Restricciones
|
|
44
|
+
|
|
45
|
+
- No asumir que paralelo es seguro sin files declarados.
|
|
46
|
+
- No abrir PR.
|
|
47
|
+
|
|
48
|
+
## Riesgos
|
|
49
|
+
|
|
50
|
+
- Ejecutar dos agentes que toquen la misma zona.
|
|
51
|
+
- Dejar un wave a medio completar sin reporte claro.
|
|
52
|
+
|
|
53
|
+
## Checklist de finalizacion
|
|
54
|
+
|
|
55
|
+
- [ ] Olas generadas.
|
|
56
|
+
- [ ] Conflictos detectados.
|
|
57
|
+
- [ ] Dry-run print-only listo.
|
|
58
|
+
- [ ] Tests pasan.
|
package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/slice.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-07-execution-waves-delegation",
|
|
3
|
+
"ticket": "QUIVER-22-07",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Execution waves and safe delegation",
|
|
6
|
+
"objective": "Execute or print execution waves that respect dependencies, slice-00, and file-scope conflicts.",
|
|
7
|
+
"description": "Turn the existing execution plan into a guided flow that can run sequential waves and safely identify parallel-ready slices for cheaper executor agents.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "execution-waves-delegation",
|
|
12
|
+
"branch_name": "feature/QUIVER-22-07-execution-waves-delegation"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/ai/execution-plan.js",
|
|
17
|
+
"src/create-quiver/lib/ai/executor.js",
|
|
18
|
+
"src/create-quiver/lib/slice-graph.js",
|
|
19
|
+
"src/create-quiver/lib/slice-runner.js",
|
|
20
|
+
"tests/lib/ai-execution-plan.test.js",
|
|
21
|
+
"tests/commands/ai-execute-plan.test.js"
|
|
22
|
+
],
|
|
23
|
+
"depends_on": [
|
|
24
|
+
"slice-06-executor-commit-recovery"
|
|
25
|
+
],
|
|
26
|
+
"parallel_safe": "no",
|
|
27
|
+
"parallel_safe_reason": "This slice coordinates multi-slice execution and should not be developed alongside executor changes.",
|
|
28
|
+
"must": [
|
|
29
|
+
"Always put slice-00 before all implementation slices.",
|
|
30
|
+
"Group ready slices into waves.",
|
|
31
|
+
"Detect file-scope conflicts before suggesting parallel execution.",
|
|
32
|
+
"Fall back to sequential execution when scope is unknown or conflicting.",
|
|
33
|
+
"Support a dry-run or print-only mode before real execution.",
|
|
34
|
+
"Keep one commit per slice when execution is enabled."
|
|
35
|
+
],
|
|
36
|
+
"not_included": [
|
|
37
|
+
"Provider account billing controls.",
|
|
38
|
+
"Fully autonomous merge.",
|
|
39
|
+
"PR creation."
|
|
40
|
+
],
|
|
41
|
+
"acceptance": [
|
|
42
|
+
"Execution plan shows waves with sequential and parallel groups.",
|
|
43
|
+
"Unknown or overlapping file scopes force sequential mode.",
|
|
44
|
+
"Dry-run prints commands and does not call providers.",
|
|
45
|
+
"Real execution stops the wave on failed required slice.",
|
|
46
|
+
"Successful slices keep one commit per slice."
|
|
47
|
+
],
|
|
48
|
+
"tests": [
|
|
49
|
+
"node --test tests/lib/ai-execution-plan.test.js tests/commands/ai-execute-plan.test.js",
|
|
50
|
+
"git diff --check"
|
|
51
|
+
],
|
|
52
|
+
"estimated_hours": 9,
|
|
53
|
+
"status": "completed",
|
|
54
|
+
"blocked_reason": null
|
|
55
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-08: PR creation with gh and SSH guidance
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se extendio `ai pr` para validar setup, leer `pr.md`, mostrar el plan de `gh pr create` en dry-run y crear el PR solo cuando el usuario pasa `--create`.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Dry-run no crea PR.
|
|
10
|
+
- [x] PR se crea con `gh` en setup valido.
|
|
11
|
+
- [x] Faltantes bloquean.
|
|
12
|
+
- [x] Tests ejecutados.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `ai pr --dry-run` imprime comando planificado y no ejecuta `gh pr create`.
|
|
17
|
+
- `ai pr --create --input specs/<spec-slug>/pr.md` ejecuta `gh pr create` con argumentos seguros.
|
|
18
|
+
- El cuerpo del PR se toma de `pr.md`; si hay multiples `pr.md`, se exige `--input`.
|
|
19
|
+
- Se mantiene la validacion de gh, auth, remote, branch, worktree limpio, guia GitFlow, alias SSH e identity file.
|
|
20
|
+
- Tests mockean `gh` y cubren dry-run, create, faltantes y fallos de `gh pr create`.
|
|
21
|
+
|
|
22
|
+
## Pendientes
|
|
23
|
+
|
|
24
|
+
Sin pendientes criticos para esta slice.
|
|
25
|
+
|
|
26
|
+
## Riesgos remanentes
|
|
27
|
+
|
|
28
|
+
La deteccion automatica de `pr.md` requiere que haya uno solo; si hay varios specs en el repo, el usuario debe pasar `--input`.
|
|
29
|
+
|
|
30
|
+
## Recomendaciones futuras
|
|
31
|
+
|
|
32
|
+
Mantener el merge fuera de `ai pr`; el merge queda como decision humana.
|
package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/EXECUTION_BRIEF.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-08: PR creation with gh and SSH guidance
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v22-guided-ai-workflow
|
|
4
|
+
**Slice:** slice-08-pr-create-gh-ssh
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
`ai pr` hoy valida preflight, pero el flujo final necesita crear el PR con `gh` usando `pr.md`.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar creacion de PR segura, con dry-run y guia clara para gh/SSH.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Leer `pr.md`.
|
|
18
|
+
- Validar setup.
|
|
19
|
+
- Construir y ejecutar `gh pr create`.
|
|
20
|
+
- Mantener dry-run.
|
|
21
|
+
- No mergear PRs.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- Dry-run no crea PR.
|
|
26
|
+
- Faltantes bloquean con mensaje claro.
|
|
27
|
+
- Setup valido crea PR usando `pr.md`.
|
|
28
|
+
- Tests mockean `gh`.
|
|
29
|
+
|
|
30
|
+
## Plan tecnico resumido
|
|
31
|
+
|
|
32
|
+
Extender preflight existente y agregar una capa de creacion que use argumentos seguros, cuerpo desde archivo y confirmacion explicita.
|
|
33
|
+
|
|
34
|
+
## Pasos sugeridos de ejecucion
|
|
35
|
+
|
|
36
|
+
1. Revisar `ai/github.js` y `ai-pr.test.js`.
|
|
37
|
+
2. Definir flags de create.
|
|
38
|
+
3. Leer y validar `pr.md`.
|
|
39
|
+
4. Construir llamada segura a `gh`.
|
|
40
|
+
5. Agregar tests de dry-run y success mockeado.
|
|
41
|
+
|
|
42
|
+
## Restricciones
|
|
43
|
+
|
|
44
|
+
- No instalar `gh`.
|
|
45
|
+
- No modificar SSH config.
|
|
46
|
+
- No mergear.
|
|
47
|
+
|
|
48
|
+
## Riesgos
|
|
49
|
+
|
|
50
|
+
- Crear PR contra base incorrecta.
|
|
51
|
+
- Confundir alias SSH con identity file.
|
|
52
|
+
|
|
53
|
+
## Checklist de finalizacion
|
|
54
|
+
|
|
55
|
+
- [ ] Dry-run listo.
|
|
56
|
+
- [ ] Create listo con mocks.
|
|
57
|
+
- [ ] Faltantes bloquean.
|
|
58
|
+
- [ ] Tests pasan.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-08-pr-create-gh-ssh",
|
|
3
|
+
"ticket": "QUIVER-22-08",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "PR creation with gh and SSH guidance",
|
|
6
|
+
"objective": "Create GitHub PRs from generated pr.md after validating gh, auth, branch, worktree, remote, and SSH inputs.",
|
|
7
|
+
"description": "Upgrade GitHub PR preflight into PR creation while keeping dry-run, explicit confirmation, and cross-platform setup guidance.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "pr-create-gh-ssh",
|
|
12
|
+
"branch_name": "feature/QUIVER-22-08-pr-create-gh-ssh"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/ai/github.js",
|
|
17
|
+
"src/create-quiver/lib/pr-create.js",
|
|
18
|
+
"tests/commands/ai-pr.test.js",
|
|
19
|
+
"tests/lib/ai-github.test.js"
|
|
20
|
+
],
|
|
21
|
+
"depends_on": [
|
|
22
|
+
"slice-05-spec-worktree-lifecycle"
|
|
23
|
+
],
|
|
24
|
+
"parallel_safe": "conditional",
|
|
25
|
+
"parallel_safe_reason": "Conceptually independent after spec worktree lifecycle, but it currently overlaps command-router files with executor and execution-wave slices. Run sequentially unless file ownership is split first.",
|
|
26
|
+
"must": [
|
|
27
|
+
"Read the generated pr.md body.",
|
|
28
|
+
"Validate gh is installed and authenticated.",
|
|
29
|
+
"Validate remote, branch, worktree, clean state, SSH alias, and identity file.",
|
|
30
|
+
"Support dry-run without creating a PR.",
|
|
31
|
+
"Create a PR with gh only after checks pass and user intent is explicit.",
|
|
32
|
+
"Keep PR merge out of scope."
|
|
33
|
+
],
|
|
34
|
+
"not_included": [
|
|
35
|
+
"Merging PRs.",
|
|
36
|
+
"Post-merge cleanup.",
|
|
37
|
+
"Installing gh automatically."
|
|
38
|
+
],
|
|
39
|
+
"acceptance": [
|
|
40
|
+
"Dry-run prints the gh command plan and creates no PR.",
|
|
41
|
+
"Missing gh/auth/identity/GitFlow guide/remote/dirty worktree blocks creation with clear guidance.",
|
|
42
|
+
"Valid setup creates a PR using pr.md.",
|
|
43
|
+
"The command never merges the PR.",
|
|
44
|
+
"Tests mock gh and do not require real GitHub auth."
|
|
45
|
+
],
|
|
46
|
+
"tests": [
|
|
47
|
+
"node --test tests/commands/ai-pr.test.js tests/lib/ai-github.test.js",
|
|
48
|
+
"git diff --check"
|
|
49
|
+
],
|
|
50
|
+
"estimated_hours": 7,
|
|
51
|
+
"status": "completed",
|
|
52
|
+
"blocked_reason": null
|
|
53
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-09: Post-merge cleanup and release safety
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se agrego cierre seguro de worktrees por spec con `spec close` y un gate de package safety para bloquear archivos locales sensibles antes del release.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Cleanup bloquea PR no mergeado.
|
|
10
|
+
- [x] Cleanup bloquea worktree sucio.
|
|
11
|
+
- [x] Main local se actualiza.
|
|
12
|
+
- [x] Package safety cubierto.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- Nuevo comando `npx create-quiver spec close <spec-dir>`.
|
|
17
|
+
- `spec close` bloquea worktrees sucios y ramas de spec no mergeadas, salvo descarte explicito.
|
|
18
|
+
- `spec close --dry-run` muestra la limpieza planeada sin remover worktrees.
|
|
19
|
+
- `spec close` remueve el worktree mergeado y hace `git pull --ff-only` cuando hay remote base.
|
|
20
|
+
- Nuevo modulo `package-safety` para validar paths del tarball.
|
|
21
|
+
- `scripts/package-quiver.sh` ejecuta package safety sobre el contenido real de `npm pack`.
|
|
22
|
+
|
|
23
|
+
## Pendientes
|
|
24
|
+
|
|
25
|
+
Sin pendientes criticos para esta slice.
|
|
26
|
+
|
|
27
|
+
## Riesgos remanentes
|
|
28
|
+
|
|
29
|
+
Package safety valida nombres/rutas dentro del tarball; no inspecciona secretos embebidos dentro de archivos aparentemente seguros.
|
|
30
|
+
|
|
31
|
+
## Recomendaciones futuras
|
|
32
|
+
|
|
33
|
+
Mantener cleanup destructivo separado de PR merge. Si se agrega borrado de ramas remotas, debe quedar detras de un flag explicito distinto.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-09: Post-merge cleanup and release safety
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v22-guided-ai-workflow
|
|
4
|
+
**Slice:** slice-09-post-merge-cleanup-release-safety
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
Despues del merge, el usuario quiere cerrar el worktree y actualizar el checkout principal. Ademas, la publicacion npm debe bloquear archivos locales sensibles.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar cierre seguro de spec y guardas de packaging/release.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Cleanup post-merge.
|
|
18
|
+
- Validacion de PR mergeado.
|
|
19
|
+
- Proteccion ante worktree sucio.
|
|
20
|
+
- Pull del checkout principal.
|
|
21
|
+
- Guardas para `npm pack`/release.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- No se limpia si el PR no esta mergeado.
|
|
26
|
+
- No se limpia worktree sucio por default.
|
|
27
|
+
- El cierre exitoso elimina worktree y actualiza main.
|
|
28
|
+
- Packaging falla si entran archivos sensibles.
|
|
29
|
+
|
|
30
|
+
## Plan tecnico resumido
|
|
31
|
+
|
|
32
|
+
Extender lifecycle a nivel spec y agregar un chequeo de paquete que inspeccione el resultado de `npm pack --dry-run` o equivalente antes de publicar.
|
|
33
|
+
|
|
34
|
+
## Pasos sugeridos de ejecucion
|
|
35
|
+
|
|
36
|
+
1. Revisar cleanup actual y supuestos de base branch.
|
|
37
|
+
2. Definir cierre de spec.
|
|
38
|
+
3. Agregar validaciones de merge/dirty.
|
|
39
|
+
4. Agregar package safety.
|
|
40
|
+
5. Cubrir tests y smoke.
|
|
41
|
+
|
|
42
|
+
## Restricciones
|
|
43
|
+
|
|
44
|
+
- No mergear PR.
|
|
45
|
+
- No publicar npm.
|
|
46
|
+
- No descartar cambios sin flag explicito.
|
|
47
|
+
|
|
48
|
+
## Riesgos
|
|
49
|
+
|
|
50
|
+
- Borrar trabajo local no mergeado.
|
|
51
|
+
- Fallar en repos con base branch distinta.
|
|
52
|
+
- Falsos positivos en package safety.
|
|
53
|
+
|
|
54
|
+
## Checklist de finalizacion
|
|
55
|
+
|
|
56
|
+
- [ ] Cleanup seguro listo.
|
|
57
|
+
- [ ] Main/develop sin hardcode incorrecto.
|
|
58
|
+
- [ ] Package safety listo.
|
|
59
|
+
- [ ] Tests pasan.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-09-post-merge-cleanup-release-safety",
|
|
3
|
+
"ticket": "QUIVER-22-09",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Post-merge cleanup and release safety",
|
|
6
|
+
"objective": "Safely close merged spec worktrees and prevent local AI/tool state from entering npm packages.",
|
|
7
|
+
"description": "Add post-merge lifecycle checks and release/package safety guards for secrets, env files, npm credentials, and local AI tool directories.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "post-merge-cleanup-release-safety",
|
|
12
|
+
"branch_name": "feature/QUIVER-22-09-post-merge-cleanup-release-safety"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/index.js",
|
|
16
|
+
"src/create-quiver/lib/lifecycle.js",
|
|
17
|
+
"src/create-quiver/lib/git.js",
|
|
18
|
+
"src/create-quiver/lib/spec-worktrees.js",
|
|
19
|
+
"src/create-quiver/lib/package-safety.js",
|
|
20
|
+
"scripts/release-quiver.sh",
|
|
21
|
+
".npmignore",
|
|
22
|
+
"tests/commands/spec-close.test.js",
|
|
23
|
+
"tests/lib/package-safety.test.js"
|
|
24
|
+
],
|
|
25
|
+
"depends_on": [
|
|
26
|
+
"slice-07-execution-waves-delegation",
|
|
27
|
+
"slice-08-pr-create-gh-ssh"
|
|
28
|
+
],
|
|
29
|
+
"parallel_safe": "no",
|
|
30
|
+
"parallel_safe_reason": "Cleanup and release safety must integrate final workflow state and PR behavior.",
|
|
31
|
+
"must": [
|
|
32
|
+
"Refuse normal cleanup before PR merge is confirmed.",
|
|
33
|
+
"Refuse cleanup when the worktree is dirty unless explicit discard behavior is used.",
|
|
34
|
+
"Remove the spec worktree after safe confirmation.",
|
|
35
|
+
"Pull merged changes into the main local checkout.",
|
|
36
|
+
"Fail package/release safety if local settings, env files, npm credentials, or AI tool local state would enter the tarball.",
|
|
37
|
+
"Keep destructive operations explicit and recoverable."
|
|
38
|
+
],
|
|
39
|
+
"not_included": [
|
|
40
|
+
"Merging PRs.",
|
|
41
|
+
"Deleting remote branches without explicit existing workflow support.",
|
|
42
|
+
"Publishing a new npm version."
|
|
43
|
+
],
|
|
44
|
+
"acceptance": [
|
|
45
|
+
"Unmerged PR blocks normal spec cleanup.",
|
|
46
|
+
"Dirty worktree blocks normal spec cleanup.",
|
|
47
|
+
"Merged clean spec can be closed and main checkout can be pulled.",
|
|
48
|
+
"Release/package safety fails when unsafe local files would be packaged.",
|
|
49
|
+
"Release/package safety passes when unsafe paths are ignored or absent."
|
|
50
|
+
],
|
|
51
|
+
"tests": [
|
|
52
|
+
"node --test tests/commands/spec-close.test.js tests/lib/package-safety.test.js",
|
|
53
|
+
"npm pack --dry-run",
|
|
54
|
+
"git diff --check"
|
|
55
|
+
],
|
|
56
|
+
"estimated_hours": 8,
|
|
57
|
+
"status": "completed",
|
|
58
|
+
"blocked_reason": null
|
|
59
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-10: Final docs, smokes, and release readiness
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
- Se actualizaron README, README_FOR_AI, CHANGELOG, ROADMAP, BACKLOG y templates generados para presentar el guided AI workflow como disponible.
|
|
6
|
+
- Se alinearon los snippets de onboarding con aprobaciones persistidas, `spec start`, ejecución por olas, PR con `pr.md` y cierre de worktree.
|
|
7
|
+
- Se agregó `smoke:guided-workflow` y se reforzaron los smokes existentes para el contrato real post-`analyze`, scripts nuevos y `slice-00` obligatorio.
|
|
8
|
+
- `docs/AI_CONTEXT.md` refrescado por `analyze` conserva front matter para mantener el contrato token-efficient.
|
|
9
|
+
- Se actualizaron STATUS, EVIDENCE_REPORT y el estado del slice.
|
|
10
|
+
|
|
11
|
+
## Validacion contra criterios de aceptacion
|
|
12
|
+
|
|
13
|
+
- [x] Docs finales listas.
|
|
14
|
+
- [x] Smokes listas.
|
|
15
|
+
- [x] STATUS/EVIDENCE actualizados.
|
|
16
|
+
- [x] No se publico npm.
|
|
17
|
+
|
|
18
|
+
## Cambios relevantes
|
|
19
|
+
|
|
20
|
+
- Root docs y templates muestran `prepare`, `ai approve`, `ai execute-plan`, `ai pr --input`, `spec start/status/close` y commit opt-in.
|
|
21
|
+
- Scripts de smoke cubren flujo guiado, creación/migración, package safety y fixtures con `slice-00`.
|
|
22
|
+
- El package dry-run pasó usando cache temporal por permisos rotos en la cache global de npm.
|
|
23
|
+
|
|
24
|
+
## Pendientes
|
|
25
|
+
|
|
26
|
+
- Publicar una nueva version npm queda fuera de este slice y debe hacerse con el flujo de release.
|
|
27
|
+
|
|
28
|
+
## Riesgos remanentes
|
|
29
|
+
|
|
30
|
+
- La cache global `~/.npm` tiene archivos root-owned; `npm pack --dry-run` requiere cache temporal o corregir permisos localmente.
|
|
31
|
+
|
|
32
|
+
## Recomendaciones futuras
|
|
33
|
+
|
|
34
|
+
- Ejecutar `npm run release:quiver` o `bash scripts/release-quiver.sh ...` solo despues de revisar este PR y decidir el bump.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-10: Final docs, smokes, and release readiness
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v22-guided-ai-workflow
|
|
4
|
+
**Slice:** slice-10-docs-smokes-release-readiness
|
|
5
|
+
**Tipo:** docs-test
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
Cuando todas las piezas existen, hay que actualizar la documentacion publica, templates generados, smokes y evidencia.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Cerrar la feature con docs completas, pruebas y readiness de release sin publicar.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- README y guia IA.
|
|
18
|
+
- Templates/docs generados.
|
|
19
|
+
- Smoke tests.
|
|
20
|
+
- STATUS/EVIDENCE_REPORT.
|
|
21
|
+
- Checklist de release.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- Docs muestran el flujo como disponible.
|
|
26
|
+
- Smokes cubren happy path y fallas principales.
|
|
27
|
+
- Evidencia actualizada.
|
|
28
|
+
- No se publica npm.
|
|
29
|
+
|
|
30
|
+
## Plan tecnico resumido
|
|
31
|
+
|
|
32
|
+
Actualizar docs y templates despues de terminar comportamiento, luego ejecutar suite amplia y registrar evidencia.
|
|
33
|
+
|
|
34
|
+
## Pasos sugeridos de ejecucion
|
|
35
|
+
|
|
36
|
+
1. Revisar todos los comandos implementados.
|
|
37
|
+
2. Actualizar README y README_FOR_AI.
|
|
38
|
+
3. Actualizar generated docs/templates.
|
|
39
|
+
4. Agregar smokes.
|
|
40
|
+
5. Ejecutar tests.
|
|
41
|
+
6. Actualizar STATUS/EVIDENCE_REPORT.
|
|
42
|
+
|
|
43
|
+
## Restricciones
|
|
44
|
+
|
|
45
|
+
- No publicar npm.
|
|
46
|
+
- No abrir PR si no se pidio.
|
|
47
|
+
|
|
48
|
+
## Riesgos
|
|
49
|
+
|
|
50
|
+
- Documentar comandos con nombres distintos a los implementados.
|
|
51
|
+
- Smokes demasiado dependientes de herramientas reales.
|
|
52
|
+
|
|
53
|
+
## Checklist de finalizacion
|
|
54
|
+
|
|
55
|
+
- [ ] Docs finales actualizadas.
|
|
56
|
+
- [ ] Templates actualizados.
|
|
57
|
+
- [ ] Smokes agregados.
|
|
58
|
+
- [ ] Evidencia final registrada.
|
package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/slice.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-10-docs-smokes-release-readiness",
|
|
3
|
+
"ticket": "QUIVER-22-10",
|
|
4
|
+
"type": "docs-test",
|
|
5
|
+
"title": "Final docs, smokes, and release readiness",
|
|
6
|
+
"objective": "Finish the guided workflow with updated user docs, generated templates, smoke coverage, and release readiness evidence.",
|
|
7
|
+
"description": "Update public docs and generated project templates, add end-to-end smoke coverage, and confirm the feature is ready for release without publishing.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "guided-workflow-release-readiness",
|
|
12
|
+
"branch_name": "feature/QUIVER-22-10-guided-workflow-release-readiness"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"README.md",
|
|
16
|
+
"README_FOR_AI.md",
|
|
17
|
+
"CHANGELOG.md",
|
|
18
|
+
"src/create-quiver/lib/init-docs.js",
|
|
19
|
+
"src/create-quiver/lib/init-layout.js",
|
|
20
|
+
"tests/commands/*.test.js",
|
|
21
|
+
"scripts/ci/*.sh",
|
|
22
|
+
"specs/quiver-v22-guided-ai-workflow/STATUS.md",
|
|
23
|
+
"specs/quiver-v22-guided-ai-workflow/EVIDENCE_REPORT.md"
|
|
24
|
+
],
|
|
25
|
+
"depends_on": [
|
|
26
|
+
"slice-09-post-merge-cleanup-release-safety"
|
|
27
|
+
],
|
|
28
|
+
"parallel_safe": "no",
|
|
29
|
+
"parallel_safe_reason": "Final docs and smokes must run after all behavior slices are complete.",
|
|
30
|
+
"must": [
|
|
31
|
+
"Document the finished guided workflow in root docs.",
|
|
32
|
+
"Update generated project docs/templates where users see commands.",
|
|
33
|
+
"Add smoke coverage for the happy path and major failure paths.",
|
|
34
|
+
"Update STATUS and EVIDENCE_REPORT.",
|
|
35
|
+
"Run full relevant test suite.",
|
|
36
|
+
"Do not publish npm in this slice."
|
|
37
|
+
],
|
|
38
|
+
"not_included": [
|
|
39
|
+
"Changing feature behavior after acceptance unless a blocking bug is found.",
|
|
40
|
+
"Publishing a release.",
|
|
41
|
+
"Merging PR."
|
|
42
|
+
],
|
|
43
|
+
"acceptance": [
|
|
44
|
+
"README shows the guided AI workflow as available behavior.",
|
|
45
|
+
"Generated docs mention prepare, approvals, executor commits, PR creation, and cleanup.",
|
|
46
|
+
"Smoke tests cover dry-run preparation, approvals, execution waves, PR dry-run, cleanup dry-run, and package safety.",
|
|
47
|
+
"STATUS and EVIDENCE_REPORT reflect completed slices.",
|
|
48
|
+
"Release checklist is ready but no npm publish is performed."
|
|
49
|
+
],
|
|
50
|
+
"tests": [
|
|
51
|
+
"node --test tests/**/*.test.js",
|
|
52
|
+
"npm run smoke:create-quiver",
|
|
53
|
+
"npm run smoke:tiered-pack",
|
|
54
|
+
"npm pack --dry-run",
|
|
55
|
+
"git diff --check"
|
|
56
|
+
],
|
|
57
|
+
"estimated_hours": 6,
|
|
58
|
+
"status": "completed",
|
|
59
|
+
"blocked_reason": null
|
|
60
|
+
}
|