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
@@ -1,21 +1,78 @@
1
1
  # Git and PR Guide
2
2
 
3
- **Version:** 2.0
3
+ **Version:** 2.1
4
4
  **Last updated:** {{FECHA}}
5
5
 
6
6
  ## Purpose
7
7
 
8
- This guide explains how to open and review spec PRs without breaking the canonical workflow.
8
+ This guide explains how to open, review, and merge slice PRs without breaking the canonical workflow.
9
9
 
10
10
  ## Core Rule
11
11
 
12
- - One slice = one commit
13
- - One spec = one PR
14
- - One spec should be worked from one dedicated worktree/branch.
12
+ - One slice = one commit.
13
+ - One slice = one PR by default.
14
+ - One spec can produce multiple PRs. Grouped PRs are exceptions and must meet the grouped PR policy below.
15
+ - One active PR should be worked from one dedicated worktree/branch.
15
16
  - Slice numbers reset per spec. `slice-01` is the first slice in each spec.
16
- - Do not commit directly to `develop`
17
- - Open and merge the documentation PR before the first slice starts execution
18
- - Do not open the spec PR before the documentation PR is merged
17
+ - Do not commit directly to `develop` or any protected base branch.
18
+ - Open and merge the documentation PR that establishes `slice-00` before runtime slices start execution.
19
+ - Do not open runtime slice PRs before the documentation foundation is merged.
20
+
21
+ ## PR Sizing Policy
22
+
23
+ ### Individual PR Required
24
+
25
+ Open an individual PR for any slice that includes:
26
+
27
+ - Functional code.
28
+ - UI/UX changes.
29
+ - Supabase, Edge Functions, auth, or storage changes.
30
+ - Preview or deployment behavior.
31
+ - Performance or code-splitting changes.
32
+ - Refactors.
33
+ - Tests or CI changes that affect gates.
34
+
35
+ ### Grouped PR Exception
36
+
37
+ A grouped PR is allowed only when all conditions are true:
38
+
39
+ - It contains at most 2-3 slices.
40
+ - Every included slice is docs-only, research-only, or low-risk mechanical cleanup.
41
+ - It does not change behavior.
42
+ - It does not mix docs with UI, backend, refactor, or performance work.
43
+ - Each slice keeps separate evidence.
44
+ - The whole PR can be reverted without leaving partial state.
45
+
46
+ If any condition fails, split the work into individual slice PRs.
47
+
48
+ ## Merge Policy
49
+
50
+ - Human merge is the default.
51
+ - AI agents may create PRs, fix CI, monitor checks, and mark PRs as ready.
52
+ - Assisted auto-merge is allowed only when explicitly authorized by a human for that PR or for a documented category.
53
+
54
+ ## Assisted Auto-Merge Policy
55
+
56
+ Assisted auto-merge is allowed only when all conditions are true:
57
+
58
+ - The PR is docs-only or chore-only.
59
+ - Risk is low.
60
+ - There are no runtime changes.
61
+ - There are no production configuration changes.
62
+ - Checks are green.
63
+ - There are no pending comments.
64
+
65
+ Assisted auto-merge is prohibited for:
66
+
67
+ - UI.
68
+ - Supabase.
69
+ - Edge Functions.
70
+ - Auth.
71
+ - Storage.
72
+ - Preview.
73
+ - Performance.
74
+ - Refactors.
75
+ - Changes with doubtful rollback.
19
76
 
20
77
  ## AI PR Preflight
21
78
 
@@ -36,10 +93,11 @@ Use the SSH host alias from your Git remote separately from the key path. Quiver
36
93
 
37
94
  ## Required PR Headings
38
95
 
39
- All spec PR notes must use:
96
+ All slice PR notes must use:
40
97
 
41
98
  - `## Title`
42
99
  - `## Summary`
100
+ - `## PR Policy`
43
101
  - `## Scope`
44
102
  - `## Files`
45
103
  - `## How to Test (DETAILED - REQUIRED)`
@@ -66,5 +124,9 @@ Inside `How to Test`, use:
66
124
  ## Anti-Patterns
67
125
 
