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
package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/CLOSURE_BRIEF.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-01: Init profiles and dry-run planner
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se agrego el comando explicito `init`, flags de perfil para inicializacion, un planner puro de layout y el flujo `init --dry-run` sin escrituras. El comando historico `npx create-quiver --name` sigue funcionando como alias compatible.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] `init --dry-run` no escribe archivos.
|
|
10
|
+
- [x] Alias `--name` preservado.
|
|
11
|
+
- [x] Flags invalidos fallan antes de escribir.
|
|
12
|
+
- [x] Planner testeado como funcion pura.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `src/create-quiver/lib/init-layout.js` agrega planning puro y formatter de dry-run.
|
|
17
|
+
- `src/create-quiver/index.js` parsea `init`, `--minimal`, `--full`, `--legacy-scripts`, `--include-templates` y conecta `--dry-run`.
|
|
18
|
+
- Tests nuevos cubren planner, perfiles, alias compatible y que init real conserva el layout historico en este slice.
|
|
19
|
+
|
|
20
|
+
## Pendientes
|
|
21
|
+
|
|
22
|
+
- `slice-02` debe mover la infraestructura interna y template resolver real.
|
|
23
|
+
- `slice-03` debe cambiar la escritura efectiva por perfiles.
|
|
24
|
+
|
|
25
|
+
## Riesgos remanentes
|
|
26
|
+
|
|
27
|
+
- En esta slice los perfiles solo impactan el plan dry-run; la escritura real sigue usando el layout historico por diseno del corte.
|
|
28
|
+
|
|
29
|
+
## Recomendaciones futuras
|
|
30
|
+
|
|
31
|
+
- Usar `init-layout.js` como contrato unico para los slices siguientes y evitar duplicar listas de archivos.
|
package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/EXECUTION_BRIEF.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-01: Init profiles and dry-run planner
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v21-ai-first-layout
|
|
4
|
+
**Slice:** slice-01-init-profiles-dry-run
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
Antes de cambiar archivos generados, Quiver necesita una superficie explicita para init y un plan testeable que permita previews seguros.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar el comando `init`, perfiles de generacion y `--dry-run` sin cambiar todavia la escritura real.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Parser CLI.
|
|
18
|
+
- Alias compatible `npx create-quiver --name`.
|
|
19
|
+
- Nuevo modulo puro para calcular operaciones de layout.
|
|
20
|
+
- Tests del parser y del planner.
|
|
21
|
+
|
|
22
|
+
## Criterios de aceptacion
|
|
23
|
+
|
|
24
|
+
- `init --dry-run` no escribe archivos.
|
|
25
|
+
- `--name` sigue funcionando como alias.
|
|
26
|
+
- Flags invalidos fallan antes de escribir.
|
|
27
|
+
- El planner devuelve operaciones estructuradas.
|
|
28
|
+
|
|
29
|
+
## Plan tecnico resumido
|
|
30
|
+
|
|
31
|
+
Agregar `init` a `parseArgs`, normalizar flags en un objeto de perfil y crear `lib/init-layout.js` con funciones puras. Conectar dry-run para imprimir el plan y salir.
|
|
32
|
+
|
|
33
|
+
## Pasos sugeridos de ejecucion
|
|
34
|
+
|
|
35
|
+
1. Agregar `init` a comandos soportados.
|
|
36
|
+
2. Parsear flags de perfil.
|
|
37
|
+
3. Implementar validacion de combinaciones.
|
|
38
|
+
4. Implementar layout planner sin I/O.
|
|
39
|
+
5. Conectar `--dry-run`.
|
|
40
|
+
6. Agregar tests unitarios y CLI.
|
|
41
|
+
|
|
42
|
+
## Restricciones
|
|
43
|
+
|
|
44
|
+
- No cambiar todavia el set de archivos generado por init normal.
|
|
45
|
+
- No mover templates.
|
|
46
|
+
- No tocar docs salvo status/evidence del slice.
|
|
47
|
+
|
|
48
|
+
## Riesgos
|
|
49
|
+
|
|
50
|
+
- Romper compatibilidad del comando historico.
|
|
51
|
+
- Duplicar logica entre parser y planner.
|
|
52
|
+
- Hacer dry-run parcial que igual escriba algo.
|
|
53
|
+
|
|
54
|
+
## Checklist de finalizacion
|
|
55
|
+
|
|
56
|
+
- [ ] Tests del parser pasan.
|
|
57
|
+
- [ ] Tests del planner pasan.
|
|
58
|
+
- [ ] Dry-run deja `git status` limpio en fixture.
|
|
59
|
+
- [ ] Comandos existentes siguen funcionando.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-01-init-profiles-dry-run",
|
|
3
|
+
"ticket": "QUIVER-21-01",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Add init profiles and dry-run planner",
|
|
6
|
+
"objective": "Introduce explicit init mode, profile flags, compatibility alias behavior, and a pure layout plan for dry-run output.",
|
|
7
|
+
"description": "This slice creates the command surface and planning layer without changing the file generation behavior yet.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "init-profiles-dry-run",
|
|
12
|
+
"branch_name": "feature/QUIVER-21-01-init-profiles-dry-run"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/index.js",
|
|
16
|
+
"src/create-quiver/lib/init-layout.js",
|
|
17
|
+
"tests/lib/init-layout.test.js",
|
|
18
|
+
"tests/commands/init-profiles.test.js",
|
|
19
|
+
"specs/quiver-v21-ai-first-layout/STATUS.md",
|
|
20
|
+
"specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md",
|
|
21
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/CLOSURE_BRIEF.md",
|
|
22
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/slice.json"
|
|
23
|
+
],
|
|
24
|
+
"depends_on": [
|
|
25
|
+
"slice-00-spec-foundation"
|
|
26
|
+
],
|
|
27
|
+
"parallel_safe": "no",
|
|
28
|
+
"parallel_safe_reason": "Establishes parser and layout planning contracts used by later slices.",
|
|
29
|
+
"must": [
|
|
30
|
+
"Add explicit `init` command parsing.",
|
|
31
|
+
"Keep `npx create-quiver --name` as a compatibility alias.",
|
|
32
|
+
"Add flags `--minimal`, `--full`, `--legacy-scripts`, `--include-templates`, and `--dry-run` for init.",
|
|
33
|
+
"Add a pure layout planner that returns planned operations without writing files.",
|
|
34
|
+
"Make `init --dry-run` print planned creates, skips, internal files, optional files, and risks.",
|
|
35
|
+
"Validate invalid flag combinations before writes."
|
|
36
|
+
],
|
|
37
|
+
"not_included": [
|
|
38
|
+
"Changing actual generated file sets.",
|
|
39
|
+
"Moving templates or scan outputs.",
|
|
40
|
+
"Updating docs."
|
|
41
|
+
],
|
|
42
|
+
"acceptance": [
|
|
43
|
+
"`npx create-quiver init --name \"Project\" --dry-run` does not write files.",
|
|
44
|
+
"`npx create-quiver --name \"Project\" --dry-run` follows the compatibility path.",
|
|
45
|
+
"Invalid profiles fail before file writes.",
|
|
46
|
+
"The layout planner is unit tested as a pure function.",
|
|
47
|
+
"Existing non-init commands still parse."
|
|
48
|
+
],
|
|
49
|
+
"tests": [
|
|
50
|
+
"node --test tests/lib/init-layout.test.js tests/commands/init-profiles.test.js",
|
|
51
|
+
"git diff --check"
|
|
52
|
+
],
|
|
53
|
+
"estimated_hours": 5,
|
|
54
|
+
"actual_hours": 5,
|
|
55
|
+
"status": "completed",
|
|
56
|
+
"blocked_reason": null
|
|
57
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-02: Internal layout and template resolver
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se agrego el contrato interno `.quiver/`, config y gitignore internos, helpers centralizados de paths y un resolver de templates que prioriza templates empaquetados con fallback legacy.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] `.quiver/` creado con metadata.
|
|
10
|
+
- [x] Runtime ignorado.
|
|
11
|
+
- [x] Templates empaquetados resueltos.
|
|
12
|
+
- [x] Fallback legacy cubierto.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `src/create-quiver/lib/init-layout.js` ahora define paths internos, config y gitignore.
|
|
17
|
+
- `src/create-quiver/lib/template-resolver.js` resuelve templates empaquetados, exportados y legacy.
|
|
18
|
+
- `initializeProjectDocs` acepta `templateRoot` explicito y escribe `.quiver/config.json` y `.quiver/.gitignore`.
|
|
19
|
+
- `statePath` usa el helper centralizado de `.quiver/`.
|
|
20
|
+
|
|
21
|
+
## Pendientes
|
|
22
|
+
|
|
23
|
+
- `slice-03` debe cambiar el set real generado por perfiles.
|
|
24
|
+
- `slice-04` debe mover el scan crudo a `.quiver/scans/`.
|
|
25
|
+
|
|
26
|
+
## Riesgos remanentes
|
|
27
|
+
|
|
28
|
+
- El init real todavia exporta `docs-template/` legacy por diseno del corte; se quitara del default en `slice-03`.
|
|
29
|
+
|
|
30
|
+
## Recomendaciones futuras
|
|
31
|
+
|
|
32
|
+
- Consumir `template-resolver.js` en futuros generadores para evitar nuevas dependencias directas de `docs-template/`.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-02: Internal layout and template resolver
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v21-ai-first-layout
|
|
4
|
+
**Slice:** slice-02-internal-layout-template-resolver
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
El layout nuevo separa maquinaria interna y contrato visible. Para lograrlo, Quiver no debe depender de `docs-template/` visible en proyectos nuevos.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Agregar contrato `.quiver/` y resolucion de templates empaquetados con fallback legacy.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- `.quiver/state.json`
|
|
18
|
+
- `.quiver/config.json`
|
|
19
|
+
- `.quiver/.gitignore`
|
|
20
|
+
- `.quiver/templates/` solo bajo opt-in futuro.
|
|
21
|
+
- Template resolver empaquetado y fallback legacy.
|
|
22
|
+
|
|
23
|
+
## Criterios de aceptacion
|
|
24
|
+
|
|
25
|
+
- `.quiver/` contiene metadata versionable y runtime ignorado.
|
|
26
|
+
- `cache`, `runs` y `worktrees` quedan ignorados.
|
|
27
|
+
- Templates se resuelven sin `docs-template/` visible.
|
|
28
|
+
- `docs-template/` legacy sigue funcionando si existe.
|
|
29
|
+
|
|
30
|
+
## Plan tecnico resumido
|
|
31
|
+
|
|
32
|
+
Centralizar paths internos en un helper o extender `init-layout`. Agregar `template-resolver.js` para ubicar templates empaquetados, `.quiver/templates/` y legacy `docs-template/` en orden seguro.
|
|
33
|
+
|
|
34
|
+
## Pasos sugeridos de ejecucion
|
|
35
|
+
|
|
36
|
+
1. Definir helpers de paths `.quiver`.
|
|
37
|
+
2. Crear writer para `.quiver/.gitignore`.
|
|
38
|
+
3. Agregar `config.json` minimo.
|
|
39
|
+
4. Extraer resolucion de templates.
|
|
40
|
+
5. Actualizar usos internos.
|
|
41
|
+
6. Agregar tests de resolver y gitignore.
|
|
42
|
+
|
|
43
|
+
## Restricciones
|
|
44
|
+
|
|
45
|
+
- No eliminar soporte legacy.
|
|
46
|
+
- No copiar templates por default al root.
|
|
47
|
+
- No mover scans todavia.
|
|
48
|
+
|
|
49
|
+
## Riesgos
|
|
50
|
+
|
|
51
|
+
- Romper `new-handoff` o `migrate`.
|
|
52
|
+
- Resolver templates desde el proyecto equivocado.
|
|
53
|
+
- Versionar carpetas runtime por accidente.
|
|
54
|
+
|
|
55
|
+
## Checklist de finalizacion
|
|
56
|
+
|
|
57
|
+
- [ ] Tests de resolver pasan.
|
|
58
|
+
- [ ] `.quiver/.gitignore` cubre runtime.
|
|
59
|
+
- [ ] Fallback legacy testeado.
|
|
60
|
+
- [ ] No hay dependencia obligatoria de `docs-template/`.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-02-internal-layout-template-resolver",
|
|
3
|
+
"ticket": "QUIVER-21-02",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Add internal .quiver layout and template resolver",
|
|
6
|
+
"objective": "Create the internal .quiver layout contract and remove default runtime dependence on visible docs-template.",
|
|
7
|
+
"description": "This slice introduces internal folders, .quiver gitignore policy, config metadata, and packaged template resolution.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "internal-layout-template-resolver",
|
|
12
|
+
"branch_name": "feature/QUIVER-21-02-internal-layout-template-resolver"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/init-docs.js",
|
|
16
|
+
"src/create-quiver/lib/init-layout.js",
|
|
17
|
+
"src/create-quiver/lib/template-resolver.js",
|
|
18
|
+
"src/create-quiver/lib/state.js",
|
|
19
|
+
"tests/lib/template-resolver.test.js",
|
|
20
|
+
"tests/lib/quiver-internal-layout.test.js",
|
|
21
|
+
"specs/quiver-v21-ai-first-layout/STATUS.md",
|
|
22
|
+
"specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md",
|
|
23
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/CLOSURE_BRIEF.md",
|
|
24
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/slice.json"
|
|
25
|
+
],
|
|
26
|
+
"depends_on": [
|
|
27
|
+
"slice-01-init-profiles-dry-run"
|
|
28
|
+
],
|
|
29
|
+
"parallel_safe": "after_dependencies",
|
|
30
|
+
"parallel_safe_reason": "Builds on the layout planner from slice-01.",
|
|
31
|
+
"must": [
|
|
32
|
+
"Create `.quiver/state.json` and `.quiver/config.json` as versionable metadata.",
|
|
33
|
+
"Create `.quiver/.gitignore` that ignores cache, runs, and worktrees.",
|
|
34
|
+
"Define internal paths for scans, templates, cache, runs, and worktrees.",
|
|
35
|
+
"Resolve templates from the packaged CLI by default.",
|
|
36
|
+
"Support `.quiver/templates/` only when templates are explicitly exported.",
|
|
37
|
+
"Keep legacy `docs-template/` readable as fallback when present."
|
|
38
|
+
],
|
|
39
|
+
"not_included": [
|
|
40
|
+
"Changing default generated docs set.",
|
|
41
|
+
"Moving analyze scan output.",
|
|
42
|
+
"Migrating existing projects."
|
|
43
|
+
],
|
|
44
|
+
"acceptance": [
|
|
45
|
+
"Default init planning includes `.quiver/state.json`, `.quiver/config.json`, and `.quiver/.gitignore`.",
|
|
46
|
+
"Runtime ignored folders do not appear as versionable files.",
|
|
47
|
+
"Commands can resolve templates without a project-level `docs-template/`.",
|
|
48
|
+
"Legacy `docs-template/` remains readable when present."
|
|
49
|
+
],
|
|
50
|
+
"tests": [
|
|
51
|
+
"node --test tests/lib/template-resolver.test.js tests/lib/quiver-internal-layout.test.js tests/lib/init-layout.test.js",
|
|
52
|
+
"git diff --check"
|
|
53
|
+
],
|
|
54
|
+
"estimated_hours": 6,
|
|
55
|
+
"actual_hours": 6,
|
|
56
|
+
"status": "completed",
|
|
57
|
+
"blocked_reason": null
|
|
58
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-03: Generation profiles and visible contract
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se implemento la escritura real por perfiles de init. El perfil default genera un contrato AI-first visible sin `docs-template/`, sin `tools/scripts/` y sin spec placeholder; `--minimal` reduce la salida al contrato esencial de onboarding; `--full` conserva el layout amplio de compatibilidad.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Default limpio.
|
|
10
|
+
- [x] Minimal esencial.
|
|
11
|
+
- [x] Full compatible.
|
|
12
|
+
- [x] Scripts validos por perfil.
|
|
13
|
+
- [x] Archivos existentes preservados.
|
|
14
|
+
|
|
15
|
+
## Cambios relevantes
|
|
16
|
+
|
|
17
|
+
- `initializeProjectDocs()` ahora recibe `profile`, `legacyScripts` e `includeTemplates`.
|
|
18
|
+
- Default y minimal ya no copian templates visibles, scripts Bash legacy ni specs placeholder.
|
|
19
|
+
- `--full` mantiene docs amplios, scripts legacy, spec template y `docs-template/`.
|
|
20
|
+
- Los scripts de `package.json` se generan segun perfil para evitar comandos que apunten a archivos ausentes.
|
|
21
|
+
- Los archivos existentes se preservan por defecto.
|
|
22
|
+
- Smokes de init cubren default, minimal y full.
|
|
23
|
+
|
|
24
|
+
## Pendientes
|
|
25
|
+
|
|
26
|
+
No quedan pendientes dentro de este slice. La adaptacion de comandos para repos sin specs corresponde a `slice-05`.
|
|
27
|
+
|
|
28
|
+
## Riesgos remanentes
|
|
29
|
+
|
|
30
|
+
`smoke-create-quiver.sh` conserva escenarios historicos bajo `--full`; los escenarios default sin specs se cierran completamente en `slice-05` y `slice-08`.
|
|
31
|
+
|
|
32
|
+
## Recomendaciones futuras
|
|
33
|
+
|
|
34
|
+
Mantener cualquier asset adicional detras de flags explicitos para que el default siga siendo pequeno y legible.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-03: Generation profiles and visible contract
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v21-ai-first-layout
|
|
4
|
+
**Slice:** slice-03-generation-profiles-visible-contract
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
El valor visible del cambio aparece cuando el init default deja de generar archivos que parecen ruido para onboarding.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Implementar la escritura real de los perfiles default, minimal y full.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Init writer.
|
|
18
|
+
- Perfiles de archivos visibles.
|
|
19
|
+
- Package scripts generados por perfil.
|
|
20
|
+
- Smokes iniciales por perfil.
|
|
21
|
+
|
|
22
|
+
## Criterios de aceptacion
|
|
23
|
+
|
|
24
|
+
- Default no crea `docs-template/`, `tools/scripts/` ni spec placeholder.
|
|
25
|
+
- Minimal crea solo el contrato esencial.
|
|
26
|
+
- Full conserva salida amplia de compatibilidad.
|
|
27
|
+
- Scripts npm no apuntan a archivos ausentes.
|
|
28
|
+
- Archivos existentes no se sobrescriben.
|
|
29
|
+
|
|
30
|
+
## Plan tecnico resumido
|
|
31
|
+
|
|
32
|
+
Usar el layout planner para ejecutar operaciones por perfil. Separar sets de archivos en esenciales, full, legacy y templates. Mantener `--full` como escape hatch del comportamiento amplio.
|
|
33
|
+
|
|
34
|
+
## Pasos sugeridos de ejecucion
|
|
35
|
+
|
|
36
|
+
1. Definir file sets por perfil.
|
|
37
|
+
2. Conectar writer a operaciones planeadas.
|
|
38
|
+
3. Ajustar merge de package scripts por perfil.
|
|
39
|
+
4. Evitar spec placeholder en default/minimal.
|
|
40
|
+
5. Agregar smokes de default, minimal y full.
|
|
41
|
+
6. Actualizar evidence/status del slice.
|
|
42
|
+
|
|
43
|
+
## Restricciones
|
|
44
|
+
|
|
45
|
+
- No mover analyze scan output.
|
|
46
|
+
- No eliminar compatibilidad full.
|
|
47
|
+
- No generar scripts que dependan de `tools/scripts/` sin `--legacy-scripts`.
|
|
48
|
+
|
|
49
|
+
## Riesgos
|
|
50
|
+
|
|
51
|
+
- Reducir demasiado el default y dejar docs necesarias afuera.
|
|
52
|
+
- Romper proyectos que esperaban spec placeholder.
|
|
53
|
+
- Mantener tests viejos que asumen layout anterior.
|
|
54
|
+
|
|
55
|
+
## Checklist de finalizacion
|
|
56
|
+
|
|
57
|
+
- [ ] Default smoke actualizado.
|
|
58
|
+
- [ ] Minimal smoke agregado.
|
|
59
|
+
- [ ] Full smoke agregado.
|
|
60
|
+
- [ ] Scripts por perfil validados.
|
|
61
|
+
- [ ] No hay overwrite accidental.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-03-generation-profiles-visible-contract",
|
|
3
|
+
"ticket": "QUIVER-21-03",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Implement generation profiles and visible contract",
|
|
6
|
+
"objective": "Change generated output so default and minimal init are clean while full mode preserves the broader current contract.",
|
|
7
|
+
"description": "This slice updates init writing behavior according to the approved profiles and prevents default placeholder specs, visible templates, and legacy scripts.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "generation-profiles-visible-contract",
|
|
12
|
+
"branch_name": "feature/QUIVER-21-03-generation-profiles-visible-contract"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/index.js",
|
|
16
|
+
"src/create-quiver/lib/init-docs.js",
|
|
17
|
+
"src/create-quiver/lib/init-layout.js",
|
|
18
|
+
"tests/lib/init-docs.test.js",
|
|
19
|
+
"tests/commands/init-profiles.test.js",
|
|
20
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
21
|
+
"scripts/ci/smoke-init-docs.sh",
|
|
22
|
+
"specs/quiver-v21-ai-first-layout/STATUS.md",
|
|
23
|
+
"specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md",
|
|
24
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/CLOSURE_BRIEF.md",
|
|
25
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/slice.json"
|
|
26
|
+
],
|
|
27
|
+
"depends_on": [
|
|
28
|
+
"slice-02-internal-layout-template-resolver"
|
|
29
|
+
],
|
|
30
|
+
"parallel_safe": "after_dependencies",
|
|
31
|
+
"parallel_safe_reason": "Needs the internal layout and template resolver before changing generation behavior.",
|
|
32
|
+
"must": [
|
|
33
|
+
"Default init creates the clean AI-first visible contract.",
|
|
34
|
+
"Default init does not create `docs-template/`.",
|
|
35
|
+
"Default init does not create `tools/scripts/`.",
|
|
36
|
+
"Default init does not create placeholder `specs/<project-slug>/`.",
|
|
37
|
+
"`--minimal` creates only the minimum AI onboarding contract.",
|
|
38
|
+
"`--full` preserves the broad current output as explicit behavior.",
|
|
39
|
+
"Generated package scripts do not point at files that were not created.",
|
|
40
|
+
"Existing files are skipped by default."
|
|
41
|
+
],
|
|
42
|
+
"not_included": [
|
|
43
|
+
"Analyze scan relocation.",
|
|
44
|
+
"Legacy migration recommendations.",
|
|
45
|
+
"Documentation alignment beyond tests needed for this behavior."
|
|
46
|
+
],
|
|
47
|
+
"acceptance": [
|
|
48
|
+
"Default smoke asserts no root `docs-template/`, no `tools/scripts/`, and no placeholder spec.",
|
|
49
|
+
"Minimal smoke asserts only essential files are generated.",
|
|
50
|
+
"Full smoke asserts broad current docs remain available under `--full`.",
|
|
51
|
+
"Generated scripts are valid for each profile.",
|
|
52
|
+
"Existing files are preserved."
|
|
53
|
+
],
|
|
54
|
+
"tests": [
|
|
55
|
+
"node --test tests/lib/init-docs.test.js tests/commands/init-profiles.test.js",
|
|
56
|
+
"npm run smoke:create-quiver",
|
|
57
|
+
"bash scripts/ci/smoke-init-docs.sh",
|
|
58
|
+
"git diff --check"
|
|
59
|
+
],
|
|
60
|
+
"estimated_hours": 8,
|
|
61
|
+
"actual_hours": 7,
|
|
62
|
+
"status": "completed",
|
|
63
|
+
"blocked_reason": null
|
|
64
|
+
}
|
package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/CLOSURE_BRIEF.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-04: Analyze scan relocation
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se movio la salida cruda de `analyze` a `.quiver/scans/PROJECT_SCAN.json` y se mantuvo `docs/PROJECT_MAP.md` como artefacto visible para humanos y agentes. Se agrego un helper central para rutas de scan con lectura preferente del path nuevo y fallback legacy a `docs/PROJECT_SCAN.json`.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] Scan nuevo creado.
|
|
10
|
+
- [x] Project map visible creado.
|
|
11
|
+
- [x] Fallback legacy cubierto.
|
|
12
|
+
- [x] Preferencia nuevo sobre legacy testeada.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `analyze` escribe el JSON crudo en `.quiver/scans/PROJECT_SCAN.json`.
|
|
17
|
+
- `docs/PROJECT_MAP.md` se sigue escribiendo y queda visible.
|
|
18
|
+
- `doctor` considera valido el scan nuevo o legacy mientras exista el project map.
|
|
19
|
+
- Los metadatos de context pack reportan el scan usado cuando reciben `repoRoot`.
|
|
20
|
+
- Smokes actualizados para validar el path nuevo.
|
|
21
|
+
|
|
22
|
+
## Pendientes
|
|
23
|
+
|
|
24
|
+
No quedan pendientes dentro de este slice. La alineacion textual de templates que todavia nombran `docs/PROJECT_SCAN.json` queda para `slice-07`.
|
|
25
|
+
|
|
26
|
+
## Riesgos remanentes
|
|
27
|
+
|
|
28
|
+
Durante la transicion pueden coexistir `.quiver/scans/PROJECT_SCAN.json` y `docs/PROJECT_SCAN.json`; el helper prefiere el path nuevo para evitar ambiguedad.
|
|
29
|
+
|
|
30
|
+
## Recomendaciones futuras
|
|
31
|
+
|
|
32
|
+
Actualizar las guias visibles para presentar `docs/PROJECT_MAP.md` como lectura principal y el JSON crudo como artefacto interno de herramientas.
|
package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/EXECUTION_BRIEF.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-04: Analyze scan relocation
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v21-ai-first-layout
|
|
4
|
+
**Slice:** slice-04-analyze-scan-relocation
|
|
5
|
+
**Tipo:** feature
|
|
6
|
+
|
|
7
|
+
## Contexto
|
|
8
|
+
|
|
9
|
+
`PROJECT_SCAN.json` es dato crudo para herramientas. El proyecto visible necesita `PROJECT_MAP.md`, no necesariamente el JSON completo en `docs/`.
|
|
10
|
+
|
|
11
|
+
## Objetivo
|
|
12
|
+
|
|
13
|
+
Mover el scan crudo a `.quiver/scans/` y mantener compatibilidad con el path viejo.
|
|
14
|
+
|
|
15
|
+
## Alcance
|
|
16
|
+
|
|
17
|
+
- Escritura de `analyze`.
|
|
18
|
+
- Lectura de scan en doctor/context packs.
|
|
19
|
+
- Compatibilidad con `docs/PROJECT_SCAN.json`.
|
|
20
|
+
- Tests de path nuevo y legacy.
|
|
21
|
+
|
|
22
|
+
## Criterios de aceptacion
|
|
23
|
+
|
|
24
|
+
- `analyze` escribe `.quiver/scans/PROJECT_SCAN.json`.
|
|
25
|
+
- `docs/PROJECT_MAP.md` sigue visible.
|
|
26
|
+
- Lectores soportan path nuevo y legacy.
|
|
27
|
+
- Si existen ambos, se prefiere el path nuevo.
|
|
28
|
+
|
|
29
|
+
## Plan tecnico resumido
|
|
30
|
+
|
|
31
|
+
Crear helpers de scan path sobre `.quiver/`, cambiar escritura de analyze y actualizar consumidores para leer con fallback.
|
|
32
|
+
|
|
33
|
+
## Pasos sugeridos de ejecucion
|
|
34
|
+
|
|
35
|
+
1. Identificar todos los consumidores de `docs/PROJECT_SCAN.json`.
|
|
36
|
+
2. Crear helper de lectura/escritura de scan.
|
|
37
|
+
3. Cambiar `analyze`.
|
|
38
|
+
4. Actualizar doctor y AI context.
|
|
39
|
+
5. Agregar tests de compatibilidad.
|
|
40
|
+
|
|
41
|
+
## Restricciones
|
|
42
|
+
|
|
43
|
+
- No borrar archivos legacy.
|
|
44
|
+
- No ocultar `PROJECT_MAP.md`.
|
|
45
|
+
- No cambiar el contrato semantico del scan.
|
|
46
|
+
|
|
47
|
+
## Riesgos
|
|
48
|
+
|
|
49
|
+
- Onboarding que siga buscando solo el path viejo.
|
|
50
|
+
- Smokes desactualizados.
|
|
51
|
+
- Usuarios confundidos por dos paths durante transicion.
|
|
52
|
+
|
|
53
|
+
## Checklist de finalizacion
|
|
54
|
+
|
|
55
|
+
- [ ] Analyze path nuevo validado.
|
|
56
|
+
- [ ] Project map visible validado.
|
|
57
|
+
- [ ] Fallback legacy validado.
|
|
58
|
+
- [ ] Smokes actualizados.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-04-analyze-scan-relocation",
|
|
3
|
+
"ticket": "QUIVER-21-04",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Relocate analyze scan output",
|
|
6
|
+
"objective": "Move raw analyze output to `.quiver/scans/PROJECT_SCAN.json` while keeping `docs/PROJECT_MAP.md` visible and supporting legacy reads.",
|
|
7
|
+
"description": "This slice separates machine-readable scan data from human-facing project map documentation.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "analyze-scan-relocation",
|
|
12
|
+
"branch_name": "feature/QUIVER-21-04-analyze-scan-relocation"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/index.js",
|
|
16
|
+
"src/create-quiver/commands/ai.js",
|
|
17
|
+
"src/create-quiver/lib/ai/context-packs.js",
|
|
18
|
+
"src/create-quiver/lib/ai/executor.js",
|
|
19
|
+
"src/create-quiver/lib/project-scan.js",
|
|
20
|
+
"tests/commands/analyze.test.js",
|
|
21
|
+
"tests/lib/ai-context-packs.test.js",
|
|
22
|
+
"tests/lib/project-scan.test.js",
|
|
23
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
24
|
+
"scripts/ci/smoke-cross-platform.js",
|
|
25
|
+
"specs/quiver-v21-ai-first-layout/STATUS.md",
|
|
26
|
+
"specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md",
|
|
27
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/CLOSURE_BRIEF.md",
|
|
28
|
+
"specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/slice.json"
|
|
29
|
+
],
|
|
30
|
+
"depends_on": [
|
|
31
|
+
"slice-02-internal-layout-template-resolver"
|
|
32
|
+
],
|
|
33
|
+
"parallel_safe": "after_dependencies",
|
|
34
|
+
"parallel_safe_reason": "Depends on `.quiver/` internal path helpers but can run before docs alignment.",
|
|
35
|
+
"must": [
|
|
36
|
+
"Write raw scan JSON to `.quiver/scans/PROJECT_SCAN.json`.",
|
|
37
|
+
"Keep writing `docs/PROJECT_MAP.md` for humans and agents.",
|
|
38
|
+
"Read legacy `docs/PROJECT_SCAN.json` when present.",
|
|
39
|
+
"Prefer the new scan path when both new and legacy files exist.",
|
|
40
|
+
"Update AI context packing and doctor scan detection to support both paths."
|
|
41
|
+
],
|
|
42
|
+
"not_included": [
|
|
43
|
+
"Changing project map content semantics.",
|
|
44
|
+
"Removing legacy scan files.",
|
|
45
|
+
"Changing generated visible docs beyond necessary path references."
|
|
46
|
+
],
|
|
47
|
+
"acceptance": [
|
|
48
|
+
"`analyze` creates `.quiver/scans/PROJECT_SCAN.json`.",
|
|
49
|
+
"`analyze` still creates `docs/PROJECT_MAP.md`.",
|
|
50
|
+
"Doctor and AI onboarding helpers can read legacy scan path.",
|
|
51
|
+
"Tests cover preference order when both paths exist."
|
|
52
|
+
],
|
|
53
|
+
"tests": [
|
|
54
|
+
"node --test tests/commands/analyze.test.js tests/lib/project-scan.test.js tests/lib/ai-context-packs.test.js",
|
|
55
|
+
"node --test tests/**/*.test.js",
|
|
56
|
+
"bash scripts/ci/smoke-create-quiver.sh",
|
|
57
|
+
"node scripts/ci/smoke-cross-platform.js",
|
|
58
|
+
"git diff --check"
|
|
59
|
+
],
|
|
60
|
+
"estimated_hours": 6,
|
|
61
|
+
"actual_hours": 5,
|
|
62
|
+
"status": "completed",
|
|
63
|
+
"blocked_reason": null
|
|
64
|
+
}
|
package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/CLOSURE_BRIEF.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-05: Empty specs and layout doctor
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Se adapto `doctor` para aceptar proyectos sin specs despues del init AI-first y reportar el estado de layout como `new`, `legacy`, `hybrid` o `incomplete`. `plan`, `graph` y `next` ya devolvian estados vacios validos, y se agrego cobertura para asegurar ese comportamiento junto con el nuevo doctor.
|
|
6
|
+
|
|
7
|
+
## Validacion contra criterios de aceptacion
|
|
8
|
+
|
|
9
|
+
- [x] No-spec soportado.
|
|
10
|
+
- [x] Layout nuevo detectado.
|
|
11
|
+
- [x] Layout legacy detectado.
|
|
12
|
+
- [x] Proyectos con specs no regresan.
|
|
13
|
+
|
|
14
|
+
## Cambios relevantes
|
|
15
|
+
|
|
16
|
+
- `doctor` ya no exige exactamente un spec generado.
|
|
17
|
+
- `doctor` muestra layout, specs detectadas, senales legacy y recomendaciones accionables.
|
|
18
|
+
- Se agrego `collectLayoutReport()` y `collectDoctorReport()` para separar deteccion de layout de presentacion CLI.
|
|
19
|
+
- Los wrappers legacy solo se validan como ejecutables si existen.
|
|
20
|
+
- Se agregaron tests para layouts nuevo sin specs, minimal, legacy, hybrid e incomplete.
|
|
21
|
+
|
|
22
|
+
## Pendientes
|
|
23
|
+
|
|
24
|
+
No quedan pendientes dentro de este slice. La limpieza/migracion no destructiva de assets legacy corresponde a `slice-06`.
|
|
25
|
+
|
|
26
|
+
## Riesgos remanentes
|
|
27
|
+
|
|
28
|
+
Los mensajes de doctor cambiaron; smokes que esperaban texto exacto del layout viejo deben alinearse en `slice-06`/`slice-08`.
|
|
29
|
+
|
|
30
|
+
## Recomendaciones futuras
|
|
31
|
+
|
|
32
|
+
Mantener `doctor` como reporte de estado y recomendaciones; no convertir senales legacy en errores duros salvo que falte un archivo necesario para ejecutar un comando pedido.
|