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,221 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://quiver.dev/schemas/slice.schema.json",
4
+ "title": "Quiver slice.json",
5
+ "description": "Schema for executable Quiver slice contracts. It is derived from current runtime validation in src/create-quiver/commands/spec.js, src/create-quiver/lib/slice.js, src/create-quiver/lib/readiness.js, and generated slice output in src/create-quiver/lib/ai/spec-generator.js.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "slice_id",
10
+ "ticket",
11
+ "type",
12
+ "title",
13
+ "objective",
14
+ "description",
15
+ "git",
16
+ "must",
17
+ "not_included",
18
+ "acceptance",
19
+ "files",
20
+ "tests",
21
+ "estimated_hours",
22
+ "status"
23
+ ],
24
+ "properties": {
25
+ "slice_id": {
26
+ "type": "string",
27
+ "pattern": "^slice-[A-Za-z0-9][A-Za-z0-9._-]*$",
28
+ "description": "Directory-local slice id. Runtime spec validation also requires this value to match the parent slice directory name."
29
+ },
30
+ "ticket": {
31
+ "$ref": "#/definitions/nonEmptyString"
32
+ },
33
+ "type": {
34
+ "$ref": "#/definitions/nonEmptyString"
35
+ },
36
+ "title": {
37
+ "$ref": "#/definitions/nonEmptyString"
38
+ },
39
+ "objective": {
40
+ "$ref": "#/definitions/nonEmptyString"
41
+ },
42
+ "description": {
43
+ "$ref": "#/definitions/nonEmptyString"
44
+ },
45
+ "git": {
46
+ "type": "object",
47
+ "additionalProperties": false,
48
+ "required": [
49
+ "branch_type",
50
+ "base_branch",
51
+ "branch_slug",
52
+ "branch_name"
53
+ ],
54
+ "properties": {
55
+ "branch_type": {
56
+ "$ref": "#/definitions/gitRefPart",
57
+ "description": "Current slice start runtime supports feature, bugfix, and hotfix; historical slices may use other non-empty types."
58
+ },
59
+ "base_branch": {
60
+ "$ref": "#/definitions/gitRefPart"
61
+ },
62
+ "branch_slug": {
63
+ "$ref": "#/definitions/gitRefPart"
64
+ },
65
+ "branch_name": {
66
+ "$ref": "#/definitions/gitRef"
67
+ }
68
+ }
69
+ },
70
+ "ui_scope": {
71
+ "type": "object",
72
+ "additionalProperties": false,
73
+ "properties": {
74
+ "routes": {
75
+ "$ref": "#/definitions/stringList"
76
+ },
77
+ "components": {
78
+ "$ref": "#/definitions/stringList"
79
+ },
80
+ "layouts": {
81
+ "$ref": "#/definitions/stringList"
82
+ }
83
+ }
84
+ },
85
+ "must": {
86
+ "$ref": "#/definitions/stringList"
87
+ },
88
+ "not_included": {
89
+ "$ref": "#/definitions/stringList"
90
+ },
91
+ "acceptance": {
92
+ "$ref": "#/definitions/stringList"
93
+ },
94
+ "files": {
95
+ "allOf": [
96
+ {
97
+ "$ref": "#/definitions/pathList"
98
+ },
99
+ {
100
+ "type": "array",
101
+ "minItems": 1
102
+ }
103
+ ],
104
+ "description": "Legacy and still-required write scope. Current check-slice local validation requires this array to exist."
105
+ },
106
+ "expected_read_paths": {
107
+ "$ref": "#/definitions/pathList"
108
+ },
109
+ "allowed_write_paths": {
110
+ "$ref": "#/definitions/pathList",
111
+ "description": "Preferred write scope for graph and executor tooling. When present and non-empty, runtime scope logic prefers this over files."
112
+ },
113
+ "tests": {
114
+ "$ref": "#/definitions/stringList"
115
+ },
116
+ "documentation": {
117
+ "$ref": "#/definitions/pathList"
118
+ },
119
+ "dependencies": {
120
+ "$ref": "#/definitions/stringList",
121
+ "description": "Legacy dependency field used by older slice graph input."
122
+ },
123
+ "depends_on": {
124
+ "$ref": "#/definitions/stringList",
125
+ "description": "Preferred dependency field. Runtime graph validation normalizes bare slice ids and full spec/slice refs."
126
+ },
127
+ "parallel_safe": {
128
+ "type": "string",
129
+ "enum": [
130
+ "after_dependencies",
131
+ "conditional",
132
+ "maybe",
133
+ "never",
134
+ "no",
135
+ "yes"
136
+ ]
137
+ },
138
+ "parallel_safe_reason": {
139
+ "$ref": "#/definitions/nonEmptyString"
140
+ },
141
+ "validation_hints": {
142
+ "$ref": "#/definitions/stringList"
143
+ },
144
+ "assumptions": {
145
+ "$ref": "#/definitions/stringList"
146
+ },
147
+ "estimated_hours": {
148
+ "type": "number",
149
+ "minimum": 0
150
+ },
151
+ "actual_hours": {
152
+ "type": [
153
+ "number",
154
+ "null"
155
+ ],
156
+ "minimum": 0
157
+ },
158
+ "status": {
159
+ "type": "string",
160
+ "enum": [
161
+ "blocked",
162
+ "cancelled",
163
+ "completed",
164
+ "draft",
165
+ "planned",
166
+ "ready"
167
+ ]
168
+ },
169
+ "blocked_reason": {
170
+ "$ref": "#/definitions/nullableString"
171
+ },
172
+ "ready_at": {
173
+ "$ref": "#/definitions/nullableString"
174
+ },
175
+ "started_at": {
176
+ "$ref": "#/definitions/nullableString"
177
+ },
178
+ "completed_at": {
179
+ "$ref": "#/definitions/nullableString"
180
+ }
181
+ },
182
+ "definitions": {
183
+ "nonEmptyString": {
184
+ "type": "string",
185
+ "pattern": "\\S"
186
+ },
187
+ "nullableString": {
188
+ "type": [
189
+ "string",
190
+ "null"
191
+ ]
192
+ },
193
+ "stringList": {
194
+ "type": "array",
195
+ "items": {
196
+ "$ref": "#/definitions/nonEmptyString"
197
+ },
198
+ "uniqueItems": true
199
+ },
200
+ "projectRelativePath": {
201
+ "type": "string",
202
+ "pattern": "^(?!file:)(?!/)(?![A-Za-z]:[\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).*\\S.*$",
203
+ "description": "Project-relative path without file URLs, absolute paths, drive roots, or traversal segments. Runtime normalizes Windows separators to POSIX."
204
+ },
205
+ "pathList": {
206
+ "type": "array",
207
+ "items": {
208
+ "$ref": "#/definitions/projectRelativePath"
209
+ },
210
+ "uniqueItems": true
211
+ },
212
+ "gitRefPart": {
213
+ "type": "string",
214
+ "pattern": "^(?!/)(?!.*\\.\\.)(?!.*\\\\)(?!.*//)(?!.*\\/$)[A-Za-z0-9._/-]+$"
215
+ },
216
+ "gitRef": {
217
+ "type": "string",
218
+ "pattern": "^(?!/)(?!.*\\.\\.)(?!.*\\\\)(?!.*//)(?!.*\\/$)[A-Za-z0-9._/-]+$"
219
+ }
220
+ }
221
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "slice_id": "01-slice",
3
+ "slice_number": "01",
4
+ "title": "Snapshot verificable de ramas",
5
+ "objective": "Crear un inventario auditable de ramas locales y remotas con base, SHA, fecha, ahead/behind, frescura del dato y clasificacion inicial.",
6
+ "problem": "Evita tomar decisiones sobre ramas usando informacion incompleta, stale o ambigua.",
7
+ "value_outcome": "Reporte de ramas que permite decidir que revisar, extraer, cerrar o conservar sin modificar el repo.",
8
+ "scope": {
9
+ "includes": ["Analisis read-only de refs", "Clasificacion documental", "Registro de frescura del snapshot"],
10
+ "excludes": ["Fetch sin aprobacion", "Merge", "Rebase", "Push", "Eliminacion de ramas", "Implementacion de codigo"]
11
+ },
12
+ "actors": ["Tech Lead", "Maintainer", "Reviewer", "Implementador futuro"],
13
+ "preconditions": ["Repositorio Git disponible", "Refs locales/remotos presentes en snapshot local"],
14
+ "inputs": ["Refs de Git", "origin/HEAD", "origin/main", "Logs", "Metadatos de commits"],
15
+ "outputs": ["Inventario de ramas", "Clasificacion inicial", "Riesgos por rama"],
16
+ "workflow": [
17
+ {"step": 1, "name": "Detectar base", "description": "Detectar rama base desde origin/HEAD o convenciones conocidas."},
18
+ {"step": 2, "name": "Listar refs", "description": "Listar ramas locales y remotas."},
19
+ {"step": 3, "name": "Calcular metadata", "description": "Calcular SHA, fecha, ahead/behind y merge-base."},
20
+ {"step": 4, "name": "Clasificar", "description": "Asignar estado no destructivo a cada rama."}
21
+ ],
22
+ "business_rules": ["ahead=0 no autoriza eliminacion", "main local divergida no es base segura", "Toda eliminacion requiere aprobacion"],
23
+ "validations": ["Cada rama tiene SHA", "Cada rama tiene fecha", "Local/remota diferenciado", "Frescura registrada"],
24
+ "error_cases": ["Sin origin/HEAD", "Sin merge-base", "Refs remotos stale"],
25
+ "acceptance_criteria": ["Todas las ramas abiertas aparecen", "Ninguna rama se marca eliminable sin aprobacion", "Se registra fecha y SHA del snapshot", "ahead=0 queda como sin delta"],
26
+ "dependencies": {
27
+ "functional": [],
28
+ "technical": ["Git"],
29
+ "external": [],
30
+ "depends_on_slices": []
31
+ },
32
+ "implementation_order": 1,
33
+ "slicing_rationale": "Un snapshot confiable reduce riesgo antes de cualquier decision tecnica.",
34
+ "risks": ["Snapshot remoto stale"],
35
+ "open_questions": ["Se autorizara fetch antes de acciones finales?"]
36
+ }
@@ -0,0 +1,106 @@
1
+ # 01-slice - Snapshot verificable de ramas
2
+
3
+ ## 1. Nombre del slice
4
+
5
+ Snapshot verificable de ramas.
6
+
7
+ ## 2. Objetivo del slice
8
+
9
+ Crear un inventario auditable de ramas locales y remotas con base, SHA, fecha, ahead/behind, frescura del dato y clasificacion inicial.
10
+
11
+ ## 3. Problema puntual que resuelve
12
+
13
+ Evita tomar decisiones sobre ramas usando informacion incompleta, stale o ambigua.
14
+
15
+ ## 4. Valor observable que entrega
16
+
17
+ Un reporte de ramas que permite decidir que revisar, extraer, cerrar o conservar sin modificar el repo.
18
+
19
+ ## 5. Alcance especifico
20
+
21
+ Incluye analisis read-only de refs y clasificacion documental. No ejecuta acciones destructivas.
22
+
23
+ ## 6. Que incluye
24
+
25
+ - Rama base probable.
26
+ - SHA de base y de cada rama.
27
+ - Fecha de ultimo commit.
28
+ - Autor principal.
29
+ - Ahead/behind.
30
+ - Tipo local/remota.
31
+ - Frescura del snapshot.
32
+ - Clasificacion inicial.
33
+
34
+ ## 7. Que no incluye
35
+
36
+ - Fetch sin aprobacion.
37
+ - Merge, rebase, push o delete.
38
+ - Implementacion de codigo.
39
+ - Limpieza de ramas.
40
+
41
+ ## 8. Actores involucrados
42
+
43
+ Tech Lead, maintainer, reviewer e implementador futuro.
44
+
45
+ ## 9. Precondiciones
46
+
47
+ Repositorio Git disponible y refs locales/remotos presentes en el snapshot local.
48
+
49
+ ## 10. Entradas necesarias
50
+
51
+ Refs de Git, `origin/HEAD`, `origin/main`, logs y metadatos de commits.
52
+
53
+ ## 11. Flujo operativo paso a paso
54
+
55
+ 1. Detectar rama base desde `origin/HEAD` o convenciones conocidas.
56
+ 2. Listar refs locales y remotos.
57
+ 3. Calcular SHA, fecha, ahead/behind y merge-base.
58
+ 4. Identificar si el dato remoto requiere verificacion de frescura.
59
+ 5. Clasificar cada rama con estado no destructivo.
60
+ 6. Registrar riesgos y dudas por rama.
61
+
62
+ ## 12. Salidas esperadas
63
+
64
+ Inventario de ramas con clasificacion y evidencia suficiente para planificar slices posteriores.
65
+
66
+ ## 13. Reglas de negocio aplicables
67
+
68
+ - `ahead=0` significa sin delta pendiente, no eliminable automaticamente.
69
+ - `main` local divergida no es base segura.
70
+ - Toda recomendacion de eliminacion queda pendiente de aprobacion.
71
+
72
+ ## 14. Validaciones
73
+
74
+ - Cada rama tiene SHA, fecha y base probable.
75
+ - Cada rama local/remota esta diferenciada.
76
+ - Cada estado de limpieza distingue cerrable, eliminable, protegida e historica.
77
+
78
+ ## 15. Manejo de errores o edge cases
79
+
80
+ - Si no hay `origin/HEAD`, usar candidato documentado y marcar supuesto.
81
+ - Si una rama no tiene merge-base, marcar `requiere revision manual`.
82
+ - Si refs remotos estan stale, marcar `requiere verificacion remota`.
83
+
84
+ ## 16. Criterios de aceptacion
85
+
86
+ - Todas las ramas abiertas aparecen en el inventario.
87
+ - Ninguna rama se clasifica como eliminable sin condicion de aprobacion.
88
+ - El reporte incluye fecha y SHA del snapshot.
89
+ - Las ramas con `ahead=0` quedan como `sin delta`, no como borrables.
90
+ - Las ramas conflictivas quedan marcadas para analisis posterior.
91
+
92
+ ## 17. Dependencias tecnicas, funcionales o externas
93
+
94
+ Git local y refs existentes.
95
+
96
+ ## 18. Depende de slices
97
+
98
+ Ninguno.
99
+
100
+ ## 19. Riesgos / decisiones abiertas
101
+
102
+ El snapshot puede quedar obsoleto si no se actualizan refs remotos.
103
+
104
+ ## 20. Pendientes / preguntas abiertas
105
+
106
+ Definir si se autorizara `fetch` antes de tomar decisiones remotas finales.
@@ -0,0 +1,80 @@
1
+ # CLOSURE_BRIEF - 01-slice
2
+
3
+ ## Resultado
4
+
5
+ Completado.
6
+
7
+ ## Evidencia
8
+
9
+ Snapshot local tomado el `2026-06-08T17:04:35-0300`.
10
+
11
+ Base usada: `origin/main` @ `7bc234bbf96fb17d8c44863fac25430b59fc832e`.
12
+
13
+ Estado del working tree al iniciar snapshot: `main...origin/main [ahead 1, behind 44]`.
14
+
15
+ Verificacion remota no destructiva ejecutada el `2026-06-08T17:12:45-0300`:
16
+
17
+ | Campo | Valor |
18
+ |---|---|
19
+ | Remote URL | `git@github-personal:FabriJuncal/quiver.git` |
20
+ | `origin/main` local | `7bc234bbf96fb17d8c44863fac25430b59fc832e` |
21
+ | `main` remoto | `7bc234bbf96fb17d8c44863fac25430b59fc832e` |
22
+ | `origin/main` fresco | Si |
23
+ | Heads remotos actuales | 10 |
24
+ | Remote-tracking refs locales bajo `origin` | 13 |
25
+
26
+ Remote-tracking refs locales stale detectados, sin pruning automatico:
27
+
28
+ - `origin/feature/QUIVER-52-02-v52-generated-cli-reference`
29
+ - `origin/feature/QUIVER-52-03-v52-release-package-hygiene`
30
+
31
+ Resumen de refs revisados:
32
+
33
+ | Metrica | Valor |
34
+ |---|---:|
35
+ | Total refs revisados, excluyendo `origin/main` | 76 |
36
+ | Locales | 65 |
37
+ | Remotos | 11 |
38
+ | Sin delta contra `origin/main` | 60 |
39
+ | Con commits por encima de `origin/main` | 16 |
40
+ | Con conflictos textuales probables por `merge-tree` | 13 |
41
+ | Sin merge-base / desconocidos | 0 |
42
+
43
+ Refs con commits por encima de `origin/main`:
44
+
45
+ | Ref | Ahead | Behind | Conflicto textual | Estado |
46
+ |---|---:|---:|---|---|
47
+ | `backup/QUIVER-52-03-before-squash` | 3 | 2 | No | revisar como backup, no merge directo |
48
+ | `backup/main-before-pull-v31` | 9 | 111 | Si | conflicto / backup obsoleto |
49
+ | `docs/QUIVER-02-decision-log-context-checkpoint` | 1 | 326 | Si | conflicto / revert viejo |
50
+ | `drafts/v19-v22-orchestration-followups` | 1 | 286 | No | revisar como draft documental |
51
+ | `feature/QUIVER-01-ci-matrix-verified` | 2 | 300 | Si | revisar/extraccion manual |
52
+ | `feature/QUIVER-03-project-map-reading-order` | 1 | 324 | Si | conflicto / revert viejo |
53
+ | `feature/QUIVER-20-ai-cli-orchestration` | 1 | 253 | Si | conflicto / probablemente obsoleto |
54
+ | `feature/QUIVER-46-49-cli-modernization` | 3 | 44 | Si | fuente de extraccion, no merge completo |
55
+ | `feature/QUIVER-50-01-runtime-minimum-and-package-metadata` | 1 | 38 | Si | extraccion conceptual separada |
56
+ | `feature/QUIVER-50-03-v50-security-reporting` | 1 | 38 | Si | extraccion documental manual |
57
+ | `feature/QUIVER-50-06-contributor-and-architecture-docs` | 1 | 38 | Si | extraccion documental manual |
58
+ | `main` | 1 | 44 | Si | divergida, no usar como base |
59
+ | `origin/drafts/v19-v22-orchestration-followups` | 1 | 286 | No | duplicado remoto de draft |
60
+ | `origin/feature/QUIVER-01-ci-matrix-verified` | 2 | 300 | Si | duplicado remoto para revisar |
61
+ | `origin/feature/QUIVER-20-ai-cli-orchestration` | 1 | 253 | Si | duplicado remoto obsoleto |
62
+ | `origin/feature/QUIVER-46-49-cli-modernization` | 3 | 44 | Si | duplicado remoto de fuente de extraccion |
63
+
64
+ ## Cambios de comportamiento
65
+
66
+ Ninguno. Solo se ejecutaron comandos Git read-only y `merge-tree`.
67
+
68
+ ## Regresiones detectadas
69
+
70
+ Ninguna; no se modifico codigo ni ramas.
71
+
72
+ ## Riesgos residuales
73
+
74
+ - No se ejecuto `fetch` ni `prune`; hay remote-tracking refs locales stale documentados.
75
+ - `merge-tree` cubre conflicto textual, no conflicto semantico ni de contrato.
76
+ - Ramas `ahead=0` quedan como `sin delta`, no como eliminables.
77
+
78
+ ## Decision sobre ramas
79
+
80
+ No se cierra ni elimina ninguna rama. Las ramas fuente de extraccion quedan retenidas hasta completar la matriz de extraccion.
@@ -0,0 +1,39 @@
1
+ # EXECUTION_BRIEF - 01-slice
2
+
3
+ ## Objetivo
4
+
5
+ Generar un snapshot verificable de ramas sin modificar el repo.
6
+
7
+ ## Base segura
8
+
9
+ Usar `origin/main` y registrar su SHA exacto al momento de ejecucion.
10
+
11
+ ## Archivos candidatos
12
+
13
+ Solo documentos de evidencia del slice si se implementa documentacion posterior.
14
+
15
+ ## Archivos excluidos
16
+
17
+ Codigo fuente, package files, ramas Git y configuracion remota.
18
+
19
+ ## Funcionalidad existente afectada
20
+
21
+ Ninguna. Este slice es read-only.
22
+
23
+ ## Matriz antes/despues
24
+
25
+ No aplica porque no modifica comportamiento.
26
+
27
+ ## Validaciones
28
+
29
+ - Inventario incluye local/remota.
30
+ - Inventario registra SHA y fecha.
31
+ - No hay acciones destructivas.
32
+
33
+ ## Riesgos
34
+
35
+ Snapshot remoto desactualizado si no se autoriza `fetch`.
36
+
37
+ ## Rollback
38
+
39
+ No aplica a codigo. Si el reporte es incorrecto, descartarlo y regenerarlo con snapshot fresco.
@@ -0,0 +1,36 @@
1
+ {
2
+ "slice_id": "02-slice",
3
+ "slice_number": "02",
4
+ "title": "Baseline de comportamiento actual",
5
+ "objective": "Documentar el comportamiento actual que no debe romperse antes de cualquier extraccion o refactor.",
6
+ "problem": "Sin baseline, la regla de no quitar funcionalidad no es verificable.",
7
+ "value_outcome": "Matriz de comportamiento actual para comandos, flags, aliases, outputs, JSON, exit codes, side effects, exports, scripts, templates y docs generadas.",
8
+ "scope": {
9
+ "includes": ["Comandos", "Aliases", "Flags", "Help", "JSON", "Exit codes", "Stdout/stderr", "Archivos generados", "Scripts", "Exports", "Templates", "Docs generadas"],
10
+ "excludes": ["Cambios de parser", "Cambios de comandos", "Bumps de version", "Reemplazo de tests"]
11
+ },
12
+ "actors": ["Tech Lead", "Reviewer", "Usuarios CLI", "Automatizaciones"],
13
+ "preconditions": ["01-slice completado o snapshot aprobado"],
14
+ "inputs": ["CLI actual", "Documentacion actual", "Tests existentes"],
15
+ "outputs": ["Matriz baseline", "Lista de gaps"],
16
+ "workflow": [
17
+ {"step": 1, "name": "Enumerar comandos", "description": "Listar comandos y aliases actuales."},
18
+ {"step": 2, "name": "Registrar contratos", "description": "Registrar flags, help, JSON, exit codes y streams."},
19
+ {"step": 3, "name": "Registrar side effects", "description": "Documentar archivos generados, scripts, exports y templates."},
20
+ {"step": 4, "name": "Marcar gaps", "description": "Listar areas sin evidencia suficiente."}
21
+ ],
22
+ "business_rules": ["Ningun slice tecnico avanza sin baseline", "JSON y exit codes son contrato", "Falta de evidencia se marca como riesgo"],
23
+ "validations": ["Cada comando critico tiene entrada", "Cada gap esta marcado", "La matriz permite comparacion futura"],
24
+ "error_cases": ["Comandos con side effects", "Outputs variables", "JSON no soportado"],
25
+ "acceptance_criteria": ["Existe matriz baseline", "Cubre comandos/flags/aliases/help/JSON/exit codes/side effects", "Gaps listados", "Cambios futuros comparan contra baseline"],
26
+ "dependencies": {
27
+ "functional": ["Snapshot aprobado"],
28
+ "technical": ["CLI actual"],
29
+ "external": [],
30
+ "depends_on_slices": ["01-slice"]
31
+ },
32
+ "implementation_order": 2,
33
+ "slicing_rationale": "El baseline transforma no regresion en criterio verificable.",
34
+ "risks": ["Cobertura incompleta de comandos"],
35
+ "open_questions": ["Cuales son comandos criticos minimos si se prioriza?"]
36
+ }
@@ -0,0 +1,108 @@
1
+ # 02-slice - Baseline de comportamiento actual
2
+
3
+ ## 1. Nombre del slice
4
+
5
+ Baseline de comportamiento actual.
6
+
7
+ ## 2. Objetivo del slice
8
+
9
+ Documentar el comportamiento actual que no debe romperse antes de cualquier extraccion o refactor.
10
+
11
+ ## 3. Problema puntual que resuelve
12
+
13
+ Sin baseline, la regla de no quitar funcionalidad no es verificable.
14
+
15
+ ## 4. Valor observable que entrega
16
+
17
+ Matriz de comportamiento actual para comandos, flags, aliases, outputs, JSON, exit codes, side effects, exports, scripts, templates y docs generadas.
18
+
19
+ ## 5. Alcance especifico
20
+
21
+ Crear un contrato de observacion del estado actual. No cambia codigo ni tests.
22
+
23
+ ## 6. Que incluye
24
+
25
+ - Inventario de comandos visibles.
26
+ - Aliases y flags.
27
+ - `--help` y `--json`.
28
+ - Exit codes para exito/error.
29
+ - Stdout/stderr esperados.
30
+ - Archivos generados y rutas.
31
+ - Scripts CI relevantes.
32
+ - Exports internos usados por tests o consumidores.
33
+ - Templates y docs generadas.
34
+
35
+ ## 7. Que no incluye
36
+
37
+ - Cambios de parser.
38
+ - Cambios de comandos.
39
+ - Bumps de version.
40
+ - Reemplazo de tests.
41
+
42
+ ## 8. Actores involucrados
43
+
44
+ Tech Lead, reviewer, usuarios CLI y automatizaciones.
45
+
46
+ ## 9. Precondiciones
47
+
48
+ `01-slice` completado o snapshot de base aprobado.
49
+
50
+ ## 10. Entradas necesarias
51
+
52
+ CLI actual sobre `origin/main`, documentacion actual y tests existentes.
53
+
54
+ ## 11. Flujo operativo paso a paso
55
+
56
+ 1. Enumerar comandos y aliases actuales.
57
+ 2. Registrar flags por comando.
58
+ 3. Capturar comportamiento de ayuda.
59
+ 4. Registrar contratos JSON cuando existan.
60
+ 5. Registrar exit codes y streams.
61
+ 6. Registrar archivos generados y side effects.
62
+ 7. Registrar scripts y exports relevantes.
63
+ 8. Identificar areas sin evidencia.
64
+
65
+ ## 12. Salidas esperadas
66
+
67
+ Matriz de baseline y lista de gaps que bloquean extracciones futuras.
68
+
69
+ ## 13. Reglas de negocio aplicables
70
+
71
+ - Ningun slice tecnico puede avanzar sin baseline suficiente.
72
+ - `--json`, exit codes y side effects son contrato funcional.
73
+ - Falta de evidencia se documenta como riesgo, no se asume seguro.
74
+
75
+ ## 14. Validaciones
76
+
77
+ - Cada comando critico tiene entrada en la matriz.
78
+ - Cada cambio futuro puede referenciar baseline.
79
+ - Los gaps estan marcados explicitamente.
80
+
81
+ ## 15. Manejo de errores o edge cases
82
+
83
+ - Si un comando no puede ejecutarse sin side effects, registrar precondiciones y no forzarlo.
84
+ - Si no existe JSON mode, registrar como no soportado.
85
+ - Si hay outputs variables, registrar partes estables.
86
+
87
+ ## 16. Criterios de aceptacion
88
+
89
+ - Existe matriz baseline antes de extraer codigo.
90
+ - Baseline cubre comandos, flags, aliases, help, JSON, exit codes y side effects.
91
+ - Las areas no cubiertas estan listadas como riesgos.
92
+ - Ningun cambio futuro puede declararse no regresivo sin comparar contra este baseline.
93
+
94
+ ## 17. Dependencias tecnicas, funcionales o externas
95
+
96
+ Snapshot aprobado y acceso a CLI/documentacion actual.
97
+
98
+ ## 18. Depende de slices
99
+
100
+ `01-slice`.
101
+
102
+ ## 19. Riesgos / decisiones abiertas
103
+
104
+ Puede ser costoso cubrir todos los comandos; si se prioriza, debe quedar explicito.
105
+
106
+ ## 20. Pendientes / preguntas abiertas
107
+
108
+ Definir comandos criticos minimos si el baseline completo requiere varias iteraciones.