68
126
  - Pushing directly to `develop`
69
- - Reusing the same branch for multiple specs
127
+ - Reusing the same branch for unrelated PRs
128
+ - Grouping behavior-changing slices
129
+ - Mixing docs-only slices with UI, backend, refactor, or performance work
130
+ - Auto-merging without explicit human authorization
131
+ - Auto-merging prohibited categories
70
132
  - Writing PR bodies outside `pr.md`
package/docs/INDEX.md CHANGED
@@ -10,6 +10,7 @@ Use this file as the first documentation map before planning, implementing, revi
10
10
  - **AI guide:** [`../README_FOR_AI.md`](../README_FOR_AI.md)
11
11
  - **CLI UX standards:** [`./CLI_UX_GUIDE.md`](./CLI_UX_GUIDE.md)
12
12
  - **Command reference:** [`./reference/commands.md`](./reference/commands.md)
13
+ - **Slice JSON schema:** [`./reference/slice-schema.md`](./reference/slice-schema.md)
13
14
  - **Troubleshooting:** [`./TROUBLESHOOTING.md`](./TROUBLESHOOTING.md)
14
15
  - **Git and PR workflow:** [`./GITFLOW_PR_GUIDE.md`](./GITFLOW_PR_GUIDE.md)
15
16
 
@@ -15,7 +15,8 @@ Use `docs/PROJECT_MAP.md` for the package manager, project stack, test commands,
15
15
  ## Hard Rules
16
16
 
17
17
  - One slice = one commit.
18
- - One spec = one PR.
18
+ - One slice = one PR by default.
19
+ - Grouped PRs are exceptions and must follow `docs/GITFLOW_PR_GUIDE.md`.
19
20
  - Read `./STANDARD.md` for workflow details.
20
21
  - Read `./DEEP.md` for history and context.
21
22
  - Do not edit files outside the active slice.
@@ -19,7 +19,8 @@ This is the default context pack for everyday AI work.
19
19
  - Use maps, metadata, and diffs before opening full source files.
20
20
  - Keep scope inside the active slice.
21
21
  - Make one commit per slice.
22
- - Open one PR per spec.
22
+ - Open one PR per slice by default.
23
+ - Group slices in one PR only when `docs/GITFLOW_PR_GUIDE.md` allows it.
23
24
  - Record durable decisions in `docs/DECISIONS.md`.
24
25
  - Treat `docs/PROJECT_MAP.md` as the single source of truth for stack, package manager, and command references.
25
26
 
@@ -8,7 +8,9 @@ Este documento define el workflow canonico de implementacion del proyecto.
8
8
 
9
9
  - No implementar sin slice.
10
10
  - Un slice equivale a un commit.
11
- - Un spec equivale a un PR.
11
+ - Un slice equivale a un PR por defecto.
12
+ - Un spec puede generar multiples PRs.
13
+ - Los PRs agrupados son excepciones y deben cumplir `docs/GITFLOW_PR_GUIDE.md`.
12
14
  - El spec define el plan; el slice define la ejecucion.
13
15
  - Ningun slice debe ejecutarse hasta estar listo.
14
16
  - La salida JSON y los artefactos machine-readable no se traducen.
@@ -8,7 +8,9 @@ This document is the canonical implementation workflow for the project.
8
8
 
9
9
  - Do not implement without a slice.
10
10
  - One slice maps to one commit.
11
- - One spec maps to one PR.
11
+ - One slice maps to one PR by default.
12
+ - One spec can produce multiple PRs.
13
+ - Grouped PRs are exceptions and must follow `docs/GITFLOW_PR_GUIDE.md`.
12
14
  - Slice numbering is local to each spec. Every spec starts with mandatory `slice-00` as the documentary foundation; `slice-01` is the first implementation slice.
13
15
  - The spec defines the plan; the slice defines the execution.
14
16
  - No slice should enter execution until it is `ready`.
@@ -63,9 +65,9 @@ Use maps, metadata, diffs, and summaries first. Open full files only when the sm
63
65
  - `ai execute-slice` updates `CLOSURE_BRIEF.md`, `EVIDENCE_REPORT.md`, `COMMAND_LOG.md`, `STATUS.md`, and `slice.json` only after the provider changes in-scope files and validation passes.
