create-quiver 0.15.4 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/.github/pull_request_template.md +17 -0
  2. package/.github/workflows/ci.yml +76 -0
  3. package/.markdown-link-check.json +15 -0
  4. package/.markdownlint.json +11 -0
  5. package/ARCHITECTURE.md +133 -0
  6. package/CHANGELOG.md +16 -0
  7. package/CONTRIBUTING.md +174 -9
  8. package/README.md +17 -2
  9. package/README_FOR_AI.md +4 -1
  10. package/ROADMAP.md +4 -0
  11. package/SECURITY.md +9 -2
  12. package/docs/AI_CONTEXT.md.es.template +3 -1
  13. package/docs/AI_CONTEXT.md.template +3 -1
  14. package/docs/CLI_UX_GUIDE.md +20 -1
  15. package/docs/COMMANDS.md.template +20 -6
  16. package/docs/GITFLOW_PR_GUIDE.md +73 -11
  17. package/docs/GITFLOW_PR_GUIDE.md.es.template +61 -2
  18. package/docs/GITFLOW_PR_GUIDE.md.template +72 -10
  19. package/docs/INDEX.md +6 -1
  20. package/docs/QUICK.md.template +2 -1
  21. package/docs/STANDARD.md.template +2 -1
  22. package/docs/WORKFLOW.md.es.template +3 -1
  23. package/docs/WORKFLOW.md.template +6 -4
  24. package/docs/getting-started/installation.md +7 -0
  25. package/docs/reference/commands.md +138 -6
  26. package/docs/reference/slice-schema.md +37 -0
  27. package/docs/schema/slice.schema.json +221 -0
  28. package/docs/specs/01-spec/01-slice/01-slice.json +36 -0
  29. package/docs/specs/01-spec/01-slice/01-slice.md +106 -0
  30. package/docs/specs/01-spec/01-slice/CLOSURE_BRIEF.md +80 -0
  31. package/docs/specs/01-spec/01-slice/EXECUTION_BRIEF.md +39 -0
  32. package/docs/specs/01-spec/02-slice/02-slice.json +36 -0
  33. package/docs/specs/01-spec/02-slice/02-slice.md +108 -0
  34. package/docs/specs/01-spec/02-slice/CLOSURE_BRIEF.md +88 -0
  35. package/docs/specs/01-spec/02-slice/EXECUTION_BRIEF.md +40 -0
  36. package/docs/specs/01-spec/03-slice/03-slice.json +36 -0
  37. package/docs/specs/01-spec/03-slice/03-slice.md +103 -0
  38. package/docs/specs/01-spec/03-slice/CLOSURE_BRIEF.md +54 -0
  39. package/docs/specs/01-spec/03-slice/EXECUTION_BRIEF.md +39 -0
  40. package/docs/specs/01-spec/04-slice/04-slice.json +36 -0
  41. package/docs/specs/01-spec/04-slice/04-slice.md +107 -0
  42. package/docs/specs/01-spec/04-slice/CLOSURE_BRIEF.md +46 -0
  43. package/docs/specs/01-spec/04-slice/EXECUTION_BRIEF.md +39 -0
  44. package/docs/specs/01-spec/05-slice/05-slice.json +36 -0
  45. package/docs/specs/01-spec/05-slice/05-slice.md +106 -0
  46. package/docs/specs/01-spec/05-slice/CLOSURE_BRIEF.md +84 -0
  47. package/docs/specs/01-spec/05-slice/EXECUTION_BRIEF.md +109 -0
  48. package/docs/specs/01-spec/06-slice/06-slice.json +36 -0
  49. package/docs/specs/01-spec/06-slice/06-slice.md +107 -0
  50. package/docs/specs/01-spec/06-slice/CLOSURE_BRIEF.md +67 -0
  51. package/docs/specs/01-spec/06-slice/EXECUTION_BRIEF.md +39 -0
  52. package/docs/specs/01-spec/07-slice/07-slice.json +36 -0
  53. package/docs/specs/01-spec/07-slice/07-slice.md +105 -0
  54. package/docs/specs/01-spec/07-slice/CLOSURE_BRIEF.md +71 -0
  55. package/docs/specs/01-spec/07-slice/EXECUTION_BRIEF.md +39 -0
  56. package/docs/specs/01-spec/08-slice/08-slice.json +36 -0
  57. package/docs/specs/01-spec/08-slice/08-slice.md +105 -0
  58. package/docs/specs/01-spec/08-slice/CLOSURE_BRIEF.md +114 -0
  59. package/docs/specs/01-spec/08-slice/EXECUTION_BRIEF.md +39 -0
  60. package/docs/specs/01-spec/CLOSURE_BRIEF.md +87 -0
  61. package/docs/specs/01-spec/spec.md +197 -0
  62. package/docs/workflows/full-ai-spec-to-pr.md +46 -3
  63. package/i18n/es/docs/GITFLOW_PR_GUIDE.md.template +38 -1
  64. package/package.json +27 -1
  65. package/scripts/package-quiver.sh +82 -2
  66. package/scripts/release-quiver.sh +14 -3
  67. package/specs/[project-name]/slices/pr.md.template +19 -0
  68. package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +122 -1
  69. package/specs/quiver-v46-deep-project-analysis/EVIDENCE_REPORT.md +94 -0
  70. package/specs/quiver-v46-deep-project-analysis/EXECUTION_PLAN.md +26 -0
  71. package/specs/quiver-v46-deep-project-analysis/SPEC.md +157 -0
  72. package/specs/quiver-v46-deep-project-analysis/STATUS.md +26 -0
  73. package/specs/quiver-v46-deep-project-analysis/pr.md +131 -0
  74. package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/CLOSURE_BRIEF.md +14 -0
  75. package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/EXECUTION_BRIEF.md +41 -0
  76. package/specs/quiver-v46-deep-project-analysis/slices/slice-00-analysis-contract-foundation/slice.json +61 -0
  77. package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/CLOSURE_BRIEF.md +22 -0
  78. package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/EXECUTION_BRIEF.md +33 -0
  79. package/specs/quiver-v46-deep-project-analysis/slices/slice-01-stack-agnostic-discovery-sampling/slice.json +80 -0
  80. package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/CLOSURE_BRIEF.md +21 -0
  81. package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/EXECUTION_BRIEF.md +34 -0
  82. package/specs/quiver-v46-deep-project-analysis/slices/slice-02-provider-analysis-json-contract/slice.json +79 -0
  83. package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/CLOSURE_BRIEF.md +19 -0
  84. package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/EXECUTION_BRIEF.md +33 -0
  85. package/specs/quiver-v46-deep-project-analysis/slices/slice-03-doc-proposal-review-safe-writes/slice.json +79 -0
  86. package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/CLOSURE_BRIEF.md +20 -0
  87. package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/EXECUTION_BRIEF.md +32 -0
  88. package/specs/quiver-v46-deep-project-analysis/slices/slice-04-validation-docs-release-readiness/slice.json +85 -0
  89. package/specs/quiver-v50-audit-trust-foundation/EVIDENCE_REPORT.md +151 -0
  90. package/specs/quiver-v50-audit-trust-foundation/EXECUTION_PLAN.md +34 -0
  91. package/specs/quiver-v50-audit-trust-foundation/SPEC.md +113 -0
  92. package/specs/quiver-v50-audit-trust-foundation/STATUS.md +26 -0
  93. package/specs/quiver-v50-audit-trust-foundation/pr.md +120 -0
  94. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/CLOSURE_BRIEF.md +20 -0
  95. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/EXECUTION_BRIEF.md +58 -0
  96. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/slice.json +57 -0
  97. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/CLOSURE_BRIEF.md +24 -0
  98. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/EXECUTION_BRIEF.md +67 -0
  99. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/slice.json +71 -0
  100. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/CLOSURE_BRIEF.md +24 -0
  101. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/EXECUTION_BRIEF.md +71 -0
  102. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/slice.json +81 -0
  103. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/CLOSURE_BRIEF.md +22 -0
  104. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/EXECUTION_BRIEF.md +57 -0
  105. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/slice.json +56 -0
  106. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/CLOSURE_BRIEF.md +23 -0
  107. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/EXECUTION_BRIEF.md +68 -0
  108. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/slice.json +84 -0
  109. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/CLOSURE_BRIEF.md +25 -0
  110. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/EXECUTION_BRIEF.md +73 -0
  111. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/slice.json +72 -0
  112. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/CLOSURE_BRIEF.md +22 -0
  113. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/EXECUTION_BRIEF.md +66 -0
  114. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/slice.json +74 -0
  115. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/CLOSURE_BRIEF.md +29 -0
  116. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/EXECUTION_BRIEF.md +74 -0
  117. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/slice.json +81 -0
  118. package/specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md +145 -0
  119. package/specs/quiver-v51-cli-ergonomics-automation-contracts/EXECUTION_PLAN.md +32 -0
  120. package/specs/quiver-v51-cli-ergonomics-automation-contracts/SPEC.md +109 -0
  121. package/specs/quiver-v51-cli-ergonomics-automation-contracts/STATUS.md +25 -0
  122. package/specs/quiver-v51-cli-ergonomics-automation-contracts/pr.md +69 -0
  123. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/CLOSURE_BRIEF.md +20 -0
  124. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/EXECUTION_BRIEF.md +58 -0
  125. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json +56 -0
  126. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/CLOSURE_BRIEF.md +21 -0
  127. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/EXECUTION_BRIEF.md +61 -0
  128. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/slice.json +68 -0
  129. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/CLOSURE_BRIEF.md +25 -0
  130. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/EXECUTION_BRIEF.md +65 -0
  131. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/pr.md +134 -0
  132. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/slice.json +80 -0
  133. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/CLOSURE_BRIEF.md +31 -0
  134. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/EXECUTION_BRIEF.md +80 -0
  135. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/pr.md +159 -0
  136. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/slice.json +102 -0
  137. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/CLOSURE_BRIEF.md +25 -0
  138. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/EXECUTION_BRIEF.md +74 -0
  139. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/pr.md +147 -0
  140. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/slice.json +91 -0
  141. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/CLOSURE_BRIEF.md +28 -0
  142. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/EXECUTION_BRIEF.md +73 -0
  143. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/pr.md +146 -0
  144. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/slice.json +100 -0
  145. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/CLOSURE_BRIEF.md +36 -0
  146. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md +76 -0
  147. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/pr.md +155 -0
  148. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json +111 -0
  149. package/specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md +95 -0
  150. package/specs/quiver-v52-schema-docs-release-hygiene/EXECUTION_PLAN.md +31 -0
  151. package/specs/quiver-v52-schema-docs-release-hygiene/SPEC.md +107 -0
  152. package/specs/quiver-v52-schema-docs-release-hygiene/STATUS.md +22 -0
  153. package/specs/quiver-v52-schema-docs-release-hygiene/pr.md +69 -0
  154. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/CLOSURE_BRIEF.md +21 -0
  155. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/EXECUTION_BRIEF.md +60 -0
  156. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/slice.json +62 -0
  157. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md +34 -0
  158. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/EXECUTION_BRIEF.md +71 -0
  159. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md +146 -0
  160. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json +106 -0
  161. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/CLOSURE_BRIEF.md +33 -0
  162. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/EXECUTION_BRIEF.md +67 -0
  163. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/pr.md +144 -0
  164. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json +86 -0
  165. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/CLOSURE_BRIEF.md +38 -0
  166. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/EXECUTION_BRIEF.md +75 -0
  167. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/pr.md +159 -0
  168. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/slice.json +105 -0
  169. package/src/create-quiver/commands/ai.js +521 -0
  170. package/src/create-quiver/commands/changelog.js +93 -0
  171. package/src/create-quiver/commands/config.js +16 -5
  172. package/src/create-quiver/commands/evidence.js +33 -2
  173. package/src/create-quiver/commands/flow.js +1 -0
  174. package/src/create-quiver/commands/graph.js +8 -2
  175. package/src/create-quiver/commands/plan.js +6 -0
  176. package/src/create-quiver/commands/spec.js +28 -13
  177. package/src/create-quiver/index.js +408 -98
  178. package/src/create-quiver/lib/ai/analyze-project-discovery.js +387 -0
  179. package/src/create-quiver/lib/ai/analyze-project-docs.js +364 -0
  180. package/src/create-quiver/lib/ai/analyze-project-parser.js +277 -0
  181. package/src/create-quiver/lib/ai/analyze-project-prompts.js +214 -0
  182. package/src/create-quiver/lib/ai/analyze-project-review.js +99 -0
  183. package/src/create-quiver/lib/ai/analyze-project-sampling.js +402 -0
  184. package/src/create-quiver/lib/ai/analyze-project-schema.js +92 -0
  185. package/src/create-quiver/lib/ai/analyze-project-validation.js +309 -0
  186. package/src/create-quiver/lib/ai/artifacts.js +4 -1
  187. package/src/create-quiver/lib/ai/github.js +5 -2
  188. package/src/create-quiver/lib/ai/spec-templates.js +19 -0
  189. package/src/create-quiver/lib/cli/command-registry.js +72 -0
  190. package/src/create-quiver/lib/cli/parser.js +14 -0
  191. package/src/create-quiver/lib/evidence.js +161 -6
  192. package/src/create-quiver/lib/git.js +99 -0
  193. package/src/create-quiver/lib/i18n/messages/en.js +52 -7
  194. package/src/create-quiver/lib/i18n/messages/es.js +54 -9
  195. package/src/create-quiver/lib/init-docs.js +1 -1
  196. package/src/create-quiver/lib/init-layout.js +9 -8
  197. package/src/create-quiver/lib/lifecycle.js +24 -26
  198. package/src/create-quiver/lib/readiness.js +67 -56
  199. package/src/create-quiver/lib/spec-worktrees.js +16 -34
