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.
Files changed (324) hide show
  1. package/.github/workflows/ci.yml +3 -0
  2. package/AGENTS.md.es.template +37 -0
  3. package/README.md +1 -0
  4. package/README_FOR_AI.md +6 -4
  5. package/docs/AI_CONTEXT.md.es.template +35 -0
  6. package/docs/AI_ONBOARDING_PROMPT.md.es.template +22 -0
  7. package/docs/CLI_UX_GUIDE.md +47 -1
  8. package/docs/COMMANDS.md.es.template +28 -0
  9. package/docs/COMMANDS.md.template +14 -3
  10. package/docs/CONTEXTO.md.es.template +33 -0
  11. package/docs/DECISIONS.md.es.template +17 -0
  12. package/docs/GITFLOW_PR_GUIDE.md.es.template +25 -0
  13. package/docs/INDEX.md +96 -0
  14. package/docs/INDEX.md.es.template +36 -0
  15. package/docs/STATUS.md.es.template +28 -0
  16. package/docs/SUPPORT_MATRIX.md.es.template +22 -0
  17. package/docs/TESTING_GUIDE_FOR_AI.md.es.template +19 -0
  18. package/docs/TROUBLESHOOTING.md.es.template +35 -0
  19. package/docs/WORKFLOW.md.es.template +29 -0
  20. package/docs/WORKFLOW.md.template +2 -2
  21. package/docs/ai/LESSONS.md.es.template +24 -0
  22. package/docs/getting-started/installation.md +19 -0
  23. package/docs/reference/commands.md +68 -2
  24. package/package.json +3 -1
  25. package/specs/quiver-v34-cli-dashboard-status/EVIDENCE_REPORT.md +119 -0
  26. package/specs/quiver-v34-cli-dashboard-status/EXECUTION_PLAN.md +77 -0
  27. package/specs/quiver-v34-cli-dashboard-status/SPEC.md +152 -0
  28. package/specs/quiver-v34-cli-dashboard-status/STATUS.md +29 -0
  29. package/specs/quiver-v34-cli-dashboard-status/pr.md +99 -0
  30. package/specs/quiver-v34-cli-dashboard-status/slices/slice-00-dashboard-foundation/CLOSURE_BRIEF.md +19 -0
  31. package/specs/quiver-v34-cli-dashboard-status/slices/slice-00-dashboard-foundation/EXECUTION_BRIEF.md +49 -0
  32. package/specs/quiver-v34-cli-dashboard-status/slices/slice-00-dashboard-foundation/slice.json +68 -0
  33. package/specs/quiver-v34-cli-dashboard-status/slices/slice-01-dashboard-report-contract/CLOSURE_BRIEF.md +19 -0
  34. package/specs/quiver-v34-cli-dashboard-status/slices/slice-01-dashboard-report-contract/EXECUTION_BRIEF.md +53 -0
  35. package/specs/quiver-v34-cli-dashboard-status/slices/slice-01-dashboard-report-contract/slice.json +78 -0
  36. package/specs/quiver-v34-cli-dashboard-status/slices/slice-02-dashboard-command-rendering/CLOSURE_BRIEF.md +19 -0
  37. package/specs/quiver-v34-cli-dashboard-status/slices/slice-02-dashboard-command-rendering/EXECUTION_BRIEF.md +53 -0
  38. package/specs/quiver-v34-cli-dashboard-status/slices/slice-02-dashboard-command-rendering/slice.json +82 -0
  39. package/specs/quiver-v34-cli-dashboard-status/slices/slice-03-dashboard-edge-cases-and-guardrails/CLOSURE_BRIEF.md +19 -0
  40. package/specs/quiver-v34-cli-dashboard-status/slices/slice-03-dashboard-edge-cases-and-guardrails/EXECUTION_BRIEF.md +54 -0
  41. package/specs/quiver-v34-cli-dashboard-status/slices/slice-03-dashboard-edge-cases-and-guardrails/slice.json +77 -0
  42. package/specs/quiver-v34-cli-dashboard-status/slices/slice-04-docs-templates-and-scripts/CLOSURE_BRIEF.md +19 -0
  43. package/specs/quiver-v34-cli-dashboard-status/slices/slice-04-docs-templates-and-scripts/EXECUTION_BRIEF.md +54 -0
  44. package/specs/quiver-v34-cli-dashboard-status/slices/slice-04-docs-templates-and-scripts/slice.json +88 -0
  45. package/specs/quiver-v34-cli-dashboard-status/slices/slice-05-tests-smokes-release-readiness/CLOSURE_BRIEF.md +26 -0
  46. package/specs/quiver-v34-cli-dashboard-status/slices/slice-05-tests-smokes-release-readiness/EXECUTION_BRIEF.md +57 -0
  47. package/specs/quiver-v34-cli-dashboard-status/slices/slice-05-tests-smokes-release-readiness/slice.json +85 -0
  48. package/specs/quiver-v35-compact-dashboard-version-ux/EVIDENCE_REPORT.md +43 -0
  49. package/specs/quiver-v35-compact-dashboard-version-ux/EXECUTION_PLAN.md +85 -0
  50. package/specs/quiver-v35-compact-dashboard-version-ux/SPEC.md +147 -0
  51. package/specs/quiver-v35-compact-dashboard-version-ux/STATUS.md +33 -0
  52. package/specs/quiver-v35-compact-dashboard-version-ux/pr.md +106 -0
  53. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-00-foundation-and-doc-router/CLOSURE_BRIEF.md +19 -0
  54. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-00-foundation-and-doc-router/EXECUTION_BRIEF.md +38 -0
  55. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-00-foundation-and-doc-router/slice.json +64 -0
  56. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-01-dashboard-cli-contract/CLOSURE_BRIEF.md +19 -0
  57. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-01-dashboard-cli-contract/EXECUTION_BRIEF.md +49 -0
  58. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-01-dashboard-cli-contract/slice.json +80 -0
  59. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-02-dashboard-compact-renderer/CLOSURE_BRIEF.md +19 -0
  60. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-02-dashboard-compact-renderer/EXECUTION_BRIEF.md +48 -0
  61. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-02-dashboard-compact-renderer/slice.json +73 -0
  62. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-03-dashboard-details-sections/CLOSURE_BRIEF.md +19 -0
  63. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-03-dashboard-details-sections/EXECUTION_BRIEF.md +48 -0
  64. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-03-dashboard-details-sections/slice.json +72 -0
  65. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-04-version-command/CLOSURE_BRIEF.md +19 -0
  66. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-04-version-command/EXECUTION_BRIEF.md +49 -0
  67. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-04-version-command/slice.json +82 -0
  68. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-05-docs-help-generated-guidance/CLOSURE_BRIEF.md +19 -0
  69. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-05-docs-help-generated-guidance/EXECUTION_BRIEF.md +50 -0
  70. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-05-docs-help-generated-guidance/slice.json +90 -0
  71. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-06-tests-smokes-release-readiness/CLOSURE_BRIEF.md +21 -0
  72. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-06-tests-smokes-release-readiness/EXECUTION_BRIEF.md +51 -0
  73. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-06-tests-smokes-release-readiness/slice.json +85 -0
  74. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-07-package-and-cross-platform-smoke/CLOSURE_BRIEF.md +20 -0
  75. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-07-package-and-cross-platform-smoke/EXECUTION_BRIEF.md +49 -0
  76. package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-07-package-and-cross-platform-smoke/slice.json +79 -0
  77. package/specs/quiver-v36-ai-run-watch-portable/EVIDENCE_REPORT.md +33 -0
  78. package/specs/quiver-v36-ai-run-watch-portable/EXECUTION_PLAN.md +39 -0
  79. package/specs/quiver-v36-ai-run-watch-portable/SPEC.md +166 -0
  80. package/specs/quiver-v36-ai-run-watch-portable/STATUS.md +31 -0
  81. package/specs/quiver-v36-ai-run-watch-portable/pr.md +78 -0
  82. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-00-foundation-and-handoffs/CLOSURE_BRIEF.md +19 -0
  83. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-00-foundation-and-handoffs/EXECUTION_BRIEF.md +43 -0
  84. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-00-foundation-and-handoffs/slice.json +61 -0
  85. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-01-run-schema-path-safety/CLOSURE_BRIEF.md +18 -0
  86. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-01-run-schema-path-safety/EXECUTION_BRIEF.md +43 -0
  87. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-01-run-schema-path-safety/slice.json +65 -0
  88. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-02-event-writer-redacted-logs/CLOSURE_BRIEF.md +18 -0
  89. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-02-event-writer-redacted-logs/EXECUTION_BRIEF.md +43 -0
  90. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-02-event-writer-redacted-logs/slice.json +66 -0
  91. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-03-provider-streaming-integration/CLOSURE_BRIEF.md +18 -0
  92. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-03-provider-streaming-integration/EXECUTION_BRIEF.md +41 -0
  93. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-03-provider-streaming-integration/slice.json +71 -0
  94. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-04-ai-run-watch-command/CLOSURE_BRIEF.md +18 -0
  95. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-04-ai-run-watch-command/EXECUTION_BRIEF.md +44 -0
  96. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-04-ai-run-watch-command/slice.json +73 -0
  97. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-05-main-progress-user-guidance/CLOSURE_BRIEF.md +18 -0
  98. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-05-main-progress-user-guidance/EXECUTION_BRIEF.md +44 -0
  99. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-05-main-progress-user-guidance/slice.json +71 -0
  100. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-06-docs-generated-guidance/CLOSURE_BRIEF.md +19 -0
  101. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-06-docs-generated-guidance/EXECUTION_BRIEF.md +45 -0
  102. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-06-docs-generated-guidance/slice.json +77 -0
  103. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-07-tests-cross-platform-readiness/CLOSURE_BRIEF.md +22 -0
  104. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-07-tests-cross-platform-readiness/EXECUTION_BRIEF.md +46 -0
  105. package/specs/quiver-v36-ai-run-watch-portable/slices/slice-07-tests-cross-platform-readiness/slice.json +87 -0
  106. package/specs/quiver-v37-cli-i18n-foundation/EVIDENCE_REPORT.md +73 -0
  107. package/specs/quiver-v37-cli-i18n-foundation/EXECUTION_PLAN.md +34 -0
  108. package/specs/quiver-v37-cli-i18n-foundation/SPEC.md +91 -0
  109. package/specs/quiver-v37-cli-i18n-foundation/STATUS.md +29 -0
  110. package/specs/quiver-v37-cli-i18n-foundation/pr.md +97 -0
  111. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-00-foundation-and-program-roadmap/CLOSURE_BRIEF.md +10 -0
  112. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-00-foundation-and-program-roadmap/EXECUTION_BRIEF.md +22 -0
  113. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-00-foundation-and-program-roadmap/slice.json +54 -0
  114. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-01-language-resolution-contract/CLOSURE_BRIEF.md +30 -0
  115. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-01-language-resolution-contract/EXECUTION_BRIEF.md +27 -0
  116. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-01-language-resolution-contract/slice.json +66 -0
  117. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-02-message-catalog-interpolation/CLOSURE_BRIEF.md +27 -0
  118. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-02-message-catalog-interpolation/EXECUTION_BRIEF.md +26 -0
  119. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-02-message-catalog-interpolation/slice.json +62 -0
  120. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-03-config-language-command/CLOSURE_BRIEF.md +32 -0
  121. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-03-config-language-command/EXECUTION_BRIEF.md +25 -0
  122. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-03-config-language-command/slice.json +66 -0
  123. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-04-parser-help-error-foundation/CLOSURE_BRIEF.md +30 -0
  124. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-04-parser-help-error-foundation/EXECUTION_BRIEF.md +24 -0
  125. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-04-parser-help-error-foundation/slice.json +65 -0
  126. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-05-foundation-docs-tests-package-readiness/CLOSURE_BRIEF.md +27 -0
  127. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-05-foundation-docs-tests-package-readiness/EXECUTION_BRIEF.md +23 -0
  128. package/specs/quiver-v37-cli-i18n-foundation/slices/slice-05-foundation-docs-tests-package-readiness/slice.json +67 -0
  129. package/specs/quiver-v38-cli-i18n-read-only-commands/EVIDENCE_REPORT.md +69 -0
  130. package/specs/quiver-v38-cli-i18n-read-only-commands/EXECUTION_PLAN.md +25 -0
  131. package/specs/quiver-v38-cli-i18n-read-only-commands/SPEC.md +52 -0
  132. package/specs/quiver-v38-cli-i18n-read-only-commands/STATUS.md +24 -0
  133. package/specs/quiver-v38-cli-i18n-read-only-commands/pr.md +119 -0
  134. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-00-read-only-foundation/CLOSURE_BRIEF.md +10 -0
  135. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-00-read-only-foundation/EXECUTION_BRIEF.md +21 -0
  136. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-00-read-only-foundation/slice.json +53 -0
  137. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-01-version-dashboard-help/CLOSURE_BRIEF.md +17 -0
  138. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-01-version-dashboard-help/EXECUTION_BRIEF.md +23 -0
  139. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-01-version-dashboard-help/slice.json +69 -0
  140. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-02-flow-doctor-next-graph/CLOSURE_BRIEF.md +13 -0
  141. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-02-flow-doctor-next-graph/EXECUTION_BRIEF.md +22 -0
  142. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-02-flow-doctor-next-graph/slice.json +77 -0
  143. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-03-ai-inspection-and-export/CLOSURE_BRIEF.md +12 -0
  144. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-03-ai-inspection-and-export/EXECUTION_BRIEF.md +22 -0
  145. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-03-ai-inspection-and-export/slice.json +66 -0
  146. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-04-read-only-tests-smokes/CLOSURE_BRIEF.md +13 -0
  147. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-04-read-only-tests-smokes/EXECUTION_BRIEF.md +22 -0
  148. package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-04-read-only-tests-smokes/slice.json +61 -0
  149. package/specs/quiver-v39-cli-i18n-setup-onboarding/EVIDENCE_REPORT.md +71 -0
  150. package/specs/quiver-v39-cli-i18n-setup-onboarding/EXECUTION_PLAN.md +25 -0
  151. package/specs/quiver-v39-cli-i18n-setup-onboarding/SPEC.md +53 -0
  152. package/specs/quiver-v39-cli-i18n-setup-onboarding/STATUS.md +24 -0
  153. package/specs/quiver-v39-cli-i18n-setup-onboarding/pr.md +104 -0
  154. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-00-setup-foundation/CLOSURE_BRIEF.md +10 -0
  155. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-00-setup-foundation/EXECUTION_BRIEF.md +21 -0
  156. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-00-setup-foundation/slice.json +53 -0
  157. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-01-init-interactive-language/CLOSURE_BRIEF.md +12 -0
  158. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-01-init-interactive-language/EXECUTION_BRIEF.md +23 -0
  159. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-01-init-interactive-language/slice.json +68 -0
  160. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-02-analyze-migrate-prepare/CLOSURE_BRIEF.md +12 -0
  161. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-02-analyze-migrate-prepare/EXECUTION_BRIEF.md +23 -0
  162. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-02-analyze-migrate-prepare/slice.json +62 -0
  163. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-03-demo-evidence-onboarding/CLOSURE_BRIEF.md +12 -0
  164. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-03-demo-evidence-onboarding/EXECUTION_BRIEF.md +22 -0
  165. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-03-demo-evidence-onboarding/slice.json +72 -0
  166. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-04-setup-tests-smokes/CLOSURE_BRIEF.md +15 -0
  167. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-04-setup-tests-smokes/EXECUTION_BRIEF.md +22 -0
  168. package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-04-setup-tests-smokes/slice.json +61 -0
  169. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/EVIDENCE_REPORT.md +50 -0
  170. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/EXECUTION_PLAN.md +25 -0
  171. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/SPEC.md +52 -0
  172. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/STATUS.md +24 -0
  173. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/pr.md +94 -0
  174. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-00-spec-slice-foundation/CLOSURE_BRIEF.md +10 -0
  175. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-00-spec-slice-foundation/EXECUTION_BRIEF.md +21 -0
  176. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-00-spec-slice-foundation/slice.json +53 -0
  177. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-01-spec-create-start-status/CLOSURE_BRIEF.md +12 -0
  178. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-01-spec-create-start-status/EXECUTION_BRIEF.md +22 -0
  179. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-01-spec-create-start-status/slice.json +63 -0
  180. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-02-spec-validate-close/CLOSURE_BRIEF.md +10 -0
  181. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-02-spec-validate-close/EXECUTION_BRIEF.md +22 -0
  182. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-02-spec-validate-close/slice.json +63 -0
  183. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-03-slice-lifecycle-handoffs/CLOSURE_BRIEF.md +10 -0
  184. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-03-slice-lifecycle-handoffs/EXECUTION_BRIEF.md +22 -0
  185. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-03-slice-lifecycle-handoffs/slice.json +72 -0
  186. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-04-spec-slice-tests-smokes/CLOSURE_BRIEF.md +15 -0
  187. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-04-spec-slice-tests-smokes/EXECUTION_BRIEF.md +22 -0
  188. package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-04-spec-slice-tests-smokes/slice.json +69 -0
  189. package/specs/quiver-v41-cli-i18n-ai-lifecycle/EVIDENCE_REPORT.md +90 -0
  190. package/specs/quiver-v41-cli-i18n-ai-lifecycle/EXECUTION_PLAN.md +33 -0
  191. package/specs/quiver-v41-cli-i18n-ai-lifecycle/SPEC.md +57 -0
  192. package/specs/quiver-v41-cli-i18n-ai-lifecycle/STATUS.md +26 -0
  193. package/specs/quiver-v41-cli-i18n-ai-lifecycle/pr.md +103 -0
  194. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-00-ai-i18n-foundation/CLOSURE_BRIEF.md +10 -0
  195. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-00-ai-i18n-foundation/EXECUTION_BRIEF.md +21 -0
  196. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-00-ai-i18n-foundation/slice.json +53 -0
  197. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-01-ai-run-status-resume/CLOSURE_BRIEF.md +13 -0
  198. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-01-ai-run-status-resume/EXECUTION_BRIEF.md +22 -0
  199. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-01-ai-run-status-resume/slice.json +68 -0
  200. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-02-ai-agent-models/CLOSURE_BRIEF.md +12 -0
  201. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-02-ai-agent-models/EXECUTION_BRIEF.md +22 -0
  202. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-02-ai-agent-models/slice.json +66 -0
  203. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-03-ai-planner-approval-review/CLOSURE_BRIEF.md +12 -0
  204. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-03-ai-planner-approval-review/EXECUTION_BRIEF.md +23 -0
  205. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-03-ai-planner-approval-review/slice.json +68 -0
  206. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-04-ai-execution-pr/CLOSURE_BRIEF.md +13 -0
  207. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-04-ai-execution-pr/EXECUTION_BRIEF.md +23 -0
  208. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-04-ai-execution-pr/slice.json +72 -0
  209. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-05-ai-tests-smokes/CLOSURE_BRIEF.md +15 -0
  210. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-05-ai-tests-smokes/EXECUTION_BRIEF.md +22 -0
  211. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-05-ai-tests-smokes/slice.json +66 -0
  212. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-06-ai-prepare-context-progress-i18n-fix/CLOSURE_BRIEF.md +11 -0
  213. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-06-ai-prepare-context-progress-i18n-fix/EXECUTION_BRIEF.md +22 -0
  214. package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-06-ai-prepare-context-progress-i18n-fix/slice.json +70 -0
  215. package/specs/quiver-v42-cli-i18n-generated-docs/EVIDENCE_REPORT.md +64 -0
  216. package/specs/quiver-v42-cli-i18n-generated-docs/EXECUTION_PLAN.md +26 -0
  217. package/specs/quiver-v42-cli-i18n-generated-docs/SPEC.md +52 -0
  218. package/specs/quiver-v42-cli-i18n-generated-docs/STATUS.md +24 -0
  219. package/specs/quiver-v42-cli-i18n-generated-docs/pr.md +125 -0
  220. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-00-generated-docs-foundation/CLOSURE_BRIEF.md +10 -0
  221. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-00-generated-docs-foundation/EXECUTION_BRIEF.md +21 -0
  222. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-00-generated-docs-foundation/slice.json +53 -0
  223. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-01-template-language-routing/CLOSURE_BRIEF.md +10 -0
  224. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-01-template-language-routing/EXECUTION_BRIEF.md +22 -0
  225. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-01-template-language-routing/slice.json +62 -0
  226. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-02-init-docs-and-i18n-assets/CLOSURE_BRIEF.md +11 -0
  227. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-02-init-docs-and-i18n-assets/EXECUTION_BRIEF.md +22 -0
  228. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-02-init-docs-and-i18n-assets/slice.json +72 -0
  229. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-03-docs-reference-guides/CLOSURE_BRIEF.md +12 -0
  230. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-03-docs-reference-guides/EXECUTION_BRIEF.md +22 -0
  231. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-03-docs-reference-guides/slice.json +60 -0
  232. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-04-generated-docs-tests-smokes/CLOSURE_BRIEF.md +16 -0
  233. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-04-generated-docs-tests-smokes/EXECUTION_BRIEF.md +22 -0
  234. package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-04-generated-docs-tests-smokes/slice.json +62 -0
  235. package/specs/quiver-v43-cli-i18n-audit-release-readiness/EVIDENCE_REPORT.md +203 -0
  236. package/specs/quiver-v43-cli-i18n-audit-release-readiness/EXECUTION_PLAN.md +27 -0
  237. package/specs/quiver-v43-cli-i18n-audit-release-readiness/SPEC.md +54 -0
  238. package/specs/quiver-v43-cli-i18n-audit-release-readiness/STATUS.md +24 -0
  239. package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +545 -0
  240. package/specs/quiver-v43-cli-i18n-audit-release-readiness/cross-platform-smoke-matrix.md +35 -0
  241. package/specs/quiver-v43-cli-i18n-audit-release-readiness/pr.md +155 -0
  242. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-00-audit-foundation/CLOSURE_BRIEF.md +10 -0
  243. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-00-audit-foundation/EXECUTION_BRIEF.md +21 -0
  244. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-00-audit-foundation/slice.json +53 -0
  245. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-01-command-language-mode-matrix/CLOSURE_BRIEF.md +13 -0
  246. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-01-command-language-mode-matrix/EXECUTION_BRIEF.md +23 -0
  247. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-01-command-language-mode-matrix/slice.json +62 -0
  248. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-02-public-string-audit/CLOSURE_BRIEF.md +18 -0
  249. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-02-public-string-audit/EXECUTION_BRIEF.md +22 -0
  250. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-02-public-string-audit/slice.json +59 -0
  251. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-03-cross-platform-smokes/CLOSURE_BRIEF.md +15 -0
  252. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-03-cross-platform-smokes/EXECUTION_BRIEF.md +23 -0
  253. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-03-cross-platform-smokes/slice.json +62 -0
  254. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-04-package-release-readiness/CLOSURE_BRIEF.md +17 -0
  255. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-04-package-release-readiness/EXECUTION_BRIEF.md +24 -0
  256. package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-04-package-release-readiness/slice.json +66 -0
  257. package/specs/quiver-v44-provider-live-output-tui-lite/EVIDENCE_REPORT.md +18 -0
  258. package/specs/quiver-v44-provider-live-output-tui-lite/EXECUTION_PLAN.md +31 -0
  259. package/specs/quiver-v44-provider-live-output-tui-lite/SPEC.md +118 -0
  260. package/specs/quiver-v44-provider-live-output-tui-lite/STATUS.md +25 -0
  261. package/specs/quiver-v44-provider-live-output-tui-lite/pr.md +92 -0
  262. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-00-tui-lite-contract-foundation/CLOSURE_BRIEF.md +11 -0
  263. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-00-tui-lite-contract-foundation/EXECUTION_BRIEF.md +23 -0
  264. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-00-tui-lite-contract-foundation/slice.json +64 -0
  265. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-01-provider-stream-hooks/CLOSURE_BRIEF.md +10 -0
  266. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-01-provider-stream-hooks/EXECUTION_BRIEF.md +24 -0
  267. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-01-provider-stream-hooks/slice.json +65 -0
  268. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-02-live-output-renderer/CLOSURE_BRIEF.md +10 -0
  269. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-02-live-output-renderer/EXECUTION_BRIEF.md +24 -0
  270. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-02-live-output-renderer/slice.json +70 -0
  271. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-03-prepare-context-integration/CLOSURE_BRIEF.md +10 -0
  272. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-03-prepare-context-integration/EXECUTION_BRIEF.md +25 -0
  273. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-03-prepare-context-integration/slice.json +70 -0
  274. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-04-planner-command-audit-adoption/CLOSURE_BRIEF.md +10 -0
  275. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-04-planner-command-audit-adoption/EXECUTION_BRIEF.md +26 -0
  276. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-04-planner-command-audit-adoption/slice.json +72 -0
  277. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-05-docs-tests-readiness/CLOSURE_BRIEF.md +15 -0
  278. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-05-docs-tests-readiness/EXECUTION_BRIEF.md +26 -0
  279. package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-05-docs-tests-readiness/slice.json +75 -0
  280. package/specs/quiver-v45-ci-actions-node24-readiness/EVIDENCE_REPORT.md +30 -0
  281. package/specs/quiver-v45-ci-actions-node24-readiness/EXECUTION_PLAN.md +22 -0
  282. package/specs/quiver-v45-ci-actions-node24-readiness/SPEC.md +49 -0
  283. package/specs/quiver-v45-ci-actions-node24-readiness/STATUS.md +21 -0
  284. package/specs/quiver-v45-ci-actions-node24-readiness/pr.md +67 -0
  285. package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-00-ci-actions-foundation/CLOSURE_BRIEF.md +10 -0
  286. package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-00-ci-actions-foundation/EXECUTION_BRIEF.md +21 -0
  287. package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-00-ci-actions-foundation/slice.json +48 -0
  288. package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-01-actions-node24-readiness/CLOSURE_BRIEF.md +14 -0
  289. package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-01-actions-node24-readiness/EXECUTION_BRIEF.md +23 -0
  290. package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-01-actions-node24-readiness/slice.json +65 -0
  291. package/src/create-quiver/commands/ai.js +485 -307
  292. package/src/create-quiver/commands/config.js +124 -0
  293. package/src/create-quiver/commands/dashboard.js +31 -0
  294. package/src/create-quiver/commands/demo.js +2 -2
  295. package/src/create-quiver/commands/evidence.js +6 -4
  296. package/src/create-quiver/commands/flow.js +108 -16
  297. package/src/create-quiver/commands/graph.js +1 -0
  298. package/src/create-quiver/commands/next.js +21 -18
  299. package/src/create-quiver/commands/plan.js +23 -6
  300. package/src/create-quiver/commands/spec.js +66 -57
  301. package/src/create-quiver/index.js +606 -136
  302. package/src/create-quiver/lib/ai/execution-plan.js +23 -20
  303. package/src/create-quiver/lib/ai/executor.js +60 -44
  304. package/src/create-quiver/lib/ai/export-state.js +75 -64
  305. package/src/create-quiver/lib/ai/github.js +24 -21
  306. package/src/create-quiver/lib/ai/run-state.js +28 -25
  307. package/src/create-quiver/lib/cli/ux-flags.js +6 -0
  308. package/src/create-quiver/lib/dashboard.js +939 -0
  309. package/src/create-quiver/lib/demo.js +14 -12
  310. package/src/create-quiver/lib/handoff.js +16 -7
  311. package/src/create-quiver/lib/i18n/catalog.js +152 -0
  312. package/src/create-quiver/lib/i18n/language.js +279 -0
  313. package/src/create-quiver/lib/i18n/messages/en.js +853 -0
  314. package/src/create-quiver/lib/i18n/messages/es.js +968 -0
  315. package/src/create-quiver/lib/i18n/read-only-format.js +26 -0
  316. package/src/create-quiver/lib/i18n/templates.js +172 -0
  317. package/src/create-quiver/lib/init-docs.js +24 -4
  318. package/src/create-quiver/lib/init-layout.js +8 -0
  319. package/src/create-quiver/lib/lifecycle.js +53 -46
  320. package/src/create-quiver/lib/project-state-resolver.js +22 -2
  321. package/src/create-quiver/lib/readiness.js +77 -67
  322. package/src/create-quiver/lib/renderers/tree.js +9 -6
  323. package/src/create-quiver/lib/spec-worktrees.js +34 -30
  324. package/src/create-quiver/lib/version.js +159 -0
