create-quiver 0.15.2 → 0.15.4
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/.github/workflows/ci.yml +3 -0
- package/AGENTS.md.es.template +37 -0
- package/README.md +1 -0
- package/README_FOR_AI.md +6 -4
- package/docs/AI_CONTEXT.md.es.template +35 -0
- package/docs/AI_ONBOARDING_PROMPT.md.es.template +22 -0
- package/docs/CLI_UX_GUIDE.md +47 -1
- package/docs/COMMANDS.md.es.template +28 -0
- package/docs/COMMANDS.md.template +14 -3
- package/docs/CONTEXTO.md.es.template +33 -0
- package/docs/DECISIONS.md.es.template +17 -0
- package/docs/GITFLOW_PR_GUIDE.md.es.template +25 -0
- package/docs/INDEX.md +96 -0
- package/docs/INDEX.md.es.template +36 -0
- package/docs/STATUS.md.es.template +28 -0
- package/docs/SUPPORT_MATRIX.md.es.template +22 -0
- package/docs/TESTING_GUIDE_FOR_AI.md.es.template +19 -0
- package/docs/TROUBLESHOOTING.md.es.template +35 -0
- package/docs/WORKFLOW.md.es.template +29 -0
- package/docs/WORKFLOW.md.template +2 -2
- package/docs/ai/LESSONS.md.es.template +24 -0
- package/docs/getting-started/installation.md +19 -0
- package/docs/reference/commands.md +68 -2
- package/package.json +3 -1
- package/specs/quiver-v34-cli-dashboard-status/EVIDENCE_REPORT.md +119 -0
- package/specs/quiver-v34-cli-dashboard-status/EXECUTION_PLAN.md +77 -0
- package/specs/quiver-v34-cli-dashboard-status/SPEC.md +152 -0
- package/specs/quiver-v34-cli-dashboard-status/STATUS.md +29 -0
- package/specs/quiver-v34-cli-dashboard-status/pr.md +99 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-00-dashboard-foundation/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-00-dashboard-foundation/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-00-dashboard-foundation/slice.json +68 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-01-dashboard-report-contract/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-01-dashboard-report-contract/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-01-dashboard-report-contract/slice.json +78 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-02-dashboard-command-rendering/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-02-dashboard-command-rendering/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-02-dashboard-command-rendering/slice.json +82 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-03-dashboard-edge-cases-and-guardrails/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-03-dashboard-edge-cases-and-guardrails/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-03-dashboard-edge-cases-and-guardrails/slice.json +77 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-04-docs-templates-and-scripts/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-04-docs-templates-and-scripts/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-04-docs-templates-and-scripts/slice.json +88 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-05-tests-smokes-release-readiness/CLOSURE_BRIEF.md +26 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-05-tests-smokes-release-readiness/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-05-tests-smokes-release-readiness/slice.json +85 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/EVIDENCE_REPORT.md +43 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/EXECUTION_PLAN.md +85 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/SPEC.md +147 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/STATUS.md +33 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/pr.md +106 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-00-foundation-and-doc-router/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-00-foundation-and-doc-router/EXECUTION_BRIEF.md +38 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-00-foundation-and-doc-router/slice.json +64 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-01-dashboard-cli-contract/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-01-dashboard-cli-contract/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-01-dashboard-cli-contract/slice.json +80 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-02-dashboard-compact-renderer/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-02-dashboard-compact-renderer/EXECUTION_BRIEF.md +48 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-02-dashboard-compact-renderer/slice.json +73 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-03-dashboard-details-sections/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-03-dashboard-details-sections/EXECUTION_BRIEF.md +48 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-03-dashboard-details-sections/slice.json +72 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-04-version-command/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-04-version-command/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-04-version-command/slice.json +82 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-05-docs-help-generated-guidance/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-05-docs-help-generated-guidance/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-05-docs-help-generated-guidance/slice.json +90 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-06-tests-smokes-release-readiness/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-06-tests-smokes-release-readiness/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-06-tests-smokes-release-readiness/slice.json +85 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-07-package-and-cross-platform-smoke/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-07-package-and-cross-platform-smoke/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-07-package-and-cross-platform-smoke/slice.json +79 -0
- package/specs/quiver-v36-ai-run-watch-portable/EVIDENCE_REPORT.md +33 -0
- package/specs/quiver-v36-ai-run-watch-portable/EXECUTION_PLAN.md +39 -0
- package/specs/quiver-v36-ai-run-watch-portable/SPEC.md +166 -0
- package/specs/quiver-v36-ai-run-watch-portable/STATUS.md +31 -0
- package/specs/quiver-v36-ai-run-watch-portable/pr.md +78 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-00-foundation-and-handoffs/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-00-foundation-and-handoffs/EXECUTION_BRIEF.md +43 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-00-foundation-and-handoffs/slice.json +61 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-01-run-schema-path-safety/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-01-run-schema-path-safety/EXECUTION_BRIEF.md +43 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-01-run-schema-path-safety/slice.json +65 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-02-event-writer-redacted-logs/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-02-event-writer-redacted-logs/EXECUTION_BRIEF.md +43 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-02-event-writer-redacted-logs/slice.json +66 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-03-provider-streaming-integration/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-03-provider-streaming-integration/EXECUTION_BRIEF.md +41 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-03-provider-streaming-integration/slice.json +71 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-04-ai-run-watch-command/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-04-ai-run-watch-command/EXECUTION_BRIEF.md +44 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-04-ai-run-watch-command/slice.json +73 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-05-main-progress-user-guidance/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-05-main-progress-user-guidance/EXECUTION_BRIEF.md +44 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-05-main-progress-user-guidance/slice.json +71 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-06-docs-generated-guidance/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-06-docs-generated-guidance/EXECUTION_BRIEF.md +45 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-06-docs-generated-guidance/slice.json +77 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-07-tests-cross-platform-readiness/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-07-tests-cross-platform-readiness/EXECUTION_BRIEF.md +46 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-07-tests-cross-platform-readiness/slice.json +87 -0
- package/specs/quiver-v37-cli-i18n-foundation/EVIDENCE_REPORT.md +73 -0
- package/specs/quiver-v37-cli-i18n-foundation/EXECUTION_PLAN.md +34 -0
- package/specs/quiver-v37-cli-i18n-foundation/SPEC.md +91 -0
- package/specs/quiver-v37-cli-i18n-foundation/STATUS.md +29 -0
- package/specs/quiver-v37-cli-i18n-foundation/pr.md +97 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-00-foundation-and-program-roadmap/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-00-foundation-and-program-roadmap/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-00-foundation-and-program-roadmap/slice.json +54 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-01-language-resolution-contract/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-01-language-resolution-contract/EXECUTION_BRIEF.md +27 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-01-language-resolution-contract/slice.json +66 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-02-message-catalog-interpolation/CLOSURE_BRIEF.md +27 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-02-message-catalog-interpolation/EXECUTION_BRIEF.md +26 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-02-message-catalog-interpolation/slice.json +62 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-03-config-language-command/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-03-config-language-command/EXECUTION_BRIEF.md +25 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-03-config-language-command/slice.json +66 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-04-parser-help-error-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-04-parser-help-error-foundation/EXECUTION_BRIEF.md +24 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-04-parser-help-error-foundation/slice.json +65 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-05-foundation-docs-tests-package-readiness/CLOSURE_BRIEF.md +27 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-05-foundation-docs-tests-package-readiness/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-05-foundation-docs-tests-package-readiness/slice.json +67 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/EVIDENCE_REPORT.md +69 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/EXECUTION_PLAN.md +25 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/SPEC.md +52 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/STATUS.md +24 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/pr.md +119 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-00-read-only-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-00-read-only-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-00-read-only-foundation/slice.json +53 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-01-version-dashboard-help/CLOSURE_BRIEF.md +17 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-01-version-dashboard-help/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-01-version-dashboard-help/slice.json +69 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-02-flow-doctor-next-graph/CLOSURE_BRIEF.md +13 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-02-flow-doctor-next-graph/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-02-flow-doctor-next-graph/slice.json +77 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-03-ai-inspection-and-export/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-03-ai-inspection-and-export/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-03-ai-inspection-and-export/slice.json +66 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-04-read-only-tests-smokes/CLOSURE_BRIEF.md +13 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-04-read-only-tests-smokes/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-04-read-only-tests-smokes/slice.json +61 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/EVIDENCE_REPORT.md +71 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/EXECUTION_PLAN.md +25 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/SPEC.md +53 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/STATUS.md +24 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/pr.md +104 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-00-setup-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-00-setup-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-00-setup-foundation/slice.json +53 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-01-init-interactive-language/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-01-init-interactive-language/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-01-init-interactive-language/slice.json +68 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-02-analyze-migrate-prepare/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-02-analyze-migrate-prepare/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-02-analyze-migrate-prepare/slice.json +62 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-03-demo-evidence-onboarding/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-03-demo-evidence-onboarding/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-03-demo-evidence-onboarding/slice.json +72 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-04-setup-tests-smokes/CLOSURE_BRIEF.md +15 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-04-setup-tests-smokes/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-04-setup-tests-smokes/slice.json +61 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/EVIDENCE_REPORT.md +50 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/EXECUTION_PLAN.md +25 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/SPEC.md +52 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/STATUS.md +24 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/pr.md +94 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-00-spec-slice-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-00-spec-slice-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-00-spec-slice-foundation/slice.json +53 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-01-spec-create-start-status/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-01-spec-create-start-status/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-01-spec-create-start-status/slice.json +63 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-02-spec-validate-close/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-02-spec-validate-close/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-02-spec-validate-close/slice.json +63 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-03-slice-lifecycle-handoffs/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-03-slice-lifecycle-handoffs/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-03-slice-lifecycle-handoffs/slice.json +72 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-04-spec-slice-tests-smokes/CLOSURE_BRIEF.md +15 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-04-spec-slice-tests-smokes/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-04-spec-slice-tests-smokes/slice.json +69 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/EVIDENCE_REPORT.md +90 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/EXECUTION_PLAN.md +33 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/SPEC.md +57 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/STATUS.md +26 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/pr.md +103 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-00-ai-i18n-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-00-ai-i18n-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-00-ai-i18n-foundation/slice.json +53 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-01-ai-run-status-resume/CLOSURE_BRIEF.md +13 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-01-ai-run-status-resume/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-01-ai-run-status-resume/slice.json +68 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-02-ai-agent-models/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-02-ai-agent-models/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-02-ai-agent-models/slice.json +66 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-03-ai-planner-approval-review/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-03-ai-planner-approval-review/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-03-ai-planner-approval-review/slice.json +68 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-04-ai-execution-pr/CLOSURE_BRIEF.md +13 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-04-ai-execution-pr/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-04-ai-execution-pr/slice.json +72 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-05-ai-tests-smokes/CLOSURE_BRIEF.md +15 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-05-ai-tests-smokes/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-05-ai-tests-smokes/slice.json +66 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-06-ai-prepare-context-progress-i18n-fix/CLOSURE_BRIEF.md +11 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-06-ai-prepare-context-progress-i18n-fix/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-06-ai-prepare-context-progress-i18n-fix/slice.json +70 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/EVIDENCE_REPORT.md +64 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/EXECUTION_PLAN.md +26 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/SPEC.md +52 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/STATUS.md +24 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/pr.md +125 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-00-generated-docs-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-00-generated-docs-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-00-generated-docs-foundation/slice.json +53 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-01-template-language-routing/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-01-template-language-routing/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-01-template-language-routing/slice.json +62 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-02-init-docs-and-i18n-assets/CLOSURE_BRIEF.md +11 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-02-init-docs-and-i18n-assets/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-02-init-docs-and-i18n-assets/slice.json +72 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-03-docs-reference-guides/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-03-docs-reference-guides/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-03-docs-reference-guides/slice.json +60 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-04-generated-docs-tests-smokes/CLOSURE_BRIEF.md +16 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-04-generated-docs-tests-smokes/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-04-generated-docs-tests-smokes/slice.json +62 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/EVIDENCE_REPORT.md +203 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/EXECUTION_PLAN.md +27 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/SPEC.md +54 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/STATUS.md +24 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +545 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/cross-platform-smoke-matrix.md +35 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/pr.md +155 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-00-audit-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-00-audit-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-00-audit-foundation/slice.json +53 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-01-command-language-mode-matrix/CLOSURE_BRIEF.md +13 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-01-command-language-mode-matrix/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-01-command-language-mode-matrix/slice.json +62 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-02-public-string-audit/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-02-public-string-audit/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-02-public-string-audit/slice.json +59 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-03-cross-platform-smokes/CLOSURE_BRIEF.md +15 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-03-cross-platform-smokes/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-03-cross-platform-smokes/slice.json +62 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-04-package-release-readiness/CLOSURE_BRIEF.md +17 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-04-package-release-readiness/EXECUTION_BRIEF.md +24 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-04-package-release-readiness/slice.json +66 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/EVIDENCE_REPORT.md +18 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/EXECUTION_PLAN.md +31 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/SPEC.md +118 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/STATUS.md +25 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/pr.md +92 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-00-tui-lite-contract-foundation/CLOSURE_BRIEF.md +11 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-00-tui-lite-contract-foundation/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-00-tui-lite-contract-foundation/slice.json +64 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-01-provider-stream-hooks/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-01-provider-stream-hooks/EXECUTION_BRIEF.md +24 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-01-provider-stream-hooks/slice.json +65 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-02-live-output-renderer/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-02-live-output-renderer/EXECUTION_BRIEF.md +24 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-02-live-output-renderer/slice.json +70 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-03-prepare-context-integration/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-03-prepare-context-integration/EXECUTION_BRIEF.md +25 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-03-prepare-context-integration/slice.json +70 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-04-planner-command-audit-adoption/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-04-planner-command-audit-adoption/EXECUTION_BRIEF.md +26 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-04-planner-command-audit-adoption/slice.json +72 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-05-docs-tests-readiness/CLOSURE_BRIEF.md +15 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-05-docs-tests-readiness/EXECUTION_BRIEF.md +26 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-05-docs-tests-readiness/slice.json +75 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/EVIDENCE_REPORT.md +30 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/EXECUTION_PLAN.md +22 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/SPEC.md +49 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/STATUS.md +21 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/pr.md +67 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-00-ci-actions-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-00-ci-actions-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-00-ci-actions-foundation/slice.json +48 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-01-actions-node24-readiness/CLOSURE_BRIEF.md +14 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-01-actions-node24-readiness/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-01-actions-node24-readiness/slice.json +65 -0
- package/src/create-quiver/commands/ai.js +485 -307
- package/src/create-quiver/commands/config.js +124 -0
- package/src/create-quiver/commands/dashboard.js +31 -0
- package/src/create-quiver/commands/demo.js +2 -2
- package/src/create-quiver/commands/evidence.js +6 -4
- package/src/create-quiver/commands/flow.js +108 -16
- package/src/create-quiver/commands/graph.js +1 -0
- package/src/create-quiver/commands/next.js +21 -18
- package/src/create-quiver/commands/plan.js +23 -6
- package/src/create-quiver/commands/spec.js +66 -57
- package/src/create-quiver/index.js +606 -136
- package/src/create-quiver/lib/ai/execution-plan.js +23 -20
- package/src/create-quiver/lib/ai/executor.js +60 -44
- package/src/create-quiver/lib/ai/export-state.js +75 -64
- package/src/create-quiver/lib/ai/github.js +24 -21
- package/src/create-quiver/lib/ai/run-state.js +28 -25
- package/src/create-quiver/lib/cli/ux-flags.js +6 -0
- package/src/create-quiver/lib/dashboard.js +939 -0
- package/src/create-quiver/lib/demo.js +14 -12
- package/src/create-quiver/lib/handoff.js +16 -7
- package/src/create-quiver/lib/i18n/catalog.js +152 -0
- package/src/create-quiver/lib/i18n/language.js +279 -0
- package/src/create-quiver/lib/i18n/messages/en.js +853 -0
- package/src/create-quiver/lib/i18n/messages/es.js +968 -0
- package/src/create-quiver/lib/i18n/read-only-format.js +26 -0
- package/src/create-quiver/lib/i18n/templates.js +172 -0
- package/src/create-quiver/lib/init-docs.js +24 -4
- package/src/create-quiver/lib/init-layout.js +8 -0
- package/src/create-quiver/lib/lifecycle.js +53 -46
- package/src/create-quiver/lib/project-state-resolver.js +22 -2
- package/src/create-quiver/lib/readiness.js +77 -67
- package/src/create-quiver/lib/renderers/tree.js +9 -6
- package/src/create-quiver/lib/spec-worktrees.js +34 -30
- package/src/create-quiver/lib/version.js +159 -0
package/specs/quiver-v36-ai-run-watch-portable/slices/slice-00-foundation-and-handoffs/slice.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-00-foundation-and-handoffs",
|
|
3
|
+
"ticket": "QUIVER-36-00",
|
|
4
|
+
"type": "documentation",
|
|
5
|
+
"title": "Foundation and handoffs",
|
|
6
|
+
"objective": "Create the approved SDD package for the portable AI run watcher without implementing runtime code.",
|
|
7
|
+
"description": "Defines the spec, execution plan, evidence skeleton, PR body, and per-slice execution/closure handoffs.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v36-ai-run-watch-foundation",
|
|
12
|
+
"branch_name": "feature/QUIVER-36-00-v36-ai-run-watch-foundation"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"specs/quiver-v36-ai-run-watch-portable/**"
|
|
16
|
+
],
|
|
17
|
+
"expected_read_paths": [
|
|
18
|
+
"docs/INDEX.md.template",
|
|
19
|
+
"docs/CLI_UX_GUIDE.md",
|
|
20
|
+
"README_FOR_AI.md",
|
|
21
|
+
"specs/quiver-v35-compact-dashboard-version-ux/SPEC.md"
|
|
22
|
+
],
|
|
23
|
+
"allowed_write_paths": [
|
|
24
|
+
"specs/quiver-v36-ai-run-watch-portable/**"
|
|
25
|
+
],
|
|
26
|
+
"depends_on": [],
|
|
27
|
+
"parallel_safe": "no",
|
|
28
|
+
"parallel_safe_reason": "This foundation defines all later slice contracts.",
|
|
29
|
+
"must": [
|
|
30
|
+
"Create the v36 spec package.",
|
|
31
|
+
"Create execution and closure briefs for every slice.",
|
|
32
|
+
"Create JSON handoff files for every slice.",
|
|
33
|
+
"Do not implement runtime code."
|
|
34
|
+
],
|
|
35
|
+
"not_included": [
|
|
36
|
+
"Run schema implementation.",
|
|
37
|
+
"Provider streaming implementation.",
|
|
38
|
+
"Watcher command implementation."
|
|
39
|
+
],
|
|
40
|
+
"acceptance": [
|
|
41
|
+
"Spec package exists under specs/quiver-v36-ai-run-watch-portable.",
|
|
42
|
+
"Each slice has EXECUTION_BRIEF.md, CLOSURE_BRIEF.md, and slice.json.",
|
|
43
|
+
"slice-00 is completed and slice-01 is ready.",
|
|
44
|
+
"No runtime code is changed."
|
|
45
|
+
],
|
|
46
|
+
"tests": [
|
|
47
|
+
"node -e \"const fs=require('fs'); for (const f of process.argv.slice(1)) JSON.parse(fs.readFileSync(f,'utf8')); console.log('slice json ok')\" specs/quiver-v36-ai-run-watch-portable/slices/*/slice.json",
|
|
48
|
+
"npx create-quiver spec validate specs/quiver-v36-ai-run-watch-portable --strict",
|
|
49
|
+
"git diff --check"
|
|
50
|
+
],
|
|
51
|
+
"validation_hints": [
|
|
52
|
+
"Confirm every slice JSON parses.",
|
|
53
|
+
"Confirm no runtime implementation files changed."
|
|
54
|
+
],
|
|
55
|
+
"estimated_hours": 1,
|
|
56
|
+
"status": "completed",
|
|
57
|
+
"started_at": "2026-05-28T00:00:00Z",
|
|
58
|
+
"completed_at": "2026-05-28T00:00:00Z",
|
|
59
|
+
"actual_hours": 1,
|
|
60
|
+
"blocked_reason": null
|
|
61
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-01 Run schema and path safety
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Pending implementation.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [ ] `node --test tests/lib/ai-run-state.test.js`
|
|
10
|
+
- [ ] `git diff --check`
|
|
11
|
+
|
|
12
|
+
## Pending
|
|
13
|
+
|
|
14
|
+
- Implement run schema and path safety.
|
|
15
|
+
|
|
16
|
+
## Remaining Risks
|
|
17
|
+
|
|
18
|
+
- Prefix-only path checks would leave traversal risk; validate with realpath/path resolution and strict id regex.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-01 Run schema and path safety
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
The watcher must never treat a user-provided run id as a file path. This slice creates the safe foundation for all run and event files.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Define and implement run id validation, path-safe run lookup, run schema v1, event schema v1, and status normalization.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- Run id generator and validator
|
|
14
|
+
- Safe `.quiver/runs/<run-id>` path resolver
|
|
15
|
+
- `run.json` schema v1
|
|
16
|
+
- `events.jsonl` event schema v1
|
|
17
|
+
- Status catalog for `pending`, `running`, `completed`, `failed`, `canceled`
|
|
18
|
+
- Focused tests for valid/invalid ids and traversal rejection
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- Generated run ids match the approved regex.
|
|
23
|
+
- `watch --run` style validation rejects traversal, absolutes, separators, empty ids, and malformed ids.
|
|
24
|
+
- Safe path resolution guarantees resolved paths stay inside `.quiver/runs`.
|
|
25
|
+
- `run.json` and event schema helpers produce required fields.
|
|
26
|
+
- Stale is represented as derived state, not persisted status.
|
|
27
|
+
|
|
28
|
+
## Technical Plan Summary
|
|
29
|
+
|
|
30
|
+
Add small, testable helpers before any writer or watcher reads from disk.
|
|
31
|
+
|
|
32
|
+
## Restrictions
|
|
33
|
+
|
|
34
|
+
- Do not implement streaming writer yet.
|
|
35
|
+
- Do not implement `ai run watch` yet.
|
|
36
|
+
- Do not modify provider execution yet.
|
|
37
|
+
|
|
38
|
+
## Completion Checklist
|
|
39
|
+
|
|
40
|
+
- [ ] Run id helper added.
|
|
41
|
+
- [ ] Safe path resolver added.
|
|
42
|
+
- [ ] Schemas documented in code/tests.
|
|
43
|
+
- [ ] Path-safety tests pass.
|
package/specs/quiver-v36-ai-run-watch-portable/slices/slice-01-run-schema-path-safety/slice.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-01-run-schema-path-safety",
|
|
3
|
+
"ticket": "QUIVER-36-01",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Run schema and path safety",
|
|
6
|
+
"objective": "Define run id validation, safe run paths, run schema v1, event schema v1, and status normalization before persistence or watching.",
|
|
7
|
+
"description": "Creates the path-safe foundation for all portable AI run watch behavior.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v36-run-schema-path-safety",
|
|
12
|
+
"branch_name": "feature/QUIVER-36-01-v36-run-schema-path-safety"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
16
|
+
"tests/lib/ai-run-state.test.js"
|
|
17
|
+
],
|
|
18
|
+
"expected_read_paths": [
|
|
19
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
20
|
+
"src/create-quiver/lib/paths.js",
|
|
21
|
+
"tests/lib/ai-run-state.test.js",
|
|
22
|
+
"specs/quiver-v36-ai-run-watch-portable/SPEC.md"
|
|
23
|
+
],
|
|
24
|
+
"allowed_write_paths": [
|
|
25
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
26
|
+
"tests/lib/ai-run-state.test.js",
|
|
27
|
+
"specs/quiver-v36-ai-run-watch-portable/**"
|
|
28
|
+
],
|
|
29
|
+
"depends_on": [
|
|
30
|
+
"slice-00-foundation-and-handoffs"
|
|
31
|
+
],
|
|
32
|
+
"parallel_safe": "no",
|
|
33
|
+
"parallel_safe_reason": "All later slices depend on the schema and path-safety contract.",
|
|
34
|
+
"must": [
|
|
35
|
+
"Generate run ids with the approved format.",
|
|
36
|
+
"Validate run ids with a strict regex.",
|
|
37
|
+
"Reject traversal, absolute paths, separators, and malformed ids.",
|
|
38
|
+
"Resolve run paths inside .quiver/runs only.",
|
|
39
|
+
"Define run.json and event schema v1 helpers.",
|
|
40
|
+
"Keep stale as derived state."
|
|
41
|
+
],
|
|
42
|
+
"not_included": [
|
|
43
|
+
"Event writer.",
|
|
44
|
+
"Provider streaming.",
|
|
45
|
+
"Watch command."
|
|
46
|
+
],
|
|
47
|
+
"acceptance": [
|
|
48
|
+
"Valid generated run ids pass validation.",
|
|
49
|
+
"Invalid run ids fail with actionable errors.",
|
|
50
|
+
"Path traversal inputs cannot resolve outside .quiver/runs.",
|
|
51
|
+
"Schema helpers include required run and event fields.",
|
|
52
|
+
"Tests cover Windows-style separators and paths with spaces."
|
|
53
|
+
],
|
|
54
|
+
"tests": [
|
|
55
|
+
"node --test tests/lib/ai-run-state.test.js",
|
|
56
|
+
"git diff --check"
|
|
57
|
+
],
|
|
58
|
+
"validation_hints": [
|
|
59
|
+
"Include tests for .., /, \\\\, absolute paths, empty values, and malformed ids.",
|
|
60
|
+
"Use path resolution rather than string prefix checks."
|
|
61
|
+
],
|
|
62
|
+
"estimated_hours": 4,
|
|
63
|
+
"status": "ready",
|
|
64
|
+
"blocked_reason": null
|
|
65
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-02 Event writer and redacted logs
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Pending implementation.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [ ] `node --test tests/lib/ai-run-events.test.js`
|
|
10
|
+
- [ ] `git diff --check`
|
|
11
|
+
|
|
12
|
+
## Pending
|
|
13
|
+
|
|
14
|
+
- Implement event writer and redacted logs.
|
|
15
|
+
|
|
16
|
+
## Remaining Risks
|
|
17
|
+
|
|
18
|
+
- Redacting only each raw chunk can leak secrets split across chunks; use line buffering or a sliding window.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-02 Event writer and redacted logs
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Provider output can contain secrets, ANSI redraw controls, and large logs. The writer must make persisted artifacts safe before provider streaming and watch are wired.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Implement append-only event and log writing with redaction, sanitization, monotonic sequence numbers, concurrent-read tolerance, and log truncation.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- Event writer module
|
|
14
|
+
- Redacted stdout/stderr log appenders
|
|
15
|
+
- Chunk-aware redaction
|
|
16
|
+
- ANSI/control character sanitization
|
|
17
|
+
- Log caps and `log_truncated` events
|
|
18
|
+
- Tests for concurrent/partial reads and split secrets
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- Event `seq` is monotonic per run.
|
|
23
|
+
- Events are append-only JSONL.
|
|
24
|
+
- Watchers can read while the writer appends.
|
|
25
|
+
- Secrets split across chunks are redacted before persistence.
|
|
26
|
+
- ANSI and unsafe control chars are sanitized.
|
|
27
|
+
- Log caps produce `log_truncated`.
|
|
28
|
+
|
|
29
|
+
## Technical Plan Summary
|
|
30
|
+
|
|
31
|
+
Build the persistence layer independent of provider execution so later slices can reuse it.
|
|
32
|
+
|
|
33
|
+
## Restrictions
|
|
34
|
+
|
|
35
|
+
- Do not modify provider execution yet.
|
|
36
|
+
- Do not implement watcher CLI yet.
|
|
37
|
+
|
|
38
|
+
## Completion Checklist
|
|
39
|
+
|
|
40
|
+
- [ ] Event writer added.
|
|
41
|
+
- [ ] Redacted log appenders added.
|
|
42
|
+
- [ ] Split secret tests pass.
|
|
43
|
+
- [ ] Partial JSONL read tests pass.
|
package/specs/quiver-v36-ai-run-watch-portable/slices/slice-02-event-writer-redacted-logs/slice.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-02-event-writer-redacted-logs",
|
|
3
|
+
"ticket": "QUIVER-36-02",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Event writer and redacted logs",
|
|
6
|
+
"objective": "Implement safe append-only event and log persistence for AI runs.",
|
|
7
|
+
"description": "Adds the writer layer for events.jsonl, provider logs, redaction, sanitization, truncation, and sequence numbers.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v36-event-writer-redacted-logs",
|
|
12
|
+
"branch_name": "feature/QUIVER-36-02-v36-event-writer-redacted-logs"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/ai/run-events.js",
|
|
16
|
+
"src/create-quiver/lib/evidence.js",
|
|
17
|
+
"tests/lib/ai-run-events.test.js"
|
|
18
|
+
],
|
|
19
|
+
"expected_read_paths": [
|
|
20
|
+
"src/create-quiver/lib/evidence.js",
|
|
21
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
22
|
+
"tests/lib/ai-run-events.test.js",
|
|
23
|
+
"specs/quiver-v36-ai-run-watch-portable/SPEC.md"
|
|
24
|
+
],
|
|
25
|
+
"allowed_write_paths": [
|
|
26
|
+
"src/create-quiver/lib/ai/run-events.js",
|
|
27
|
+
"src/create-quiver/lib/evidence.js",
|
|
28
|
+
"tests/lib/ai-run-events.test.js",
|
|
29
|
+
"specs/quiver-v36-ai-run-watch-portable/**"
|
|
30
|
+
],
|
|
31
|
+
"depends_on": [
|
|
32
|
+
"slice-01-run-schema-path-safety"
|
|
33
|
+
],
|
|
34
|
+
"parallel_safe": "no",
|
|
35
|
+
"parallel_safe_reason": "Provider streaming and watch rely on this writer contract.",
|
|
36
|
+
"must": [
|
|
37
|
+
"Write append-only events.jsonl.",
|
|
38
|
+
"Guarantee monotonic seq per run.",
|
|
39
|
+
"Redact secrets before writing logs/events.",
|
|
40
|
+
"Handle secrets split across chunks.",
|
|
41
|
+
"Sanitize ANSI and unsafe control characters.",
|
|
42
|
+
"Enforce log caps and emit log_truncated."
|
|
43
|
+
],
|
|
44
|
+
"not_included": [
|
|
45
|
+
"Provider streaming integration.",
|
|
46
|
+
"Watch command UI."
|
|
47
|
+
],
|
|
48
|
+
"acceptance": [
|
|
49
|
+
"Events are valid JSONL with schema_version, run_id, seq, timestamp, and type.",
|
|
50
|
+
"Concurrent reads do not crash while appending.",
|
|
51
|
+
"Partial trailing JSONL line is tolerated by readers.",
|
|
52
|
+
"Split secrets do not persist in clear text.",
|
|
53
|
+
"Log truncation is observable through an event."
|
|
54
|
+
],
|
|
55
|
+
"tests": [
|
|
56
|
+
"node --test tests/lib/ai-run-events.test.js",
|
|
57
|
+
"git diff --check"
|
|
58
|
+
],
|
|
59
|
+
"validation_hints": [
|
|
60
|
+
"Use fixtures with chunk boundaries inside tokens/passwords.",
|
|
61
|
+
"Use ANSI clear-screen and cursor movement examples."
|
|
62
|
+
],
|
|
63
|
+
"estimated_hours": 6,
|
|
64
|
+
"status": "planned",
|
|
65
|
+
"blocked_reason": null
|
|
66
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-03 Provider streaming integration
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Pending implementation.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [ ] `node --test tests/lib/provider-streaming.test.js tests/commands/ai-plan.test.js`
|
|
10
|
+
- [ ] `git diff --check`
|
|
11
|
+
|
|
12
|
+
## Pending
|
|
13
|
+
|
|
14
|
+
- Integrate run event writer with provider execution.
|
|
15
|
+
|
|
16
|
+
## Remaining Risks
|
|
17
|
+
|
|
18
|
+
- Provider execution changes can regress dry-run/print-prompt/JSON contracts; focused tests must cover those modes.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-03 Provider streaming integration
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Quiver currently runs providers through adapter code. This slice wires the safe writer into live provider execution without changing dry-run, print-prompt, JSON, CI, or no-TTY behavior.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Stream provider stdout/stderr into events/logs for planner-oriented live commands.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- Provider runner streaming hooks
|
|
14
|
+
- Run creation for live provider execution
|
|
15
|
+
- Heartbeat and stage events
|
|
16
|
+
- Redacted `prompt.md`
|
|
17
|
+
- `result.md` when applicable
|
|
18
|
+
- Tests with simulated provider output
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- Live provider execution creates a run directory and run id.
|
|
23
|
+
- Provider stdout/stderr stream to events and redacted logs.
|
|
24
|
+
- Heartbeat or updated timestamps keep active runs observable.
|
|
25
|
+
- Existing dry-run, print-prompt, JSON, CI, and no-TTY behavior stays clean.
|
|
26
|
+
- Provider/model validation behavior is not weakened.
|
|
27
|
+
|
|
28
|
+
## Technical Plan Summary
|
|
29
|
+
|
|
30
|
+
Integrate through provider runner options or a narrow wrapper so AI commands do not duplicate streaming logic.
|
|
31
|
+
|
|
32
|
+
## Restrictions
|
|
33
|
+
|
|
34
|
+
- Do not implement watcher CLI in this slice.
|
|
35
|
+
- Do not add required external terminal tools.
|
|
36
|
+
|
|
37
|
+
## Completion Checklist
|
|
38
|
+
|
|
39
|
+
- [ ] Provider streaming hooks added.
|
|
40
|
+
- [ ] Planner-oriented live commands produce run artifacts.
|
|
41
|
+
- [ ] Simulated streaming tests pass.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-03-provider-streaming-integration",
|
|
3
|
+
"ticket": "QUIVER-36-03",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Provider streaming integration",
|
|
6
|
+
"objective": "Persist live provider stdout, stderr, stages, heartbeat, prompt, and result artifacts for planner-oriented AI commands.",
|
|
7
|
+
"description": "Wires the event writer into live provider execution without changing clean automation modes.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v36-provider-streaming-integration",
|
|
12
|
+
"branch_name": "feature/QUIVER-36-03-v36-provider-streaming-integration"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/ai/providers.js",
|
|
16
|
+
"src/create-quiver/commands/ai.js",
|
|
17
|
+
"src/create-quiver/lib/ai/run-events.js",
|
|
18
|
+
"tests/lib/provider-streaming.test.js",
|
|
19
|
+
"tests/commands/ai-plan.test.js"
|
|
20
|
+
],
|
|
21
|
+
"expected_read_paths": [
|
|
22
|
+
"src/create-quiver/lib/ai/providers.js",
|
|
23
|
+
"src/create-quiver/commands/ai.js",
|
|
24
|
+
"src/create-quiver/lib/ai/run-events.js",
|
|
25
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
26
|
+
"specs/quiver-v36-ai-run-watch-portable/SPEC.md"
|
|
27
|
+
],
|
|
28
|
+
"allowed_write_paths": [
|
|
29
|
+
"src/create-quiver/lib/ai/providers.js",
|
|
30
|
+
"src/create-quiver/commands/ai.js",
|
|
31
|
+
"src/create-quiver/lib/ai/run-events.js",
|
|
32
|
+
"tests/lib/provider-streaming.test.js",
|
|
33
|
+
"tests/commands/ai-plan.test.js",
|
|
34
|
+
"specs/quiver-v36-ai-run-watch-portable/**"
|
|
35
|
+
],
|
|
36
|
+
"depends_on": [
|
|
37
|
+
"slice-02-event-writer-redacted-logs"
|
|
38
|
+
],
|
|
39
|
+
"parallel_safe": "no",
|
|
40
|
+
"parallel_safe_reason": "Provider integration is central and affects several AI commands.",
|
|
41
|
+
"must": [
|
|
42
|
+
"Use child_process.spawn without shell.",
|
|
43
|
+
"Stream stdout/stderr to events and logs.",
|
|
44
|
+
"Write redacted prompt.md and result.md when applicable.",
|
|
45
|
+
"Emit heartbeat or updated_at events.",
|
|
46
|
+
"Preserve dry-run, print-prompt, JSON, CI, and no-TTY contracts.",
|
|
47
|
+
"Keep provider/model validation unchanged."
|
|
48
|
+
],
|
|
49
|
+
"not_included": [
|
|
50
|
+
"Watcher command rendering.",
|
|
51
|
+
"Documentation updates."
|
|
52
|
+
],
|
|
53
|
+
"acceptance": [
|
|
54
|
+
"Live planner-oriented commands create run artifacts.",
|
|
55
|
+
"Simulated stdout/stderr appears in redacted logs and events.",
|
|
56
|
+
"No provider output contaminates JSON mode.",
|
|
57
|
+
"Dry-run and print-prompt do not execute providers.",
|
|
58
|
+
"Provider errors are recorded and surfaced actionably."
|
|
59
|
+
],
|
|
60
|
+
"tests": [
|
|
61
|
+
"node --test tests/lib/provider-streaming.test.js tests/commands/ai-plan.test.js",
|
|
62
|
+
"git diff --check"
|
|
63
|
+
],
|
|
64
|
+
"validation_hints": [
|
|
65
|
+
"Use injected spawn/provider runners for deterministic tests.",
|
|
66
|
+
"Test both success and failure exits."
|
|
67
|
+
],
|
|
68
|
+
"estimated_hours": 7,
|
|
69
|
+
"status": "planned",
|
|
70
|
+
"blocked_reason": null
|
|
71
|
+
}
|
package/specs/quiver-v36-ai-run-watch-portable/slices/slice-04-ai-run-watch-command/CLOSURE_BRIEF.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-04 AI run watch command
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Pending implementation.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [ ] `node --test tests/commands/ai-run-watch.test.js tests/lib/ai-run-watch.test.js`
|
|
10
|
+
- [ ] `git diff --check`
|
|
11
|
+
|
|
12
|
+
## Pending
|
|
13
|
+
|
|
14
|
+
- Implement `ai run watch`.
|
|
15
|
+
|
|
16
|
+
## Remaining Risks
|
|
17
|
+
|
|
18
|
+
- JSONL mode can be contaminated by human headers if not routed separately.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-04 AI run watch command
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
After runs and events are persisted safely, users need a portable command to replay and follow events from another terminal.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Implement `npx create-quiver ai run watch --run <run-id>`, `--latest`, and `--json`.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- CLI parsing/routing for `ai run watch`
|
|
14
|
+
- Replay + follow behavior
|
|
15
|
+
- Human output
|
|
16
|
+
- JSONL output
|
|
17
|
+
- `--latest` selection
|
|
18
|
+
- Stale, missing, completed, failed, canceled, and legacy handling
|
|
19
|
+
- `Ctrl+C` watcher-only cancellation
|
|
20
|
+
|
|
21
|
+
## Acceptance Criteria
|
|
22
|
+
|
|
23
|
+
- `watch --run <id>` replays history and follows active runs.
|
|
24
|
+
- `watch --json` emits JSONL only.
|
|
25
|
+
- `watch --latest` selects deterministically and reports the selected run in human mode.
|
|
26
|
+
- Missing or malformed runs fail actionably.
|
|
27
|
+
- Completed runs summarize and exit.
|
|
28
|
+
- `Ctrl+C` stops only the watcher.
|
|
29
|
+
|
|
30
|
+
## Technical Plan Summary
|
|
31
|
+
|
|
32
|
+
Implement the watcher on top of run-state and run-event readers, not provider-specific code.
|
|
33
|
+
|
|
34
|
+
## Restrictions
|
|
35
|
+
|
|
36
|
+
- Do not add terminal multiplexer dependencies.
|
|
37
|
+
- Do not embed provider TUI output.
|
|
38
|
+
|
|
39
|
+
## Completion Checklist
|
|
40
|
+
|
|
41
|
+
- [ ] Watch command routed.
|
|
42
|
+
- [ ] Human replay/follow implemented.
|
|
43
|
+
- [ ] JSONL replay/follow implemented.
|
|
44
|
+
- [ ] Edge-case tests pass.
|
package/specs/quiver-v36-ai-run-watch-portable/slices/slice-04-ai-run-watch-command/slice.json
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-04-ai-run-watch-command",
|
|
3
|
+
"ticket": "QUIVER-36-04",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "AI run watch command",
|
|
6
|
+
"objective": "Add a portable watcher command that replays and follows run events in human and JSONL modes.",
|
|
7
|
+
"description": "Implements the public watcher surface for run ids, latest selection, legacy runs, stale runs, and terminal statuses.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v36-ai-run-watch-command",
|
|
12
|
+
"branch_name": "feature/QUIVER-36-04-v36-ai-run-watch-command"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/commands/ai.js",
|
|
16
|
+
"src/create-quiver/lib/ai/run-watch.js",
|
|
17
|
+
"src/create-quiver/index.js",
|
|
18
|
+
"tests/commands/ai-run-watch.test.js",
|
|
19
|
+
"tests/lib/ai-run-watch.test.js"
|
|
20
|
+
],
|
|
21
|
+
"expected_read_paths": [
|
|
22
|
+
"src/create-quiver/commands/ai.js",
|
|
23
|
+
"src/create-quiver/index.js",
|
|
24
|
+
"src/create-quiver/lib/ai/run-state.js",
|
|
25
|
+
"src/create-quiver/lib/ai/run-events.js",
|
|
26
|
+
"specs/quiver-v36-ai-run-watch-portable/SPEC.md"
|
|
27
|
+
],
|
|
28
|
+
"allowed_write_paths": [
|
|
29
|
+
"src/create-quiver/commands/ai.js",
|
|
30
|
+
"src/create-quiver/lib/ai/run-watch.js",
|
|
31
|
+
"src/create-quiver/index.js",
|
|
32
|
+
"tests/commands/ai-run-watch.test.js",
|
|
33
|
+
"tests/lib/ai-run-watch.test.js",
|
|
34
|
+
"specs/quiver-v36-ai-run-watch-portable/**"
|
|
35
|
+
],
|
|
36
|
+
"depends_on": [
|
|
37
|
+
"slice-01-run-schema-path-safety",
|
|
38
|
+
"slice-02-event-writer-redacted-logs"
|
|
39
|
+
],
|
|
40
|
+
"parallel_safe": "conditional",
|
|
41
|
+
"parallel_safe_reason": "Can proceed after the event contract is stable if it does not modify provider execution.",
|
|
42
|
+
"must": [
|
|
43
|
+
"Support --run <run-id>.",
|
|
44
|
+
"Support --latest.",
|
|
45
|
+
"Reject --run with --latest.",
|
|
46
|
+
"Support --json JSONL output.",
|
|
47
|
+
"Replay existing events and follow active runs.",
|
|
48
|
+
"Handle missing, legacy, stale, completed, failed, and canceled runs.",
|
|
49
|
+
"Ensure Ctrl+C stops only the watcher."
|
|
50
|
+
],
|
|
51
|
+
"not_included": [
|
|
52
|
+
"Provider streaming integration.",
|
|
53
|
+
"Main command progress guidance."
|
|
54
|
+
],
|
|
55
|
+
"acceptance": [
|
|
56
|
+
"Human watch output is useful for active and completed runs.",
|
|
57
|
+
"JSON watch output is pure JSONL.",
|
|
58
|
+
"--latest selection is deterministic.",
|
|
59
|
+
"Malformed run ids are rejected before file access.",
|
|
60
|
+
"Legacy runs do not crash the command."
|
|
61
|
+
],
|
|
62
|
+
"tests": [
|
|
63
|
+
"node --test tests/commands/ai-run-watch.test.js tests/lib/ai-run-watch.test.js",
|
|
64
|
+
"git diff --check"
|
|
65
|
+
],
|
|
66
|
+
"validation_hints": [
|
|
67
|
+
"Test partial trailing JSONL lines.",
|
|
68
|
+
"Test multiple active runs for latest tie-breaking."
|
|
69
|
+
],
|
|
70
|
+
"estimated_hours": 7,
|
|
71
|
+
"status": "planned",
|
|
72
|
+
"blocked_reason": null
|
|
73
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-05 Main progress and user guidance
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Pending implementation.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [ ] `node --test tests/commands/ai-plan.test.js tests/commands/ai-revise.test.js tests/commands/ai-run-watch.test.js`
|
|
10
|
+
- [ ] `git diff --check`
|
|
11
|
+
|
|
12
|
+
## Pending
|
|
13
|
+
|
|
14
|
+
- Implement main command UX integration after provider streaming and watcher slices are complete.
|
|
15
|
+
|
|
16
|
+
## Remaining Risks
|
|
17
|
+
|
|
18
|
+
- Human progress can accidentally leak into JSON/no-TTY paths if output routing is not isolated.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-05 Main progress and user guidance
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
After provider runs persist events and `ai run watch` exists, the main command should make the feature discoverable without streaming raw provider output into the primary terminal.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Update planner-oriented live AI commands so users see stable Quiver progress, the generated run id, and the exact watch command for the current run.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- Main terminal progress for live provider-backed commands
|
|
14
|
+
- Run id display
|
|
15
|
+
- Watch command display
|
|
16
|
+
- CI, no-TTY, `--json`, `--print-prompt`, and `--dry-run` behavior
|
|
17
|
+
- Provider failure/cancel user guidance
|
|
18
|
+
|
|
19
|
+
## Acceptance Criteria
|
|
20
|
+
|
|
21
|
+
- Live provider-backed commands print the generated run id in human TTY mode.
|
|
22
|
+
- Human TTY output prints `npx create-quiver ai run watch --run <run-id>`.
|
|
23
|
+
- Main output remains stable and does not stream raw provider stdout/stderr by default.
|
|
24
|
+
- CI, no-TTY, `--json`, and `--print-prompt` remain clean and automation-safe.
|
|
25
|
+
- `--dry-run` does not create live run artifacts unless explicitly documented as a preview.
|
|
26
|
+
- Provider failures keep actionable context without exposing secrets.
|
|
27
|
+
- `Ctrl+C` in the main provider command marks the run canceled when a run was created.
|
|
28
|
+
|
|
29
|
+
## Technical Plan Summary
|
|
30
|
+
|
|
31
|
+
Wire the run metadata returned by provider execution into the existing command UX layer. Keep human progress and machine output on separate paths.
|
|
32
|
+
|
|
33
|
+
## Restrictions
|
|
34
|
+
|
|
35
|
+
- Do not change existing JSON contracts except to add documented fields only if the SPEC requires them.
|
|
36
|
+
- Do not print provider raw logs in the main command by default.
|
|
37
|
+
- Do not make the watcher mandatory for command completion.
|
|
38
|
+
|
|
39
|
+
## Completion Checklist
|
|
40
|
+
|
|
41
|
+
- [ ] Main commands show run id and watch command in human TTY mode.
|
|
42
|
+
- [ ] Automation modes remain uncontaminated.
|
|
43
|
+
- [ ] Dry-run and print-prompt behavior are preserved.
|
|
44
|
+
- [ ] Failure and cancellation states update run metadata.
|