@@ -38,7 +38,7 @@
38
38
  "version-json": {
39
39
  "modes": {
40
40
  "en_human": "not_applicable",
41
- "es_human": "not_applicable",
41
+ "es_human": "accepted_exception",
42
42
  "json": "pass",
43
43
  "dry_run": "not_applicable",
44
44
  "interactive": "not_applicable",
@@ -148,6 +148,21 @@
148
148
  "tests/commands/flow.test.js"
149
149
  ]
150
150
  },
151
+ "flow-json": {
152
+ "modes": {
153
+ "en_human": "not_applicable",
154
+ "es_human": "not_applicable",
155
+ "json": "pass",
156
+ "dry_run": "not_applicable",
157
+ "interactive": "not_supported",
158
+ "review": "not_supported",
159
+ "ci_no_tty": "pass",
160
+ "no_color": "not_applicable"
161
+ },
162
+ "evidence": [
163
+ "tests/commands/flow.test.js"
164
+ ]
165
+ },
151
166
  "doctor-json": {
152
167
  "modes": {
153
168
  "en_human": "not_applicable",
@@ -194,6 +209,89 @@
194
209
  "tests/commands/dashboard.test.js"
195
210
  ]
196
211
  },
212
+ "evidence-run": {
213
+ "modes": {
214
+ "en_human": "pass",
215
+ "es_human": "pass",
216
+ "json": "not_supported",
217
+ "dry_run": "not_applicable",
218
+ "interactive": "not_supported",
219
+ "review": "not_supported",
220
+ "ci_no_tty": "pass",
221
+ "no_color": "pass"
222
+ },
223
+ "evidence": [
224
+ "tests/commands/evidence.test.js",
225
+ "tests/lib/evidence.test.js"
226
+ ]
227
+ },
228
+ "evidence-json": {
229
+ "modes": {
230
+ "en_human": "not_applicable",
231
+ "es_human": "not_applicable",
232
+ "json": "pass",
233
+ "dry_run": "not_applicable",
234
+ "interactive": "not_supported",
235
+ "review": "not_supported",
236
+ "ci_no_tty": "pass",
237
+ "no_color": "not_applicable"
238
+ },
239
+ "evidence": [
240
+ "tests/commands/evidence.test.js",
241
+ "tests/lib/evidence.test.js"
242
+ ]
243
+ },
244
+ "slice-namespace": {
245
+ "modes": {
246
+ "en_human": "pass",
247
+ "es_human": "pass",
248
+ "json": "not_supported",
249
+ "dry_run": "not_applicable",
250
+ "interactive": "not_supported",
251
+ "review": "not_supported",
252
+ "ci_no_tty": "pass",
253
+ "no_color": "pass"
254
+ },
255
+ "evidence": [
256
+ "tests/commands/slice-namespace.test.js",
257
+ "tests/commands/parser-contract.test.js"
258
+ ]
259
+ },
260
+ "handoff-namespace": {
261
+ "modes": {
262
+ "en_human": "pass",
263
+ "es_human": "pass",
264
+ "json": "not_supported",
265
+ "dry_run": "not_applicable",
266
+ "interactive": "not_supported",
267
+ "review": "not_supported",
268
+ "ci_no_tty": "pass",
269
+ "no_color": "pass"
270
+ },
271
+ "evidence": [
272
+ "tests/commands/handoff-namespace.test.js",
273
+ "tests/commands/parser-contract.test.js"
274
+ ]
275
+ },
276
+ "ai-analyze-project": {
277
+ "modes": {
278
+ "en_human": "pass",
279
+ "es_human": "accepted_exception",
280
+ "json": "pass",
281
+ "dry_run": "pass",
282
+ "interactive": "not_supported",
283
+ "review": "pass",
284
+ "ci_no_tty": "pass",
285
+ "no_color": "pass",
286
+ "live_provider": "accepted_exception"
287
+ },
288
+ "evidence": [
289
+ "tests/commands/ai-analyze-project.test.js",
290
+ "tests/commands/ai-analyze-project-provider.test.js",
291
+ "tests/commands/ai-analyze-project-review.test.js",
292
+ "tests/lib/ai-analyze-project-validation.test.js"
293
+ ]
294
+ },
197
295
  "ai-prepare-context": {
198
296
  "modes": {
199
297
  "en_human": "pass",
@@ -471,6 +569,13 @@
471
569
  "reason": "`ai pr --create` has external GitHub side effects; preflight, body handling, and create command construction are covered locally.",
472
570
  "follow_up": "Use real `gh pr create` during PR opening with the documented SSH identity.",
473
571
  "status": "accepted"
572
+ },
573
+ {
574
+ "id": "ai-analyze-project-human-i18n",
575
+ "owner": "release-readiness",
576
+ "reason": "`ai analyze-project` currently has English human output while JSON output remains stable; the v46 release prioritizes safety, privacy, review, validation, and machine-readable contracts.",
577
+ "follow_up": "Localize `ai analyze-project` human report strings in a dedicated CLI i18n slice.",
578
+ "status": "accepted"
474
579
  }
475
580
  ],