@@ -0,0 +1,853 @@
1
+ module.exports = {
2
+ metadata: {
3
+ language: 'en',
4
+ catalogVersion: 1,
5
+ },
6
+ messages: {
7
+ 'cli.help': {
8
+ headings: {
9
+ usage: 'Usage:',
10
+ commands: 'Commands:',
11
+ options: 'Options:',
12
+ examples: 'Examples:',
13
+ },
14
+ groupTitles: {},
15
+ commandDescriptions: {},
16
+ optionDescriptions: {},
17
+ },
18
+ 'common.command.help': 'Run: npx create-quiver --help',
19
+ 'common.language.current': 'Language: {language}',
20
+ 'common.language.unsupported': 'Unsupported language "{language}". Run: npx create-quiver config language set en',
21
+ 'common.no': 'no',
22
+ 'common.none': 'none',
23
+ 'common.none_detected': 'none detected',
24
+ 'common.slice.count': {
25
+ one: '{count} slice',
26
+ other: '{count} slices',
27
+ },
28
+ 'common.unknown': 'unknown',
29
+ 'common.warning': 'Warning: {message}',
30
+ 'common.yes': 'yes',
31
+ 'ai_task.command': 'Command: {command}',
32
+ 'ai_task.context_pack': 'Context pack: {context}',
33
+ 'ai_task.documentation_debt': 'Documentation debt: {count}',
34
+ 'ai_task.input_file': 'Input file: {path}',
35
+ 'ai_task.input_kind': 'Input kind: {kind}',
36
+ 'ai_task.input_version': 'Input version: v{version}',
37
+ 'ai_task.model': 'Model: {model}',
38
+ 'ai_task.model_support': 'Model support: {status} ({reason})',
39
+ 'ai_task.model_supported': 'supported',
40
+ 'ai_task.model_unsupported': 'unsupported',
41
+ 'ai_task.phase': 'Phase: {phase}',
42
+ 'ai_task.prompt_length': 'Prompt length: {bytes} bytes',
43
+ 'ai_task.prompt_source': 'Prompt source: {source}',
44
+ 'ai_task.prompt_transport': 'Prompt transport: {mode}',
45
+ 'ai_task.provider': 'Provider: {provider}',
46
+ 'ai_task.role': 'Role: {role}',
47
+ 'ai_task.selected_docs': 'Selected docs: {count}',
48
+ 'ai_task.timeout': 'Timeout: {timeout}ms',
49
+ 'ai_task.title.dry_run': 'AI {task} dry-run',
50
+ 'ai_task.title.prompt_only': 'AI {task} prompt-only',
51
+ 'ai.actionable.fix': 'Fix',
52
+ 'ai.actionable.impact': 'Impact',
53
+ 'ai.actionable.next_command': 'Next command',
54
+ 'ai.agent.choice.model_available': 'available',
55
+ 'ai.agent.choice.model_custom': 'Custom',
56
+ 'ai.agent.choice.model_recommended': 'recommended',
57
+ 'ai.agent.choice.provider_hint': '{count} models, {status}',
58
+ 'ai.agent.doctor.checks': 'Checks',
59
+ 'ai.agent.doctor.no_fixes': 'No fixes suggested.',
60
+ 'ai.agent.doctor.no_profiles': 'No agent profiles configured',
61
+ 'ai.agent.doctor.suggested_fixes': 'Suggested fixes',
62
+ 'ai.agent.doctor.summary': 'Summary',
63
+ 'ai.agent.doctor.title': 'Quiver Agent Doctor',
64
+ 'ai.agent.dry_run.no_secrets': 'No secrets or provider credentials are stored in agent profiles.',
65
+ 'ai.agent.dry_run.title': 'AI agent profile dry-run',
66
+ 'ai.agent.dry_run.verb_create': 'create',
67
+ 'ai.agent.dry_run.verb_update': 'update',
68
+ 'ai.agent.dry_run.would': 'Would {verb}: {path}',
69
+ 'ai.agent.dry_run.writes': 'Writes',
70
+ 'ai.agent.error.canceled': 'ai agent set canceled. No files were written.',
71
+ 'ai.agent.error.missing_profile.failure': "agent profile '{role}' is not configured.",
72
+ 'ai.agent.error.missing_profile.fix': 'Configure the {role} profile with a supported provider and technical model id.',
73
+ 'ai.agent.error.missing_profile.impact': 'Quiver will fall back to default provider behavior and may use the wrong model/cost profile.',
74
+ 'ai.agent.error.missing_profile_id.failure': "agent profile '{role}/{id}' is not configured.",
75
+ 'ai.agent.error.missing_set_role': 'missing agent role. Use: npx create-quiver ai agent set <planner|executor|reviewer|doctor> --provider <provider> --model <model>',
76
+ 'ai.agent.error.missing_show_role': 'missing agent role. Use: npx create-quiver ai agent show <planner|executor|reviewer|doctor>',
77
+ 'ai.agent.error.no_prompt.failure': 'ai agent set {role} requires --provider and --model when prompts are not available.',
78
+ 'ai.agent.error.no_prompt.fix': 'Pass both flags explicitly, or rerun from an interactive terminal with --interactive.',
79
+ 'ai.agent.error.no_prompt.impact': 'Quiver cannot safely guess the provider or technical model id for an agent profile.',
80
+ 'ai.agent.error.repair_requires_dry_run': 'ai agent repair only supports --dry-run for now. No files were written.',
81
+ 'ai.agent.error.unsupported_subcommand': 'unsupported ai agent subcommand: {command}. Supported tasks: set, list, show, doctor, repair',
82
+ 'ai.agent.field.context': 'Context',
83
+ 'ai.agent.field.default': 'Default',
84
+ 'ai.agent.field.display_name': 'Display name',
85
+ 'ai.agent.field.id': 'ID',
86
+ 'ai.agent.field.label': 'Label',
87
+ 'ai.agent.field.model': 'Model',
88
+ 'ai.agent.field.provider': 'Provider',
89
+ 'ai.agent.field.role': 'Role',
90
+ 'ai.agent.field.state': 'State',
91
+ 'ai.agent.field.updated': 'Updated',
92
+ 'ai.agent.install_status.installed': 'installed',
93
+ 'ai.agent.install_status.not_installed': 'not installed',
94
+ 'ai.agent.install_status.not_verified': 'not verified',
95
+ 'ai.agent.list.display_name': 'displayName',
96
+ 'ai.agent.list.not_configured': 'not configured',
97
+ 'ai.agent.list.options': 'options',
98
+ 'ai.agent.list.title': 'AI agent profiles',
99
+ 'ai.agent.profile_to_save.title': 'Profile to save',
100
+ 'ai.agent.prompt.action.cancel.hint': 'Does not write files',
101
+ 'ai.agent.prompt.action.cancel.label': 'Cancel',
102
+ 'ai.agent.prompt.action.change_default.hint': 'Marks an existing profile as default',
103
+ 'ai.agent.prompt.action.change_default.label': 'Change default',
104
+ 'ai.agent.prompt.action.create_new.hint': 'Stores another model or provider',
105
+ 'ai.agent.prompt.action.create_new.label': 'Create new profile',
106
+ 'ai.agent.prompt.action.update_current.hint': 'Reuses the default profile',
107
+ 'ai.agent.prompt.action.update_current.label': 'Update current profile',
108
+ 'ai.agent.prompt.custom_model': 'Custom model for {provider}',
109
+ 'ai.agent.prompt.custom_model_display': 'Visible name for the custom model',
110
+ 'ai.agent.prompt.default_profile': 'Choose the default {role} profile',
111
+ 'ai.agent.prompt.existing_action': 'There is already at least one {role} profile. What do you want to do?',
112
+ 'ai.agent.prompt.existing_title': 'Existing {role} profiles',
113
+ 'ai.agent.prompt.model': 'Choose a model for {role}',
114
+ 'ai.agent.prompt.new_id': 'ID for the new {role} profile',
115
+ 'ai.agent.prompt.provider': 'Choose a provider for {role}',
116
+ 'ai.agent.repair.after': 'After',
117
+ 'ai.agent.repair.before': 'Before',
118
+ 'ai.agent.repair.no_repairs': 'No safe repairs found.',
119
+ 'ai.agent.repair.proposed_changes': 'Proposed changes',
120
+ 'ai.agent.repair.title': 'AI agent profile repair dry-run',
121
+ 'ai.agent.saved.title': 'AI agent profile saved',
122
+ 'ai.agent.value.default': 'default',
123
+ 'ai.agent.value.no': 'no',
124
+ 'ai.agent.value.no_model': '(no model)',
125
+ 'ai.agent.value.no_provider': '(no provider)',
126
+ 'ai.agent.value.none': 'none',
127
+ 'ai.agent.value.not_set': '(not set)',
128
+ 'ai.agent.value.yes': 'yes',
129
+ 'ai.agents.empty_sentence': 'No agent roles available.',
130
+ 'ai.github.base': 'Base: {base}',
131
+ 'ai.github.branch': 'Branch: {branch}',
132
+ 'ai.github.checks': 'Checks: gh, gh auth status, git remote, worktree branch, GitFlow guide, SSH identity file',
133
+ 'ai.github.command': 'Command: {command}',
134
+ 'ai.github.gitflow_guide': 'GitFlow guide: {path}',
135
+ 'ai.github.identity_file': 'Identity file: {path}',
136
+ 'ai.github.no_pr_created': 'No PR was created. Re-run with --create after reviewing the plan.',
137
+ 'ai.github.no_pr_dry_run': 'No PR will be created in dry-run mode.',
138
+ 'ai.github.progress.body_ready': 'PR body prepared',
139
+ 'ai.github.progress.create.done': 'PR created',
140
+ 'ai.github.progress.create.failed': 'PR creation failed',
141
+ 'ai.github.progress.create.running': 'Creating PR in GitHub...',
142
+ 'ai.github.progress.heading': 'Creating PR with gh',
143
+ 'ai.github.progress.preflight.done': 'GitHub preflight ready',
144
+ 'ai.github.progress.preflight.failed': 'GitHub preflight failed',
145
+ 'ai.github.progress.preflight.running': 'Running GitHub preflight...',
146
+ 'ai.github.pr.title': 'GitHub pr {state}',
147
+ 'ai.github.pr_body': 'PR body: {path}',
148
+ 'ai.github.pr_not_performed': 'PR creation is not performed in this slice.',
149
+ 'ai.github.preflight.title': 'GitHub {mode} {state}',
150
+ 'ai.github.remote': 'Remote: {remote}',
151
+ 'ai.github.shell_safe_examples': 'Shell-safe command examples',
152
+ 'ai.github.ssh_host_alias': 'SSH host alias: {alias}',
153
+ 'ai.github.title': 'Title: {title}',
154
+ 'ai.approvals.active_run': 'Active run',
155
+ 'ai.approvals.approval_candidates': 'Approval candidates',
156
+ 'ai.approvals.approval_recommendation': 'Approval recommendation',
157
+ 'ai.approvals.approved': 'Approved',
158
+ 'ai.approvals.blocking': 'Blocking',
159
+ 'ai.approvals.candidates': 'Candidates',
160
+ 'ai.approvals.current_candidate': 'Current candidate',
161
+ 'ai.approvals.draft': 'Draft',
162
+ 'ai.approvals.draft_history': 'Draft history',
163
+ 'ai.approvals.global_planner': 'Global planner approvals',
164
+ 'ai.approvals.latest_draft': 'Latest draft',
165
+ 'ai.approvals.next_command': 'Next command',
166
+ 'ai.approvals.no_ai_runs': 'no AI runs found',
167
+ 'ai.approvals.no_run_scoped': 'no run-scoped approvals',
168
+ 'ai.approvals.none_value': '(none)',
169
+ 'ai.approvals.optional_hardening': 'Optional hardening',
170
+ 'ai.approvals.recommended_approval': 'Recommended approval',
171
+ 'ai.approvals.recommended_next_command': 'Recommended next command',
172
+ 'ai.approvals.relation.active': 'active',
173
+ 'ai.approvals.relation.historical': 'historical',
174
+ 'ai.approvals.relation.none': 'none',
175
+ 'ai.approvals.relation.orphaned': 'orphaned',
176
+ 'ai.approvals.relation.other-open': 'other-open',
177
+ 'ai.approvals.required_fixes': 'Required fixes',
178
+ 'ai.approvals.review': 'Review',
179
+ 'ai.approvals.review_status': 'Review status',
180
+ 'ai.approvals.run_relation': 'Run relation',
181
+ 'ai.approvals.run_scoped': 'Run-scoped approvals',
182
+ 'ai.approvals.source_file': 'Source file',
183
+ 'ai.approvals.title': 'AI approvals status',
184
+ 'ai.export_markdown.dry_run': 'Dry-run',
185
+ 'ai.export_markdown.generated': 'Generated',
186
+ 'ai.export_markdown.schema_version': 'Schema version',
187
+ 'ai.export_markdown.title': 'Quiver Lifecycle Export',
188
+ 'ai.inspect.active_slice_state': 'Active slice state',
189
+ 'ai.inspect.agents_configured': 'Agents configured',
190
+ 'ai.inspect.slices_summary': 'Slices: {total} total, {open} open, {blocked} blocked, {percent}% done',
191
+ 'ai.inspect.title': 'Quiver lifecycle inspect',
192
+ 'ai.label.agents': 'Agents',
193
+ 'ai.label.blockers': 'Blockers',
194
+ 'ai.label.done': 'done',
195
+ 'ai.label.layout': 'Layout',
196
+ 'ai.label.next': 'Next',
197
+ 'ai.label.next_safe_command': 'Next safe command',
198
+ 'ai.label.next_safe_commands': 'Next safe commands',
199
+ 'ai.label.progress': 'Progress',
200
+ 'ai.label.project': 'Project',
201
+ 'ai.label.reconciliation': 'Reconciliation',
202
+ 'ai.label.runs': 'Runs',
203
+ 'ai.label.schema': 'Schema',
204
+ 'ai.label.slices': 'Slices',
205
+ 'ai.label.sources': 'Sources',
206
+ 'ai.label.specs': 'Specs',
207
+ 'ai.label.total': 'total',
208
+ 'ai.run.approvals': 'Approvals',
209
+ 'ai.run.closed.title': 'AI run closed',
210
+ 'ai.run.current_phase': 'Current phase',
211
+ 'ai.run.error.close_requires_run': 'ai run close requires an active run or --run <id>',
212
+ 'ai.run.error.create_requires_input': 'ai run create requires --input <requirements.md>',
213
+ 'ai.run.error.unsupported_subcommand': 'unsupported ai run subcommand: {command}. Supported tasks: create, close',
214
+ 'ai.run.missing': '(missing)',
215
+ 'ai.run.open_runs': 'Open runs',
216
+ 'ai.run.other_open_runs': 'Other open runs',
217
+ 'ai.run.phase': 'Phase',
218
+ 'ai.run.requirement': 'Requirement',
219
+ 'ai.run.resume.no_active': 'No active run found.',
220
+ 'ai.run.resume.title': 'AI run resume',
221
+ 'ai.run.run': 'Run',
222
+ 'ai.run.spec': 'Spec',
223
+ 'ai.run.spec.not_generated': '(not generated)',
224
+ 'ai.run.state': 'State',
225
+ 'ai.run.status': 'Status',
226
+ 'ai.run.status.no_active': 'no active run',
227
+ 'ai.run.status.title': 'AI run status',
228
+ 'ai.runs.empty_sentence': 'No AI runs found.',
229
+ 'ai.models.catalog_version': 'Catalog version',
230
+ 'ai.models.error.unsupported_provider_filter': "unsupported provider filter '{provider}'. Supported providers: {providers}.",
231
+ 'ai.models.last_updated': 'Last updated',
232
+ 'ai.models.note': 'Note: Models are known by Quiver; provider account access is not guaranteed.',
233
+ 'ai.models.roles': 'roles',
234
+ 'ai.models.roles.custom_manual': 'custom/manual',
235
+ 'ai.models.title': 'AI models known by Quiver',
236
+ 'ai.approve.artifact': 'Artifact',
237
+ 'ai.approve.dry_run.title': 'AI approval dry-run',
238
+ 'ai.approve.error.input_not_supported': 'ai approve --phase {phase} approves saved draft versions only. Use `npx create-quiver ai revise --phase {phase} --input {input}` to create a new draft first.',
239
+ 'ai.approve.error.no_drafts.failure': 'ai approve --phase {phase} has no saved drafts to approve.',
240
+ 'ai.approve.error.no_drafts.fix': 'Generate a {phase} draft first.',
241
+ 'ai.approve.error.no_drafts.impact': 'There is no planner artifact that can pass the approval gate.',
242
+ 'ai.approve.error.no_prompt.failure': 'ai approve --phase {phase} requires --version <n> when prompts are not available.',
243
+ 'ai.approve.error.no_prompt.fix': 'Review drafts with `npx create-quiver ai approvals`, then pass the version explicitly.',
244
+ 'ai.approve.error.no_prompt.impact': 'Quiver cannot safely guess which saved planner draft the human approved.',
245
+ 'ai.approve.error.not_approvable.failure': '{phase} draft {label} is not approvable.',
246
+ 'ai.approve.error.not_approvable.fix': 'Inspect planner approvals before approving.',
247
+ 'ai.approve.error.not_approvable.impact': 'Quiver only approves the current eligible draft version.',
248
+ 'ai.approve.error.not_approvable.impact_blocked': 'The current review gate blocks technical-plan approval.',
249
+ 'ai.approve.error.review_blocked': 'ai approve --phase technical-plan is blocked by plan review; approval recommendation is {recommendation}. Required fixes: {fixes}. Next command: {command}',
250
+ 'ai.approve.error.review_required': 'ai approve --phase technical-plan requires a production review for the current draft; current review status is {status}. Run `npx create-quiver ai review-plan --dry-run`, then `npx create-quiver ai review-plan`.',
251
+ 'ai.approve.error.unsupported_phase': "ai approve does not support phase '{phase}'",
252
+ 'ai.approve.prompt.version': 'Which {phase} draft do you want to approve?',
253
+ 'ai.approve.saved': 'AI approval saved',
254
+ 'ai.approve.status.approved': 'approved',
255
+ 'ai.approve.timestamp': 'Timestamp',
256
+ 'ai.approve.version': 'Version',
257
+ 'ai.plan.interactive_requested': 'Interactive requested: live mode will ask before saving the draft.',
258
+ 'ai.plan.review_requested': 'Review requested: provider output will be opened for review before saving the draft in live mode.',
259
+ 'ai.plan.spec.completed': 'AI plan spec generation completed',
260
+ 'ai.plan.spec.dry_run.title': 'AI plan dry-run',
261
+ 'ai.plan.spec.files_written': 'Files written: {count}',
262
+ 'ai.plan.spec.planned_files': 'Planned files: {count}',
263
+ 'ai.plan.spec.prompt_only_no_provider': 'No provider prompt is used for spec generation; showing the local generation plan instead.',
264
+ 'ai.plan.spec.slug': 'Spec slug: {slug}',
265
+ 'ai.plan.spec.target': 'Target: {target}',
266
+ 'ai.plan.spec.title': 'Title: {title}',
267
+ 'ai.plan.with_planner_already_active': 'Planner mode: already active for ai plan; --with-planner is accepted for UX consistency.',
268
+ 'ai.planner.progress.agent_failed': 'Agent failed',
269
+ 'ai.planner.progress.agent_finished': 'Agent finished',
270
+ 'ai.planner.progress.detecting_structure': 'Detecting structure',
271
+ 'ai.planner.progress.onboarding': 'Running onboarding',
272
+ 'ai.planner.progress.plan': 'Running plan {phase}',
273
+ 'ai.planner.progress.preparing_context': 'Preparing context',
274
+ 'ai.planner.progress.preparing_prompt': 'Preparing prompt',
275
+ 'ai.planner.progress.reading_approved_plan': 'Reading approved plan',
276
+ 'ai.planner.progress.reading_base_docs': 'Reading base docs',
277
+ 'ai.planner.progress.reading_input': 'Reading input',
278
+ 'ai.planner.progress.reading_technical_plan': 'Reading technical plan',
279
+ 'ai.planner.progress.repair_plan': 'Running plan repair',
280
+ 'ai.planner.progress.review_plan': 'Running plan review',
281
+ 'ai.planner.progress.running_agent': 'Running agent...',
282
+ 'ai.planner.progress.title': '{action} with {profile}',
283
+ 'ai.repair_plan.original_preserved': 'Original approved artifact: preserved',
284
+ 'ai.repair_plan.saved': 'AI technical-plan repair draft saved',
285
+ 'ai.repair_plan.source_approved_artifact': 'Source approved artifact',
286
+ 'ai.repair_plan.validation_failure': 'Validation failure',
287
+ 'ai.review_plan.saved': 'AI plan review saved',
288
+ 'ai.revise.error.requires_draft': "ai revise --phase {phase} requires an existing draft; current status is {status}. Run `npx create-quiver ai plan --phase {phase} --input <file>` first.",
289
+ 'ai.revise.error.unsupported_phase': "ai revise does not support phase '{phase}'",
290
+ 'ai.slices.blocked': 'blocked',
291
+ 'ai.slices.deps': 'deps',
292
+ 'ai.slices.empty': 'No slices found.',
293
+ 'ai.slices.empty_sentence': 'No slices found.',
294
+ 'ai.slices.title': 'Quiver slices list',
295
+ 'ai.specs.empty': 'No specs found.',
296
+ 'ai.specs.empty_sentence': 'No specs found.',
297
+ 'ai.specs.title': 'Quiver specs list',
298
+ 'ai.table.configured': 'Configured',
299
+ 'ai.table.dependencies': 'Dependencies',
300
+ 'ai.table.model': 'Model',
301
+ 'ai.table.next_command': 'Next Command',
302
+ 'ai.table.path': 'Path',
303
+ 'ai.table.phase': 'Phase',
304
+ 'ai.table.progress': 'Progress',
305
+ 'ai.table.provider': 'Provider',
306
+ 'ai.table.role': 'Role',
307
+ 'ai.table.run': 'Run',
308
+ 'ai.table.slice': 'Slice',
309
+ 'ai.table.slices': 'Slices',
310
+ 'ai.table.spec': 'Spec',
311
+ 'ai.table.status': 'Status',
312
+ 'ai.table.write_scope': 'Write Scope',
313
+ 'ai.trace.execution_waves': 'Execution waves',
314
+ 'ai.trace.graph_error': 'graph error',
315
+ 'ai.trace.migration': 'Migration',
316
+ 'ai.trace.title': 'Quiver trace report',
317
+ 'ai.trace.wave': 'wave',
318
+ 'analyze.completed_for': 'Project analysis completed for {path}',
319
+ 'analyze.detected_frameworks': 'Detected frameworks: {frameworks}',
320
+ 'analyze.detected_package_manager': 'Detected package manager: {manager}',
321
+ 'analyze.detected_primary_stack': 'Detected primary stack: {stack}',
322
+ 'analyze.dry_run_for': 'Project analysis dry-run for {path}',
323
+ 'analyze.would_refresh': 'Would refresh {path}',
324
+ 'analyze.would_write': 'Would write {path}',
325
+ 'analyze.writes_none': 'Writes: none',
326
+ 'analyze.wrote': 'Wrote {path}',
327
+ 'doctor.check.layout': 'Layout: {layout}',
328
+ 'doctor.check.passed_for': 'Quiver doctor passed for {path}',
329
+ 'doctor.check.project_analysis_found': 'Project analysis artifacts found',
330
+ 'doctor.check.required_files_found': 'Required files found',
331
+ 'doctor.check.specs_found': 'Specs: {specs}',
332
+ 'doctor.check.specs_none': 'Specs: none yet',
333
+ 'doctor.check.state_found': 'Quiver state metadata found',
334
+ 'doctor.check.workflow_scripts_available': 'Workflow scripts available',
335
+ 'doctor.checks': 'Checks',
336
+ 'doctor.fix.analyze_first': 'Analyze the project first: npx create-quiver analyze',
337
+ 'doctor.fix.check_next': 'Check the next ready slice: npx create-quiver next',
338
+ 'doctor.fix.create_specs_after_approval': 'Create real specs and slices only after acceptance criteria are approved and the technical plan is reviewed and approved.',
339
+ 'doctor.fix.generate_project_map': 'Run `npx create-quiver analyze` to generate docs/PROJECT_MAP.md when you want the visible project map.',
340
+ 'doctor.fix.no_specs_yet': 'No specs yet. That is valid after the AI-first init flow.',
341
+ 'doctor.suggested_fixes': 'Suggested fixes',
342
+ 'doctor.title': 'Quiver Doctor',
343
+ 'demo.label.demo': 'Demo: {demo}',
344
+ 'demo.label.files_to_create': 'Files to create: {count}',
345
+ 'demo.label.files_to_preserve': 'Files to preserve: {count}',
346
+ 'demo.label.project': 'Project: {project}',
347
+ 'demo.label.target': 'Target: {path}',
348
+ 'demo.next_commands': 'Next commands:',
349
+ 'demo.no_files_written': 'No files were written.',
350
+ 'demo.section.files_to_create': 'Files to create',
351
+ 'demo.section.files_to_preserve': 'Files to preserve',
352
+ 'demo.title.created': 'Quiver demo created',
353
+ 'demo.title.dry_run': 'Quiver demo dry-run',
354
+ 'evidence.command': 'Command: {command}',
355
+ 'evidence.exit_code': 'Exit code: {code}',
356
+ 'evidence.output': 'Output: {path}',
357
+ 'evidence.recorded': 'Quiver evidence recorded',
358
+ 'init.agent_guidance.show.hint': 'Does not store credentials or execute providers',
359
+ 'init.agent_guidance.show.label': 'Show suggested commands',
360
+ 'init.agent_guidance.show.summary': 'show next step',
361
+ 'init.agent_guidance.skip.label': 'Skip for now',
362
+ 'init.agent_guidance.skip.summary': 'skip',
363
+ 'init.confirm.doctor': 'Run Doctor now?',
364
+ 'init.confirm.initialize': 'Initialize Quiver in {path}?',
365
+ 'init.heading': 'Welcome to Quiver',
366
+ 'init.installed': 'Installed Quiver into {path}',
367
+ 'init.language.saved': 'Project language saved: {language}',
368
+ 'init.methodology.wdd_sdd.hint': 'Workflow Driven Development + Spec Driven Development',
369
+ 'init.methodology.wdd_sdd.label': 'WDD + SDD',
370
+ 'init.mode.existing.hint': 'Add Quiver to an existing repository',
371
+ 'init.mode.existing.label': 'Existing project',
372
+ 'init.mode.new.hint': 'Create an empty Quiver-ready structure',
373
+ 'init.mode.new.label': 'New project',
374
+ 'init.mode.validate.hint': 'Do not write files; run doctor after choosing options',
375
+ 'init.mode.validate.label': 'Validate only',
376
+ 'init.next_steps.after_init': 'After initialization',
377
+ 'init.next_steps.analyze': 'Analyze the project with npx create-quiver analyze',
378
+ 'init.next_steps.create_specs': 'Create real specs and slices after acceptance criteria are approved and the technical plan is reviewed and approved.',
379
+ 'init.next_steps.review_agents': 'Review AGENTS.md, then {path}',
380
+ 'init.next_steps.review_workflow': 'Review {path}',
381
+ 'init.next_steps.title': 'Next steps:',
382
+ 'init.profile.default.hint': 'Recommended AI-first contract',
383
+ 'init.profile.full.hint': 'Includes historical compatibility and visible templates',
384
+ 'init.profile.minimal.hint': 'Only essential documents',
385
+ 'init.prompt.agent_guidance': 'Do you want to see the next step for agent profiles?',
386
+ 'init.prompt.language': 'Which CLI language should this project use?',
387
+ 'init.prompt.methodology': 'Which methodology will you use?',
388
+ 'init.prompt.mode': 'What do you want to configure?',
389
+ 'init.prompt.profile': 'Which initial contract do you want to create?',
390
+ 'init.summary.agent_profiles': 'Agent profiles',
391
+ 'init.summary.equivalent_command': 'Equivalent command',
392
+ 'init.summary.language': 'Language',
393
+ 'init.summary.methodology': 'Methodology',
394
+ 'init.summary.mode': 'Mode',
395
+ 'init.summary.profile': 'Profile',
396
+ 'init.summary.project': 'Project',
397
+ 'init.summary.title': 'Selected configuration',
398
+ 'migrate.completed_for': 'Quiver migration completed for {path}',
399
+ 'migrate.dry_run_title': 'Quiver migration dry-run',
400
+ 'migrate.legacy_preserved': 'Legacy layout detected and preserved: {paths}',
401
+ 'migrate.next_command': 'Next command: {command}',
402
+ 'migrate.planned_create': 'Planned create: {count}',
403
+ 'migrate.planned_preserve': 'Planned preserve: {count}',
404
+ 'migrate.planned_update': 'Planned update: {count}',
405
+ 'migrate.project': 'Project: {project}',
406
+ 'migrate.restored_missing': 'Missing workflow files were restored without overwriting existing project files.',
407
+ 'migrate.target': 'Target: {path}',
408
+ 'migrate.writes_none': 'Writes: none',
409
+ 'flow.blocker.acceptance_draft': 'Acceptance criteria draft exists but is not approved.',
410
+ 'flow.blocker.acceptance_stale': 'Acceptance criteria changed after approval.',
411
+ 'flow.blocker.could_not_read_slices': 'Could not read slices: {error}',
412
+ 'flow.blocker.missing_agent_profiles': 'Missing {roles} agent profiles.',
413
+ 'flow.blocker.missing_doc': 'Missing {file}.',
414
+ 'flow.blocker.no_ready_slice': 'No ready slice was found. Review dependencies and statuses.',
415
+ 'flow.blocker.no_slice_json': 'No slice.json files found for the detected specs.',
416
+ 'flow.blocker.not_initialized': 'Quiver has not been initialized in this project.',
417
+ 'flow.blocker.plan_review_status': 'Plan review status is {status}.',
418
+ 'flow.blocker.slice_00_required': 'Later slices are blocked until slice-00 is completed and committed.',
419
+ 'flow.blocker.slice_graph_not_ready': 'Slice graph is not ready: {error}',
420
+ 'flow.blocker.technical_plan_changed_review_blocked': 'Technical plan changed after approval and latest review blocks approval.',
421
+ 'flow.blocker.technical_plan_changed_review_needed': 'Technical plan changed after approval and needs a fresh production review.',
422
+ 'flow.blocker.technical_plan_changed_reviewed': 'Technical plan changed after approval and the latest draft was reviewed.',
423
+ 'flow.blocker.technical_plan_draft': 'Technical plan draft was reviewed but is not approved.',
424
+ 'flow.blocker.technical_plan_review_blocked': 'Technical plan review blocks approval.',
425
+ 'flow.blocker.technical_plan_review_needed': 'Technical plan draft exists but has not been reviewed for production readiness.',
426
+ 'flow.blockers': 'Blockers',
427
+ 'flow.bootstrap_remote': 'Bootstrap and remote use',
428
+ 'flow.command_path': 'Command path',
429
+ 'flow.context_source': 'Context source',
430
+ 'flow.context_source.fresh': '{path} (current, updated {updatedAt})',
431
+ 'flow.context_source.invalid': 'scan artifact is invalid: {error}',
432
+ 'flow.context_source.legacy': '{path} (legacy scan, updated {updatedAt})',
433
+ 'flow.context_source.missing': 'missing analysis artifacts; run npx create-quiver analyze',
434
+ 'flow.context_source.partial_map_only': 'docs/PROJECT_MAP.md exists but no scan artifact was found',
435
+ 'flow.context_source.partial_scan_only': '{path} exists but docs/PROJECT_MAP.md is missing',
436
+ 'flow.context_source.stale': '{path} newer than docs/PROJECT_MAP.md; run analyze to refresh visible context',
437
+ 'flow.generated_script': 'Generated project script',
438
+ 'flow.next_safe_command': 'Next safe command',
439
+ 'flow.package_manager': 'Package manager',
440
+ 'flow.safety_read_only': 'Safety: this command is read-only and does not call AI providers.',
441
+ 'flow.short_alias': 'Short alias after local install',
442
+ 'flow.specs_found': 'Specs found',
443
+ 'flow.stage': 'Stage',
444
+ 'flow.stage.agent-profiles-needed': 'agent profiles need setup',
445
+ 'flow.stage.approval-state-invalid': 'approval state is invalid',
446
+ 'flow.stage.context-needed': 'context needs refresh',
447
+ 'flow.stage.criteria-draft': 'acceptance criteria need approval',
448
+ 'flow.stage.criteria-stale': 'acceptance criteria need revision',
449
+ 'flow.stage.not-initialized': 'not initialized',
450
+ 'flow.stage.plan-review-state-invalid': 'technical plan review state is invalid',
451
+ 'flow.stage.planning-ready': 'ready for technical planning',
452
+ 'flow.stage.pr-ready': 'ready for PR',
453
+ 'flow.stage.slice-00-ready': 'ready for slice-00',
454
+ 'flow.stage.slice-execution-ready': 'ready for slice execution',
455
+ 'flow.stage.slice-state-blocked': 'slice state is blocked',
456
+ 'flow.stage.slices-ready': 'slices ready',
457
+ 'flow.stage.spec-ready': 'ready for spec generation',
458
+ 'flow.stage.technical-plan-draft': 'technical plan needs approval',
459
+ 'flow.stage.technical-plan-ready': 'technical plan approved',
460
+ 'flow.stage.technical-plan-review-blocked': 'technical plan review requires revision',
461
+ 'flow.stage.technical-plan-review-needed': 'technical plan needs production review',
462
+ 'flow.stage.technical-plan-stale': 'technical plan needs revision',
463
+ 'flow.suggested_sequence': 'Suggested sequence',
464
+ 'flow.title': 'Quiver guided flow',
465
+ 'graph.empty.pending': 'No pending slices found.',
466
+ 'graph.level': 'Level {level}',
467
+ 'graph.lots_count': {
468
+ one: '{count} lot',
469
+ other: '{count} lots',
470
+ },
471
+ 'graph.slices_count': {
472
+ one: '{count} slice',
473
+ other: '{count} slices',
474
+ },
475
+ 'graph.title': 'Quiver graph',
476
+ 'next.aborted': 'Aborted.',
477
+ 'next.empty.ready': 'No ready slices found.',
478
+ 'next.history_title': 'Historical slices included by --include-completed',
479
+ 'next.label.also_ready': 'Also ready',
480
+ 'next.label.slice': 'Slice',
481
+ 'next.label.start': 'Start',
482
+ 'next.label.status': 'Status',
483
+ 'next.label.title': 'Title',
484
+ 'next.prompt.start': 'Start slice {ref}?',
485
+ 'next.started': 'Started: {ref}',
486
+ 'next.title.next': 'Next ready slice',
487
+ 'next.title.ready': 'Ready slices',
488
+ 'plan.critical_path': 'Critical path',
489
+ 'plan.empty.filtered': 'No slices found for the selected filters.',
490
+ 'plan.empty.pending': 'No pending slices found.',
491
+ 'plan.header.hours': 'HOURS',
492
+ 'plan.header.index': '[N]',
493
+ 'plan.header.spec_slice': 'SPEC/SLICE',
494
+ 'plan.header.status': 'STATUS',
495
+ 'plan.header.ticket': 'TICKET',
496
+ 'plan.header.title': 'TITLE',
497
+ 'plan.title': 'Quiver plan',
498
+ 'plan.title.including_completed': 'Quiver plan (including completed)',
499
+ 'plan.title.ready': 'Ready slices',
500
+ 'plan.total_hours': 'Total hours',
501
+ 'prepare_context.absent': 'absent',
502
+ 'prepare_context.assumptions': 'Assumptions:',
503
+ 'prepare_context.contradictions': 'Contradictions:',
504
+ 'prepare_context.diff_preview': 'Diff preview:',
505
+ 'prepare_context.files_considered': 'Files considered:',
506
+ 'prepare_context.mode': 'Mode: {mode}',
507
+ 'prepare_context.omitted_paths': 'Omitted paths:',
508
+ 'prepare_context.planned_writes': 'Planned writes: {docs}',
509
+ 'prepare_context.present': 'present',
510
+ 'prepare_context.product_code_untouched': 'Product code: untouched',
511
+ 'prepare_context.project': 'Project: {project}',
512
+ 'prepare_context.project_slug': 'Project slug: {slug}',
513
+ 'prepare_context.prompt_source': 'Prompt source: {source}',
514
+ 'prepare_context.proposed_changes': 'Proposed changes:',
515
+ 'prepare_context.proposed_docs': 'Proposed docs: {docs}',
516
+ 'prepare_context.risks': 'Risks:',
517
+ 'prepare_context.snapshot': 'Snapshot: {path}',
518
+ 'prepare_context.title.completed': 'AI prepare-context completed',
519
+ 'prepare_context.title.dry_run': 'AI prepare-context dry-run',
520
+ 'prepare_context.title.write_plan': 'AI prepare-context write plan',
521
+ 'prepare_context.uncertainty_markers': 'Uncertainty markers: TODO | Assumption | Pending confirmation',
522
+ 'prepare_context.writes_docs_only': 'Writes: docs-only',
523
+ 'prepare_context.writes_none': 'Writes: none',
524
+ 'prepare_context.written_docs': 'Written docs: {docs}',
525
+ 'prepare_context_planner.allowed_docs_only_paths': 'Allowed docs-only paths:',
526
+ 'prepare_context_planner.candidate_docs': 'Candidate docs: {docs}',
527
+ 'prepare_context_planner.enabled': 'Planner: enabled',
528
+ 'prepare_context_planner.interactive_requested': 'Interactive requested: {value}',
529
+ 'prepare_context_planner.next_safe_commands': 'Next safe commands:',
530
+ 'prepare_context_planner.provider_execution_skipped': 'Provider execution: skipped',
531
+ 'prepare_context_planner.review_requested': 'Review requested: {value}',
532
+ 'prepare_context_planner.title.dry_run': 'AI prepare-context planner dry-run',
533
+ 'dashboard.active_slice': 'Active slice',
534
+ 'dashboard.agents': 'Agents',
535
+ 'dashboard.all_specs': 'all specs',
536
+ 'dashboard.approvals': 'Approvals',
537
+ 'dashboard.approved': 'approved',
538
+ 'dashboard.blockers': 'Blockers',
539
+ 'dashboard.cannot_combine_details_section': 'dashboard --details cannot be combined with --section <name>',
540
+ 'dashboard.completed_hidden': 'Completed hidden',
541
+ 'dashboard.configured': 'configured',
542
+ 'dashboard.counts': 'Counts',
543
+ 'dashboard.dashboard_overview': 'Dashboard Overview',
544
+ 'dashboard.error.spec_not_found': 'Spec "{spec}" was not found in specs/ or specs-fix/.',
545
+ 'dashboard.filter': 'Filter',
546
+ 'dashboard.global': 'Global',
547
+ 'dashboard.global_progress': 'Global progress',
548
+ 'dashboard.inspect': 'Inspect',
549
+ 'dashboard.layout': 'Layout',
550
+ 'dashboard.limit.invalid': 'invalid value for --limit: expected an integer from 1 to 100',
551
+ 'dashboard.missing': 'missing',
552
+ 'dashboard.more_run': '+ {count} more. Run: {command}',
553
+ 'dashboard.next_ready_slice': 'Next ready slice',
554
+ 'dashboard.next_safe_command': 'Next safe command',
555
+ 'dashboard.next_safe_commands': 'Next safe commands',
556
+ 'dashboard.open': 'open',
557
+ 'dashboard.progress': 'Progress',
558
+ 'dashboard.project': 'Project',
559
+ 'dashboard.reconciliation': 'Reconciliation',
560
+ 'dashboard.runs': 'Runs',
561
+ 'dashboard.slices': 'Slices',
562
+ 'dashboard.sources': 'Sources',
563
+ 'dashboard.specs': 'Specs',
564
+ 'dashboard.start': 'Start',
565
+ 'dashboard.state': 'State',
566
+ 'dashboard.state.blocked': 'blocked',
567
+ 'dashboard.state.idle': 'idle',
568
+ 'dashboard.state.ready': 'ready',
569
+ 'dashboard.state.warning': 'warning',
570
+ 'dashboard.title': 'Quiver Dashboard',
571
+ 'dashboard.unsupported_section': 'unsupported dashboard section: {section}. Supported sections: {sections}',
572
+ 'dashboard.visible': 'Visible',
573
+ 'dashboard.visible_count': 'visible',
574
+ 'dashboard.visible_progress': 'Visible progress',
575
+ 'dashboard.warning.no_specs_found': 'No specs were found in specs/ or specs-fix/.',
576
+ 'dashboard.warning.no_visible_slices': 'No visible slices were found with the current filters.',
577
+ 'dashboard.warning.no_visible_slices_for_spec': 'No visible slices were found for spec "{spec}" with the current filters.',
578
+ 'dashboard.warnings': 'Warnings',
579
+ 'dashboard.json_human_flags': 'dashboard --json cannot be combined with human-only flags: --details, --section, --limit',
580
+ 'execute_slice.allowed_files': 'Allowed files:',
581
+ 'execute_slice.changed_files': 'Changed files: {count}',
582
+ 'execute_slice.command': 'Command: {command}',
583
+ 'execute_slice.commit_after_validation': 'Commit after validation: {value}',
584
+ 'execute_slice.commit_created': 'Commit: created {hash}',
585
+ 'execute_slice.commit_message': 'Commit message: {message}',
586
+ 'execute_slice.commit_status': 'Commit: {value}',
587
+ 'execute_slice.context_pack': 'Context pack: {context}',
588
+ 'execute_slice.disabled': 'disabled',
589
+ 'execute_slice.enabled': 'enabled',
590
+ 'execute_slice.execution_brief': 'Execution brief: {path}',
591
+ 'execute_slice.failed': 'failed',
592
+ 'execute_slice.model': 'Model: {model}',
593
+ 'execute_slice.model_support': 'Model support: {status} ({reason})',
594
+ 'execute_slice.not_created': 'not created',
595
+ 'execute_slice.passed': 'passed',
596
+ 'execute_slice.prompt_length': 'Prompt length: {bytes} bytes',
597
+ 'execute_slice.prompt.select_executor': 'Which Executor do you want to use?',
598
+ 'execute_slice.prompt.select_slice': 'Which slice do you want to execute?',
599
+ 'execute_slice.prompt_transport': 'Prompt transport: {mode}',
600
+ 'execute_slice.progress.commit_done': 'Slice commit created',
601
+ 'execute_slice.progress.commit_failed': 'Slice commit failed',
602
+ 'execute_slice.progress.creating_commit': 'Creating slice commit...',
603
+ 'execute_slice.progress.preparing_prompt': 'Preparing prompt',
604
+ 'execute_slice.progress.reading_slice': 'Reading slice',
605
+ 'execute_slice.progress.running_validations': 'Running validations...',
606
+ 'execute_slice.progress.title': 'Executing slice with {profile}',
607
+ 'execute_slice.progress.validating_worktree': 'Validating worktree',
608
+ 'execute_slice.progress.validations_done': 'Validations completed',
609
+ 'execute_slice.progress.validations_failed': 'Validations failed',
610
+ 'execute_slice.provider': 'Provider: {provider}',
611
+ 'execute_slice.role': 'Role: {role}',
612
+ 'execute_slice.scope_validation': 'Scope validation: {value}',
613
+ 'execute_slice.skipped': 'skipped',
614
+ 'execute_slice.slice': 'Slice: {slice}',
615
+ 'execute_slice.spec': 'Spec: {spec}',
616
+ 'execute_slice.supported': 'supported',
617
+ 'execute_slice.timeout': 'Timeout: {timeout}ms',
618
+ 'execute_slice.title.completed': 'AI execute-slice completed',
619
+ 'execute_slice.title.dry_run': 'AI execute-slice dry-run',
620
+ 'execute_slice.unsupported': 'unsupported',
621
+ 'execute_slice.validation_commands': 'Validation commands:',
622
+ 'execute_slice.validation_passed': 'Validation commands: passed ({count})',
623
+ 'execute_slice.validation_skipped': 'Validation commands: skipped (none declared)',
624
+ 'execute_plan.commit_after_each_slice': 'Commit after each slice: {value}',
625
+ 'execute_plan.disabled': 'disabled',
626
+ 'execute_plan.enabled': 'enabled',
627
+ 'execute_plan.execute': 'Execute',
628
+ 'execute_plan.execution_mode': 'Execution mode: {mode}',
629
+ 'execute_plan.fallback': 'Fallback: {reason}',
630
+ 'execute_plan.group': 'Group: {mode}',
631
+ 'execute_plan.model': 'Model: {model}',
632
+ 'execute_plan.progress.mode': 'Mode: {mode}',
633
+ 'execute_plan.progress.plan_loaded': 'Plan loaded: {count} slice(s)',
634
+ 'execute_plan.progress.running_wave': 'Running wave {index}: {refs}',
635
+ 'execute_plan.progress.title': 'Executing slice plan with {profile}',
636
+ 'execute_plan.progress.wave_completed': 'Wave {index} completed',
637
+ 'execute_plan.progress.wave_failed': 'Wave {index} failed',
638
+ 'execute_plan.prompt': 'Prompt',
639
+ 'execute_plan.provider': 'Provider: {provider}',
640
+ 'execute_plan.slices_executed': 'Slices executed: {count}',
641
+ 'execute_plan.title.completed': 'AI execute-plan completed',
642
+ 'execute_plan.title.dry_run': 'AI execute-plan dry-run',
643
+ 'execute_plan.total_slices': 'Total slices: {count}',
644
+ 'execute_plan.wave': 'Wave {index}: {mode}',
645
+ 'execute_plan.waves': 'Waves',
646
+ 'execute_plan.workspace_strategy': 'Workspace strategy: {strategy}',
647
+ 'handoff.accepted_headings': 'Accepted headings/aliases:',
648
+ 'handoff.error.missing_file': 'missing {subject} file: {path}',
649
+ 'handoff.error.missing_sections': '{subject} is missing required sections: {sections}',
650
+ 'handoff.label.closure-brief': 'Closure brief',
651
+ 'handoff.label.execution-brief': 'Execution brief',
652
+ 'handoff.label.handoff': 'Handoff',
653
+ 'handoff.minimal_template': 'Minimal template:',
654
+ 'handoff.scaffolded': 'PASS: Handoff scaffolded at {path}',
655
+ 'handoff.subject.closure-brief': 'closure brief',
656
+ 'handoff.subject.execution-brief': 'execution brief',
657
+ 'handoff.subject.handoff': 'handoff',
658
+ 'handoff.validated': 'PASS: {subject} validated at {path}',
659
+ 'lifecycle.active_slice.replaced': 'WARN: Replacing existing docs/ai/ACTIVE_SLICE.md.',
660
+ 'lifecycle.active_slice.wrote': 'Wrote docs/ai/ACTIVE_SLICE.md',
661
+ 'lifecycle.base_ref.fetch_failed': "origin exists but could not update '{base}'. Check connectivity or create the local branch '{base}' before running start-slice.",
662
+ 'lifecycle.base_ref.missing': "base '{base}' was not found as a local branch or as remote ref '{remoteRef}'. Create the local base branch or configure origin before running start-slice.",
663
+ 'lifecycle.cleanup.baseline.close_hint': 'INFO: Use --close-baseline only after the first spec wave is stable or merged.',
664
+ 'lifecycle.cleanup.baseline.info': "INFO: '{slice}' is a baseline. The worktree stays frozen by default.",
665
+ 'lifecycle.cleanup.dry_run.branch': 'DRY RUN: git branch {flag} {branch}',
666
+ 'lifecycle.cleanup.dry_run.slice': 'DRY RUN: slice={slice} branch={branch}',
667
+ 'lifecycle.cleanup.dry_run.worktree': 'DRY RUN: git worktree remove {force}{path}',
668
+ 'lifecycle.cleanup.error.branch': 'normal cleanup must run from develop. Current branch: {branch}',
669
+ 'lifecycle.cleanup.error.develop_stale': 'local develop is not up to date. Run git pull --ff-only before cleanup.',
670
+ 'lifecycle.cleanup.error.dirty': 'the current checkout is not clean. Clean it before cleanup.',
671
+ 'lifecycle.cleanup.error.missing': "no worktree or local branch exists for '{slice}'.",
672
+ 'lifecycle.cleanup.error.unmerged': "branch '{branch}' is not merged into origin/develop. Use --discard if the slice is intentionally discarded.",
673
+ 'lifecycle.cleanup.finished': "PASS: Cleanup completed for '{slice}'.",
674
+ 'lifecycle.cleanup.removed_active_slice': 'PASS: ACTIVE_SLICE.md removed',
675
+ 'lifecycle.cleanup.removed_branch': 'PASS: Local branch removed: {branch}',
676
+ 'lifecycle.cleanup.removed_worktree': 'PASS: Worktree removed: {path}',
677
+ 'lifecycle.label.alias': 'Alias: {value}',
678
+ 'lifecycle.label.base': 'Base: {value}',
679
+ 'lifecycle.label.branch': 'Branch: {value}',
680
+ 'lifecycle.label.branch_type': 'Branch type: {value}',
681
+ 'lifecycle.label.context': 'Context: {value}',
682
+ 'lifecycle.label.slice': 'Slice: {value}',
683
+ 'lifecycle.label.slug': 'Slug: {value}',
684
+ 'lifecycle.label.spec': 'Spec: {value}',
685
+ 'lifecycle.label.ticket': 'Ticket: {value}',
686
+ 'lifecycle.label.worktree': 'Worktree: {value}',
687
+ 'lifecycle.start.error.blocked': 'the slice is blocked (status=blocked). Resolve the blocker before starting.',
688
+ 'lifecycle.start.error.cancelled': 'the slice is cancelled (status=cancelled).',
689
+ 'lifecycle.start.error.draft': "the slice is in status 'draft'. Mark it as 'ready' or use --allow-draft for an intentional bootstrap.",
690
+ 'lifecycle.start.existing_worktree': 'The branch already has an associated worktree.',
691
+ 'lifecycle.start.ready': 'Slice ready to work.',
692
+ 'lifecycle.start.warn.completed': 'WARN: the slice already appears as completed. If you really need to rerun it, change status to in_progress.',
693
+ 'lifecycle.start.warn.draft': 'WARN: intentional bootstrap for a draft slice.',
694
+ 'readiness.base.recovery': "Base '{base}' was not found as a local branch or as '{remoteRef}'. For structural validation use --local; for validation against another base use --base <branch>; or configure/fetch remote '{remote}'.",
695
+ 'readiness.documented.local.pass': 'PASS: The slice already exists in local {branch} (no-remote mode).',
696
+ 'readiness.documented.missing.error': 'the slice does not exist in {ref}. Merge the documentation base PR first or use --local for local-only structural validation.',
697
+ 'readiness.documented.missing_validation.warn': 'WARN: The slice does not exist yet in {ref}. The documentation base PR is still pending merge. You can open the slice PR if the human merges in order.',
698
+ 'readiness.documented.remote.pass': 'PASS: The slice already exists in {ref} (documentation base PR merged).',
699
+ 'readiness.gate.execution.error.blocked': 'The slice is blocked (status=blocked). Resolve the blocker before executing.',
700
+ 'readiness.gate.execution.error.cancelled': 'The slice is cancelled (status=cancelled).',
701
+ 'readiness.gate.execution.pass': 'PASS: Gate execution: metadata and minimum preconditions OK.',
702
+ 'readiness.gate.execution.warn.completed': 'WARN: The slice already appears as completed. Review whether it really should be re-executed.',
703
+ 'readiness.gate.execution.warn.draft': "WARN: The slice is in status 'draft'. Consider marking it as 'ready' before executing.",
704
+ 'readiness.gate.ready.error_status': 'Gate ready: slice.json must be status=ready. Current status: {status}. Complete the Track 1 specification before execution.',
705
+ 'readiness.gate.ready.pass': 'PASS: Gate ready: the slice is marked ready for execution.',
706
+ 'readiness.gate.validation.error_actual_hours': 'For gate validation, slice.json must have actual_hours > 0.',
707
+ 'readiness.gate.validation.error_completed_at': 'For gate validation, slice.json must have completed_at.',
708
+ 'readiness.gate.validation.error_started_at': 'For gate validation, slice.json must have started_at.',
709
+ 'readiness.gate.validation.error_status': 'For gate validation, slice.json must be status=completed.',
710
+ 'readiness.gate.validation.pass': 'PASS: Gate validation: slice marked completed with minimum traceability.',
711
+ 'readiness.local.briefs.pass': 'PASS: Local slice has EXECUTION_BRIEF.md and CLOSURE_BRIEF.md.',
712
+ 'readiness.local.files.error.empty': 'slice.json must declare at least one file in files for local validation.',
713
+ 'readiness.local.files.error.invalid': 'slice.json.files contains invalid entries.',
714
+ 'readiness.local.files.pass': 'PASS: slice.json declares scope files.',
715
+ 'readiness.local.git.pass': 'PASS: slice.json declares git metadata compatible with start-slice.',
716
+ 'readiness.local.paths.pass': 'PASS: slice.json declares safe project-relative paths.',
717
+ 'readiness.local.skip_base': 'INFO: Local mode: skipping slice existence validation in {remoteRef} or {base}.',
718
+ 'readiness.local.skip_overlap': 'INFO: Local mode: skipping active-worktree overlap validation based on remote/base branch.',
719
+ 'readiness.local.summary.executed': 'INFO: Local mode: checks run: spec docs, briefs, git metadata, declared scope, safe paths, dependencies, and gate.',
720
+ 'readiness.local.summary.skipped': 'INFO: Local mode: checks skipped: remote/local base existence and active-worktree overlap.',
721
+ 'readiness.overlap.none.pass': 'PASS: No overlap detected with active worktrees.',
722
+ 'readiness.overlap.warn': "WARN: Overlap with active worktree '{branch}': {files}",
723
+ 'readiness.overlap.warning': "Overlap with active worktree '{branch}': {files}",
724
+ 'readiness.pr.branch.pass': 'PASS: Current branch matches the slice branch declaration.',
725
+ 'readiness.pr.case.pass': 'PASS: At least one documented use case.',
726
+ 'readiness.pr.clean.pass': 'PASS: Worktree is clean.',
727
+ 'readiness.pr.commits.pass': 'PASS: Branch has own commits against origin/develop.',
728
+ 'readiness.pr.error.absorbed': 'The branch was already absorbed by origin/develop. This gate applies before merge.',
729
+ 'readiness.pr.error.dirty': 'The worktree is not clean. Close the implementation before opening the PR.',
730
+ 'readiness.pr.error.missing_branch': 'Missing git.branch_name in the slice.',
731
+ 'readiness.pr.error.missing_pr': 'Missing pr.md next to the slice.',
732
+ 'readiness.pr.error.missing_section': "Missing required section '{heading}' in pr.md.",
733
+ 'readiness.pr.error.missing_subsection': "Missing subsection '{subheading}' inside How to Test.",
734
+ 'readiness.pr.error.no_case': 'How to Test must include at least one documented use case (#### Case 1: ...).',
735
+ 'readiness.pr.error.no_commits': 'The branch has no own commits against origin/develop.',
736
+ 'readiness.pr.error.rollback': 'Rollback must include at least one git revert command.',
737
+ 'readiness.pr.error.wrong_branch': 'Run this check from the slice branch. Current: {actual} Expected: {expected}',
738
+ 'readiness.pr.how_to_test.pass': 'PASS: How to Test includes environment, worktree access, startup, use cases, and technical verification.',
739
+ 'readiness.pr.ready.pass': "PASS: Gate PR ready for '{slice}'.",
740
+ 'readiness.pr.rollback.pass': 'PASS: Rollback includes git revert command.',
741
+ 'readiness.pr.sections.pass': 'PASS: pr.md contains required sections.',
742
+ 'readiness.scope.base.info': 'INFO: check-scope base: {ref} ({source}).',
743
+ 'readiness.scope.base.warn': 'WARN: No base found for check-scope. Tried: {branches}. Use --base <branch> or configure git.base_branch in slice.json.',
744
+ 'readiness.scope.empty.warn': 'WARN: No modified files found against {ref}.',
745
+ 'readiness.scope.error.count': '{count} file(s) outside declared scope. Update slice.json.files or revert out-of-scope changes.',
746
+ 'readiness.scope.error.file': 'Out-of-scope file: {file}',
747
+ 'readiness.scope.pass': 'PASS: All touched files are inside the scope declared in slice.json.',
748
+ 'readiness.scope.warn.count': 'WARN: {count} file(s) outside declared scope. Consider updating slice.json.files or reverting unexpected changes.',
749
+ 'readiness.scope.warn.file': 'WARN: Out-of-scope file: {file}',
750
+ 'readiness.spec_docs.pass': 'PASS: Local spec has SPEC.md, STATUS.md, and EVIDENCE_REPORT.md.',
751
+ 'readiness.warn': 'WARN: {message}',
752
+ 'spec_create.confirm_create': 'Create spec "{slug}"?',
753
+ 'spec_create.input.approved_plan_hint': 'Reviewed and approved technical plan',
754
+ 'spec_create.label.files_written': 'Files written: {count}',
755
+ 'spec_create.label.input_file': 'Input file: {path}',
756
+ 'spec_create.label.planned_files': 'Planned files: {count}',
757
+ 'spec_create.label.slug': 'Spec slug: {slug}',
758
+ 'spec_create.label.target': 'Target: {path}',
759
+ 'spec_create.label.title': 'Title: {title}',
760
+ 'spec_create.methodology.wdd_sdd.hint': 'Workflow Driven Development + Spec Driven Development',
761
+ 'spec_create.next_safe_commands': 'Next safe commands:',
762
+ 'spec_create.no_files_written_dry_run': 'No files will be written in dry-run mode.',
763
+ 'spec_create.prompt.input': 'Which approved plan should be used?',
764
+ 'spec_create.prompt.methodology': 'Which methodology applies to this spec?',
765
+ 'spec_create.prompt.review': 'How do you want to review before writing?',
766
+ 'spec_create.review.direct.hint': 'Shows a summary and asks for final approval',
767
+ 'spec_create.review.direct.label': 'Create after confirming',
768
+ 'spec_create.review.editor.hint': 'Uses $VISUAL or $EDITOR before writing',
769
+ 'spec_create.review.editor.label': 'Open review preview',
770
+ 'spec_create.review_requested.dry_run': 'Review requested: yes (dry-run preview only; no editor opened and no files written).',
771
+ 'spec_create.summary.input': 'Input',
772
+ 'spec_create.summary.methodology': 'Methodology',
773
+ 'spec_create.summary.planned_files': 'Planned files',
774
+ 'spec_create.summary.review': 'Review',
775
+ 'spec_create.summary.review_direct': 'direct confirmation',
776
+ 'spec_create.summary.review_editor': 'open preview',
777
+ 'spec_create.summary.spec': 'Spec',
778
+ 'spec_create.summary.target': 'Target',
779
+ 'spec_create.summary.technical_plan': 'Technical plan',
780
+ 'spec_create.summary.title': 'Spec create',
781
+ 'spec_create.title.created': 'Quiver spec created',
782
+ 'spec_create.title.dry_run': 'Quiver spec create dry-run',
783
+ 'spec_close.base': 'Base: {base}',
784
+ 'spec_close.branch': 'Branch: {branch}',
785
+ 'spec_close.discard': 'Discard: {value}',
786
+ 'spec_close.pulled_main_checkout': 'Pulled main checkout: {value}',
787
+ 'spec_close.removed_worktree': 'Removed worktree: {value}',
788
+ 'spec_close.spec': 'Spec: {path}',
789
+ 'spec_close.title.closed': 'Spec worktree closed',
790
+ 'spec_close.title.dry_run': 'Spec close dry-run',
791
+ 'spec_close.worktree': 'Worktree: {path}',
792
+ 'spec_close.would_pull': 'Would pull: {command}',
793
+ 'spec_close.would_remove_worktree': 'Would remove worktree: {path}',
794
+ 'spec_start.base': 'Base: {base}',
795
+ 'spec_start.branch': 'Branch: {branch}',
796
+ 'spec_start.reused': 'Reused: {value}',
797
+ 'spec_start.title.dry_run': 'Spec worktree start dry-run',
798
+ 'spec_start.title.ready': 'Spec worktree ready',
799
+ 'spec_start.worktree': 'Worktree: {path}',
800
+ 'spec_start.would_create_worktree': 'Would create worktree: {path}',
801
+ 'spec_status.branch': 'Branch: {branch}',
802
+ 'spec_status.later_slices_blocked': 'Later slices blocked: {value}',
803
+ 'spec_status.pending_slices': 'Pending slices:',
804
+ 'spec_status.spec': 'Spec: {path}',
805
+ 'spec_status.title': 'Spec worktree status',
806
+ 'spec_status.worktree': 'Worktree: {path}',
807
+ 'spec_status.worktree_dirty': 'Worktree dirty: {value}',
808
+ 'spec_status.worktree_missing_stale': 'Worktree missing/stale: {value}',
809
+ 'spec_status.worktree_note_unregistered': 'Worktree note: expected path exists but is not registered in git worktree list.',
810
+ 'spec_status.worktree_registered': 'Worktree registered: {value}',
811
+ 'spec_validate.checked_files': 'Checked files:',
812
+ 'spec_validate.errors': 'Errors:',
813
+ 'spec_validate.result.fail': 'FAIL: spec validation failed.',
814
+ 'spec_validate.result.pass': 'PASS: spec validation passed.',
815
+ 'spec_validate.slices': 'Slices: {count}',
816
+ 'spec_validate.spec': 'Spec: {path}',
817
+ 'spec_validate.strict': 'Strict: {value}',
818
+ 'spec_validate.title': 'Quiver spec validation',
819
+ 'spec_validate.warnings': 'Warnings:',
820
+ 'status.blocked': 'blocked',
821
+ 'status.cancelled': 'cancelled',
822
+ 'status.active': 'active',
823
+ 'status.approved': 'approved',
824
+ 'status.closed': 'closed',
825
+ 'status.completed': 'completed',
826
+ 'status.done': 'done',
827
+ 'status.draft': 'draft',
828
+ 'status.empty': 'empty',
829
+ 'status.in_progress': 'in progress',
830
+ 'status.missing': 'missing',
831
+ 'status.open': 'open',
832
+ 'status.planned': 'planned',
833
+ 'status.ready': 'ready',
834
+ 'status.reviewed': 'reviewed',
835
+ 'status.skipped': 'skipped',
836
+ 'status.stale': 'stale',
837
+ 'status.unapproved': 'unapproved',
838
+ 'version.label.cli': 'Quiver CLI',
839
+ 'version.label.node': 'Node',
840
+ 'version.label.os': 'OS',
841
+ 'version.label.package_manager': 'Package manager',
842
+ 'version.label.project': 'Project',
843
+ 'version.project.quiver': 'Quiver project',
844
+ 'error.command.help': 'Run: npx create-quiver --help',
845
+ 'error.command.init_hint': 'If you meant to initialize a project, use: npx create-quiver init --name "{commandName}"',
846
+ 'error.command.unsupported': 'unsupported command: {commandName}',
847
+ 'error.command.update_hint': 'If this command exists in newer docs, update create-quiver and rerun the command.',
848
+ 'error.flag.invalid_value': 'invalid value for {flag}',
849
+ 'error.flag.missing_value': 'missing value for {flag}',
850
+ 'error.flag.unknown': 'unknown flag: {flag}',
851
+ 'warning.language.unsupported_source': 'unsupported language "{language}" from {source}; falling back to {fallback}. Supported languages: {supported}.',
852
+ },
853
+ };