create-quiver 0.9.1 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BACKLOG.md +16 -17
- package/CHANGELOG.md +34 -0
- package/README.md +419 -330
- package/README_FOR_AI.md +93 -56
- package/ROADMAP.md +22 -11
- package/docs/AI_CONTEXT.md.template +2 -0
- package/docs/AI_ONBOARDING_PROMPT.md.template +36 -19
- package/docs/COMMANDS.md.template +73 -1
- package/docs/CONTEXTO.md.template +2 -0
- package/docs/DECISIONS.md.template +1 -0
- package/docs/GITFLOW_PR_GUIDE.md.template +11 -0
- package/docs/INDEX.md.template +20 -18
- package/docs/STANDARD.md.template +1 -1
- package/docs/STATUS.md.template +1 -0
- package/docs/SUPPORT_MATRIX.md.template +6 -2
- package/docs/TROUBLESHOOTING.md.template +79 -1
- package/docs/WORKFLOW.md.template +26 -18
- package/package.json +24 -2
- package/package.template.json +24 -7
- package/scripts/check-pr-readiness.sh +1 -1
- package/scripts/check-scope.sh +0 -1
- package/scripts/check-slice-readiness.sh +3 -4
- package/scripts/init-docs.sh +53 -6
- package/scripts/package-quiver.sh +18 -2
- package/specs/quiver-v20-ai-cli-orchestration/EVIDENCE_REPORT.md +23 -0
- package/specs/quiver-v20-ai-cli-orchestration/EXECUTION_PLAN.md +57 -0
- package/specs/quiver-v20-ai-cli-orchestration/SPEC.md +202 -0
- package/specs/quiver-v20-ai-cli-orchestration/STATUS.md +35 -0
- package/specs/quiver-v20-ai-cli-orchestration/pr.md +100 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/slice.json +54 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/CLOSURE_BRIEF.md +39 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/EXECUTION_BRIEF.md +63 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/slice.json +55 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/CLOSURE_BRIEF.md +40 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/EXECUTION_BRIEF.md +60 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/slice.json +54 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/CLOSURE_BRIEF.md +43 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/EXECUTION_BRIEF.md +62 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/slice.json +62 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/EXECUTION_BRIEF.md +63 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/slice.json +59 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/slice.json +59 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/EXECUTION_BRIEF.md +64 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/slice.json +65 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/EXECUTION_BRIEF.md +66 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/slice.json +63 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/EXECUTION_BRIEF.md +64 -0
- package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/slice.json +77 -0
- package/specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md +31 -0
- package/specs/quiver-v21-ai-first-layout/EXECUTION_PLAN.md +185 -0
- package/specs/quiver-v21-ai-first-layout/SPEC.md +212 -0
- package/specs/quiver-v21-ai-first-layout/STATUS.md +37 -0
- package/specs/quiver-v21-ai-first-layout/pr.md +110 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +63 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/slice.json +45 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/slice.json +57 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/EXECUTION_BRIEF.md +60 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/slice.json +58 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/slice.json +64 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/slice.json +64 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/EXECUTION_BRIEF.md +60 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/slice.json +65 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/EXECUTION_BRIEF.md +62 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/slice.json +66 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/slice.json +67 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/EXECUTION_BRIEF.md +66 -0
- package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/slice.json +62 -0
- package/specs/quiver-v22-guided-ai-workflow/EVIDENCE_REPORT.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/EXECUTION_PLAN.md +88 -0
- package/specs/quiver-v22-guided-ai-workflow/SPEC.md +228 -0
- package/specs/quiver-v22-guided-ai-workflow/STATUS.md +42 -0
- package/specs/quiver-v22-guided-ai-workflow/pr.md +104 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/slice.json +55 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/slice.json +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/slice.json +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/slice.json +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/slice.json +54 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/slice.json +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/slice.json +55 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/slice.json +53 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/slice.json +59 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/slice.json +60 -0
- package/specs/quiver-v23-guided-flow-productization/EVIDENCE_REPORT.md +80 -0
- package/specs/quiver-v23-guided-flow-productization/EXECUTION_PLAN.md +80 -0
- package/specs/quiver-v23-guided-flow-productization/SPEC.md +203 -0
- package/specs/quiver-v23-guided-flow-productization/STATUS.md +39 -0
- package/specs/quiver-v23-guided-flow-productization/pr.md +119 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/EXECUTION_BRIEF.md +35 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/slice.json +56 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/slice.json +54 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/slice.json +59 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/slice.json +53 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/slice.json +54 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/EXECUTION_BRIEF.md +34 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/slice.json +57 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/slice.json +63 -0
- package/specs/quiver-v24-dx-onboarding-hardening/EVIDENCE_REPORT.md +55 -0
- package/specs/quiver-v24-dx-onboarding-hardening/EXECUTION_PLAN.md +43 -0
- package/specs/quiver-v24-dx-onboarding-hardening/SPEC.md +149 -0
- package/specs/quiver-v24-dx-onboarding-hardening/STATUS.md +31 -0
- package/specs/quiver-v24-dx-onboarding-hardening/pr.md +76 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/slice.json +55 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/slice.json +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/slice.json +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/slice.json +70 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/slice.json +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/CLOSURE_BRIEF.md +43 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/slice.json +60 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/slice.json +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/slice.json +54 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/slice.json +59 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/slice.json +76 -0
- package/src/create-quiver/commands/ai.js +915 -0
- package/src/create-quiver/commands/demo.js +22 -0
- package/src/create-quiver/commands/evidence.js +37 -0
- package/src/create-quiver/commands/flow.js +561 -0
- package/src/create-quiver/commands/graph.js +14 -1
- package/src/create-quiver/commands/next.js +28 -0
- package/src/create-quiver/commands/plan.js +6 -3
- package/src/create-quiver/commands/prepare.js +236 -0
- package/src/create-quiver/commands/spec.js +133 -0
- package/src/create-quiver/index.js +1096 -96
- package/src/create-quiver/lib/agent-profiles.js +148 -0
- package/src/create-quiver/lib/ai/context-packs.js +170 -0
- package/src/create-quiver/lib/ai/execution-plan.js +614 -0
- package/src/create-quiver/lib/ai/executor.js +682 -0
- package/src/create-quiver/lib/ai/github.js +525 -0
- package/src/create-quiver/lib/ai/onboarding-template.js +365 -0
- package/src/create-quiver/lib/ai/phase-gates.js +72 -0
- package/src/create-quiver/lib/ai/plan-review.js +283 -0
- package/src/create-quiver/lib/ai/preflight.js +58 -0
- package/src/create-quiver/lib/ai/prompt-transport.js +81 -0
- package/src/create-quiver/lib/ai/prompts.js +39 -0
- package/src/create-quiver/lib/ai/providers.js +315 -0
- package/src/create-quiver/lib/ai/safety.js +156 -0
- package/src/create-quiver/lib/ai/spec-generator.js +314 -0
- package/src/create-quiver/lib/ai/spec-templates.js +715 -0
- package/src/create-quiver/lib/approvals.js +350 -0
- package/src/create-quiver/lib/demo.js +657 -0
- package/src/create-quiver/lib/doctor.js +348 -0
- package/src/create-quiver/lib/evidence.js +115 -0
- package/src/create-quiver/lib/git.js +21 -0
- package/src/create-quiver/lib/init-docs.js +545 -23
- package/src/create-quiver/lib/init-layout.js +451 -0
- package/src/create-quiver/lib/lifecycle.js +8 -2
- package/src/create-quiver/lib/package-safety.js +117 -0
- package/src/create-quiver/lib/paths.js +63 -2
- package/src/create-quiver/lib/project-scan.js +66 -0
- package/src/create-quiver/lib/readiness.js +87 -18
- package/src/create-quiver/lib/scope.js +125 -0
- package/src/create-quiver/lib/slice-graph.js +7 -0
- package/src/create-quiver/lib/slice.js +59 -16
- package/src/create-quiver/lib/spec-worktrees.js +349 -0
- package/src/create-quiver/lib/state.js +18 -1
- package/src/create-quiver/lib/template-resolver.js +74 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-05: Spec worktree lifecycle
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v22-guided-ai-workflow
|
|
4
|
+
**Slice:** slice-05-spec-worktree-lifecycle
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
El flujo deseado usa un worktree por SPEC, no una mezcla manual de ramas y worktrees por cada tarea.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar ciclo de vida de worktree a nivel spec y bloquear ejecucion hasta que `slice-00` este completada.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Comandos de spec start/status.
|
|
18
|
+
- Seleccion segura de base branch.
|
|
19
|
+
- Reuso seguro de worktree existente.
|
|
20
|
+
- Estado de slices dentro del spec.
|
|
21
|
+
|
|
22
|
+
## Criterios de aceptacion
|
|
23
|
+
|
|
24
|
+
- Un spec tiene un worktree dedicado.
|
|
25
|
+
- `slice-00` es obligatoria primero.
|
|
26
|
+
- El estado muestra rama, path y pendientes.
|
|
27
|
+
- No se borra ni pisa trabajo local.
|
|
28
|
+
|
|
29
|
+
## Plan tecnico resumido
|
|
30
|
+
|
|
31
|
+
Extraer o extender helpers de lifecycle para soportar spec-level worktrees, manteniendo compatibilidad con start-slice existente.
|
|
32
|
+
|
|
33
|
+
## Pasos sugeridos de ejecucion
|
|
34
|
+
|
|
35
|
+
1. Revisar `lifecycle.js`, `slice.js` y `git.js`.
|
|
36
|
+
2. Definir metadata de spec worktree.
|
|
37
|
+
3. Agregar comando start/status.
|
|
38
|
+
4. Cubrir main/develop y paths con espacios.
|
|
39
|
+
5. Agregar tests.
|
|
40
|
+
|
|
41
|
+
## Restricciones
|
|
42
|
+
|
|
43
|
+
- No cerrar worktrees en esta slice.
|
|
44
|
+
- No crear PR en esta slice.
|
|
45
|
+
|
|
46
|
+
## Riesgos
|
|
47
|
+
|
|
48
|
+
- Romper `start-slice` existente.
|
|
49
|
+
- Mantener supuestos viejos de `develop` cuando el repo usa `main`.
|
|
50
|
+
|
|
51
|
+
## Checklist de finalizacion
|
|
52
|
+
|
|
53
|
+
- [ ] Spec worktree start/status listo.
|
|
54
|
+
- [ ] Base branch segura.
|
|
55
|
+
- [ ] Bloqueo de slice-00 cubierto.
|
|
56
|
+
- [ ] Tests pasan.
|
package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/slice.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-05-spec-worktree-lifecycle",
|
|
3
|
+
"ticket": "QUIVER-22-05",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Spec worktree lifecycle",
|
|
6
|
+
"objective": "Formalize one dedicated worktree per spec and make slice-00 the first executable step.",
|
|
7
|
+
"description": "Add commands and guardrails for starting, inspecting, and managing a spec-level worktree before slice execution.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "spec-worktree-lifecycle",
|
|
12
|
+
"branch_name": "feature/QUIVER-22-05-spec-worktree-lifecycle"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/index.js",
|
|
16
|
+
"src/create-quiver/lib/lifecycle.js",
|
|
17
|
+
"src/create-quiver/lib/slice.js",
|
|
18
|
+
"src/create-quiver/lib/git.js",
|
|
19
|
+
"src/create-quiver/lib/spec-worktrees.js",
|
|
20
|
+
"tests/lib/lifecycle.test.js",
|
|
21
|
+
"tests/commands/spec-worktree.test.js"
|
|
22
|
+
],
|
|
23
|
+
"depends_on": [
|
|
24
|
+
"slice-04-planner-approval-state"
|
|
25
|
+
],
|
|
26
|
+
"parallel_safe": "no",
|
|
27
|
+
"parallel_safe_reason": "Spec worktree behavior is required before execution and PR automation.",
|
|
28
|
+
"must": [
|
|
29
|
+
"Represent one spec as one worktree and one PR branch.",
|
|
30
|
+
"Start the spec worktree from the correct base branch.",
|
|
31
|
+
"Require slice-00 to be first.",
|
|
32
|
+
"Show spec status, worktree path, branch, and pending slices.",
|
|
33
|
+
"Avoid deleting or overwriting active worktrees."
|
|
34
|
+
],
|
|
35
|
+
"not_included": [
|
|
36
|
+
"Post-merge cleanup.",
|
|
37
|
+
"PR creation.",
|
|
38
|
+
"Parallel slice execution."
|
|
39
|
+
],
|
|
40
|
+
"acceptance": [
|
|
41
|
+
"Spec start creates or reuses one dedicated worktree for the spec.",
|
|
42
|
+
"Spec status shows branch, path, slice-00 status, and pending slices.",
|
|
43
|
+
"Commands refuse to start later slices before slice-00 is complete.",
|
|
44
|
+
"Base branch selection supports main or develop without hardcoding the wrong target.",
|
|
45
|
+
"Existing dirty worktrees are not overwritten."
|
|
46
|
+
],
|
|
47
|
+
"tests": [
|
|
48
|
+
"node --test tests/lib/lifecycle.test.js tests/commands/spec-worktree.test.js",
|
|
49
|
+
"git diff --check"
|
|
50
|
+
],
|
|
51
|
+
"estimated_hours": 8,
|
|
52
|
+
"status": "completed",
|
|
53
|
+
"blocked_reason": null
|
|
54
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-06: Executor commit and recovery
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se extendio `ai execute-slice` para ejecutar validaciones declaradas, bloquear commits ante fallos y crear un unico commit del slice cuando el usuario habilita `--commit`.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Commit unico post-validacion.
|
|
10
|
+
- [x] Fallos bloquean commit.
|
|
11
|
+
- [x] Recovery visible.
|
|
12
|
+
- [x] Tests ejecutados.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- Nuevo flag `--commit` para commit opt-in despues de provider, scope y validaciones.
|
|
17
|
+
- Nuevo flag `--allow-dirty` para permitir dirty worktree preexistente de forma explicita.
|
|
18
|
+
- Validaciones declaradas en `slice.json.tests` se ejecutan antes del commit.
|
|
19
|
+
- Fallos de provider, scope, validacion o commit agregan guia de retry/abort.
|
|
20
|
+
- Tests cubren provider failure, scope violation, validation failure, dirty worktree, commit exitoso y dry-run CLI.
|
|
21
|
+
|
|
22
|
+
## Pendientes
|
|
23
|
+
|
|
24
|
+
Sin pendientes criticos para esta slice.
|
|
25
|
+
|
|
26
|
+
## Riesgos remanentes
|
|
27
|
+
|
|
28
|
+
Los comandos de validacion se ejecutan como comandos del proyecto; deben venir de `slice.json.tests` revisado por el equipo.
|
|
29
|
+
|
|
30
|
+
## Recomendaciones futuras
|
|
31
|
+
|
|
32
|
+
Las waves de `slice-07` deben reutilizar este ejecutor en vez de duplicar logica de validacion o commit.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-06: Executor commit and recovery
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v22-guided-ai-workflow
|
|
4
|
+
**Slice:** slice-06-executor-commit-recovery
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
El executor debe poder modificar codigo dentro del slice, pero el flujo necesita validacion, reporte y un commit por slice.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar commit opcional post-validacion y recuperacion clara ante fallos.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Ejecutar slice con contexto acotado.
|
|
18
|
+
- Validar scope.
|
|
19
|
+
- Ejecutar validaciones declaradas.
|
|
20
|
+
- Crear commit unico si corresponde.
|
|
21
|
+
- Reportar retry/abort cuando algo falla.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- No hay commit si falla provider, scope o validaciones.
|
|
26
|
+
- Si todo pasa y commit esta habilitado, se crea un commit.
|
|
27
|
+
- El usuario ve que hacer ante fallos.
|
|
28
|
+
- El worktree sucio se bloquea por default.
|
|
29
|
+
|
|
30
|
+
## Plan tecnico resumido
|
|
31
|
+
|
|
32
|
+
Extender `ai execute-slice` y helpers del executor con una etapa posterior a validacion. Mantener commit automation explicita y testeada.
|
|
33
|
+
|
|
34
|
+
## Pasos sugeridos de ejecucion
|
|
35
|
+
|
|
36
|
+
1. Revisar `executor.js` y tests actuales.
|
|
37
|
+
2. Agregar opcion de commit.
|
|
38
|
+
3. Implementar commit message por slice.
|
|
39
|
+
4. Agregar reporte de fallo recuperable.
|
|
40
|
+
5. Cubrir casos happy/error.
|
|
41
|
+
|
|
42
|
+
## Restricciones
|
|
43
|
+
|
|
44
|
+
- No ejecutar multiples slices.
|
|
45
|
+
- No abrir PR.
|
|
46
|
+
- No hacer rollback destructivo automatico.
|
|
47
|
+
|
|
48
|
+
## Riesgos
|
|
49
|
+
|
|
50
|
+
- Commit accidental con cambios fuera de scope.
|
|
51
|
+
- Mensajes de error poco accionables.
|
|
52
|
+
|
|
53
|
+
## Checklist de finalizacion
|
|
54
|
+
|
|
55
|
+
- [ ] Commit opt-in listo.
|
|
56
|
+
- [ ] Scope bloquea commit.
|
|
57
|
+
- [ ] Fallos reportan recovery.
|
|
58
|
+
- [ ] Tests pasan.
|
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.
|