476
581
  "commands": [
@@ -486,14 +591,24 @@
486
591
  { "command": "init --interactive", "profile": "init-interactive", "critical": "pass" },
487
592
  { "command": "migrate --dry-run", "profile": "migrate", "critical": "pass" },
488
593
  { "command": "migrate", "profile": "migrate", "critical": "pass" },
594
+ { "command": "migrate --yes", "profile": "migrate", "critical": "pass" },
489
595
  { "command": "analyze", "profile": "read-only-human", "critical": "pass" },
490
596
  { "command": "doctor", "profile": "read-only-human", "critical": "pass" },
491
597
  { "command": "doctor --json", "profile": "doctor-json", "critical": "pass" },
492
598
  { "command": "flow", "profile": "read-only-human", "critical": "pass" },
599
+ { "command": "flow --json", "profile": "flow-json", "critical": "pass" },
493
600
  { "command": "dashboard", "profile": "dashboard-human", "critical": "pass" },
494
601
  { "command": "dashboard --details", "profile": "dashboard-human", "critical": "pass" },
495
602
  { "command": "dashboard --section <name>", "profile": "dashboard-human", "critical": "pass" },
496
603
  { "command": "dashboard --limit <n>", "profile": "dashboard-human", "critical": "pass" },
604
+ { "command": "evidence run -- <command>", "profile": "evidence-run", "critical": "pass" },
605
+ { "command": "evidence run --output .quiver/evidence/test.md -- <command>", "profile": "evidence-run", "critical": "pass" },
606
+ { "command": "evidence list --json", "profile": "evidence-json", "critical": "pass" },
607
+ { "command": "evidence show .quiver/evidence/test.md --json", "profile": "evidence-json", "critical": "pass" },
608
+ { "command": "ai analyze-project --deep --dry-run", "profile": "ai-analyze-project", "critical": "pass" },
609
+ { "command": "ai analyze-project --deep --dry-run --json", "profile": "ai-analyze-project", "critical": "pass" },
610
+ { "command": "ai analyze-project --deep --review", "profile": "ai-analyze-project", "critical": "pass" },
611
+ { "command": "ai analyze-project --scope apps/web --max-files 80 --max-bytes 300000 --include-tests --dry-run", "profile": "ai-analyze-project", "critical": "pass" },
497
612
  { "command": "ai prepare-context --dry-run", "profile": "ai-prepare-context", "critical": "pass" },
498
613
  { "command": "ai prepare-context", "profile": "ai-prepare-context", "critical": "pass" },
499
614
  { "command": "ai prepare-context --with-planner --dry-run", "profile": "ai-prepare-context-planner", "critical": "pass" },
@@ -528,6 +643,12 @@
528
643
  { "command": "spec create --interactive", "profile": "spec-create", "critical": "pass" },
529
644
  { "command": "spec validate specs/<spec> --strict", "profile": "spec-workflow", "critical": "pass" },
530
645
  { "command": "spec start specs/<spec>", "profile": "spec-workflow", "critical": "pass" },
646
+ { "command": "slice start specs/<spec>/slices/<slice>/slice.json", "profile": "slice-namespace", "critical": "pass" },
647
+ { "command": "slice check --local specs/<spec>/slices/<slice>/slice.json", "profile": "slice-namespace", "critical": "pass" },
648
+ { "command": "slice pr specs/<spec>/slices/<slice>/slice.json", "profile": "slice-namespace", "critical": "pass" },
649
+ { "command": "slice scope specs/<spec>/slices/<slice>/slice.json", "profile": "slice-namespace", "critical": "pass" },
650
+ { "command": "handoff check specs/<spec>/slices/<slice>/EXECUTION_BRIEF.md", "profile": "handoff-namespace", "critical": "pass" },
651
+ { "command": "handoff new <spec-slug>", "profile": "handoff-namespace", "critical": "pass" },
531
652
  { "command": "plan --spec <spec>", "profile": "plan-graph-next", "critical": "pass" },
532
653
  { "command": "dashboard --spec <spec>", "profile": "dashboard-human", "critical": "pass" },
533
654
  { "command": "dashboard --section slices --spec <spec>", "profile": "dashboard-human", "critical": "pass" },
@@ -0,0 +1,94 @@
1
+ # Evidence Report - Quiver v46 Deep Project Analysis
2
+
3
+ ## Current Evidence
4
+
5
+ - Spec package created from approved acceptance criteria and production review.
6
+ - `slice-00-analysis-contract-foundation` completed as documentation-only foundation.
7
+ - `slice-01-stack-agnostic-discovery-sampling` completed.
8
+ - `ai analyze-project` now supports read-only discovery/sampling with human and JSON output and no provider execution or writes.
9
+ - `slice-02-provider-analysis-json-contract` completed.
10
+ - `ai analyze-project` live mode now runs a provider only after privacy preflight, validates JSON against schema, enforces evidence/confidence rules, redacts provider artifacts, and writes no docs.
11
+ - `slice-03-doc-proposal-review-safe-writes` completed.
12
+ - `ai analyze-project --review` now opens a validated editable proposal, shows final diffs, requires confirmation, writes only approved docs, preserves human content with managed blocks, and creates `.quiver/runs` snapshots/manifests/redacted artifacts before writing.
13
+ - `slice-04-validation-docs-release-readiness` completed.
14
+ - `ai analyze-project --review` now runs post-write validation for schema/evidence/placeholders/managed-blocks/snapshot manifests/doc conflicts, with `--strict` elevating deterministic doc conflicts to errors.
15
+ - Public docs, fixture coverage, i18n command matrix, and package ignore rules were updated. `.quiver/` is excluded from npm packaging so local AI run state cannot enter the tarball.
16
+
17
+ ## Captured Slice-01 Evidence
18
+
19
+ ```bash
20
+ node --test tests/lib/ai-analyze-project-discovery.test.js tests/commands/ai-analyze-project.test.js tests/commands/cli-contract.test.js
21
+ # pass: 20 tests
22
+
23
+ node --test
24
+ # pass: 618 tests
25
+
26
+ node bin/create-quiver.js ai analyze-project --dry-run
27
+ # pass: reports read-only mode, selected/omitted files, budgets, and safety exclusions
28
+
29
+ node bin/create-quiver.js ai analyze-project --dry-run --json
30
+ # pass: emits parseable JSON with kind quiver-project-analysis-plan
31
+
32
+ node bin/create-quiver.js spec validate specs/quiver-v46-deep-project-analysis --strict
33
+ # pass: spec validation passed
34
+
35
+ git diff --check
36
+ # pass
37
+ ```
38
+
39
+ ## Captured Slice-02 Evidence
40
+
41
+ ```bash
42
+ node --test tests/commands/ai-analyze-project-provider.test.js tests/lib/ai-analyze-project-parser.test.js tests/lib/ai-analyze-project-schema.test.js
43
+ # pass: 12 tests
44
+
45
+ node --test
46
+ # pass: 630 tests
47
+
48
+ node bin/create-quiver.js spec validate specs/quiver-v46-deep-project-analysis --strict
49
+ # pass: spec validation passed
50
+
51
+ git diff --check
52
+ # pass
53
+ ```
54
+
55
+ ## Captured Slice-03 Evidence
56
+
57
+ ```bash
58
+ node --test tests/lib/ai-analyze-project-docs.test.js tests/commands/ai-analyze-project-review.test.js tests/commands/ai-analyze-project-provider.test.js tests/lib/ai-analyze-project-parser.test.js tests/lib/ai-analyze-project-schema.test.js
59
+ # pass: 20 tests
60
+
61
+ node --test
62
+ # pass: 638 tests
63
+ ```
64
+
65
+ ## Required Final Evidence
66
+
67
+ - None.
68
+
69
+ ## Captured Slice-04 Evidence
70
+
71
+ ```bash
72
+ node --test tests/docs/command-reference.test.js tests/commands/cli-contract.test.js tests/commands/i18n-audit-matrix.test.js tests/commands/parser-contract.test.js
73
+ # pass: 22 tests
74
+
75
+ node --test tests/commands/cli-contract.test.js tests/commands/i18n-audit-matrix.test.js tests/lib/ai-analyze-project-validation.test.js tests/lib/ai-analyze-project-discovery.test.js tests/commands/ai-analyze-project-review.test.js tests/commands/ai-analyze-project-provider.test.js tests/lib/ai-analyze-project-parser.test.js tests/lib/ai-analyze-project-schema.test.js
76
+ # pass: 41 tests
77
+
78
+ node --test
79
+ # pass: 686 tests
80
+
81
+ npm run smoke:create-quiver
82
+ # pass: create-quiver smoke test passed
83
+
84
+ npm run package:quiver
85
+ # initial fail: .quiver/runs local state entered tarball
86
+ # fixed by excluding .quiver in .npmignore
87
+ # pass: Package smoke passed: create-quiver-0.16.0.tgz
88
+
89
+ node bin/create-quiver.js spec validate specs/quiver-v46-deep-project-analysis --strict
90
+ # pass: spec validation passed
91
+
92
+ git diff --check
93
+ # pass
94
+ ```
@@ -0,0 +1,26 @@
1
+ # Execution Plan - Quiver v46 Deep Project Analysis
2
+
3
+ ## Order
4
+
5
+ 1. `slice-00-analysis-contract-foundation`
6
+ 2. `slice-01-stack-agnostic-discovery-sampling`
7
+ 3. `slice-02-provider-analysis-json-contract`
8
+ 4. `slice-03-doc-proposal-review-safe-writes`
9
+ 5. `slice-04-validation-docs-release-readiness`
10
+
11
+ ## Dependency Rules
12
+
13
+ - Do not implement provider execution before deterministic discovery and privacy preflight exist.
14
+ - Do not implement writes before schema validation and evidence validation exist.
15
+ - Do not document public usage as stable until dry-run, safety, write, and validation tests exist.
16
+
17
+ ## Validation Gates
18
+
19
+ - Each slice must pass its own listed checks.
20
+ - Every JSON slice file must parse.
21
+ - `node bin/create-quiver.js spec validate specs/quiver-v46-deep-project-analysis --strict` should pass before closing the spec.
22
+
23
+ ## Rollback
24
+
25
+ - Runtime changes should be reverted by slice-specific commits.
26
+ - Generated doc writes from the final feature must be recoverable from `.quiver/runs/run-.../snapshots/...` and manifest hashes.
@@ -0,0 +1,157 @@
1
+ # Quiver v46 - Deep Project Analysis
2
+
3
+ **Date:** 2026-06-10
4
+ **Status:** Planned
5
+ **Source:** User-approved acceptance criteria and production review for generic AI-assisted project analysis.
6
+
7
+ ## Problem
8
+
9
+ Quiver can initialize documentation and generate a deterministic project map, but it does not yet provide a production-safe way to infer a project's real product context, domain model, architecture, features, and risks from source code evidence. Existing `analyze` output is intentionally technical and conservative. Existing `ai prepare-context --with-planner` primarily works from documentation and the project map, so projects with boilerplate docs or stale package names can keep placeholder context.
10
+
11
+ Users need an explicit command that can inspect representative source, docs, and configuration across stacks, produce evidence-backed conclusions, and update context documentation only after review.
12
+
13
+ ## Objective
14
+
15
+ Add a safe, generic, stack-agnostic `ai analyze-project` workflow that transforms an existing repository into an operational AI context by discovering product/domain/architecture signals from evidence, validating AI output, and updating docs only through reviewable, auditable writes.
16
+
17
+ The default behavior must be read-only. Sending context to a provider and writing files must be explicit, privacy-checked, and reviewable.
18
+
19
+ ## Scope
20
+
21
+ ### Included
22
+
23
+ - New `npx create-quiver ai analyze-project` command.
24
+ - Read-only default and `--dry-run` behavior with no filesystem writes and no provider execution.
25
+ - Flags:
26
+ - `--deep`
27
+ - `--dry-run`
28
+ - `--review`
29
+ - `--json`
30
+ - `--strict`
31
+ - `--max-files <n>`
32
+ - `--max-bytes <n>`
33
+ - `--include-source`
34
+ - `--include-tests`
35
+ - `--include-db`
36
+ - `--scope <path-or-workspace>`
37
+ - `--input <requirements.md>`
38
+ - Stack-agnostic source discovery with optional adapter hooks.
39
+ - Semantic sampling with budgets, exclusions, symlink policy, and selected/omitted reporting.
40
+ - Provider prompt and schema for evidence-backed JSON analysis.
41
+ - Confidence model for claims:
42
+ - `confirmed`
43
+ - `inferred`
44
+ - `unknown`
45
+ - `conflict`
46
+ - Privacy preflight before provider execution.
47
+ - Content-based secret detection and redaction/blocking.
48
+ - Review workflow with editable proposal, schema revalidation, final diff, and explicit confirmation.
49
+ - Safe writes only to approved docs paths and `.quiver/runs`.
50
+ - Snapshots, manifests, hashes, raw/redacted provider artifacts, and restore guidance.
51
+ - Post-write validation for schema, placeholders, doc conflicts, and strict mode.
52
+ - Public docs, command reference, tests, fixtures, and release readiness evidence.
53
+
54
+ ### Excluded
55
+
56
+ - Implementing product features in analyzed projects.
57
+ - Modifying application source code in target projects.
58
+ - Sending entire repositories to providers.
59
+ - Full AST indexing for every language.
60
+ - Guaranteeing perfect domain understanding from insufficient evidence.
61
+ - Editing `docs/PROJECT_MAP.md` with free-form AI inference. `PROJECT_MAP.md` remains deterministic; any AI-generated insights must live in managed blocks or other docs.
62
+ - Following symlinks outside the repository.
63
+ - Persisting unredacted secrets in `.quiver/runs`.
64
+
65
+ ## Approved Acceptance Criteria
66
+
67
+ 1. `npx create-quiver ai analyze-project` exists and is read-only by default.
68
+ 2. `--dry-run` never writes files, never runs a provider, and shows stack, roots, selected files, omitted files, budgets, safety exclusions, and next commands.
69
+ 3. Provider execution requires an explicit non-dry-run mode and a privacy preflight that lists files/snippets to be sent.
70
+ 4. Writes require `--review` plus explicit confirmation, or an equivalent explicit write mode added by implementation with the same safety guarantees.
71
+ 5. Discovery works with known and unknown stacks using generic signals for frontend, APIs, services, models, schemas, tests, DB/migrations, and configs.
72
+ 6. Sampling respects `--max-files`, `--max-bytes`, `--include-source`, `--include-tests`, `--include-db`, and `--scope`.
73
+ 7. Secrets are excluded by path and scanned by content before provider execution and before artifact persistence.
74
+ 8. Symlinks are not followed by default; followed symlinks must resolve inside the repo.
75
+ 9. Monorepos and workspaces report analyzed roots and support scope selection.
76
+ 10. The provider response is valid JSON against a schema before any write.
77
+ 11. Every meaningful claim includes confidence and validated evidence paths.
78
+ 12. Claims based on truncated files cannot be marked `confirmed`.
79
+ 13. Conflicts are reported and not hidden.
80
+ 14. `doc_updates` can only target approved Markdown docs and must respect size/path limits.
81
+ 15. `docs/PROJECT_MAP.md` stays deterministic; AI updates are constrained to managed blocks or other approved docs.
82
+ 16. Review opens an editable proposal, revalidates the edited JSON, shows a final diff, and allows approve/cancel.
83
+ 17. Canceling review leaves the repository unchanged.
84
+ 18. Every write creates `.quiver/runs/run-...` snapshots, manifest, before/after hashes, and redacted provider artifacts.
85
+ 19. Post-write validation checks schema, placeholders, deterministic-doc conflicts, evidence paths, and strict-mode warnings/errors.
86
+ 20. `--json` only changes output formatting and never implies provider execution or writes.
87
+ 21. Non-TTY behavior never opens an editor or waits indefinitely; unsupported interactive modes fail with actionable guidance.
88
+ 22. Tests cover dry-run no-write, privacy preflight, secret redaction, invalid JSON no-write, review cancel no-write, safe write snapshots, monorepo scope, symlinks, truncation, unknown stack, and JSON cleanliness.
89
+
90
+ ## Approved Technical Plan
91
+
92
+ 1. Add `ai analyze-project` parser support, help text, and read-only default behavior.
93
+ 2. Build a deterministic analysis plan that reports selected roots, files, omissions, budgets, safety exclusions, and provider/write next steps.
94
+ 3. Implement stack-agnostic discovery and sampling modules with adapter contracts and generic fallback.
95
+ 4. Add privacy and content safety preflight before provider execution.
96
+ 5. Create the provider prompt and JSON schema for project analysis.
97
+ 6. Parse and validate provider JSON, normalize evidence, validate paths, and enforce confidence rules.
98
+ 7. Convert validated analysis into doc update proposals for approved paths.
99
+ 8. Implement review/edit/final-diff/confirm flow and safe writes with snapshots.
100
+ 9. Add post-write validation, restore guidance, public docs, tests, fixtures, and release evidence.
101
+
102
+ ## Slice Roadmap
103
+
104
+ | Slice | Title | Status | Dependencies |
105
+ |---|---|---|---|
106
+ | slice-00 | Analysis contract foundation | completed | none |
107
+ | slice-01 | Stack-agnostic discovery and sampling | planned | slice-00 |
108
+ | slice-02 | Provider analysis JSON contract | planned | slice-01 |
109
+ | slice-03 | Doc proposal review and safe writes | planned | slice-02 |
110
+ | slice-04 | Validation, docs, fixtures, and release readiness | planned | slice-03 |
111
+
112
+ ## Validation Strategy
113
+
114
+ ```bash
115
+ node --test tests/**/*.test.js
116
+ npm run smoke:create-quiver
117
+ npm run package:quiver
118
+ node bin/create-quiver.js ai analyze-project --dry-run
119
+ node bin/create-quiver.js ai analyze-project --dry-run --json
120
+ node bin/create-quiver.js spec validate specs/quiver-v46-deep-project-analysis --strict
121
+ git diff --check
122
+ ```
123
+
124
+ ## Production Guardrails
125
+
126
+ - Default command must be read-only.
127
+ - Provider execution must be explicitly gated by privacy preflight.
128
+ - Writes must be explicitly gated by review or a future equivalent explicit write mode.
129
+ - Evidence paths must be validated against existing sampled files.
130
+ - `.quiver/runs` artifacts must be redacted and ignored from git.
131
+ - `PROJECT_MAP.md` remains deterministic.
132
+ - Monorepo analysis must identify scope to avoid mixing unrelated apps/packages.
133
+ - Missing product evidence must produce questions and `unknown`/`needs_confirmation`, not polished guesses.
134
+
135
+ ## Risks
136
+
137
+ - Secret leakage if content scanning misses hardcoded credentials.
138
+ - False confidence if evidence validation is weak.
139
+ - Poor product summaries if the selected sample is too small or skewed.
140
+ - Monorepo scope mistakes can blend domains.
141
+ - Review UX can be confusing if JSON editing and final diff are not clear.
142
+ - Snapshot restore can be unreliable without hashes and manifest discipline.
143
+
144
+ ## Resolved Decisions
145
+
146
+ - `ai analyze-project` is separate from `ai prepare-context`.
147
+ - Dry-run/read-only is the safe default.
148
+ - Provider execution and writes are distinct gates.
149
+ - AI output is schema-first JSON, not Markdown free-form.
150
+ - `docs/PROJECT_MAP.md` stays deterministic.
151
+ - Docs are updated through managed proposals and review.
152
+
153
+ ## Open Questions
154
+
155
+ - Whether a future non-interactive write mode should be named `--write`, `--yes`, or use an explicit proposal input file.
156
+ - Whether restore should be implemented in this spec as a command or documented as manifest-guided manual recovery.
157
+ - Which stack adapters ship first beyond the generic fallback.
@@ -0,0 +1,26 @@
1
+ # Quiver v46 - Deep Project Analysis Status
2
+
3
+ **Status:** Completed
4
+ **Last updated:** 2026-06-10
5
+
6
+ ## Progress
7
+
8
+ | Slice | Status | Notes |
9
+ |---|---|---|
10
+ | slice-00-analysis-contract-foundation | completed | Spec package and handoffs created. |
11
+ | slice-01-stack-agnostic-discovery-sampling | completed | Read-only command shell, deterministic discovery, sampling, safety exclusions, JSON/human output, and tests implemented. |
12
+ | slice-02-provider-analysis-json-contract | completed | Provider-backed analysis JSON contract, prompt, privacy preflight, evidence validation, confidence downgrade rules, redaction, and no-write failure paths implemented. |
13
+ | slice-03-doc-proposal-review-safe-writes | completed | Review/edit/final-diff flow, managed docs blocks, safe snapshots, manifests, dirty-doc reporting, cancellation/no-TTY handling, and tests implemented. |
14
+ | slice-04-validation-docs-release-readiness | completed | Post-write validation, public docs, fixture matrix, release smoke/package evidence, command reference updates, and package ignore hardening implemented. |
15
+
16
+ ## Current Blockers
17
+
18
+ - None.
19
+
20
+ ## Production Review Additions
21
+
22
+ - Default read-only behavior is mandatory.
23
+ - Privacy preflight is mandatory before provider execution.
24
+ - Evidence validation is mandatory before writing docs.
25
+ - Monorepo and symlink behavior must be explicit.
26
+ - Snapshots must be restorable or include clear restore guidance.
@@ -0,0 +1,131 @@
1
+ # Quiver v46 - Deep Project Analysis
2
+
3
+ ## Title
4
+
5
+ Implement production-safe `ai analyze-project`
6
+
7
+ ## Summary
8
+
9
+ This PR adds a new `ai analyze-project` workflow that can inspect an existing repository, build a bounded evidence sample, run optional provider-backed analysis, and turn validated results into reviewed documentation updates.
10
+
11
+ The safe default is read-only: `--dry-run` reports what Quiver would read, why each file was selected or omitted, the applied budgets, and security exclusions without calling a provider or writing files.
12
+
13
+ ## Scope
14
+
15
+ - Adds `ai analyze-project` CLI routing, help text, analysis flags, human output, and JSON output.
16
+ - Adds stack-agnostic discovery and semantic sampling for source, tests, DB/schema, configs, docs, monorepos, unknown stacks, symlinks, binaries, secrets, caches, dependencies, and build outputs.
17
+ - Adds provider-backed JSON analysis with schema validation, evidence validation, confidence levels, truncation downgrade rules, prompt redaction, and no-write failure paths.
18
+ - Adds review/edit/final-diff/confirm flow for approved documentation updates only.
19
+ - Adds safe writes with managed blocks, snapshots, manifests, before/after hashes, restore hints, and redacted raw artifacts.
20
+ - Adds post-write validation for schema, evidence paths, placeholders, managed blocks, snapshot manifests, and deterministic doc conflicts with `--strict`.
21
+ - Updates README, command reference, CLI UX guide, AI guidance, fixture matrix, i18n command matrix, and package ignore rules.
22
+
23
+ ## Files
24
+
25
+ - `src/create-quiver/commands/ai.js`
26
+ - `src/create-quiver/index.js`
27
+ - `src/create-quiver/lib/ai/analyze-project-*.js`
28
+ - `tests/commands/ai-analyze-project*.test.js`
29
+ - `tests/lib/ai-analyze-project*.test.js`
30
+ - `tests/fixtures/ai-analyze-project/matrix.json`
31
+ - `docs/reference/commands.md`
32
+ - `docs/CLI_UX_GUIDE.md`
33
+ - `README.md`
34
+ - `README_FOR_AI.md`
35
+ - `.npmignore`
36
+ - `specs/quiver-v46-deep-project-analysis/**`
37
+
38
+ ## How to Test (DETAILED - REQUIRED)
39
+
40
+ ### Required Environment
41
+
42
+ - Node.js and npm available.
43
+ - GitHub CLI available for PR creation.
44
+ - Authenticated `gh` session.
45
+ - SSH host alias: `github-personal`.
46
+ - Identity file: `~/ssh/github-personal`.
47
+
48
+ ### Worktree Access
49
+
50
+ From the repository root:
51
+
52
+ ```bash
53
+ git status --short --branch
54
+ git remote -v
55
+ ```
56
+
57
+ Expected remote shape:
58
+
59
+ ```text
60
+ origin git@github-personal:FabriJuncal/quiver.git
61
+ ```
62
+
63
+ ### Run the Project
64
+
65
+ No dev server is required. This is a CLI feature.
66
+
67
+ ### Use Cases
68
+
69
+ 1. Preview analysis without writes:
70
+
71
+ ```bash
72
+ node bin/create-quiver.js ai analyze-project --deep --dry-run
73
+ node bin/create-quiver.js ai analyze-project --deep --dry-run --json
74
+ ```
75
+
76
+ 2. Run provider-backed analysis in tests through fake providers:
77
+
78
+ ```bash
79
+ node --test tests/commands/ai-analyze-project-provider.test.js
80
+ ```
81
+
82
+ 3. Validate review and safe-write behavior:
83
+
84
+ ```bash
85
+ node --test tests/commands/ai-analyze-project-review.test.js tests/lib/ai-analyze-project-validation.test.js
86
+ ```
87
+
88
+ ### Technical Verification
89
+
90
+ Commands run:
91
+
92
+ ```bash
93
+ node --test tests/docs/command-reference.test.js tests/commands/cli-contract.test.js tests/commands/i18n-audit-matrix.test.js tests/commands/parser-contract.test.js
94
+ # pass: 22 tests
95
+
96
+ node --test tests/commands/cli-contract.test.js tests/commands/i18n-audit-matrix.test.js tests/lib/ai-analyze-project-validation.test.js tests/lib/ai-analyze-project-discovery.test.js tests/commands/ai-analyze-project-review.test.js tests/commands/ai-analyze-project-provider.test.js tests/lib/ai-analyze-project-parser.test.js tests/lib/ai-analyze-project-schema.test.js
97
+ # pass: 41 tests
98
+
99
+ node --test
100
+ # pass: 686 tests
101
+
102
+ npm run smoke:create-quiver
103
+ # pass: create-quiver smoke test passed
104
+
105
+ npm run package:quiver
106
+ # pass: Package smoke passed: create-quiver-0.16.0.tgz
107
+
108
+ node bin/create-quiver.js spec validate specs/quiver-v46-deep-project-analysis --strict
109
+ # pass: spec validation passed
110
+
111
+ git diff --check
112
+ # pass
113
+ ```
114
+
115
+ ## Evidence
116
+
117
+ - `specs/quiver-v46-deep-project-analysis/EVIDENCE_REPORT.md`
118
+ - `specs/quiver-v46-deep-project-analysis/STATUS.md`
119
+ - `specs/quiver-v46-deep-project-analysis/slices/*/CLOSURE_BRIEF.md`
120
+ - `tests/fixtures/ai-analyze-project/matrix.json`
121
+
122
+ ## Rollback
123
+
124
+ Revert the PR commit. The feature is additive and isolated behind the new `ai analyze-project` command path. Runtime doc writes created by the command include snapshots and restore hints under `.quiver/runs/<run-id>/snapshots/`.
125
+
126
+ ## Risks / Notes
127
+
128
+ - `ai analyze-project` human output is currently English-only; JSON output is stable. This is recorded as an accepted i18n follow-up in the v43 command matrix.
129
+ - Stack-specific adapters such as Rails, Django, Laravel, NestJS, Spring, and mobile are deferred. Generic heuristics remain the fallback and keep the same schema.
130
+ - `--dry-run` intentionally never writes and never executes provider CLIs.
131
+ - `.quiver/` is excluded from npm packaging to avoid publishing local AI run state.
@@ -0,0 +1,14 @@
1
+ # CLOSURE_BRIEF - slice-00 Analysis contract foundation
2
+
3
+ ## Summary
4
+
5
+ Spec package and slice handoffs created from approved acceptance criteria, technical plan, and production review. Runtime implementation intentionally not started.
6
+
7
+ ## Validation
8
+
9
+ - [ ] `node -e "const fs=require('fs'); for (const f of fs.globSync('specs/quiver-v46-deep-project-analysis/slices/*/slice.json')) JSON.parse(fs.readFileSync(f,'utf8')); console.log('slice json ok')"`
10
+ - [ ] `git diff --check`
11
+
12
+ ## Follow-Up
13
+
14
+ - Start `slice-01-stack-agnostic-discovery-sampling` only when implementation is explicitly requested.
@@ -0,0 +1,41 @@
1
+ # EXECUTION_BRIEF - slice-00 Analysis contract foundation
2
+
3
+ ## Context
4
+
5
+ The user approved acceptance criteria and a production review for a new deep project analysis workflow. This slice creates the documented contract only.
6
+
7
+ ## Objective
8
+
9
+ Create the v46 spec package and all slice handoffs without implementing runtime code.
10
+
11
+ ## Scope
12
+
13
+ ### Included
14
+
15
+ - `SPEC.md`
16
+ - `STATUS.md`
17
+ - `EXECUTION_PLAN.md`
18
+ - `EVIDENCE_REPORT.md`
19
+ - `pr.md`
20
+ - `slice.json`, `EXECUTION_BRIEF.md`, and `CLOSURE_BRIEF.md` for each planned slice.
21
+
22
+ ### Excluded
23
+
24
+ - CLI parser changes.
25
+ - Source discovery implementation.
26
+ - Provider execution.
27
+ - Safe write implementation.
28
+ - Tests beyond structural validation.
29
+
30
+ ## Acceptance Criteria
31
+
32
+ - Spec package exists under `specs/quiver-v46-deep-project-analysis`.
33
+ - Every slice directory includes `slice.json`, `EXECUTION_BRIEF.md`, and `CLOSURE_BRIEF.md`.
34
+ - Runtime implementation is explicitly marked as not started.
35
+ - Source code implementation files are not modified.
36
+
37
+ ## Completion Checklist
38
+
39
+ - [x] Spec package created.
40
+ - [x] Slice handoffs created.
41
+ - [x] Implementation deferred.