create-quiver 0.15.4 → 0.16.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 (179) 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/.quiver/runs/run-2026-06-09t19-14-39z/approvals.json +5 -0
  6. package/.quiver/runs/run-2026-06-09t19-14-39z/decisions.md +2 -0
  7. package/.quiver/runs/run-2026-06-09t19-14-39z/requirement.md +0 -0
  8. package/.quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/docs/INDEX.md +97 -0
  9. package/.quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/manifest.json +61 -0
  10. package/.quiver/runs/run-2026-06-09t19-14-39z/state.json +28 -0
  11. package/ACTIVE_SLICES.md +43 -0
  12. package/ARCHITECTURE.md +133 -0
  13. package/CHANGELOG.md +12 -0
  14. package/CONTRIBUTING.md +174 -9
  15. package/README.md +10 -1
  16. package/ROADMAP.md +4 -0
  17. package/SECURITY.md +9 -2
  18. package/auditoria-ux-ui-performance-documentacion.md +705 -0
  19. package/copys-landing-page.md +244 -0
  20. package/docs/AI_CONTEXT.md.es.template +3 -1
  21. package/docs/AI_CONTEXT.md.template +3 -1
  22. package/docs/CLI_UX_GUIDE.md +9 -1
  23. package/docs/COMMANDS.md.template +20 -6
  24. package/docs/GITFLOW_PR_GUIDE.md +73 -11
  25. package/docs/GITFLOW_PR_GUIDE.md.es.template +61 -2
  26. package/docs/GITFLOW_PR_GUIDE.md.template +72 -10
  27. package/docs/INDEX.md +1 -0
  28. package/docs/QUICK.md.template +2 -1
  29. package/docs/STANDARD.md.template +2 -1
  30. package/docs/WORKFLOW.md.es.template +3 -1
  31. package/docs/WORKFLOW.md.template +6 -4
  32. package/docs/ai/ACTIVE_SLICE.md +61 -0
  33. package/docs/getting-started/installation.md +7 -0
  34. package/docs/reference/commands.md +104 -6
  35. package/docs/reference/slice-schema.md +37 -0
  36. package/docs/schema/slice.schema.json +221 -0
  37. package/docs/specs/01-spec/01-slice/01-slice.json +36 -0
  38. package/docs/specs/01-spec/01-slice/01-slice.md +106 -0
  39. package/docs/specs/01-spec/01-slice/CLOSURE_BRIEF.md +80 -0
  40. package/docs/specs/01-spec/01-slice/EXECUTION_BRIEF.md +39 -0
  41. package/docs/specs/01-spec/02-slice/02-slice.json +36 -0
  42. package/docs/specs/01-spec/02-slice/02-slice.md +108 -0
  43. package/docs/specs/01-spec/02-slice/CLOSURE_BRIEF.md +88 -0
  44. package/docs/specs/01-spec/02-slice/EXECUTION_BRIEF.md +40 -0
  45. package/docs/specs/01-spec/03-slice/03-slice.json +36 -0
  46. package/docs/specs/01-spec/03-slice/03-slice.md +103 -0
  47. package/docs/specs/01-spec/03-slice/CLOSURE_BRIEF.md +54 -0
  48. package/docs/specs/01-spec/03-slice/EXECUTION_BRIEF.md +39 -0
  49. package/docs/specs/01-spec/04-slice/04-slice.json +36 -0
  50. package/docs/specs/01-spec/04-slice/04-slice.md +107 -0
  51. package/docs/specs/01-spec/04-slice/CLOSURE_BRIEF.md +46 -0
  52. package/docs/specs/01-spec/04-slice/EXECUTION_BRIEF.md +39 -0
  53. package/docs/specs/01-spec/05-slice/05-slice.json +36 -0
  54. package/docs/specs/01-spec/05-slice/05-slice.md +106 -0
  55. package/docs/specs/01-spec/05-slice/CLOSURE_BRIEF.md +84 -0
  56. package/docs/specs/01-spec/05-slice/EXECUTION_BRIEF.md +109 -0
  57. package/docs/specs/01-spec/06-slice/06-slice.json +36 -0
  58. package/docs/specs/01-spec/06-slice/06-slice.md +107 -0
  59. package/docs/specs/01-spec/06-slice/CLOSURE_BRIEF.md +67 -0
  60. package/docs/specs/01-spec/06-slice/EXECUTION_BRIEF.md +39 -0
  61. package/docs/specs/01-spec/07-slice/07-slice.json +36 -0
  62. package/docs/specs/01-spec/07-slice/07-slice.md +105 -0
  63. package/docs/specs/01-spec/07-slice/CLOSURE_BRIEF.md +71 -0
  64. package/docs/specs/01-spec/07-slice/EXECUTION_BRIEF.md +39 -0
  65. package/docs/specs/01-spec/08-slice/08-slice.json +36 -0
  66. package/docs/specs/01-spec/08-slice/08-slice.md +105 -0
  67. package/docs/specs/01-spec/08-slice/CLOSURE_BRIEF.md +114 -0
  68. package/docs/specs/01-spec/08-slice/EXECUTION_BRIEF.md +39 -0
  69. package/docs/specs/01-spec/CLOSURE_BRIEF.md +87 -0
  70. package/docs/specs/01-spec/spec.md +197 -0
  71. package/docs/workflows/full-ai-spec-to-pr.md +46 -3
  72. package/i18n/es/docs/GITFLOW_PR_GUIDE.md.template +38 -1
  73. package/package.json +27 -1
  74. package/pr.md +154 -0
  75. package/scripts/package-quiver.sh +82 -2
  76. package/scripts/release-quiver.sh +14 -3
  77. package/specs/[project-name]/slices/pr.md.template +19 -0
  78. package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +91 -0
  79. package/specs/quiver-v50-audit-trust-foundation/EVIDENCE_REPORT.md +151 -0
  80. package/specs/quiver-v50-audit-trust-foundation/EXECUTION_PLAN.md +34 -0
  81. package/specs/quiver-v50-audit-trust-foundation/SPEC.md +113 -0
  82. package/specs/quiver-v50-audit-trust-foundation/STATUS.md +26 -0
  83. package/specs/quiver-v50-audit-trust-foundation/pr.md +120 -0
  84. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/CLOSURE_BRIEF.md +20 -0
  85. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/EXECUTION_BRIEF.md +58 -0
  86. package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/slice.json +57 -0
  87. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/CLOSURE_BRIEF.md +24 -0
  88. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/EXECUTION_BRIEF.md +67 -0
  89. package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/slice.json +71 -0
  90. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/CLOSURE_BRIEF.md +24 -0
  91. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/EXECUTION_BRIEF.md +71 -0
  92. package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/slice.json +81 -0
  93. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/CLOSURE_BRIEF.md +22 -0
  94. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/EXECUTION_BRIEF.md +57 -0
  95. package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/slice.json +56 -0
  96. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/CLOSURE_BRIEF.md +23 -0
  97. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/EXECUTION_BRIEF.md +68 -0
  98. package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/slice.json +84 -0
  99. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/CLOSURE_BRIEF.md +25 -0
  100. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/EXECUTION_BRIEF.md +73 -0
  101. package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/slice.json +72 -0
  102. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/CLOSURE_BRIEF.md +22 -0
  103. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/EXECUTION_BRIEF.md +66 -0
  104. package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/slice.json +74 -0
  105. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/CLOSURE_BRIEF.md +29 -0
  106. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/EXECUTION_BRIEF.md +74 -0
  107. package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/slice.json +81 -0
  108. package/specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md +145 -0
  109. package/specs/quiver-v51-cli-ergonomics-automation-contracts/EXECUTION_PLAN.md +32 -0
  110. package/specs/quiver-v51-cli-ergonomics-automation-contracts/SPEC.md +109 -0
  111. package/specs/quiver-v51-cli-ergonomics-automation-contracts/STATUS.md +25 -0
  112. package/specs/quiver-v51-cli-ergonomics-automation-contracts/pr.md +69 -0
  113. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/CLOSURE_BRIEF.md +20 -0
  114. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/EXECUTION_BRIEF.md +58 -0
  115. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json +56 -0
  116. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/CLOSURE_BRIEF.md +21 -0
  117. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/EXECUTION_BRIEF.md +61 -0
  118. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/slice.json +68 -0
  119. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/CLOSURE_BRIEF.md +25 -0
  120. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/EXECUTION_BRIEF.md +65 -0
  121. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/pr.md +134 -0
  122. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/slice.json +80 -0
  123. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/CLOSURE_BRIEF.md +31 -0
  124. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/EXECUTION_BRIEF.md +80 -0
  125. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/pr.md +159 -0
  126. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/slice.json +102 -0
  127. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/CLOSURE_BRIEF.md +25 -0
  128. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/EXECUTION_BRIEF.md +74 -0
  129. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/pr.md +147 -0
  130. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/slice.json +91 -0
  131. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/CLOSURE_BRIEF.md +28 -0
  132. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/EXECUTION_BRIEF.md +73 -0
  133. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/pr.md +146 -0
  134. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/slice.json +100 -0
  135. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/CLOSURE_BRIEF.md +36 -0
  136. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md +76 -0
  137. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/pr.md +155 -0
  138. package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json +111 -0
  139. package/specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md +95 -0
  140. package/specs/quiver-v52-schema-docs-release-hygiene/EXECUTION_PLAN.md +31 -0
  141. package/specs/quiver-v52-schema-docs-release-hygiene/SPEC.md +107 -0
  142. package/specs/quiver-v52-schema-docs-release-hygiene/STATUS.md +22 -0
  143. package/specs/quiver-v52-schema-docs-release-hygiene/pr.md +69 -0
  144. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/CLOSURE_BRIEF.md +21 -0
  145. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/EXECUTION_BRIEF.md +60 -0
  146. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/slice.json +62 -0
  147. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md +34 -0
  148. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/EXECUTION_BRIEF.md +71 -0
  149. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md +146 -0
  150. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json +106 -0
  151. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/CLOSURE_BRIEF.md +33 -0
  152. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/EXECUTION_BRIEF.md +67 -0
  153. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/pr.md +144 -0
  154. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json +86 -0
  155. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/CLOSURE_BRIEF.md +38 -0
  156. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/EXECUTION_BRIEF.md +75 -0
  157. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/pr.md +159 -0
  158. package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/slice.json +105 -0
  159. package/src/create-quiver/commands/changelog.js +93 -0
  160. package/src/create-quiver/commands/config.js +16 -5
  161. package/src/create-quiver/commands/evidence.js +33 -2
  162. package/src/create-quiver/commands/flow.js +1 -0
  163. package/src/create-quiver/commands/graph.js +8 -2
  164. package/src/create-quiver/commands/plan.js +6 -0
  165. package/src/create-quiver/commands/spec.js +28 -13
  166. package/src/create-quiver/index.js +294 -94
  167. package/src/create-quiver/lib/ai/github.js +5 -2
  168. package/src/create-quiver/lib/ai/spec-templates.js +19 -0
  169. package/src/create-quiver/lib/cli/command-registry.js +71 -0
  170. package/src/create-quiver/lib/cli/parser.js +14 -0
  171. package/src/create-quiver/lib/evidence.js +161 -6
  172. package/src/create-quiver/lib/git.js +99 -0
  173. package/src/create-quiver/lib/i18n/messages/en.js +52 -7
  174. package/src/create-quiver/lib/i18n/messages/es.js +54 -9
  175. package/src/create-quiver/lib/init-docs.js +1 -1
  176. package/src/create-quiver/lib/init-layout.js +9 -8
  177. package/src/create-quiver/lib/lifecycle.js +24 -26
  178. package/src/create-quiver/lib/readiness.js +67 -56
  179. package/src/create-quiver/lib/spec-worktrees.js +16 -34