64
66
  9. Validate with `npx create-quiver check-slice <slice.json>` or `npm run quiver:check-slice -- <slice.json>`.
65
67
  10. Write evidence. Prefer `npx create-quiver evidence run -- <command>` when you need a compact local Markdown record of validation output.
66
- 11. Repeat for the next slice until the spec is complete.
67
- 12. Open one PR for the spec. Use `npx create-quiver ai pr --dry-run --input specs/<spec-slug>/pr.md --ssh-host-alias <alias> ...` first, then add `--create` only after review. Quiver blocks PR creation while slices in that spec remain open.
68
- 13. After the PR is merged and the spec worktree is clean, close it with `npx create-quiver spec close specs/<spec-slug>`.
68
+ 11. Open one PR for the completed slice by default. Use `npx create-quiver ai pr --dry-run --input specs/<spec-slug>/pr.md --ssh-host-alias <alias> ...` first when the generated spec PR body is the intended body, then add `--create` only after review. For slice-level PR bodies, keep the PR aligned with the slice `pr.md` and validate the slice evidence before creating the PR.
69
+ 12. Repeat for the next slice until the spec is complete.
70
+ 13. After the final PR for the spec is merged and the spec worktree is clean, close it with `npx create-quiver spec close specs/<spec-slug>`.
69
71
 
70
72
  ## Support Contract
71
73
 
