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
@@ -0,0 +1,36 @@
1
+ # CLOSURE_BRIEF - slice-06 namespace compatibility and Windows npm scripts
2
+
3
+ ## Summary
4
+
5
+ Implemented namespace compatibility and portable script hardening for the final v51 slice.
6
+
7
+ - Added canonical `slice` and `handoff` namespace parsing in the CLI while reusing existing command handlers.
8
+ - Preserved legacy top-level aliases with deprecation guidance on stderr only.
9
+ - Kept machine-readable JSON stdout clean by suppressing legacy warnings for `--json`.
10
+ - Added PowerShell-safe root `quiver:*` package scripts and updated generated project scripts to canonical namespaces.
11
+ - Added Windows CI smoke coverage for canonical namespace commands and portable npm script usage.
12
+ - Updated README, contributing guidance, command reference, generated command template, i18n audit matrix, and Spanish help descriptions.
13
+
14
+ ## Validation
15
+
16
+ - [x] `node --test tests/commands/slice-namespace.test.js tests/commands/handoff-namespace.test.js tests/commands/parser-contract.test.js tests/commands/cli-contract.test.js tests/lib/init-layout.test.js tests/commands/i18n-audit-matrix.test.js tests/lib/i18n-catalog.test.js`
17
+ - [x] `npm ci`
18
+ - [x] `node bin/create-quiver.js slice check --local specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json`
19
+ - [x] `node bin/create-quiver.js handoff check specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md`
20
+ - [x] `npm run quiver:check-handoff -- specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md`
21
+ - [x] `npm run docs:check`
22
+ - [x] `git diff --check`
23
+ - [x] `node --test`
24
+
25
+ ## Closure Conditions
26
+
27
+ - [x] Canonical and legacy commands remain compatible.
28
+ - [x] Warnings remain stderr-only.
29
+ - [x] JSON stdout stays clean for automation.
30
+ - [x] Windows PowerShell path is covered by CI smoke configuration.
31
+ - [x] Portable package scripts are available without removing Bash legacy scripts.
32
+ - [x] Lockfile synchronization checked; no package-lock update was required.
33
+
34
+ ## Open Items
35
+
36
+ - Local Windows shell execution was not run on this macOS workspace; CI now performs the Windows PowerShell smoke.
@@ -0,0 +1,76 @@
1
+ # EXECUTION_BRIEF - slice-06 namespace compatibility and Windows npm scripts
2
+
3
+ ## Context
4
+
5
+ Canonical `slice` and `handoff` namespaces exist. This slice protects compatibility and provides a portable path for Windows users.
6
+
7
+ ## Objective
8
+
9
+ Preserve canonical/legacy namespace compatibility and make recommended npm scripts portable.
10
+
11
+ ## Scope
12
+
13
+ - Slice/handoff namespace parity.
14
+ - Legacy alias warnings.
15
+ - JSON stdout cleanliness.
16
+ - Package scripts and docs.
17
+ - Windows `pwsh` validation.
18
+
19
+ ## Acceptance Criteria
20
+
21
+ - Canonical commands and aliases remain behaviorally equivalent.
22
+ - Legacy warnings go only to stderr and are suppressed for JSON where required.
23
+ - Recommended npm/CLI paths work under Windows PowerShell.
24
+ - Bash-only scripts are replaced, wrapped, or clearly documented as legacy.
25
+ - Lockfile is synchronized if package metadata changes.
26
+
27
+ ## Expected Files To Modify
28
+
29
+ - `package.json`
30
+ - `package-lock.json`
31
+ - `src/create-quiver/index.js`
32
+ - `src/create-quiver/commands/slice.js`
33
+ - `src/create-quiver/commands/handoff.js`
34
+ - `tests/commands/slice-namespace.test.js`
35
+ - `tests/commands/handoff-namespace.test.js`
36
+ - `tests/commands/parser-contract.test.js`
37
+ - `.github/workflows/ci.yml`
38
+ - `README.md`
39
+ - `CONTRIBUTING.md`
40
+ - `specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md`
41
+
42
+ ## Validations Required
43
+
44
+ - `node --test tests/commands/slice-namespace.test.js`
45
+ - `node --test tests/commands/handoff-namespace.test.js`
46
+ - `node --test tests/commands/parser-contract.test.js`
47
+ - `npm ci`
48
+ - `node --test`
49
+ - `git diff --check`
50
+
51
+ ## Risks
52
+
53
+ - Breaking legacy users.
54
+ - Marking Bash scripts portable when they are not.
55
+ - Lockfile drift.
56
+
57
+ ## Dependencies
58
+
59
+ - Depends on `slice-00-cli-contract-baseline`.
60
+
61
+ ## Instructions For Executor
62
+
63
+ 1. Treat current namespace behavior as compatibility contract.
64
+ 2. Validate stdout/stderr behavior.
65
+ 3. Provide a Windows PowerShell-supported command path.
66
+ 4. Do not remove aliases.
67
+
68
+ ## Completion Checklist
69
+
70
+ - [ ] Acceptance criteria satisfied.
71
+ - [ ] Required validations run or blockers documented.
72
+ - [ ] Closure brief updated.
73
+
74
+ ## Conditions Of Closure
75
+
76
+ - Namespace compatibility is protected and Windows users have a supported path.
@@ -0,0 +1,155 @@
1
+ # PR - QUIVER-51-06 - Namespace compatibility and Windows npm scripts
2
+
3
+ ## Title
4
+
5
+ QUIVER-51-06 namespace compatibility and Windows npm scripts
6
+
7
+ ## Summary
8
+
9
+ Adds canonical `slice` and `handoff` CLI namespaces while preserving legacy aliases, protects JSON stdout from deprecation warnings, and makes recommended package scripts portable for PowerShell users. Existing Bash scripts remain available as legacy compatibility paths.
10
+
11
+ ## PR Policy
12
+
13
+ - [x] One slice only.
14
+ - [ ] Grouped PR exception: at most 2-3 slices, all docs-only, research-only, or low-risk mechanical cleanup.
15
+ - [x] No behavior changes in a grouped PR.
16
+ - [x] No mixed docs with UI, backend, refactor, or performance work.
17
+ - [x] Separate evidence for this slice is recorded in `EVIDENCE_REPORT.md`.
18
+ - [x] Whole PR is revertible without leaving partial state.
19
+
20
+ Individual PR required classification: functional CLI behavior, package scripts, tests, docs, audit matrix, and CI smoke coverage.
21
+
22
+ ### Merge Policy
23
+
24
+ - [x] Human merge expected.
25
+ - [ ] Assisted auto-merge explicitly authorized for this PR or documented category.
26
+ - [ ] Assisted auto-merge conditions met: docs-only or chore-only, low risk, no runtime changes, no production configuration changes, green checks, and no pending comments.
27
+
28
+ Assisted auto-merge is not requested.
29
+
30
+ ## Scope
31
+
32
+ - Add canonical `slice start|check|pr|scope|cleanup|refresh-active` parser support.
33
+ - Add canonical `handoff check|new` parser support.
34
+ - Preserve legacy top-level aliases including `start-slice`, `check-slice`, `check-pr`, `check-scope`, `cleanup-slice`, `refresh-active-slices`, `check-handoff`, and `new-handoff`.
35
+ - Emit legacy alias guidance to stderr only, and suppress it for `--json`.
36
+ - Add portable root `quiver:*` npm scripts that use the Node CLI entrypoint.
37
+ - Keep existing Bash scripts as legacy compatibility scripts.
38
+ - Update generated project package scripts to use canonical namespaces.
39
+ - Update Windows CI smoke coverage for canonical namespaces and portable package scripts.
40
+ - Update command docs, onboarding docs, generated command template, Spanish help descriptions, and i18n audit matrix coverage.
41
+
42
+ ## Files
43
+
44
+ - `.github/workflows/ci.yml`
45
+ - `CONTRIBUTING.md`
46
+ - `README.md`
47
+ - `docs/COMMANDS.md.template`
48
+ - `docs/reference/commands.md`
49
+ - `package.json`
50
+ - `src/create-quiver/index.js`
51
+ - `src/create-quiver/lib/i18n/messages/es.js`
52
+ - `src/create-quiver/lib/init-layout.js`
53
+ - `tests/commands/cli-contract.test.js`
54
+ - `tests/commands/handoff-namespace.test.js`
55
+ - `tests/commands/parser-contract.test.js`
56
+ - `tests/commands/slice-namespace.test.js`
57
+ - `tests/lib/init-layout.test.js`
58
+ - `specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json`
59
+ - `specs/quiver-v51-cli-ergonomics-automation-contracts/STATUS.md`
60
+ - `specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md`
61
+ - `specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json`
62
+ - `specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/CLOSURE_BRIEF.md`
63
+ - `specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/pr.md`
64
+
65
+ ## How to Test (DETAILED - REQUIRED)
66
+
67
+ ### Required Environment
68
+
69
+ - Node.js supported by the repo.
70
+ - npm.
71
+ - Git.
72
+
73
+ ### Worktree Access
74
+
75
+ ```bash
76
+ cd /Users/fabrijk/Documents/Work/Proyectos\ Personales/nika/frameworks/quiver
77
+ git switch feature/QUIVER-51-06-v51-namespace-windows-scripts
78
+ ```
79
+
80
+ ### Run the Project
81
+
82
+ No runtime server is required. This is CLI behavior, package script, docs, CI configuration, and spec evidence.
83
+
84
+ ### Use Cases
85
+
86
+ #### Case 1: canonical slice namespace
87
+
88
+ 1. Run `node bin/create-quiver.js slice check --local specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json`.
89
+ 2. Inspect stdout and stderr.
90
+
91
+ **Expected result:** command succeeds with the same behavior as the legacy `check-slice` command and no legacy warning appears.
92
+
93
+ #### Case 2: legacy alias warning stays automation-safe
94
+
95
+ 1. Run `node bin/create-quiver.js check-slice --local specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json`.
96
+ 2. Run `node bin/create-quiver.js check-slice --json --local specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json`.
97
+ 3. Parse JSON stdout from the second command.
98
+
99
+ **Expected result:** legacy human command emits deprecation guidance on stderr only; JSON stdout remains parseable and does not include the warning.
100
+
101
+ #### Case 3: canonical handoff namespace and portable npm script
102
+
103
+ 1. Run `node bin/create-quiver.js handoff check specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md`.
104
+ 2. Run `npm run quiver:check-handoff -- specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md`.
105
+
106
+ **Expected result:** both commands succeed using the canonical handoff path without requiring Bash.
107
+
108
+ #### Case 4: unsupported namespace subcommand fails before execution
109
+
110
+ 1. Run `node bin/create-quiver.js slice unknown specs/example/slice.json`.
111
+ 2. Run `node bin/create-quiver.js handoff unknown specs/example/EXECUTION_BRIEF.md`.
112
+
113
+ **Expected result:** both commands fail with parser-level unsupported subcommand errors before command execution.
114
+
115
+ ### Technical Verification
116
+
117
+ ```bash
118
+ node --test tests/commands/slice-namespace.test.js
119
+ node --test tests/commands/handoff-namespace.test.js
120
+ node --test tests/commands/parser-contract.test.js
121
+ node --test tests/commands/slice-namespace.test.js tests/commands/handoff-namespace.test.js tests/commands/parser-contract.test.js tests/commands/cli-contract.test.js tests/lib/init-layout.test.js tests/commands/i18n-audit-matrix.test.js tests/lib/i18n-catalog.test.js
122
+ npm ci
123
+ node bin/create-quiver.js slice check --local specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json
124
+ node bin/create-quiver.js handoff check specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md
125
+ npm run quiver:check-handoff -- specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md
126
+ node --test
127
+ npm run docs:check
128
+ git diff --check
129
+ node bin/create-quiver.js spec validate specs/quiver-v51-cli-ergonomics-automation-contracts
130
+ node bin/create-quiver.js check-slice specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json --local --gate validation
131
+ node bin/create-quiver.js check-scope specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json --base main --strict
132
+ node bin/create-quiver.js check-pr specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json --base main
133
+ ```
134
+
135
+ ## Evidence
136
+
137
+ - `node --test tests/commands/slice-namespace.test.js tests/commands/handoff-namespace.test.js tests/commands/parser-contract.test.js tests/commands/cli-contract.test.js tests/lib/init-layout.test.js tests/commands/i18n-audit-matrix.test.js tests/lib/i18n-catalog.test.js`: passed, 40 tests.
138
+ - `npm ci`: passed; no package-lock update required.
139
+ - `node bin/create-quiver.js slice check --local specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json && node bin/create-quiver.js handoff check specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md && npm run quiver:check-handoff -- specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md`: passed after dependency installation.
140
+ - `npm run docs:check`: passed.
141
+ - `git diff --check`: passed.
142
+ - `node --test`: passed, 646 tests.
143
+
144
+ ## Rollback
145
+
146
+ 1. Revert this slice commit with `git revert <commit-sha>`.
147
+ 2. Run the technical verification commands above.
148
+ 3. Confirm legacy aliases still work and canonical namespace additions, portable script updates, docs, tests, and CI smoke changes are removed.
149
+
150
+ ## Risks / Notes
151
+
152
+ - Legacy aliases intentionally remain available; this PR does not remove or hard-fail legacy command names.
153
+ - Deprecation guidance is intentionally not printed for JSON mode to preserve machine-readable stdout.
154
+ - Local Windows shell execution was not run on this macOS workspace; the Windows PowerShell smoke is configured in CI.
155
+ - Existing Bash scripts are retained as legacy paths, while recommended `quiver:*` scripts use Node CLI entrypoints.
@@ -0,0 +1,111 @@
1
+ {
2
+ "slice_id": "slice-06-namespace-compatibility-windows-scripts",
3
+ "ticket": "QUIVER-51-06",
4
+ "type": "quality",
5
+ "title": "Namespace compatibility and Windows npm scripts",
6
+ "objective": "Preserve canonical/legacy namespace compatibility and make recommended npm scripts portable.",
7
+ "description": "Protects slice/handoff aliases and replaces or documents Bash-only npm scripts so Windows PowerShell users have a supported path.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "v51-namespace-windows-scripts",
12
+ "branch_name": "feature/QUIVER-51-06-v51-namespace-windows-scripts"
13
+ },
14
+ "files": [
15
+ ".github/workflows/ci.yml",
16
+ "CONTRIBUTING.md",
17
+ "README.md",
18
+ "docs/COMMANDS.md.template",
19
+ "docs/reference/commands.md",
20
+ "package.json",
21
+ "src/create-quiver/index.js",
22
+ "src/create-quiver/lib/i18n/messages/es.js",
23
+ "src/create-quiver/lib/init-layout.js",
24
+ "tests/commands/cli-contract.test.js",
25
+ "tests/commands/handoff-namespace.test.js",
26
+ "tests/commands/parser-contract.test.js",
27
+ "tests/commands/slice-namespace.test.js",
28
+ "tests/lib/init-layout.test.js",
29
+ "specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json",
30
+ "specs/quiver-v51-cli-ergonomics-automation-contracts/STATUS.md",
31
+ "specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md",
32
+ "specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/CLOSURE_BRIEF.md",
33
+ "specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json",
34
+ "specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/pr.md"
35
+ ],
36
+ "expected_read_paths": [
37
+ ".github/workflows/ci.yml",
38
+ "CONTRIBUTING.md",
39
+ "README.md",
40
+ "docs/COMMANDS.md.template",
41
+ "docs/reference/commands.md",
42
+ "package.json",
43
+ "src/create-quiver/index.js",
44
+ "src/create-quiver/lib/i18n/messages/es.js",
45
+ "src/create-quiver/lib/init-layout.js",
46
+ "tests/commands/cli-contract.test.js",
47
+ "tests/lib/init-layout.test.js",
48
+ "specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json"
49
+ ],
50
+ "allowed_write_paths": [
51
+ ".github/workflows/ci.yml",
52
+ "CONTRIBUTING.md",
53
+ "README.md",
54
+ "docs/COMMANDS.md.template",
55
+ "docs/reference/commands.md",
56
+ "package.json",
57
+ "src/create-quiver/index.js",
58
+ "src/create-quiver/lib/i18n/messages/es.js",
59
+ "src/create-quiver/lib/init-layout.js",
60
+ "tests/commands/cli-contract.test.js",
61
+ "tests/commands/handoff-namespace.test.js",
62
+ "tests/commands/parser-contract.test.js",
63
+ "tests/commands/slice-namespace.test.js",
64
+ "tests/lib/init-layout.test.js",
65
+ "specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json",
66
+ "specs/quiver-v51-cli-ergonomics-automation-contracts/STATUS.md",
67
+ "specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md",
68
+ "specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/CLOSURE_BRIEF.md",
69
+ "specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json",
70
+ "specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/pr.md"
71
+ ],
72
+ "depends_on": [
73
+ "slice-00-cli-contract-baseline"
74
+ ],
75
+ "parallel_safe": "no",
76
+ "parallel_safe_reason": "Touches package scripts and compatibility aliases; should be isolated with CI evidence.",
77
+ "must": [
78
+ "Preserve slice and handoff canonical namespaces.",
79
+ "Preserve legacy aliases with stderr-only warnings.",
80
+ "Keep JSON stdout clean.",
81
+ "Replace, wrap, or document Bash-only scripts as legacy.",
82
+ "Validate recommended commands under Windows pwsh."
83
+ ],
84
+ "not_included": [
85
+ "Removing legacy aliases.",
86
+ "Removing Bash scripts without compatibility plan."
87
+ ],
88
+ "acceptance": [
89
+ "Canonical and legacy commands remain behaviorally equivalent.",
90
+ "Deprecation warnings are stderr-only and suppressed for JSON as required.",
91
+ "Recommended npm/CLI paths work in Windows pwsh.",
92
+ "package-lock.json is synchronized if package.json changes."
93
+ ],
94
+ "tests": [
95
+ "node --test tests/commands/slice-namespace.test.js",
96
+ "node --test tests/commands/handoff-namespace.test.js",
97
+ "node --test tests/commands/parser-contract.test.js",
98
+ "npm ci",
99
+ "node --test",
100
+ "git diff --check"
101
+ ],
102
+ "validation_hints": [
103
+ "Do not remove old Bash scripts unless the compatibility story is explicit."
104
+ ],
105
+ "estimated_hours": 6,
106
+ "status": "completed",
107
+ "blocked_reason": null,
108
+ "actual_hours": 5,
109
+ "started_at": "2026-06-02T21:35:00-0300",
110
+ "completed_at": "2026-06-02T22:26:31-0300"
111
+ }
@@ -0,0 +1,95 @@
1
+ # Evidence Report - Quiver v52 Schema, Docs, and Release Hygiene
2
+
3
+ ## Planning Evidence
4
+
5
+ - Source requirements: `REQUERIMIENTOS_DERIVADOS_DE_AUDITORIA.md`.
6
+ - Approved plan: user-approved technical plan v4.
7
+ - Existing package smoke: `scripts/package-quiver.sh`.
8
+ - Existing release script: `scripts/release-quiver.sh`.
9
+ - Existing npm package boundary: `.npmignore`.
10
+
11
+ ## Baseline Evidence To Capture During Execution
12
+
13
+ - `npm pack --dry-run` or `npm run package:quiver`
14
+ - package tarball contents
15
+ - install tarball in temporary project
16
+ - current `docs/reference/commands.md` vs `node bin/create-quiver.js --help`
17
+ - current slice JSON validation/generation source
18
+ - current changelog `[Unreleased]` state
19
+
20
+ ## Validation Evidence
21
+
22
+ ## slice-00-schema-docs-release-baseline
23
+
24
+ - `src/create-quiver/commands/spec.js`: current runtime spec/slice validation contains the primary executable checks for `slice.json`.
25
+ - `src/create-quiver/lib/ai/spec-generator.js`: current spec generation validates/generates a related subset of `slice.json` fields, so schema behavior is split rather than centralized.
26
+ - `docs/reference/commands.md`: current command reference is manually maintained; no generator/drift command exists in `package.json`.
27
+ - `.npmignore`: excludes local artifacts such as PDFs, tests, examples, package lock, CI scripts, and common local noise from the npm package.
28
+ - `scripts/package-quiver.sh`: current package smoke validates required package contents and rejects unsafe contents.
29
+ - `scripts/release-quiver.sh`: current release script requires a clean worktree and runs smoke/package checks before publish guidance.
30
+ - `scripts/ci/smoke-create-quiver.sh`: current smoke builds/installs a tarball and validates installed CLI behavior.
31
+ - Baseline decision: `slice-01` must derive `slice.schema.json` from current runtime behavior, not from aspirational fields.
32
+ - Baseline decision: `slice-02` should use protected generated blocks inside `docs/reference/commands.md`, keeping curated content outside markers.
33
+ - Baseline decision: `slice-03` should formalize package boundaries and changelog hygiene without adding automatic npm publish.
34
+ - Runtime code was not modified for this baseline slice.
35
+ - `git diff --check`: passed.
36
+ - `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`: passed.
37
+
38
+ ## slice-01-json-schema-for-slice-json
39
+
40
+ - `docs/schema/slice.schema.json`: adds a public JSON Schema Draft-07 contract for executable `slice.json` files.
41
+ - Source-of-truth decision: schema is maintained manually from current runtime validation and generation behavior in `src/create-quiver/commands/spec.js`, `src/create-quiver/lib/slice.js`, `src/create-quiver/lib/readiness.js`, and `src/create-quiver/lib/ai/spec-generator.js`.
42
+ - `scripts/ci/check-slice-schema.js`: adds an AJV-backed validation script that compiles the schema, validates runtime-valid real fixtures, skips placeholder templates and one historical non-runtime fixture, and asserts representative invalid fixtures fail.
43
+ - `tests/schema/slice-schema.test.js` and `tests/fixtures/slice-schema/invalid/*.json`: cover schema declaration, real fixture validation, and invalid fixture rejection.
44
+ - `docs/reference/slice-schema.md` and `docs/INDEX.md`: document schema usage, source-of-truth boundaries, and the local check command.
45
+ - `package.json` and `package-lock.json`: add `schema:slice:check` and direct dev dependency `ajv`.
46
+ - `scripts/package-quiver.sh`: requires the public schema and schema reference doc in package smoke.
47
+ - `npm run schema:slice:check`: passed; 266 runtime-valid fixtures validated, 1 historical/non-runtime fixture skipped, 4 invalid fixtures rejected.
48
+ - `node --test tests/schema/slice-schema.test.js`: passed, 2 tests.
49
+ - `npm run docs:check`: passed, 21 files in docs scope.
50
+ - `npm run package:quiver`: passed and required `package/docs/schema/slice.schema.json` plus `package/docs/reference/slice-schema.md`.
51
+ - `npm ci`: passed on a clean dependency install.
52
+ - `node --test`: passed, 648 tests.
53
+ - `git diff --check`: passed.
54
+
55
+ ## slice-02-generated-cli-reference
56
+
57
+ - `scripts/ci/check-command-reference.js`: adds deterministic CLI command reference generation and drift checking without new dependencies.
58
+ - Source-of-truth decision: generated command rows are read from `COMMAND_HELP_GROUPS` in `src/create-quiver/index.js` and checked against `node bin/create-quiver.js --lang en --help --no-color`.
59
+ - `docs/reference/commands.md`: adds a protected generated block inside `<!-- quiver:generated-cli-reference:start -->` / `<!-- quiver:generated-cli-reference:end -->`; curated documentation outside markers remains manual.
60
+ - `package.json`: adds `docs:commands:write`, `docs:commands:check`, and wires `docs:commands:check` into `docs:check` so docs drift can fail CI/release checks without rewriting files.
61
+ - `tests/docs/command-reference.test.js`: covers runtime-help consistency, current docs synchronization, and preservation of manual content outside generated markers.
62
+ - `npm run docs:commands:write`: passed; generated 7 groups and 59 commands.
63
+ - `npm run docs:commands:check`: passed; generated block is synchronized.
64
+ - `node --test tests/docs/command-reference.test.js`: passed, 3 tests.
65
+ - `node bin/create-quiver.js --help`: passed.
66
+ - `npm run docs:check`: passed, including markdown lint, link check, and generated CLI reference drift check.
67
+ - `npm ci`: passed; 165 packages installed/audited, 0 vulnerabilities reported.
68
+ - `node --test`: passed, 651 tests.
69
+ - `git diff --check`: passed.
70
+ - `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`: passed.
71
+ - `node bin/create-quiver.js check-slice specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json --local --gate validation`: passed.
72
+
73
+ ## slice-03-changelog-package-release-smoke-hygiene
74
+
75
+ - `CHANGELOG.md`: documents v52 schema/docs/release hygiene work under `[Unreleased]`.
76
+ - `scripts/ci/check-changelog.js`: adds a no-dependency changelog gate requiring a categorized `[Unreleased]` entry.
77
+ - `tests/ci/changelog.test.js`: covers `[Unreleased]` extraction, categorized entries, and failure cases.
78
+ - `scripts/package-quiver.sh`: now requires `docs/reference/commands.md`, rejects local audit files, PDFs, tests, examples, worktree/tool state, credentials, key-like files, and CI-only scripts, installs the generated tarball, and verifies installed `--version`, `--help`, and `init --dry-run`.
79
+ - `.npmignore`: explicitly excludes local audit inputs, generated PDFs, key-like files, SSH folders, and local noise.
80
+ - `scripts/release-quiver.sh`: dry-run now runs changelog, docs, schema, installer, package, and installed CLI gates; publish flags require `QUIVER_ALLOW_NPM_PUBLISH=1`.
81
+ - `.github/workflows/ci.yml`: docs job now runs `npm run docs:check`, including generated command-reference drift detection.
82
+ - `CONTRIBUTING.md` and `README.md`: document package boundary, changelog, release dry-run, and publish guard expectations.
83
+ - `npm run changelog:check`: passed; 22 `[Unreleased]` entries detected.
84
+ - `node --test tests/ci/changelog.test.js`: passed, 3 tests.
85
+ - `bash -n scripts/package-quiver.sh scripts/release-quiver.sh`: passed.
86
+ - `shellcheck scripts/package-quiver.sh scripts/release-quiver.sh`: passed.
87
+ - `npm run package:quiver`: passed; generated `create-quiver-0.15.3.tgz` and installed CLI smoke passed.
88
+ - `npm run docs:check`: passed, including generated CLI reference drift check.
89
+ - `npm run schema:slice:check`: passed; 266 runtime-valid fixtures validated, 1 historical/non-runtime fixture skipped, 4 invalid fixtures rejected.
90
+ - `npm ci`: passed; 165 packages installed/audited, 0 vulnerabilities reported.
91
+ - `node --test`: passed, 654 tests.
92
+ - `git diff --check`: passed.
93
+ - `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`: passed.
94
+ - `node bin/create-quiver.js check-slice specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/slice.json --local --gate validation`: passed.
95
+ - `npm run release:quiver`: passed; changelog, docs, schema, installer smoke, package smoke, and installed CLI smoke passed before printing manual publish guidance.
@@ -0,0 +1,31 @@
1
+ # Execution Plan - Quiver v52 Schema, Docs, and Release Hygiene
2
+
3
+ ## Order
4
+
5
+ 1. Execute `slice-00-schema-docs-release-baseline`.
6
+ 2. Execute `slice-01-json-schema-for-slice-json`.
7
+ 3. Execute `slice-02-generated-cli-reference`.
8
+ 4. Execute `slice-03-changelog-package-release-smoke-hygiene`.
9
+
10
+ ## Parallel Execution
11
+
12
+ - `slice-01` and `slice-02` may run in parallel after `slice-00`.
13
+ - `slice-03` must run after `slice-01` and `slice-02` so package/release checks include new schema/docs/scripts.
14
+
15
+ ## Risk Controls
16
+
17
+ - Validate source of truth before generating schema.
18
+ - Protect manual docs content with generated blocks or separated output.
19
+ - Validate actual tarball install, not only local source.
20
+ - Keep publish automation out of scope unless release secrets and protection are confirmed.
21
+
22
+ ## Required Final Validation
23
+
24
+ - `npm ci`
25
+ - `node --test`
26
+ - schema fixture validation
27
+ - docs generation drift check
28
+ - `npm run package:quiver`
29
+ - installed tarball smoke
30
+ - `git diff --check`
31
+ - `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`
@@ -0,0 +1,107 @@
1
+ # Quiver v52 - Schema, Docs, and Release Hygiene
2
+
3
+ **Date:** 2026-06-01
4
+ **Status:** In Progress
5
+ **Source:** User-approved plan v4 derived from `REQUERIMIENTOS_DERIVADOS_DE_AUDITORIA.md`.
6
+
7
+ Slice numbering resets here. This spec intentionally starts at `slice-00`.
8
+
9
+ ## Problem
10
+
11
+ The audit identified DX and release-process gaps: no published JSON Schema for `slice.json`, manually maintained command reference, changelog/release hygiene gaps, and package/tarball validation that must stay current as docs and scripts evolve.
12
+
13
+ ## Objective
14
+
15
+ Reduce documentation and release drift without over-automating risky publish steps:
16
+
17
+ - Identify the real source of truth for `slice.json`.
18
+ - Publish a schema aligned with runtime behavior.
19
+ - Generate or validate command reference from a safe source without overwriting curated content.
20
+ - Formalize changelog and release smoke hygiene.
21
+ - Validate npm package contents and installed CLI behavior.
22
+
23
+ ## Scope
24
+
25
+ ### Included
26
+
27
+ - Schema/docs/release baseline.
28
+ - `docs/schema/slice.schema.json`.
29
+ - Schema generation or documented source-of-truth process.
30
+ - Generated CLI reference with protected manual content.
31
+ - Changelog `[Unreleased]` hygiene.
32
+ - Package smoke updates for tarball contents and installed CLI.
33
+ - `.npmignore` and package safety updates where required.
34
+
35
+ ### Excluded
36
+
37
+ - Automatic npm publish without secrets, branch protection, and CI maturity.
38
+ - Rewriting the docs site.
39
+ - Replacing all docs with generated output.
40
+ - Changing runtime slice semantics just to match an aspirational schema.
41
+
42
+ ## Approved Acceptance Criteria
43
+
44
+ 1. Schema source of truth is identified before schema generation.
45
+ 2. `slice.schema.json` validates real valid fixtures and rejects representative invalid fixtures.
46
+ 3. The schema does not promise fields unsupported by runtime validation/generation.
47
+ 4. CLI command reference generation protects manual content.
48
+ 5. CI or release checks detect drift between runtime help and generated command reference.
49
+ 6. `[Unreleased]` changelog process is coherent and documented.
50
+ 7. Package smoke validates tarball contents and installed CLI behavior.
51
+ 8. Local audit files, PDFs, tests, worktrees, secrets, `.DS_Store`, and tool state do not enter the npm package.
52
+
53
+ ## Execution Baseline - slice-00
54
+
55
+ | Finding | Current state | Evidence | Action |
56
+ |---|---|---|---|
57
+ | `slice.json` schema source of truth | partial | `src/create-quiver/commands/spec.js` validates `slice.json` through runtime rules; `src/create-quiver/lib/ai/spec-generator.js` validates/generates a related subset. No single versioned JSON Schema is present. | `slice-01` must derive the schema from current runtime validation/generation behavior and avoid aspirational unsupported fields. |
58
+ | Published / repo-only / generated classification | partial | `.npmignore` and `scripts/package-quiver.sh` define the practical npm boundary; classification is not documented as a reusable contract. | `slice-03` must formalize package boundaries and keep package smoke aligned. |
59
+ | Existing package and release smoke | implemented | `scripts/package-quiver.sh` validates package contents; `scripts/release-quiver.sh` requires a clean worktree and runs smoke/package checks before publish guidance. | Preserve this as baseline and extend only where schema/docs changes require it. |
60
+ | Current command reference | partial | `docs/reference/commands.md` is manually maintained; no generator or drift check is defined in `package.json` scripts. | `slice-02` must add generated reference or drift check without overwriting curated content. |
61
+ | Generated docs strategy | missing | No generated block markers, generated source, or docs drift command exists today. | Use protected generated blocks inside `docs/reference/commands.md`; keep curated sections outside markers and fail drift checks when help output changes. |
62
+ | Changelog `[Unreleased]` hygiene | partial | Release script exists, but the changelog process details remain open in this spec. | `slice-03` must document/validate the `[Unreleased]` process without adding unsafe publish automation. |
63
+
64
+ ### Package Boundary Baseline
65
+
66
+ | Class | Current examples | Baseline decision |
67
+ |---|---|---|
68
+ | Published | `bin/create-quiver.js`, runtime `src/create-quiver/**`, packaged docs/templates required by `scripts/package-quiver.sh`, `package.json`, `.npmignore`, README/license files. | Keep published files limited to runtime CLI, required docs/templates, and package metadata. |
69
+ | Repo-only | `tests/**`, `examples/**`, local audit inputs, generated PDFs, `.github/**`, `scripts/ci/**`, worktrees, tool state, secrets, `package-lock.json`. | Continue excluding repo-only validation, local planning, and local artifacts from the npm package. |
70
+ | Generated | Future `docs/schema/slice.schema.json` and generated command-reference block(s). | Generated files must have a deterministic source and drift check before they are treated as release artifacts. |
71
+
72
+ ## Slice Roadmap
73
+
74
+ | Slice | Title | Status | Dependencies |
75
+ |---|---|---|---|
76
+ | slice-00 | Schema/docs/release baseline | completed | none |
77
+ | slice-01 | JSON Schema for slice.json | completed | slice-00 |
78
+ | slice-02 | Generated CLI reference | completed | slice-00 |
79
+ | slice-03 | Changelog, package, and release smoke hygiene | completed | slice-01, slice-02 |
80
+
81
+ ## Guardrails
82
+
83
+ - Do not generate schemas before confirming the real runtime contract.
84
+ - Do not overwrite curated docs outside generated blocks.
85
+ - Do not make flaky external links or network publish steps required for local release validation.
86
+ - Do not publish local audit artifacts or generated PDFs.
87
+ - Do not implement npm publish automation unless secrets and branch protection are explicitly available.
88
+
89
+ ## Required Production Gates
90
+
91
+ - schema fixture validation
92
+ - generated docs drift check
93
+ - `npm ci`
94
+ - `node --test`
95
+ - `npm pack` or `npm run package:quiver`
96
+ - install tarball into a temp project
97
+ - execute installed `create-quiver --version`, `--help`, and at least one safe dry-run command
98
+ - `git diff --check`
99
+ - `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`
100
+
101
+ ## Open Decisions
102
+
103
+ - Exact source of truth for `slice.json` schema: resolved in `slice-01`. The published schema is maintained manually from current runtime validation and generation behavior in `src/create-quiver/commands/spec.js`, `src/create-quiver/lib/slice.js`, `src/create-quiver/lib/readiness.js`, and `src/create-quiver/lib/ai/spec-generator.js`, then checked with `npm run schema:slice:check`.
104
+ - Command reference generation script: resolved in `slice-02` with `scripts/ci/check-command-reference.js`, `npm run docs:commands:write`, and `npm run docs:commands:check`.
105
+ - Generated command reference location: resolved in `slice-02` with a protected block inside `docs/reference/commands.md`, preserving curated content outside markers.
106
+ - Changelog process details: resolved in `slice-03` with `[Unreleased]` guidance in `CONTRIBUTING.md`, entries in `CHANGELOG.md`, and `npm run changelog:check`.
107
+ - Package publication boundary for new files: resolved in `slice-03`; public docs/schema/command reference stay packaged, CI/test/local audit/tool-state files stay excluded, and `npm run package:quiver` validates installed tarball behavior.
@@ -0,0 +1,22 @@
1
+ # Status - Quiver v52 Schema, Docs, and Release Hygiene
2
+
3
+ **Overall status:** In Progress
4
+ **Created:** 2026-06-01
5
+ **Current slice:** slice-03-changelog-package-release-smoke-hygiene
6
+
7
+ ## Summary
8
+
9
+ This spec reduces schema/docs/release drift and hardens package validation without adding unsafe publish automation. All planned slices are complete.
10
+
11
+ ## Slice Status
12
+
13
+ | Slice | Status | Notes |
14
+ |---|---|---|
15
+ | slice-00-schema-docs-release-baseline | Completed | Confirmed current schema validation is split, chose protected generated docs blocks, and classified package boundary baseline. |
16
+ | slice-01-json-schema-for-slice-json | Completed | Published Draft-07 schema, added AJV validation against runtime-valid fixtures and invalid fixtures, documented usage, and required schema/doc package contents. |
17
+ | slice-02-generated-cli-reference | Completed | Added protected generated CLI reference block, write/check commands, docs drift gate, and tests preserving manual content. |
18
+ | slice-03-changelog-package-release-smoke-hygiene | Completed | Added changelog gate, package tarball install smoke, stronger package exclusions, docs/schema release gates, CI docs drift check, and guarded publish flags. |
19
+
20
+ ## Current Blockers
21
+
22
+ - None.