@@ -0,0 +1,146 @@
1
+ # PR - QUIVER-52-01 - JSON Schema for slice.json
2
+
3
+ ## Title
4
+
5
+ QUIVER-52-01 JSON Schema for slice.json
6
+
7
+ ## Summary
8
+
9
+ Publishes a Draft-07 JSON Schema for executable Quiver `slice.json` files and adds an AJV-backed validation check. The schema is derived from current runtime validation/generation behavior, validates real runtime-valid fixtures, rejects representative invalid fixtures, and is required in package smoke as a public artifact.
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: schema artifact, validation script, tests, docs, package smoke, and slice metadata.
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 `docs/schema/slice.schema.json` as JSON Schema Draft-07.
33
+ - Add `npm run schema:slice:check`.
34
+ - Add AJV as a direct devDependency and synchronize `package-lock.json`.
35
+ - Validate runtime-valid real fixtures from `specs/**` and `examples/**`.
36
+ - Reject representative invalid fixtures.
37
+ - Document schema usage and runtime source-of-truth boundaries.
38
+ - Require the public schema and schema reference doc in package smoke.
39
+ - Update v52 status, evidence, closure, slice metadata, and PR body.
40
+
41
+ ## Files
42
+
43
+ - `docs/INDEX.md`
44
+ - `docs/reference/slice-schema.md`
45
+ - `docs/schema/slice.schema.json`
46
+ - `package.json`
47
+ - `package-lock.json`
48
+ - `scripts/ci/check-slice-schema.js`
49
+ - `scripts/package-quiver.sh`
50
+ - `tests/fixtures/slice-schema/invalid/empty-files.json`
51
+ - `tests/fixtures/slice-schema/invalid/missing-git-field.json`
52
+ - `tests/fixtures/slice-schema/invalid/missing-slice-id.json`
53
+ - `tests/fixtures/slice-schema/invalid/unsafe-allowed-write-path.json`
54
+ - `tests/schema/slice-schema.test.js`
55
+ - `specs/quiver-v52-schema-docs-release-hygiene/SPEC.md`
56
+ - `specs/quiver-v52-schema-docs-release-hygiene/STATUS.md`
57
+ - `specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md`
58
+ - `specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json`
59
+ - `specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md`
60
+ - `specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md`
61
+
62
+ ## How to Test (DETAILED - REQUIRED)
63
+
64
+ ### Required Environment
65
+
66
+ - Node.js supported by the repo.
67
+ - npm.
68
+ - Git.
69
+
70
+ ### Worktree Access
71
+
72
+ ```bash
73
+ cd /Users/fabrijk/Documents/Work/Proyectos\ Personales/nika/frameworks/quiver
74
+ git switch feature/QUIVER-52-01-v52-slice-json-schema
75
+ ```
76
+
77
+ ### Run the Project
78
+
79
+ No runtime server is required. This is schema, validation tooling, docs, tests, package smoke, and spec evidence.
80
+
81
+ ### Use Cases
82
+
83
+ #### Case 1: validate real slice fixtures
84
+
85
+ 1. Run `npm run schema:slice:check`.
86
+ 2. Inspect the summary.
87
+
88
+ **Expected result:** runtime-valid `specs/**` and `examples/**` fixtures pass, placeholder templates are skipped, and representative invalid fixtures fail.
89
+
90
+ #### Case 2: use schema in docs
91
+
92
+ 1. Open `docs/reference/slice-schema.md`.
93
+ 2. Confirm it links to `docs/schema/slice.schema.json`.
94
+ 3. Run `npm run docs:check`.
95
+
96
+ **Expected result:** docs lint and link checks pass with the schema reference included.
97
+
98
+ #### Case 3: package includes public schema
99
+
100
+ 1. Run `npm run package:quiver`.
101
+ 2. Inspect the package smoke output.
102
+
103
+ **Expected result:** package smoke passes and requires `package/docs/schema/slice.schema.json` plus `package/docs/reference/slice-schema.md`.
104
+
105
+ #### Case 4: representative invalid fixture rejection
106
+
107
+ 1. Run `node --test tests/schema/slice-schema.test.js`.
108
+ 2. Inspect the invalid fixtures under `tests/fixtures/slice-schema/invalid`.
109
+
110
+ **Expected result:** missing `slice_id`, missing git metadata, empty `files`, and unsafe traversal path fixtures are rejected by AJV.
111
+
112
+ ### Technical Verification
113
+
114
+ ```bash
115
+ npm ci
116
+ npm run schema:slice:check
117
+ node --test tests/schema/slice-schema.test.js
118
+ npm run docs:check
119
+ npm run package:quiver
120
+ node --test
121
+ git diff --check
122
+ node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene
123
+ node bin/create-quiver.js check-slice specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json --local --gate validation
124
+ node bin/create-quiver.js check-scope specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json --base main --strict
125
+ node bin/create-quiver.js check-pr specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json --base main
126
+ ```
127
+
128
+ ## Evidence
129
+
130
+ - `npm run schema:slice:check`: passed; 266 runtime-valid fixtures validated, 1 historical/non-runtime fixture skipped, 4 invalid fixtures rejected.
131
+ - `node --test tests/schema/slice-schema.test.js`: passed, 2 tests.
132
+ - `npm run docs:check`: passed, 21 files in docs scope.
133
+ - `npm run package:quiver`: passed and required the public schema/doc paths.
134
+
135
+ ## Rollback
136
+
137
+ 1. Revert this slice commit with `git revert <commit-sha>`.
138
+ 2. Run the technical verification commands above.
139
+ 3. Confirm `docs/schema/slice.schema.json`, `schema:slice:check`, AJV dependency changes, schema docs, package smoke requirements, and schema tests are removed.
140
+
141
+ ## Risks / Notes
142
+
143
+ - The schema is maintained manually from current runtime behavior because Quiver does not yet have a single schema source generator.
144
+ - `check-slice --local` still requires non-empty `files`; the schema reflects that stricter executable contract even though newer scope tooling can prefer `allowed_write_paths`.
145
+ - Placeholder template slice files are intentionally skipped by schema validation because they contain scaffolding placeholders, not executable slice contracts.
146
+ - One historical v18 slice is skipped as non-runtime-valid because it lacks current required execution metadata.
@@ -0,0 +1,106 @@
1
+ {
2
+ "slice_id": "slice-01-json-schema-for-slice-json",
3
+ "ticket": "QUIVER-52-01",
4
+ "type": "feature",
5
+ "title": "JSON Schema for slice.json",
6
+ "objective": "Publish a slice.json JSON Schema aligned with runtime behavior.",
7
+ "description": "Generates or authors a schema only after the source of truth is confirmed and validates it against real fixtures.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "v52-slice-json-schema",
12
+ "branch_name": "feature/QUIVER-52-01-v52-slice-json-schema"
13
+ },
14
+ "files": [
15
+ "docs/INDEX.md",
16
+ "docs/reference/slice-schema.md",
17
+ "docs/schema/slice.schema.json",
18
+ "package.json",
19
+ "package-lock.json",
20
+ "scripts/ci/check-slice-schema.js",
21
+ "scripts/package-quiver.sh",
22
+ "tests/fixtures/slice-schema/invalid/empty-files.json",
23
+ "tests/fixtures/slice-schema/invalid/missing-git-field.json",
24
+ "tests/fixtures/slice-schema/invalid/missing-slice-id.json",
25
+ "tests/fixtures/slice-schema/invalid/unsafe-allowed-write-path.json",
26
+ "tests/schema/slice-schema.test.js",
27
+ "specs/quiver-v52-schema-docs-release-hygiene/SPEC.md",
28
+ "specs/quiver-v52-schema-docs-release-hygiene/STATUS.md",
29
+ "specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md",
30
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md",
31
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json",
32
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md"
33
+ ],
34
+ "expected_read_paths": [
35
+ "package.json",
36
+ "scripts/package-quiver.sh",
37
+ "src/create-quiver/lib/slice.js",
38
+ "src/create-quiver/lib/slice-graph.js",
39
+ "src/create-quiver/commands/spec.js",
40
+ "src/create-quiver/lib/readiness.js",
41
+ "src/create-quiver/lib/ai/spec-generator.js",
42
+ "specs/**/slices/**/slice.json",
43
+ "tests/**"
44
+ ],
45
+ "allowed_write_paths": [
46
+ "docs/INDEX.md",
47
+ "docs/reference/slice-schema.md",
48
+ "docs/schema/**",
49
+ "package.json",
50
+ "package-lock.json",
51
+ "scripts/ci/check-slice-schema.js",
52
+ "scripts/package-quiver.sh",
53
+ "tests/fixtures/slice-schema/invalid/empty-files.json",
54
+ "tests/fixtures/slice-schema/invalid/missing-git-field.json",
55
+ "tests/fixtures/slice-schema/invalid/missing-slice-id.json",
56
+ "tests/fixtures/slice-schema/invalid/unsafe-allowed-write-path.json",
57
+ "tests/schema/slice-schema.test.js",
58
+ "specs/quiver-v52-schema-docs-release-hygiene/SPEC.md",
59
+ "specs/quiver-v52-schema-docs-release-hygiene/STATUS.md",
60
+ "specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md",
61
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md",
62
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json",
63
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md"
64
+ ],
65
+ "depends_on": [
66
+ "slice-00-schema-docs-release-baseline"
67
+ ],
68
+ "parallel_safe": "yes",
69
+ "parallel_safe_reason": "Schema work can run independently after baseline, but package smoke updates must coordinate with slice-03.",
70
+ "must": [
71
+ "Create docs/schema/slice.schema.json.",
72
+ "Validate real valid fixtures.",
73
+ "Reject representative invalid fixtures.",
74
+ "Document schema usage and generation.",
75
+ "Keep schema aligned with runtime behavior."
76
+ ],
77
+ "not_included": [
78
+ "Changing slice runtime semantics unless required and explicitly documented.",
79
+ "Adding IDE-specific config unless minimal and justified."
80
+ ],
81
+ "acceptance": [
82
+ "Schema is valid JSON Schema Draft-07 or higher.",
83
+ "Schema validates existing valid slice fixtures.",
84
+ "Schema rejects representative invalid fixtures.",
85
+ "Docs reference the schema.",
86
+ "Package smoke includes the schema if it is public."
87
+ ],
88
+ "tests": [
89
+ "npm ci",
90
+ "npm run schema:slice:check",
91
+ "node --test tests/schema/slice-schema.test.js",
92
+ "npm run docs:check",
93
+ "node --test",
94
+ "npm run package:quiver",
95
+ "git diff --check"
96
+ ],
97
+ "validation_hints": [
98
+ "If adding schema tooling dependencies, commit package-lock changes."
99
+ ],
100
+ "estimated_hours": 6,
101
+ "status": "completed",
102
+ "blocked_reason": null,
103
+ "actual_hours": 5,
104
+ "started_at": "2026-06-03T00:00:00-0300",
105
+ "completed_at": "2026-06-03T00:25:00-0300"
106
+ }
@@ -0,0 +1,33 @@
1
+ # CLOSURE_BRIEF - slice-02 generated CLI reference
2
+
3
+ ## Summary
4
+
5
+ Added a generated CLI command reference block and drift check that preserve curated docs outside explicit markers.
6
+
7
+ - Added `scripts/ci/check-command-reference.js` with `--write` and `--check` modes.
8
+ - Generated the protected block in `docs/reference/commands.md`.
9
+ - Added `npm run docs:commands:write` and `npm run docs:commands:check`.
10
+ - Wired `docs:commands:check` into `npm run docs:check`.
11
+ - Added tests for runtime-help consistency, docs synchronization, and manual-content preservation.
12
+
13
+ ## Validation
14
+
15
+ - [x] `npm run docs:commands:write`
16
+ - [x] `npm run docs:commands:check`
17
+ - [x] `node --test tests/docs/command-reference.test.js`
18
+ - [x] `node bin/create-quiver.js --help`
19
+ - [x] `npm run docs:check`
20
+ - [x] `npm ci`
21
+ - [x] `node --test`
22
+ - [x] `git diff --check`
23
+
24
+ ## Closure Conditions
25
+
26
+ - [x] Generated content protected.
27
+ - [x] Drift check available.
28
+ - [x] Manual docs preserved.
29
+ - [x] CI/docs check can fail on drift without rewriting files.
30
+
31
+ ## Open Items
32
+
33
+ - None.
@@ -0,0 +1,67 @@
1
+ # EXECUTION_BRIEF - slice-02 generated CLI reference
2
+
3
+ ## Context
4
+
5
+ `docs/reference/commands.md` can drift from runtime help. Generation must not erase curated explanations.
6
+
7
+ ## Objective
8
+
9
+ Generate or drift-check CLI command reference without overwriting curated documentation.
10
+
11
+ ## Scope
12
+
13
+ - Generated docs blocks or separate generated file.
14
+ - Drift check.
15
+ - Local script.
16
+ - CI/release integration point.
17
+
18
+ ## Acceptance Criteria
19
+
20
+ - Manual content outside generated blocks is untouched.
21
+ - Generated content matches runtime help or registry metadata.
22
+ - Drift check can fail CI/release without rewriting files.
23
+ - Generation/check command is documented.
24
+
25
+ ## Expected Files To Modify
26
+
27
+ - `docs/reference/commands.md`
28
+ - `scripts/**`
29
+ - `package.json`
30
+ - `package-lock.json`
31
+ - `tests/**`
32
+ - `specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md`
33
+
34
+ ## Validations Required
35
+
36
+ - `npm ci`
37
+ - `node --test`
38
+ - `node bin/create-quiver.js --help`
39
+ - docs generation check command
40
+ - `git diff --check`
41
+
42
+ ## Risks
43
+
44
+ - Destroying curated docs.
45
+ - Generating unstable output.
46
+ - Lockfile drift after adding scripts/dependencies.
47
+
48
+ ## Dependencies
49
+
50
+ - Depends on `slice-00-schema-docs-release-baseline`.
51
+
52
+ ## Instructions For Executor
53
+
54
+ 1. Use generated blocks or a separate file.
55
+ 2. Add a check mode for CI.
56
+ 3. Keep manual docs protected.
57
+ 4. Record drift validation evidence.
58
+
59
+ ## Completion Checklist
60
+
61
+ - [ ] Acceptance criteria satisfied.
62
+ - [ ] Required validations run or blockers documented.
63
+ - [ ] Closure brief updated.
64
+
65
+ ## Conditions Of Closure
66
+
67
+ - CLI reference drift is detectable without losing curated content.
@@ -0,0 +1,144 @@
1
+ # PR - QUIVER-52-02 - Generated CLI reference
2
+
3
+ ## Title
4
+
5
+ QUIVER-52-02 Generated CLI reference
6
+
7
+ ## Summary
8
+
9
+ Adds a protected generated CLI command reference block to `docs/reference/commands.md` and a no-dependency drift check that validates the generated content against CLI help metadata and runtime `--help` output. The check is wired into `npm run docs:check` so CI/release validation can fail on drift without rewriting docs.
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: docs generation tooling, docs drift check, tests affecting docs gate, and slice metadata.
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 `scripts/ci/check-command-reference.js` with `--write` and `--check` modes.
33
+ - Add a protected generated block to `docs/reference/commands.md`.
34
+ - Preserve curated command documentation outside generated markers.
35
+ - Add `docs:commands:write` and `docs:commands:check` npm scripts.
36
+ - Wire `docs:commands:check` into `docs:check`.
37
+ - Add tests for runtime help consistency, drift synchronization, and manual-content preservation.
38
+ - Update v52 status, evidence, closure, slice metadata, and PR body.
39
+
40
+ ## Files
41
+
42
+ - `docs/reference/commands.md`
43
+ - `package.json`
44
+ - `scripts/ci/check-command-reference.js`
45
+ - `tests/docs/command-reference.test.js`
46
+ - `specs/quiver-v52-schema-docs-release-hygiene/SPEC.md`
47
+ - `specs/quiver-v52-schema-docs-release-hygiene/spec.md`
48
+ - `specs/quiver-v52-schema-docs-release-hygiene/STATUS.md`
49
+ - `specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md`
50
+ - `specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/CLOSURE_BRIEF.md`
51
+ - `specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json`
52
+ - `specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/pr.md`
53
+
54
+ ## How to Test (DETAILED - REQUIRED)
55
+
56
+ ### Required Environment
57
+
58
+ - Node.js supported by the repo.
59
+ - npm.
60
+ - Git.
61
+
62
+ ### Worktree Access
63
+
64
+ ```bash
65
+ cd /Users/fabrijk/Documents/Work/Proyectos\ Personales/nika/frameworks/quiver
66
+ git switch feature/QUIVER-52-02-v52-generated-cli-reference
67
+ ```
68
+
69
+ ### Run the Project
70
+
71
+ No runtime server is required. This is docs generation tooling, docs drift validation, tests, and spec evidence.
72
+
73
+ ### Use Cases
74
+
75
+ #### Case 1: regenerate command reference
76
+
77
+ 1. Run `npm run docs:commands:write`.
78
+ 2. Inspect `docs/reference/commands.md`.
79
+
80
+ **Expected result:** only the generated block between `<!-- quiver:generated-cli-reference:start -->` and `<!-- quiver:generated-cli-reference:end -->` changes.
81
+
82
+ #### Case 2: detect docs drift without rewriting
83
+
84
+ 1. Run `npm run docs:commands:check`.
85
+ 2. Inspect the command summary.
86
+
87
+ **Expected result:** check mode exits successfully when the generated block is synchronized and exits non-zero with guidance to run `docs:commands:write` when stale or missing.
88
+
89
+ #### Case 3: preserve curated docs
90
+
91
+ 1. Review content before and after the generated markers in `docs/reference/commands.md`.
92
+ 2. Run `node --test tests/docs/command-reference.test.js`.
93
+
94
+ **Expected result:** manual content outside markers is preserved and the focused preservation test passes.
95
+
96
+ #### Case 4: CI/docs gate includes drift check
97
+
98
+ 1. Run `npm run docs:check`.
99
+ 2. Inspect the final step.
100
+
101
+ **Expected result:** markdown lint, link check, and generated CLI reference drift check all pass.
102
+
103
+ ### Technical Verification
104
+
105
+ ```bash
106
+ npm ci
107
+ npm run docs:commands:write
108
+ npm run docs:commands:check
109
+ node --test tests/docs/command-reference.test.js
110
+ npm run docs:check
111
+ node bin/create-quiver.js --help
112
+ node --test
113
+ git diff --check
114
+ node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene
115
+ 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
116
+ node bin/create-quiver.js check-scope specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json --base main --strict
117
+ node bin/create-quiver.js check-pr specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json --base main
118
+ ```
119
+
120
+ ## Evidence
121
+
122
+ - `npm run docs:commands:write`: passed; generated 7 groups and 59 commands.
123
+ - `npm run docs:commands:check`: passed; generated block is synchronized.
124
+ - `node --test tests/docs/command-reference.test.js`: passed, 3 tests.
125
+ - `node bin/create-quiver.js --help`: passed.
126
+ - `npm run docs:check`: passed, including generated CLI reference drift check.
127
+ - `npm ci`: passed; 165 packages installed/audited, 0 vulnerabilities reported.
128
+ - `node --test`: passed, 651 tests.
129
+ - `git diff --check`: passed.
130
+ - `node bin/create-quiver.js spec validate specs/quiver-v52-schema-docs-release-hygiene`: passed.
131
+ - `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.
132
+
133
+ ## Rollback
134
+
135
+ 1. Revert this slice commit with `git revert <commit-sha>`.
136
+ 2. Run the technical verification commands above.
137
+ 3. Confirm `docs:commands:write`, `docs:commands:check`, the generated block, command reference script, and focused tests are removed.
138
+
139
+ ## Risks / Notes
140
+
141
+ - The generator reads `COMMAND_HELP_GROUPS` from `src/create-quiver/index.js` because that is the current source used by runtime help.
142
+ - The drift check also runs `node bin/create-quiver.js --lang en --help --no-color` to detect mismatch between metadata and runtime help.
143
+ - The generated block is English because the runtime help metadata is English. Existing curated Spanish documentation remains outside the generated block.
144
+ - No package dependency or lockfile update is required.
@@ -0,0 +1,86 @@
1
+ {
2
+ "slice_id": "slice-02-generated-cli-reference",
3
+ "ticket": "QUIVER-52-02",
4
+ "type": "automation",
5
+ "title": "Generated CLI reference",
6
+ "objective": "Generate or drift-check CLI command reference without overwriting curated documentation.",
7
+ "description": "Adds a safe generation/drift-check path for docs/reference/commands.md based on runtime help or registry metadata.",
8
+ "git": {
9
+ "branch_type": "feature",
10
+ "base_branch": "main",
11
+ "branch_slug": "v52-generated-cli-reference",
12
+ "branch_name": "feature/QUIVER-52-02-v52-generated-cli-reference"
13
+ },
14
+ "files": [
15
+ "docs/reference/commands.md",
16
+ "scripts/ci/check-command-reference.js",
17
+ "package.json",
18
+ "tests/docs/command-reference.test.js",
19
+ "specs/quiver-v52-schema-docs-release-hygiene/SPEC.md",
20
+ "specs/quiver-v52-schema-docs-release-hygiene/spec.md",
21
+ "specs/quiver-v52-schema-docs-release-hygiene/STATUS.md",
22
+ "specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md",
23
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/CLOSURE_BRIEF.md",
24
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json",
25
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/pr.md"
26
+ ],
27
+ "expected_read_paths": [
28
+ "src/create-quiver/index.js",
29
+ "src/create-quiver/lib/cli/command-registry.js",
30
+ "docs/reference/commands.md",
31
+ "tests/commands/cli-contract.test.js"
32
+ ],
33
+ "allowed_write_paths": [
34
+ "docs/reference/commands.md",
35
+ "scripts/ci/check-command-reference.js",
36
+ "package.json",
37
+ "tests/docs/command-reference.test.js",
38
+ "specs/quiver-v52-schema-docs-release-hygiene/SPEC.md",
39
+ "specs/quiver-v52-schema-docs-release-hygiene/spec.md",
40
+ "specs/quiver-v52-schema-docs-release-hygiene/STATUS.md",
41
+ "specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md",
42
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/CLOSURE_BRIEF.md",
43
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json",
44
+ "specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/pr.md"
45
+ ],
46
+ "depends_on": [
47
+ "slice-00-schema-docs-release-baseline"
48
+ ],
49
+ "parallel_safe": "yes",
50
+ "parallel_safe_reason": "Generated reference work can run independently after baseline.",
51
+ "must": [
52
+ "Protect curated manual docs content.",
53
+ "Generate only delimited blocks or a separate generated file.",
54
+ "Add drift check against runtime help or registry.",
55
+ "Document the local generation/check command."
56
+ ],
57
+ "not_included": [
58
+ "Replacing all docs with generated output.",
59
+ "Changing command help semantics."
60
+ ],
61
+ "acceptance": [
62
+ "Manual content outside generated blocks remains untouched.",
63
+ "Generated content matches runtime help/registry.",
64
+ "CI or release can detect drift.",
65
+ "Script command is documented."
66
+ ],
67
+ "tests": [
68
+ "npm ci",
69
+ "npm run docs:commands:write",
70
+ "npm run docs:commands:check",
71
+ "node --test tests/docs/command-reference.test.js",
72
+ "npm run docs:check",
73
+ "node --test",
74
+ "node bin/create-quiver.js --help",
75
+ "git diff --check"
76
+ ],
77
+ "validation_hints": [
78
+ "Prefer a --check mode so CI can fail on drift without rewriting files."
79
+ ],
80
+ "estimated_hours": 6,
81
+ "status": "completed",
82
+ "blocked_reason": null,
83
+ "actual_hours": 4,
84
+ "started_at": "2026-06-03T00:45:00-0300",
85
+ "completed_at": "2026-06-03T01:00:00-0300"
86
+ }
@@ -0,0 +1,38 @@
1
+ # CLOSURE_BRIEF - slice-03 changelog, package, and release smoke hygiene
2
+
3
+ ## Summary
4
+
5
+ Formalized changelog and release/package hygiene while keeping publishing manually guarded.
6
+
7
+ - Added `npm run changelog:check` and focused tests.
8
+ - Updated `[Unreleased]` changelog entries for v52.
9
+ - Hardened `.npmignore` and package smoke exclusions for local audit/tool/secret artifacts.
10
+ - Extended package smoke to install the tarball and run installed CLI `--version`, `--help`, and `init --dry-run`.
11
+ - Wired docs CI to `npm run docs:check`.
12
+ - Added changelog/docs/schema gates to release dry-run.
13
+ - Required `QUIVER_ALLOW_NPM_PUBLISH=1` for release publish flags.
14
+
15
+ ## Validation
16
+
17
+ - [x] `npm run changelog:check`
18
+ - [x] `node --test tests/ci/changelog.test.js`
19
+ - [x] `bash -n scripts/package-quiver.sh scripts/release-quiver.sh`
20
+ - [x] `shellcheck scripts/package-quiver.sh scripts/release-quiver.sh`
21
+ - [x] `npm run package:quiver`
22
+ - [x] installed tarball smoke
23
+ - [x] `npm run release:quiver`
24
+ - [x] `npm run docs:check`
25
+ - [x] `npm ci`
26
+ - [x] `node --test`
27
+ - [x] `git diff --check`
28
+
29
+ ## Closure Conditions
30
+
31
+ - [x] Changelog process documented.
32
+ - [x] Package smoke validates required and forbidden files.
33
+ - [x] Installed tarball smoke passes.
34
+ - [x] Publish automation remains safely scoped.
35
+
36
+ ## Open Items
37
+
38
+ - None.