@@ -0,0 +1,61 @@
1
+ ---
2
+ purpose: "Active slice execution brief"
3
+ applies_when: "implementation"
4
+ token_cost: 409
5
+ last_updated: "2026-06-09"
6
+ supersedes: null
7
+ ---
8
+
9
+ # Active Slice
10
+
11
+ ## Slice ID
12
+
13
+ slice-01-json-schema-for-slice-json
14
+
15
+ ## Title
16
+
17
+ JSON Schema for slice.json
18
+
19
+ ## Objective
20
+
21
+ Publish a slice.json JSON Schema aligned with runtime behavior.
22
+
23
+ ## allowed_files
24
+ - docs/INDEX.md
25
+ - docs/reference/slice-schema.md
26
+ - docs/schema/**
27
+ - package.json
28
+ - package-lock.json
29
+ - scripts/ci/check-slice-schema.js
30
+ - scripts/package-quiver.sh
31
+ - tests/fixtures/slice-schema/invalid/empty-files.json
32
+ - tests/fixtures/slice-schema/invalid/missing-git-field.json
33
+ - tests/fixtures/slice-schema/invalid/missing-slice-id.json
34
+ - tests/fixtures/slice-schema/invalid/unsafe-allowed-write-path.json
35
+ - tests/schema/slice-schema.test.js
36
+ - specs/quiver-v52-schema-docs-release-hygiene/SPEC.md
37
+ - specs/quiver-v52-schema-docs-release-hygiene/STATUS.md
38
+ - specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md
39
+ - specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md
40
+ - specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json
41
+ - specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md
42
+
43
+ ## Validation Commands
44
+ - npm ci
45
+ - npm run schema:slice:check
46
+ - node --test tests/schema/slice-schema.test.js
47
+ - npm run docs:check
48
+ - node --test
49
+ - npm run package:quiver
50
+ - git diff --check
51
+
52
+ ## Definition of Done
53
+ - Schema is valid JSON Schema Draft-07 or higher.
54
+ - Schema validates existing valid slice fixtures.
55
+ - Schema rejects representative invalid fixtures.
56
+ - Docs reference the schema.
57
+ - Package smoke includes the schema if it is public.
58
+
59
+ ## Prohibition
60
+
61
+ Do not edit any file outside allowed_files.
@@ -2,6 +2,13 @@
2
2
 
3
3
  Esta guía explica por qué Quiver normalmente se ejecuta con `npx`, cuándo aparece en `node_modules` y cuándo conviene instalarlo como dependencia del proyecto.
4
4
 
5
+ ## Requisitos previos
6
+
7
+ - Node.js `>=20.12.0`.
8
+ - npm compatible con esa versión de Node.
9
+
10
+ El mínimo está declarado en `package.json` y se valida en CI. También coincide con el requisito de dependencias del CLI como `@clack/prompts`.
11
+
5
12
  ## Uso recomendado
6
13
 
7
14
  Para usar la última versión publicada de Quiver, ejecutá:
@@ -21,6 +21,79 @@ npx create-quiver <comando>
21
21
 
22
22
  Más detalle: [Instalación y uso con npx](../getting-started/installation.md).
23
23
 
24
+ ## Referencia generada desde el CLI
25
+
26
+ El bloque siguiente se actualiza con `npm run docs:commands:write` y se verifica con `npm run docs:commands:check`.
27
+
28
+ El contenido curado fuera de los marcadores se mantiene manual y no debe ser reescrito por el generador.
29
+
30
+ <!-- quiver:generated-cli-reference:start -->
31
+ > Generated by `npm run docs:commands:write` from `COMMAND_HELP_GROUPS` and checked against `node bin/create-quiver.js --lang en --help --no-color`. Do not edit this block manually.
32
+
33
+ | Group | Command | Runtime help |
34
+ |---|---|---|
35
+ | Bootstrap and project context | `init` | Create the default AI-first Quiver contract in the current project. |
36
+ | Bootstrap and project context | `analyze` | Scan the project and write docs/PROJECT_MAP.md plus .quiver scan data. |
37
+ | Bootstrap and project context | `doctor` | Validate the Quiver layout, generated docs, environment, and next safe steps. |
38
+ | Bootstrap and project context | `flow` | Show the read-only guided workflow stage, blockers, and next safe command. |
39
+ | Bootstrap and project context | `dashboard` | Show compact read-only project, spec, slice, run, approval, and agent status. |
40
+ | Bootstrap and project context | `version` | Show a Quiver-branded version report; use --json for metadata. |
41
+ | Bootstrap and project context | `changelog` | Show recent local CHANGELOG.md release entries; use --json for metadata. |
42
+ | Bootstrap and project context | `config language show\|set` | Inspect or update the effective Quiver language without editing JSON by hand. |
43
+ | Bootstrap and project context | `prepare` | Run setup diagnostics for providers, GitHub, SSH, and project readiness. |
44
+ | Bootstrap and project context | `migrate` | Upgrade an already initialized Quiver project to the current contract. |
45
+ | Planning and slice navigation | `plan` | List slices in execution order with critical path and optional JSON output. |
46
+ | Planning and slice navigation | `graph` | Render slice dependencies as tree, Mermaid, DOT, or JSON-ready graph output. |
47
+ | Planning and slice navigation | `next` | Print the next ready slice or every ready slice with --all-ready. |
48
+ | AI lifecycle | `ai run create\|close` | Create a durable AI lifecycle run or close/archive a completed or stale run without deleting evidence. |
49
+ | AI lifecycle | `ai active-slice status\|reconcile` | Inspect or dry-run reconcile local active-slice state from every supported source. |
50
+ | AI lifecycle | `ai status` | Show current AI lifecycle phase, approved versions, blockers, and next command. |
51
+ | AI lifecycle | `ai resume` | Resume guidance from the last valid lifecycle phase without chat memory. |
52
+ | AI lifecycle | `ai onboard` | Run or print the planner onboarding prompt with a token-aware context pack. |
53
+ | AI lifecycle | `ai prepare-context` | Preview or write docs-only AI context updates with assumptions and risks. |
54
+ | AI lifecycle | `ai agent set\|list\|show\|doctor\|repair` | Manage, diagnose, and dry-run repair planner, executor, reviewer, and doctor provider profiles without secrets. |
55
+ | AI lifecycle | `ai models list` | List provider/model ids known by Quiver without claiming account availability. |
56
+ | AI lifecycle | `ai plan` | Generate versioned planner drafts for acceptance criteria, technical plan, or spec phase. |
57
+ | AI lifecycle | `ai revise` | Create a new planner draft from human feedback without approving it. |
58
+ | AI lifecycle | `ai repair-plan` | Repair an approved technical plan into a new structured draft without mutating the approved artifact. |
59
+ | AI lifecycle | `ai review-plan` | Review the technical-plan draft for production readiness before approval. |
60
+ | AI lifecycle | `ai approve` | Approve a concrete saved draft version for the next planner phase. |
61
+ | AI lifecycle | `ai approvals` | Inspect approval status and saved planner drafts. |
62
+ | AI lifecycle | `ai prompt-slice` | Print a minimal executor prompt for one slice without provider execution. |
63
+ | AI lifecycle | `ai execute-slice` | Execute one slice with scope checks, redacted evidence, closure updates, and optional commit. |
64
+ | AI lifecycle | `ai execute-plan` | Print or execute dependency-safe waves in manual or delegated mode. |
65
+ | AI lifecycle | `ai doctor` | Run GitHub, SSH, and PR readiness preflight checks. |
66
+ | AI lifecycle | `ai pr` | Validate and optionally create a GitHub PR from the generated PR body. |
67
+ | Inspection and export | `ai inspect` | Show dashboard-friendly lifecycle state for specs, slices, runs, agents, and blockers. |
68
+ | Inspection and export | `ai export` | Export lifecycle state as JSON or Markdown for dashboards, PRs, or other agents. |
69
+ | Inspection and export | `ai specs list` | List specs with status, progress, slice counts, and paths. |
70
+ | Inspection and export | `ai slices list` | List slices with status, dependencies, blockers, and optional JSON. |
71
+ | Inspection and export | `ai trace report` | Report AI runs, execution waves, and migration guidance. |
72
+ | Specs, slices, and validation | `spec create` | Create the real spec tree from a reviewed approved technical plan. |
73
+ | Specs, slices, and validation | `spec start` | Create or reuse the dedicated worktree and branch for one spec. |
74
+ | Specs, slices, and validation | `spec status` | Show spec worktree, branch, slice-00 state, and pending slices. |
75
+ | Specs, slices, and validation | `spec validate` | Validate spec docs, slices, briefs, evidence, status, dependencies, and safe paths. |
76
+ | Specs, slices, and validation | `spec close` | Close a merged clean spec worktree and guide local sync. |
77
+ | Specs, slices, and validation | `slice start\|check\|pr\|scope\|cleanup\|refresh-active` | Canonical namespace for slice lifecycle, validation, scope, and board commands. |
78
+ | Specs, slices, and validation | `handoff check\|new` | Canonical namespace for validating or scaffolding handoff artifacts. |
79
+ | Specs, slices, and validation | `start-slice` | Start work on one slice and mark it active. |
80
+ | Specs, slices, and validation | `check-slice` | Validate slice structure, dependencies, scope, and readiness. |
81
+ | Specs, slices, and validation | `check-pr` | Validate PR readiness for a slice/spec workflow. |
82
+ | Specs, slices, and validation | `check-scope` | Compare changed files against a slice scope. |
83
+ | Specs, slices, and validation | `cleanup-slice` | Clean active-slice state after a slice finishes or is discarded. |
84
+ | Specs, slices, and validation | `refresh-active-slices` | Refresh generated active-slice boards. |
85
+ | Specs, slices, and validation | `check-handoff` | Validate a transfer handoff or per-slice execution/closure brief. |
86
+ | Specs, slices, and validation | `new-handoff` | Create a handoff scaffold for exceptional context transfer. |
87
+ | Evidence and demos | `evidence run` | Run a command and record exit code, duration, redacted output, and Markdown evidence. |
88
+ | Evidence and demos | `evidence list` | List local evidence records; use --json for automation. |
89
+ | Evidence and demos | `evidence show` | Show one local evidence record; use --json for automation. |
90
+ | Evidence and demos | `demo create spec-viewer` | Create or preview the optional static Quiver Spec Viewer demo scaffold. |
91
+ | Shortcuts and compatibility | `--name "<project>"` | Compatibility alias for init when bootstrapping a project. |
92
+ | Shortcuts and compatibility | `--version / -V` | Print the installed create-quiver package version. |
93
+ | Shortcuts and compatibility | `--help / help` | Show this command reference. |
94
+ | Shortcuts and compatibility | `quiver` | Local installed alias to the same CLI; use npx create-quiver for bootstrap. |
95
+ <!-- quiver:generated-cli-reference:end -->
96
+
24
97
  ## Configuración inicial
25
98
 
26
99
  | Comando | Para qué sirve |
@@ -35,17 +108,32 @@ Más detalle: [Instalación y uso con npx](../getting-started/installation.md).
35
108
  | `npx --yes create-quiver@latest config language set en --global` | Guarda `en` como idioma global en `~/.quiver/config.json`. |
36
109
  | `npx --yes create-quiver@latest init --name "Proyecto"` | Inicializa Quiver en un proyecto. |
37
110
  | `npx --yes create-quiver@latest init --interactive` | Abre una guía interactiva para elegir idioma del proyecto, modo de proyecto, metodología `wdd-sdd`, perfil inicial y próximos pasos de agentes. |
38
- | `npx --yes create-quiver@latest migrate --dry-run` | Previsualiza migración de un proyecto Quiver anterior. |
39
- | `npx --yes create-quiver@latest migrate` | Aplica la migración. |
111
+ | `npx --yes create-quiver@latest migrate --dry-run` | Previsualiza migración de un proyecto Quiver anterior sin pedir confirmación ni escribir archivos. |
112
+ | `npx --yes create-quiver@latest migrate` | En TTY pide confirmación antes de escribir; en no-TTY falla con guía para usar `--dry-run` o `--yes`. |
113
+ | `npx --yes create-quiver@latest migrate --yes` | Aplica la migración sin prompt para automatización. |
40
114
  | `npx --yes create-quiver@latest analyze` | Genera mapa del proyecto y datos de escaneo. |
41
115
  | `npx --yes create-quiver@latest doctor` | Valida la salud de Quiver. |
42
116
  | `npx --yes create-quiver@latest doctor --json` | Emite el mismo diagnóstico de Doctor como JSON parseable para automatización. |
43
117
  | `npx --yes create-quiver@latest flow` | Muestra el próximo paso seguro. |
118
+ | `npx --yes create-quiver@latest flow --json` | Emite el próximo paso seguro como JSON parseable; incluye `nextCommand` y el alias compatible `next_command` con el mismo valor. |
44
119
  | `npx --yes create-quiver@latest dashboard` | Muestra un resumen compacto read-only del proyecto, specs, slices, runs, approvals y agentes. |
45
120
  | `npx --yes create-quiver@latest dashboard --details` | Muestra el reporte humano completo cuando se necesita auditoría sin perder el resumen por defecto. |
46
- | `npx --yes create-quiver@latest dashboard --section <name>` | Muestra una sección humana puntual como `specs`, `slices`, `blockers`, `warnings`, `agents`, `approvals`, `runs`, `active-slice` o `next-steps`. |
121
+ | `npx --yes create-quiver@latest dashboard --section <name>` | Muestra una sección humana puntual como `overview`, `specs`, `slices`, `blockers`, `warnings`, `agents`, `approvals`, `runs`, `active-slice` o `next-steps`. |
47
122
  | `npx --yes create-quiver@latest dashboard --limit <n>` | Ajusta el límite de listas del dashboard compacto entre 1 y 100. |
48
123
 
124
+ ## Evidencia de validaciones
125
+
126
+ | Comando | Para qué sirve |
127
+ |---|---|
128
+ | `npx --yes create-quiver@latest evidence run -- <command>` | Ejecuta un comando, preserva su exit code y escribe evidencia Markdown con duración, salida redactada y truncada. |
129
+ | `npx --yes create-quiver@latest evidence run --output .quiver/evidence/test.md -- <command>` | Escribe la evidencia en una ruta explícita dentro del proyecto. |
130
+ | `npx --yes create-quiver@latest evidence list --json` | Lista los archivos locales de evidencia como JSON parseable para automatización. |
131
+ | `npx --yes create-quiver@latest evidence show .quiver/evidence/test.md --json` | Muestra un archivo de evidencia como JSON parseable con contenido y metadatos. |
132
+
133
+ `evidence run` conserva el exit code del comando envuelto incluso cuando falla y escribe evidencia de la falla antes de salir. Si el proceso termina por señal, el registro incluye `Signal` y el CLI devuelve el exit code estándar `128 + signal`.
134
+
135
+ Las rutas explícitas de `--output` y las rutas pasadas a `evidence show` deben permanecer dentro del root del proyecto. Quiver rechaza traversal (`..`) y escapes por symlink antes de ejecutar el comando o leer el archivo. La salida se redacta y trunca como defensa de seguridad, pero no reemplaza la revisión humana cuando un comando imprime secretos deliberadamente.
136
+
49
137
  ## Idioma del CLI
50
138
 
51
139
  Quiver resuelve el idioma de salida humana en este orden:
@@ -137,10 +225,16 @@ Reglas:
137
225
  | `npx --yes create-quiver@latest spec create --interactive` | Guía la selección de metodología `wdd-sdd`, input aprobado y modo de revisión antes de escribir. |
138
226
  | `npx --yes create-quiver@latest spec validate specs/<spec> --strict` | Valida el paquete de spec. |
139
227
  | `npx --yes create-quiver@latest spec start specs/<spec>` | Crea o reutiliza el worktree de una spec. |
140
- | `npx --yes create-quiver@latest plan --spec <spec>` | Muestra el orden de ejecución de slices. |
228
+ | `npx --yes create-quiver@latest slice start specs/<spec>/slices/<slice>/slice.json` | Inicia trabajo sobre un slice usando el namespace canónico. |
229
+ | `npx --yes create-quiver@latest slice check --local specs/<spec>/slices/<slice>/slice.json` | Valida estructura local de un slice usando el namespace canónico. |
230
+ | `npx --yes create-quiver@latest slice pr specs/<spec>/slices/<slice>/slice.json` | Valida preparación de PR de un slice usando el namespace canónico. |
231
+ | `npx --yes create-quiver@latest slice scope specs/<spec>/slices/<slice>/slice.json` | Compara archivos modificados contra el scope declarado usando el namespace canónico. |
232
+ | `npx --yes create-quiver@latest handoff check specs/<spec>/slices/<slice>/EXECUTION_BRIEF.md` | Valida un handoff o brief usando el namespace canónico. |
233
+ | `npx --yes create-quiver@latest handoff new <spec-slug>` | Crea un handoff excepcional usando el namespace canónico. |
234
+ | `npx --yes create-quiver@latest plan --spec <spec>` | Muestra el orden de ejecución de slices; la salida humana avisa si algun slice no tiene `estimated_hours` positivo y lo cuenta como `0h`. |
141
235
  | `npx --yes create-quiver@latest dashboard --spec <spec>` | Muestra estado consolidado read-only para una spec sin ocultar el progreso global. |
142
236
  | `npx --yes create-quiver@latest dashboard --section slices --spec <spec>` | Inspecciona solo slices de la spec seleccionada. |
143
- | `npx --yes create-quiver@latest graph --spec <spec>` | Muestra dependencias entre slices. |
237
+ | `npx --yes create-quiver@latest graph --spec <spec>` | Muestra dependencias entre slices; `--level <n>` acota un nivel y muestra un estado vacio humano si no hay slices en ese nivel. |
144
238
  | `npx --yes create-quiver@latest next --all-ready --spec <spec>` | Lista slices listos para ejecutar. |
145
239
  | `npx --yes create-quiver@latest ai prompt-slice --slice <slice.json> --dry-run` | Imprime un prompt mínimo para el ejecutor. |
146
240
  | `npx --yes create-quiver@latest ai execute-slice --slice <slice.json> --commit` | Ejecuta un slice y commitea después de validar. |
@@ -156,6 +250,8 @@ Reglas:
156
250
  | `npx --yes create-quiver@latest spec close specs/<spec> --dry-run` | Previsualiza limpieza del worktree después del merge. |
157
251
  | `npx --yes create-quiver@latest spec close specs/<spec>` | Cierra el worktree de la spec mergeada. |
158
252
 
253
+ Base branch policy: `--base <branch>` always wins. Without `--base`, slice readiness commands prefer `slice.json` `git.base_branch`, then Remote HEAD, then `main`, `master`, and `develop`. `ai pr`, `spec start`, and `spec close` use Remote HEAD before the same fallback list when no slice-specific base applies.
254
+
159
255
  ## Opciones útiles
160
256
 
161
257
  | Opción | Para qué sirve |
@@ -171,7 +267,7 @@ Reglas:
171
267
  | `--lang en\|es` | Sobrescribe el idioma efectivo de la salida humana para una ejecución. |
172
268
  | `--global` | En `config language set`, escribe la configuración global de usuario en `~/.quiver/config.json`. |
173
269
  | `--details` | Expande el dashboard humano completo; no combina con `--json` ni `--section`. |
174
- | `--section <name>` | Muestra una sección humana del dashboard; no combina con `--json` ni `--details`. |
270
+ | `--section <name>` | Muestra una sección humana del dashboard: `overview`, `specs`, `slices`, `blockers`, `warnings`, `agents`, `approvals`, `runs`, `active-slice` o `next-steps`; no combina con `--json` ni `--details`. |
175
271
  | `--limit <n>` | Limita listas del dashboard compacto entre 1 y 100; no combina con `--json`. |
176
272
  | `--provider codex\|claude\|gemini` | Selecciona CLI local de proveedor. |
177
273
  | `--model <model-id>` | Selecciona el identificador técnico del modelo para `ai agent set` o ejecución de proveedor. Quiver normaliza alias conocidos, pero no garantiza acceso en la cuenta del proveedor. |
@@ -181,6 +277,8 @@ Reglas:
181
277
  | `--ssh-host-alias <alias>` | Alias SSH de GitHub para validaciones de PR. |
182
278
  | `--identity-file <path>` | Ruta de la clave SSH para validaciones de PR. |
183
279
 
280
+ `graph --json` mantiene precedencia sobre `--format <tree|mermaid|dot>` cuando ambos se pasan: la salida sigue siendo JSON parseable y no render Mermaid/DOT. Los formatos humanos siguen disponibles sin `--json`.
281
+
184
282
  ## Matriz de flags UX
185
283
 
186
284
  | Comando | `--with-planner` | `--interactive` | `--review` |
@@ -0,0 +1,37 @@
1
+ # Slice JSON Schema
2
+
3
+ Quiver publishes a JSON Schema for executable `slice.json` files:
4
+
5
+ - Schema file: [`../schema/slice.schema.json`](../schema/slice.schema.json)
6
+ - Check command: `npm run schema:slice:check`
7
+
8
+ ## Source Of Truth
9
+
10
+ The schema follows the current runtime contract instead of an aspirational model:
11
+
12
+ - `src/create-quiver/commands/spec.js` validates spec and slice structure.
13
+ - `src/create-quiver/lib/slice.js` reads slice metadata for lifecycle commands.
14
+ - `src/create-quiver/lib/readiness.js` validates local execution and PR readiness.
15
+ - `src/create-quiver/lib/ai/spec-generator.js` generates and validates generated slice JSON.
16
+
17
+ `check-slice --local` still requires a non-empty `files` array. Newer scope tooling can prefer `allowed_write_paths` when it is present, but `files` remains part of the executable contract for now.
18
+
19
+ ## Validate Local Slices
20
+
21
+ Run:
22
+
23
+ ```bash
24
+ npm run schema:slice:check
25
+ ```
26
+
27
+ The check validates runtime-valid `specs/**/slices/**/slice.json` and `examples/**/slices/**/slice.json` fixtures, skips placeholder templates, and verifies representative invalid fixtures fail.
28
+
29
+ ## Editor Usage
30
+
31
+ Use this schema in editors or external validation tools by pointing them at:
32
+
33
+ ```txt
34
+ docs/schema/slice.schema.json
35
+ ```
36
+
37
+ The schema rejects unsafe path values such as absolute paths, `file:` URLs, drive-root paths, and `..` traversal segments.