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,40 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-02: Context packs and token budgets
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se agregaron roles de IA, context packs, token-budget hints, filtros de seguridad para rutas sensibles y texto base contra prompt injection.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Roles `planner` y `executor` definidos.
|
|
10
|
+
- [x] Context packs `full`, `planning`, `slice`, `minimal` definidos.
|
|
11
|
+
- [x] Executor no usa `full` por default.
|
|
12
|
+
- [x] Exclusiones sensibles cubiertas.
|
|
13
|
+
- [x] Prompt-injection boundary presente.
|
|
14
|
+
|
|
15
|
+
## Cambios relevantes
|
|
16
|
+
|
|
17
|
+
- `src/create-quiver/lib/ai/context-packs.js`
|
|
18
|
+
- `src/create-quiver/lib/ai/prompts.js`
|
|
19
|
+
- `src/create-quiver/lib/ai/safety.js`
|
|
20
|
+
- `tests/lib/ai-context-packs.test.js`
|
|
21
|
+
- `tests/lib/ai-safety.test.js`
|
|
22
|
+
|
|
23
|
+
## Pendientes
|
|
24
|
+
|
|
25
|
+
- Ajustar context packs concretos cuando `ai onboard`, `ai plan` y `ai execute-slice` empiecen a consumirlos.
|
|
26
|
+
|
|
27
|
+
## Riesgos remanentes
|
|
28
|
+
|
|
29
|
+
- Las exclusiones son conservadoras y pueden requerir refinamiento por stack.
|
|
30
|
+
- Los presupuestos de tokens son hints, no limites estrictos.
|
|
31
|
+
|
|
32
|
+
## Recomendaciones futuras
|
|
33
|
+
|
|
34
|
+
Revisar exclusiones contra proyectos reales antes de ampliar el set de archivos leidos.
|
|
35
|
+
|
|
36
|
+
## Validacion ejecutada
|
|
37
|
+
|
|
38
|
+
- `node --test tests/lib/ai-context-packs.test.js tests/lib/ai-safety.test.js`
|
|
39
|
+
- `node --test tests/lib/ai-providers.test.js tests/lib/ai-prompt-transport.test.js tests/lib/ai-context-packs.test.js tests/lib/ai-safety.test.js`
|
|
40
|
+
- `git diff --check`
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-02: Context packs and token budgets
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v20-ai-cli-orchestration
|
|
4
|
+
**Slice:** slice-02-context-packs-token-budget
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
El valor principal del flujo es que el planner use contexto amplio y el executor use contexto minimo. Esta slice define esa separacion.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Implementar roles, context packs, token-budget hints y exclusiones de seguridad para preparar prompts eficientes.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Roles `planner` y `executor`.
|
|
18
|
+
- Context packs `full`, `planning`, `slice`, `minimal`.
|
|
19
|
+
- Exclusiones de secretos y archivos pesados.
|
|
20
|
+
- Texto base contra prompt injection desde archivos del repo.
|
|
21
|
+
- Metadata para dry-run.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- Executor no recibe contexto `full`.
|
|
26
|
+
- Secrets y outputs pesados quedan excluidos.
|
|
27
|
+
- Prompt incluye jerarquia de instrucciones.
|
|
28
|
+
- Tests cubren paths POSIX y Windows.
|
|
29
|
+
|
|
30
|
+
## Plan tecnico resumido
|
|
31
|
+
|
|
32
|
+
Crear `context-packs.js`, `prompts.js` y `safety.js`. Modelar context packs como datos estructurados con entradas sugeridas, exclusiones, rol esperado y presupuesto orientativo.
|
|
33
|
+
|
|
34
|
+
## Pasos sugeridos de ejecucion
|
|
35
|
+
|
|
36
|
+
1. Definir constantes de roles y packs.
|
|
37
|
+
2. Implementar resolucion de archivos candidatos.
|
|
38
|
+
3. Implementar filtros de exclusion.
|
|
39
|
+
4. Agregar prompt base de seguridad.
|
|
40
|
+
5. Agregar tests para inclusion/exclusion.
|
|
41
|
+
|
|
42
|
+
## Restricciones
|
|
43
|
+
|
|
44
|
+
- No leer archivos sensibles.
|
|
45
|
+
- No ejecutar providers.
|
|
46
|
+
- No generar specs.
|
|
47
|
+
|
|
48
|
+
## Riesgos
|
|
49
|
+
|
|
50
|
+
- Contexto demasiado chico para executor.
|
|
51
|
+
- Contexto demasiado grande para ahorrar tokens.
|
|
52
|
+
- Exclusion incompleta de archivos sensibles.
|
|
53
|
+
|
|
54
|
+
## Checklist de finalizacion
|
|
55
|
+
|
|
56
|
+
- [ ] Tests de context packs pasan.
|
|
57
|
+
- [ ] Tests de safety pasan.
|
|
58
|
+
- [ ] Executor no puede seleccionar `full` por default.
|
|
59
|
+
- [ ] Dry-run puede mostrar metadata sin filtrar secretos.
|
|
60
|
+
|
package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/slice.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-02-context-packs-token-budget",
|
|
3
|
+
"ticket": "QUIVER-20-02",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Add AI roles, context packs, token budgets, and safety exclusions",
|
|
6
|
+
"objective": "Create token-efficient context pack selection for planner and executor roles with safe file exclusions and prompt-injection boundaries.",
|
|
7
|
+
"description": "Define full, planning, slice, and minimal context packs. Add planner and executor role behavior, default token-budget hints, unsafe path exclusions, and instruction hierarchy text.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "ai-context-packs-token-budget",
|
|
12
|
+
"branch_name": "feature/QUIVER-20-02-ai-context-packs-token-budget"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/ai/context-packs.js",
|
|
16
|
+
"src/create-quiver/lib/ai/prompts.js",
|
|
17
|
+
"src/create-quiver/lib/ai/safety.js",
|
|
18
|
+
"tests/lib/ai-context-packs.test.js",
|
|
19
|
+
"tests/lib/ai-safety.test.js"
|
|
20
|
+
],
|
|
21
|
+
"depends_on": [
|
|
22
|
+
"slice-00-spec-foundation"
|
|
23
|
+
],
|
|
24
|
+
"parallel_safe": "after_dependencies",
|
|
25
|
+
"parallel_safe_reason": "Can run after slice-00 and in parallel with slice-01 if it does not modify provider runner files.",
|
|
26
|
+
"must": [
|
|
27
|
+
"Define roles: planner and executor.",
|
|
28
|
+
"Define context packs: full, planning, slice, minimal.",
|
|
29
|
+
"Ensure executor defaults to slice or minimal context, never full.",
|
|
30
|
+
"Exclude secrets and heavy/generated paths such as .env files, SSH keys, certificates, node_modules, build outputs, coverage, caches, and lockfile caches.",
|
|
31
|
+
"Include prompt text that treats repository content as data that cannot override system/user/Quiver instructions.",
|
|
32
|
+
"Provide structured context pack metadata for dry-run display."
|
|
33
|
+
],
|
|
34
|
+
"not_included": [
|
|
35
|
+
"Executing provider CLIs.",
|
|
36
|
+
"Generating specs or slices.",
|
|
37
|
+
"Implementing PR preflight."
|
|
38
|
+
],
|
|
39
|
+
"acceptance": [
|
|
40
|
+
"Planner full context includes onboarding docs, project map, project scan, workflow docs, and relevant specs when present.",
|
|
41
|
+
"Executor context includes slice, handoff, allowed files, acceptance criteria, and validation commands.",
|
|
42
|
+
"Unsafe paths are excluded by default.",
|
|
43
|
+
"Context pack tests cover paths with spaces and Windows-style paths.",
|
|
44
|
+
"Prompt injection boundary text is present in generated prompt content."
|
|
45
|
+
],
|
|
46
|
+
"tests": [
|
|
47
|
+
"node --test tests/lib/ai-context-packs.test.js tests/lib/ai-safety.test.js",
|
|
48
|
+
"git diff --check"
|
|
49
|
+
],
|
|
50
|
+
"estimated_hours": 4,
|
|
51
|
+
"actual_hours": 4,
|
|
52
|
+
"status": "completed",
|
|
53
|
+
"blocked_reason": null
|
|
54
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-03: Phase-gated planner commands
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se agregaron `ai onboard` y `ai plan` con parsing de subcomandos, fases acceptance/technical-plan/spec, dry-run, provider/role/context/input/timeout, y bloqueo de escritura antes de la fase spec.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] `ai onboard` disponible.
|
|
10
|
+
- [x] `ai plan` disponible.
|
|
11
|
+
- [x] Acceptance phase no escribe archivos.
|
|
12
|
+
- [x] Technical-plan phase no escribe archivos.
|
|
13
|
+
- [x] Dry-run muestra invocation plan.
|
|
14
|
+
- [x] Missing input file falla con error claro.
|
|
15
|
+
- [x] Provider errors propagan contexto accionable.
|
|
16
|
+
|
|
17
|
+
## Cambios relevantes
|
|
18
|
+
|
|
19
|
+
- `src/create-quiver/commands/ai.js`
|
|
20
|
+
- `src/create-quiver/index.js`
|
|
21
|
+
- `src/create-quiver/lib/ai/phase-gates.js`
|
|
22
|
+
- `tests/commands/ai-plan.test.js`
|
|
23
|
+
- `tests/commands/ai-onboard.test.js`
|
|
24
|
+
- `specs/quiver-v20-ai-cli-orchestration/EVIDENCE_REPORT.md`
|
|
25
|
+
- `specs/quiver-v20-ai-cli-orchestration/STATUS.md`
|
|
26
|
+
|
|
27
|
+
## Pendientes
|
|
28
|
+
|
|
29
|
+
La fase `spec` sigue bloqueada hasta slice-04.
|
|
30
|
+
|
|
31
|
+
## Riesgos remanentes
|
|
32
|
+
|
|
33
|
+
- La fase `spec` todavia no genera artefactos y queda para slice-04.
|
|
34
|
+
- Los prompts siguen dependiendo de input files suministrados por el usuario.
|
|
35
|
+
|
|
36
|
+
## Recomendaciones futuras
|
|
37
|
+
|
|
38
|
+
Mantener las fases separadas aunque se agreguen atajos de UX mas adelante.
|
|
39
|
+
|
|
40
|
+
## Validacion ejecutada
|
|
41
|
+
|
|
42
|
+
- `node --test tests/commands/ai-plan.test.js tests/commands/ai-onboard.test.js tests/lib/ai-providers.test.js tests/lib/ai-context-packs.test.js`
|
|
43
|
+
- `git diff --check`
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-03: Phase-gated planner commands
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v20-ai-cli-orchestration
|
|
4
|
+
**Slice:** slice-03-ai-phase-gated-planner
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
El planner debe operar por fases con aprobacion humana. No puede crear specs ni modificar codigo antes de que los criterios y el plan tecnico esten aprobados.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar `quiver ai onboard` y `quiver ai plan` con fases explicitas.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Parsear `npx create-quiver ai onboard`.
|
|
18
|
+
- Parsear `npx create-quiver ai plan`.
|
|
19
|
+
- Soportar provider, role, context, input, dry-run y timeout.
|
|
20
|
+
- Separar acceptance, technical-plan y spec phase.
|
|
21
|
+
- Impedir escrituras en acceptance y technical-plan.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- `ai onboard --dry-run` muestra provider, role, context pack e invocation plan.
|
|
26
|
+
- `ai plan` en fase acceptance no escribe archivos.
|
|
27
|
+
- `ai plan` en fase technical-plan no escribe archivos.
|
|
28
|
+
- Faltante de input falla con error claro.
|
|
29
|
+
- Error del provider se propaga.
|
|
30
|
+
|
|
31
|
+
## Plan tecnico resumido
|
|
32
|
+
|
|
33
|
+
Crear `commands/ai.js` y conectar desde `index.js`. Usar provider runner y context packs existentes. Implementar `phase-gates.js` para validar transiciones.
|
|
34
|
+
|
|
35
|
+
## Pasos sugeridos de ejecucion
|
|
36
|
+
|
|
37
|
+
1. Agregar comando `ai` al parser del CLI.
|
|
38
|
+
2. Implementar subcomandos `onboard` y `plan`.
|
|
39
|
+
3. Integrar provider runner.
|
|
40
|
+
4. Integrar context pack selection.
|
|
41
|
+
5. Agregar phase gate validation.
|
|
42
|
+
6. Agregar tests de comandos.
|
|
43
|
+
|
|
44
|
+
## Restricciones
|
|
45
|
+
|
|
46
|
+
- No crear specs en esta slice.
|
|
47
|
+
- No modificar producto desde planner.
|
|
48
|
+
- Mantener salida en consola.
|
|
49
|
+
|
|
50
|
+
## Riesgos
|
|
51
|
+
|
|
52
|
+
- Avanzar de fase por error.
|
|
53
|
+
- Mezclar responsabilidades de planner y executor.
|
|
54
|
+
- Cambiar parser global y romper comandos existentes.
|
|
55
|
+
|
|
56
|
+
## Checklist de finalizacion
|
|
57
|
+
|
|
58
|
+
- [ ] Tests de `ai onboard` pasan.
|
|
59
|
+
- [ ] Tests de `ai plan` pasan.
|
|
60
|
+
- [ ] Comandos existentes siguen funcionando.
|
|
61
|
+
- [ ] Dry-run no ejecuta providers.
|
|
62
|
+
|
package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/slice.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-03-ai-phase-gated-planner",
|
|
3
|
+
"ticket": "QUIVER-20-03",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Add phase-gated planner commands",
|
|
6
|
+
"objective": "Add quiver ai onboard and quiver ai plan flows with explicit approval phases and no file writes before the spec phase.",
|
|
7
|
+
"description": "Expose initial AI commands that use the provider runner and context packs. The planner flow must separate acceptance criteria, technical plan, and spec generation so the user can approve each phase before advancing.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "ai-phase-gated-planner",
|
|
12
|
+
"branch_name": "feature/QUIVER-20-03-ai-phase-gated-planner"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/index.js",
|
|
17
|
+
"src/create-quiver/lib/ai/phase-gates.js",
|
|
18
|
+
"specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/CLOSURE_BRIEF.md",
|
|
19
|
+
"specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/slice.json",
|
|
20
|
+
"specs/quiver-v20-ai-cli-orchestration/EVIDENCE_REPORT.md",
|
|
21
|
+
"specs/quiver-v20-ai-cli-orchestration/STATUS.md",
|
|
22
|
+
"tests/commands/ai-plan.test.js",
|
|
23
|
+
"tests/commands/ai-onboard.test.js"
|
|
24
|
+
],
|
|
25
|
+
"depends_on": [
|
|
26
|
+
"slice-01-ai-provider-runner",
|
|
27
|
+
"slice-02-context-packs-token-budget"
|
|
28
|
+
],
|
|
29
|
+
"parallel_safe": "after_dependencies",
|
|
30
|
+
"parallel_safe_reason": "Requires provider runner and context packs.",
|
|
31
|
+
"must": [
|
|
32
|
+
"Add command parsing for npx create-quiver ai onboard.",
|
|
33
|
+
"Add command parsing for npx create-quiver ai plan.",
|
|
34
|
+
"Support --provider, --role, --context, --input, --dry-run, and --timeout where applicable.",
|
|
35
|
+
"Default ai onboard to planner role and full context.",
|
|
36
|
+
"Default ai plan acceptance phase to planning context.",
|
|
37
|
+
"Prevent file writes in acceptance and technical-plan phases.",
|
|
38
|
+
"Require explicit phase selection before spec artifact generation.",
|
|
39
|
+
"Print phase output to console."
|
|
40
|
+
],
|
|
41
|
+
"not_included": [
|
|
42
|
+
"Generating spec files in this slice.",
|
|
43
|
+
"Executing slices.",
|
|
44
|
+
"Opening PRs."
|
|
45
|
+
],
|
|
46
|
+
"acceptance": [
|
|
47
|
+
"ai onboard --dry-run prints provider, role, context pack, and command plan.",
|
|
48
|
+
"ai plan acceptance phase does not write files.",
|
|
49
|
+
"ai plan technical-plan phase does not write files.",
|
|
50
|
+
"ai plan spec phase delegates to a generator placeholder or clear not-yet-implemented path until slice-04.",
|
|
51
|
+
"Missing input file fails with a clear error.",
|
|
52
|
+
"Provider errors propagate with actionable context."
|
|
53
|
+
],
|
|
54
|
+
"tests": [
|
|
55
|
+
"node --test tests/commands/ai-plan.test.js tests/commands/ai-onboard.test.js tests/lib/ai-providers.test.js tests/lib/ai-context-packs.test.js",
|
|
56
|
+
"git diff --check"
|
|
57
|
+
],
|
|
58
|
+
"estimated_hours": 5,
|
|
59
|
+
"actual_hours": 5,
|
|
60
|
+
"status": "completed",
|
|
61
|
+
"blocked_reason": null
|
|
62
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-04: Spec, slice, handoff, and PR generation
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se implemento la fase `spec` de `ai plan` con un generador local que crea `SPEC.md`, `STATUS.md`, `EVIDENCE_REPORT.md`, `EXECUTION_PLAN.md`, `pr.md`, `slice-00` y slices posteriores, valida los `slice.json`, y falla sin overwrite cuando el directorio de spec ya existe.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] `SPEC.md` generado.
|
|
10
|
+
- [x] `slice-00` generado.
|
|
11
|
+
- [x] Handoffs generados para cada slice.
|
|
12
|
+
- [x] `EXECUTION_PLAN.md` generado.
|
|
13
|
+
- [x] `pr.md` generado.
|
|
14
|
+
- [x] Colisiones fallan sin overwrite.
|
|
15
|
+
|
|
16
|
+
## Cambios relevantes
|
|
17
|
+
|
|
18
|
+
- `src/create-quiver/lib/ai/spec-generator.js`
|
|
19
|
+
- `src/create-quiver/lib/ai/spec-templates.js`
|
|
20
|
+
- `src/create-quiver/commands/ai.js`
|
|
21
|
+
- `src/create-quiver/lib/ai/phase-gates.js`
|
|
22
|
+
- `tests/lib/ai-spec-generator.test.js`
|
|
23
|
+
- `tests/commands/ai-plan-spec-phase.test.js`
|
|
24
|
+
- `tests/commands/ai-plan.test.js`
|
|
25
|
+
|
|
26
|
+
## Pendientes
|
|
27
|
+
|
|
28
|
+
Ninguno para esta slice.
|
|
29
|
+
|
|
30
|
+
## Riesgos remanentes
|
|
31
|
+
|
|
32
|
+
- La primera version depende de `--input` como fuente aprobada. Si el input no trae una forma clara de spec, el generador usa una plantilla segura.
|
|
33
|
+
|
|
34
|
+
## Recomendaciones futuras
|
|
35
|
+
|
|
36
|
+
Persistir la salida de fases anteriores para que `spec` pueda consumir un contrato estructurado en lugar de solo el input aprobado.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-04: Spec, slice, handoff, and PR generation
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v20-ai-cli-orchestration
|
|
4
|
+
**Slice:** slice-04-spec-slice-handoff-pr-generation
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
Una vez aprobado el plan tecnico, Quiver debe crear artefactos ejecutables para que el trabajo se pueda dividir por slices y PR.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Implementar generacion de `SPEC.md`, `slice-00`, slices, handoffs, `EXECUTION_PLAN.md` y `pr.md`.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Generador de spec directory.
|
|
18
|
+
- Template de slice obligatoria `slice-00`.
|
|
19
|
+
- Handoffs por slice.
|
|
20
|
+
- Validacion de JSON generado.
|
|
21
|
+
- Prevencion de overwrite accidental.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- Toda spec generada tiene `slice-00`.
|
|
26
|
+
- Cada slice tiene `EXECUTION_BRIEF.md` y `CLOSURE_BRIEF.md`.
|
|
27
|
+
- `pr.md` siempre existe.
|
|
28
|
+
- Colision de directorio falla sin sobrescribir.
|
|
29
|
+
- JSON generado parsea.
|
|
30
|
+
|
|
31
|
+
## Plan tecnico resumido
|
|
32
|
+
|
|
33
|
+
Crear `spec-generator.js` y `spec-templates.js`. Integrar la fase `spec` de `ai plan` con el generador. Validar antes de escribir y despues de escribir.
|
|
34
|
+
|
|
35
|
+
## Pasos sugeridos de ejecucion
|
|
36
|
+
|
|
37
|
+
1. Definir modelo de input aprobado.
|
|
38
|
+
2. Crear templates internos.
|
|
39
|
+
3. Implementar escritura atomica o segura.
|
|
40
|
+
4. Validar paths y colisiones.
|
|
41
|
+
5. Integrar con `ai plan --phase spec`.
|
|
42
|
+
6. Agregar tests.
|
|
43
|
+
|
|
44
|
+
## Restricciones
|
|
45
|
+
|
|
46
|
+
- No commitear automaticamente.
|
|
47
|
+
- No abrir PR.
|
|
48
|
+
- No ejecutar slices.
|
|
49
|
+
|
|
50
|
+
## Riesgos
|
|
51
|
+
|
|
52
|
+
- Generar artefactos inconsistentes.
|
|
53
|
+
- Sobrescribir una spec existente.
|
|
54
|
+
- Handoffs demasiado genericos para executors.
|
|
55
|
+
|
|
56
|
+
## Checklist de finalizacion
|
|
57
|
+
|
|
58
|
+
- [ ] Tests de generador pasan.
|
|
59
|
+
- [ ] Colision cubierta.
|
|
60
|
+
- [ ] slice-00 cubierta.
|
|
61
|
+
- [ ] pr.md cubierta.
|
|
62
|
+
- [ ] JSON parse cubierto.
|
|
63
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-04-spec-slice-handoff-pr-generation",
|
|
3
|
+
"ticket": "QUIVER-20-04",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Generate specs, slices, handoffs, and PR body after approval",
|
|
6
|
+
"objective": "Implement the artifact generator used by the planner spec phase.",
|
|
7
|
+
"description": "After the user approves the technical plan, Quiver should generate a spec directory with mandatory slice-00, slice.json files, EXECUTION_BRIEF.md, CLOSURE_BRIEF.md, EXECUTION_PLAN.md, and pr.md.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "ai-spec-slice-handoff-generation",
|
|
12
|
+
"branch_name": "feature/QUIVER-20-04-ai-spec-slice-handoff-generation"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/ai/spec-generator.js",
|
|
16
|
+
"src/create-quiver/lib/ai/spec-templates.js",
|
|
17
|
+
"src/create-quiver/commands/ai.js",
|
|
18
|
+
"tests/lib/ai-spec-generator.test.js",
|
|
19
|
+
"tests/commands/ai-plan-spec-phase.test.js"
|
|
20
|
+
],
|
|
21
|
+
"depends_on": [
|
|
22
|
+
"slice-03-ai-phase-gated-planner"
|
|
23
|
+
],
|
|
24
|
+
"parallel_safe": "after_dependencies",
|
|
25
|
+
"parallel_safe_reason": "Requires planner phase plumbing.",
|
|
26
|
+
"must": [
|
|
27
|
+
"Generate SPEC.md from approved criteria and plan.",
|
|
28
|
+
"Generate mandatory slice-00.",
|
|
29
|
+
"Generate one or more implementation slices.",
|
|
30
|
+
"Generate EXECUTION_BRIEF.md and CLOSURE_BRIEF.md for every slice.",
|
|
31
|
+
"Generate EXECUTION_PLAN.md with dependencies and parallelization.",
|
|
32
|
+
"Generate pr.md following GitFlow headings.",
|
|
33
|
+
"Avoid overwriting existing spec directories unless an explicit overwrite flag is added and approved.",
|
|
34
|
+
"Validate generated slice.json files before completing."
|
|
35
|
+
],
|
|
36
|
+
"not_included": [
|
|
37
|
+
"Running executor agents.",
|
|
38
|
+
"Creating GitHub PRs.",
|
|
39
|
+
"Automatically committing generated artifacts."
|
|
40
|
+
],
|
|
41
|
+
"acceptance": [
|
|
42
|
+
"Generated spec has slice-00.",
|
|
43
|
+
"Every later slice depends on slice-00 directly or indirectly.",
|
|
44
|
+
"Every slice has both execution and closure briefs.",
|
|
45
|
+
"pr.md is always created.",
|
|
46
|
+
"Existing spec directory collision fails safely.",
|
|
47
|
+
"Generated JSON parses successfully."
|
|
48
|
+
],
|
|
49
|
+
"tests": [
|
|
50
|
+
"node --test tests/lib/ai-spec-generator.test.js tests/commands/ai-plan-spec-phase.test.js",
|
|
51
|
+
"git diff --check"
|
|
52
|
+
],
|
|
53
|
+
"estimated_hours": 6,
|
|
54
|
+
"status": "completed",
|
|
55
|
+
"blocked_reason": null,
|
|
56
|
+
"actual_hours": 5,
|
|
57
|
+
"started_at": "2026-05-19T17:00:18-0300",
|
|
58
|
+
"completed_at": "2026-05-19T17:00:18-0300"
|
|
59
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-05: Execution plan and parallel worktrees
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se implemento `src/create-quiver/lib/ai/execution-plan.js` para calcular ready levels, integrar la barrera de `slice-00` por spec, separar niveles paralelos y documentar el uso de worktrees temporales. Tambien se extendio `src/create-quiver/lib/slice-graph.js` con helpers para reconocer slices de foundation y se agregaron tests de plan de ejecucion, ciclos y dependencias faltantes.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] `slice-00` aparece primero en el plan.
|
|
10
|
+
- [x] Ready levels respetan dependencias.
|
|
11
|
+
- [x] Ciclos detectados.
|
|
12
|
+
- [x] Dependencias faltantes detectadas.
|
|
13
|
+
- [x] Smokes existentes siguen pasando.
|
|
14
|
+
|
|
15
|
+
## Cambios relevantes
|
|
16
|
+
|
|
17
|
+
- Nuevo planner de ejecucion en `src/create-quiver/lib/ai/execution-plan.js`.
|
|
18
|
+
- Barrera de foundation por spec para evitar que slices posteriores adelanten a `slice-00`.
|
|
19
|
+
- Metadatos de worktree temporal por nivel paralelo.
|
|
20
|
+
- Cobertura de tests para ready levels, formatter y errores de grafo.
|
|
21
|
+
|
|
22
|
+
## Pendientes
|
|
23
|
+
|
|
24
|
+
- Slice-06, Slice-07 y Slice-08 siguen pendientes de implementacion.
|
|
25
|
+
|
|
26
|
+
## Riesgos remanentes
|
|
27
|
+
|
|
28
|
+
- Los comandos `plan/graph/next` siguen usando su comportamiento actual; si se quiere exponer este plan de ejecucion en CLI, falta cablearlo a un comando.
|
|
29
|
+
|
|
30
|
+
## Recomendaciones futuras
|
|
31
|
+
|
|
32
|
+
Conectar este planner con una salida de CLI o con `EXECUTION_PLAN.md` si se necesita una vista humana del nivel ready y del orden de integracion.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-05: Execution plan and parallel worktrees
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v20-ai-cli-orchestration
|
|
4
|
+
**Slice:** slice-05-execution-plan-parallel-worktrees
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
El planner debe decir que slices van secuenciales y cuales pueden correr en paralelo. Para paralelismo real, las slices no deben pisarse en la misma worktree.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar representacion de niveles de ejecucion, dependencias, paralelismo e integracion de worktrees temporales.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Tratar `slice-00` como primer bloqueante.
|
|
18
|
+
- Generar niveles ready.
|
|
19
|
+
- Detectar ciclos y dependencias faltantes.
|
|
20
|
+
- Documentar estrategia de worktrees temporales.
|
|
21
|
+
- Mantener compatibilidad con plan/graph/next.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- El execution plan muestra `slice-00` primero.
|
|
26
|
+
- Slices paralelas solo aparecen cuando sus dependencias estan satisfechas.
|
|
27
|
+
- Ciclos fallan con diagnostico claro.
|
|
28
|
+
- Dependencias faltantes fallan con diagnostico claro.
|
|
29
|
+
- Smokes actuales siguen pasando.
|
|
30
|
+
|
|
31
|
+
## Plan tecnico resumido
|
|
32
|
+
|
|
33
|
+
Extender `slice-graph.js` y agregar `ai/execution-plan.js`. Reusar logica existente de plan/graph cuando sea posible. Evitar duplicar algoritmos de dependencias.
|
|
34
|
+
|
|
35
|
+
## Pasos sugeridos de ejecucion
|
|
36
|
+
|
|
37
|
+
1. Revisar graph/plan actual.
|
|
38
|
+
2. Agregar modelo de ready levels.
|
|
39
|
+
3. Agregar reglas de `slice-00`.
|
|
40
|
+
4. Agregar diagnosticos de error.
|
|
41
|
+
5. Agregar tests.
|
|
42
|
+
6. Correr smoke.
|
|
43
|
+
|
|
44
|
+
## Restricciones
|
|
45
|
+
|
|
46
|
+
- No ejecutar agentes.
|
|
47
|
+
- No mergear worktrees automaticamente.
|
|
48
|
+
- No romper formatos existentes.
|
|
49
|
+
|
|
50
|
+
## Riesgos
|
|
51
|
+
|
|
52
|
+
- Regresion en `quiver:plan`, `quiver:graph`, `quiver:next`.
|
|
53
|
+
- Ambiguedad entre paralelizable y paralelo ya ejecutado.
|
|
54
|
+
|
|
55
|
+
## Checklist de finalizacion
|
|
56
|
+
|
|
57
|
+
- [ ] Tests de execution plan pasan.
|
|
58
|
+
- [ ] Tests de slice graph pasan.
|
|
59
|
+
- [ ] Smoke create-quiver pasa.
|
|
60
|
+
- [ ] Formatos existentes siguen compatibles.
|
|
61
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-05-execution-plan-parallel-worktrees",
|
|
3
|
+
"ticket": "QUIVER-20-05",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Add execution plan and parallel worktree support",
|
|
6
|
+
"objective": "Represent slice dependencies, ready levels, parallel execution groups, and temporary worktree strategy for slices that can run concurrently.",
|
|
7
|
+
"description": "Extend Quiver's orchestration model so generated specs and existing slice graph commands can reason about slice-00, dependencies, sequential work, parallel-ready work, and integration order.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "ai-execution-plan-parallel-worktrees",
|
|
12
|
+
"branch_name": "feature/QUIVER-20-05-ai-execution-plan-parallel-worktrees"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/ai/execution-plan.js",
|
|
16
|
+
"src/create-quiver/lib/git.js",
|
|
17
|
+
"src/create-quiver/lib/slice-graph.js",
|
|
18
|
+
"src/create-quiver/commands/plan.js",
|
|
19
|
+
"src/create-quiver/commands/graph.js",
|
|
20
|
+
"tests/lib/ai-execution-plan.test.js",
|
|
21
|
+
"tests/lib/slice-graph.test.js"
|
|
22
|
+
],
|
|
23
|
+
"depends_on": [
|
|
24
|
+
"slice-04-spec-slice-handoff-pr-generation"
|
|
25
|
+
],
|
|
26
|
+
"parallel_safe": "after_dependencies",
|
|
27
|
+
"parallel_safe_reason": "Can run in parallel with GitHub PR preflight after slice-04 if file ownership is respected.",
|
|
28
|
+
"must": [
|
|
29
|
+
"Treat slice-00 as the first required dependency for generated specs.",
|
|
30
|
+
"Represent ready levels for sequential and parallel execution.",
|
|
31
|
+
"Document when temporary worktrees are needed for parallel slices.",
|
|
32
|
+
"Provide integration order for parallel outputs.",
|
|
33
|
+
"Keep existing quiver:plan, quiver:graph, and quiver:next behavior compatible.",
|
|
34
|
+
"Handle dependency cycles and missing dependency references with clear errors."
|
|
35
|
+
],
|
|
36
|
+
"not_included": [
|
|
37
|
+
"Running AI executors.",
|
|
38
|
+
"Opening PRs.",
|
|
39
|
+
"Merging temporary worktrees automatically without validation."
|
|
40
|
+
],
|
|
41
|
+
"acceptance": [
|
|
42
|
+
"Execution plan output shows slice-00 first.",
|
|
43
|
+
"Parallel-ready slices are grouped only after dependencies are satisfied.",
|
|
44
|
+
"Dependency cycles fail with a clear diagnostic.",
|
|
45
|
+
"Missing dependencies fail with a clear diagnostic.",
|
|
46
|
+
"Existing plan/graph/next smokes still pass."
|
|
47
|
+
],
|
|
48
|
+
"tests": [
|
|
49
|
+
"node --test tests/lib/ai-execution-plan.test.js tests/lib/slice-graph.test.js",
|
|
50
|
+
"npm run smoke:create-quiver",
|
|
51
|
+
"git diff --check"
|
|
52
|
+
],
|
|
53
|
+
"estimated_hours": 6,
|
|
54
|
+
"status": "completed",
|
|
55
|
+
"blocked_reason": null,
|
|
56
|
+
"actual_hours": 5,
|
|
57
|
+
"started_at": "2026-05-19T17:24:20-0300",
|
|
58
|
+
"completed_at": "2026-05-19T17:24:20-0300"
|
|
59
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-06: Execute slice with scope enforcement
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se implemento `ai execute-slice` con contexto executor minimo, validacion de `slice.json` y `EXECUTION_BRIEF.md`, dry-run sin provider, ejecucion del provider, captura de snapshot Git antes/despues y validacion estricta contra `slice.json.files`.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] `ai execute-slice` disponible.
|
|
10
|
+
- [x] Falta de `slice.json` falla.
|
|
11
|
+
- [x] Falta de `EXECUTION_BRIEF.md` falla.
|
|
12
|
+
- [x] Dry-run no ejecuta provider.
|
|
13
|
+
- [x] Scope violation detectada.
|
|
14
|
+
- [x] Executor no recibe onboarding completo.
|
|
15
|
+
|
|
16
|
+
## Cambios relevantes
|
|
17
|
+
|
|
18
|
+
- `src/create-quiver/lib/ai/executor.js`
|
|
19
|
+
- `src/create-quiver/commands/ai.js`
|
|
20
|
+
- `src/create-quiver/index.js`
|
|
21
|
+
- `src/create-quiver/lib/scope.js`
|
|
22
|
+
- `tests/commands/ai-execute-slice.test.js`
|
|
23
|
+
- `tests/lib/ai-executor.test.js`
|
|
24
|
+
|
|
25
|
+
## Pendientes
|
|
26
|
+
|
|
27
|
+
Ninguno para esta slice.
|
|
28
|
+
|
|
29
|
+
## Riesgos remanentes
|
|
30
|
+
|
|
31
|
+
- El executor requiere worktree limpio antes de correr para que la comparacion pre/post sea confiable.
|
|
32
|
+
- La validacion de scope depende de `git status --porcelain`; proyectos sin Git no son un caso soportado para ejecucion automatica segura.
|
|
33
|
+
|
|
34
|
+
## Recomendaciones futuras
|
|
35
|
+
|
|
36
|
+
Mantener scope enforcement estricto aunque el provider complete la tarea correctamente.
|