ultra-builder-pro-cli 0.25.0 → 0.26.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 (241) hide show
  1. package/.ultra-template/contexts/TEMPLATE.md +87 -0
  2. package/.ultra-template/decisions/.gitkeep +1 -0
  3. package/.ultra-template/evidence/.gitkeep +1 -0
  4. package/.ultra-template/north-star.md +46 -0
  5. package/.ultra-template/research/.gitkeep +1 -0
  6. package/.ultra-template/specs/discovery.md +2 -2
  7. package/.ultra-template/tasks.json +3 -0
  8. package/.ultra-template/test-report.json +27 -0
  9. package/CHANGELOG.md +49 -0
  10. package/README.md +217 -579
  11. package/adapters/_shared/delegate-profiles/kimi-read-only.md +15 -0
  12. package/adapters/_shared/delegate-profiles/kimi-write.md +17 -0
  13. package/adapters/_shared/file-ops.cjs +76 -2
  14. package/adapters/_shared/host-profile.cjs +97 -0
  15. package/adapters/_shared/plugin-core.cjs +204 -0
  16. package/adapters/_shared/runtime-assets.cjs +31 -96
  17. package/adapters/claude.js +92 -291
  18. package/adapters/codex.js +309 -842
  19. package/adapters/grok.js +143 -1469
  20. package/adapters/kimi.js +124 -1053
  21. package/adapters/opencode.js +230 -742
  22. package/bin/delegate-worker.cjs +323 -0
  23. package/bin/delegate.cjs +456 -0
  24. package/bin/install.js +38 -11
  25. package/docs/ARCHITECTURE.md +122 -216
  26. package/docs/ARTIFACT-AUTHORITY.md +90 -268
  27. package/docs/DECISIONS.md +75 -87
  28. package/docs/PHILOSOPHY.md +177 -0
  29. package/docs/PLUGIN-ISOLATION-CONTRACT.md +62 -39
  30. package/docs/RUNTIME-COMPAT-MATRIX.md +99 -156
  31. package/docs/SKILL-AUTHORING.md +94 -73
  32. package/docs/WORKFLOW-LIFECYCLE.md +93 -189
  33. package/hooks/README.md +17 -37
  34. package/hooks/_common.py +113 -0
  35. package/hooks/adapters/codex.py +9 -16
  36. package/hooks/adapters/grok.py +5 -5
  37. package/hooks/adapters/kimi.py +8 -14
  38. package/hooks/block_dangerous_commands.py +95 -0
  39. package/hooks/compact_context.py +65 -0
  40. package/hooks/mid_workflow_recall.py +25 -0
  41. package/hooks/post_edit_guard.py +105 -0
  42. package/hooks/session_context.py +30 -0
  43. package/package.json +17 -52
  44. package/skills/ultra-change/SKILL.md +97 -50
  45. package/skills/ultra-change/references/change-contract.md +40 -1
  46. package/skills/ultra-delegate/SKILL.md +82 -0
  47. package/skills/ultra-delegate/references/delegation-contract.md +51 -0
  48. package/skills/ultra-delegate/scripts/delegate_wait.py +86 -0
  49. package/skills/ultra-deliver/SKILL.md +61 -42
  50. package/skills/ultra-deliver/references/baseline-reconciliation.md +39 -20
  51. package/skills/ultra-dev/SKILL.md +96 -62
  52. package/skills/ultra-dev/references/debugging.md +22 -0
  53. package/skills/ultra-domain-modeling/SKILL.md +79 -0
  54. package/skills/ultra-grilling/SKILL.md +79 -0
  55. package/skills/ultra-init/SKILL.md +94 -37
  56. package/skills/ultra-init/references/brownfield-adoption.md +33 -83
  57. package/skills/ultra-init/scripts/init_project.cjs +84 -0
  58. package/skills/ultra-plan/SKILL.md +88 -68
  59. package/skills/ultra-research/SKILL.md +62 -48
  60. package/skills/ultra-research/references/00-problem-validation.md +5 -5
  61. package/skills/ultra-research/references/01-opportunity-discovery.md +3 -3
  62. package/skills/ultra-research/references/02-market-assessment.md +5 -4
  63. package/skills/ultra-research/references/03-competitive-landscape.md +3 -3
  64. package/skills/ultra-research/references/04-product-strategy.md +3 -3
  65. package/skills/ultra-research/references/05-assumptions-validation.md +5 -5
  66. package/skills/ultra-research/references/10-user-personas.md +3 -2
  67. package/skills/ultra-research/references/11-user-scenarios.md +3 -3
  68. package/skills/ultra-research/references/20-user-stories.md +4 -3
  69. package/skills/ultra-research/references/21-features-scope.md +3 -2
  70. package/skills/ultra-research/references/22-success-metrics.md +3 -3
  71. package/skills/ultra-research/references/30-architecture-context.md +3 -3
  72. package/skills/ultra-research/references/31-solution-strategy.md +3 -3
  73. package/skills/ultra-research/references/32-building-blocks.md +3 -3
  74. package/skills/ultra-research/references/40-deployment.md +3 -3
  75. package/skills/ultra-research/references/41-quality-risks.md +3 -3
  76. package/skills/ultra-research/references/99-synthesis.md +7 -7
  77. package/skills/ultra-review/SKILL.md +59 -32
  78. package/skills/ultra-review/references/code.md +17 -0
  79. package/skills/ultra-review/references/comments.md +12 -0
  80. package/skills/ultra-review/references/design.md +12 -0
  81. package/skills/ultra-review/references/errors.md +13 -0
  82. package/skills/ultra-review/references/spec.md +13 -0
  83. package/skills/ultra-review/references/tests.md +12 -0
  84. package/skills/ultra-review/references/worker-packet.md +40 -0
  85. package/skills/ultra-review/scripts/review_wait.py +26 -15
  86. package/skills/ultra-status/SKILL.md +61 -36
  87. package/skills/ultra-tdd/SKILL.md +81 -0
  88. package/skills/ultra-tdd/references/templates/README.md +20 -0
  89. package/skills/ultra-tdd/references/templates/feature-flag-default-audit.sh +79 -0
  90. package/skills/ultra-tdd/references/templates/persistence-real.ts +78 -0
  91. package/skills/ultra-tdd/references/templates/testcontainer-postgres.py +78 -0
  92. package/skills/ultra-tdd/references/templates/testcontainer-postgres.ts +73 -0
  93. package/skills/ultra-tdd/references/templates/vertical-slice.ts +66 -0
  94. package/skills/ultra-tdd/references/test-execution.md +18 -0
  95. package/skills/ultra-test/SKILL.md +70 -30
  96. package/skills/ultra-test/references/export-syntax.md +18 -0
  97. package/skills/ultra-test/scripts/worktree_digest.cjs +54 -0
  98. package/skills/ultra-think/SKILL.md +49 -27
  99. package/skills/ultra-think/references/autonomy-boundary.md +48 -0
  100. package/skills/ultra-think/references/interaction-boundary.md +18 -33
  101. package/.ultra-template/docs/research/README.md +0 -55
  102. package/.ultra-template/reports/templates/delivery-report.json +0 -17
  103. package/.ultra-template/reports/templates/test-report.json +0 -18
  104. package/.ultra-template/tasks/tasks.json +0 -15
  105. package/.ultra-template/templates/task-context.md +0 -19
  106. package/adapters/_shared/codex-assets.cjs +0 -725
  107. package/adapters/_shared/codex-ultra-tools-entry.cjs +0 -11
  108. package/adapters/_shared/interaction-contract.cjs +0 -129
  109. package/adapters/_shared/path-rewrite.cjs +0 -79
  110. package/adapters/_shared/runtime-native.cjs +0 -132
  111. package/adapters/_shared/settings-merge.cjs +0 -76
  112. package/agents/code-reviewer.md +0 -42
  113. package/agents/debugger.md +0 -40
  114. package/agents/review-code.md +0 -49
  115. package/agents/review-comments.md +0 -38
  116. package/agents/review-coordinator.md +0 -56
  117. package/agents/review-design.md +0 -40
  118. package/agents/review-errors.md +0 -43
  119. package/agents/review-spec.md +0 -39
  120. package/agents/review-tests.md +0 -40
  121. package/agents/tdd-runner.md +0 -38
  122. package/bin/orchestrator.js +0 -383
  123. package/commands/ultra-change.md +0 -10
  124. package/commands/ultra-deliver.md +0 -10
  125. package/commands/ultra-dev.md +0 -10
  126. package/commands/ultra-doctor.md +0 -10
  127. package/commands/ultra-init.md +0 -10
  128. package/commands/ultra-plan.md +0 -10
  129. package/commands/ultra-research.md +0 -10
  130. package/commands/ultra-review.md +0 -10
  131. package/commands/ultra-status.md +0 -10
  132. package/commands/ultra-test.md +0 -10
  133. package/commands/ultra-think.md +0 -10
  134. package/docs/AGENT-CONTEXT.md +0 -191
  135. package/docs/COMMIT-HASH-BACKFILL.md +0 -51
  136. package/docs/LEGACY-CLI-CROSSWALK.md +0 -175
  137. package/docs/ROADMAP.md +0 -101
  138. package/docs/STATE-DB-ACCESS-POLICY.md +0 -161
  139. package/hooks/active_task_context.py +0 -152
  140. package/hooks/context_envelope.py +0 -100
  141. package/hooks/health_check.py +0 -196
  142. package/hooks/pre_stop_check.py +0 -66
  143. package/hooks/runtime_paths.py +0 -396
  144. package/hooks/subagent_tracker.py +0 -88
  145. package/hooks/workflow_checkpoint.py +0 -76
  146. package/hooks/workflow_context.py +0 -48
  147. package/hooks/workflow_resume.py +0 -84
  148. package/mcp-server/hook-context.cjs +0 -38
  149. package/mcp-server/hook-event.cjs +0 -34
  150. package/mcp-server/lib/archive-journal.cjs +0 -1119
  151. package/mcp-server/lib/archive-mutation-worker.py +0 -365
  152. package/mcp-server/lib/artifact-registry.cjs +0 -1232
  153. package/mcp-server/lib/baseline-workflow.cjs +0 -1193
  154. package/mcp-server/lib/canonical-json.cjs +0 -19
  155. package/mcp-server/lib/change-authority.cjs +0 -26
  156. package/mcp-server/lib/change-packet.cjs +0 -790
  157. package/mcp-server/lib/change-workflow.cjs +0 -65
  158. package/mcp-server/lib/context-envelope.cjs +0 -581
  159. package/mcp-server/lib/context-paths.cjs +0 -142
  160. package/mcp-server/lib/decision-records.cjs +0 -423
  161. package/mcp-server/lib/delivery-transaction.cjs +0 -471
  162. package/mcp-server/lib/doctor-backup-worker.cjs +0 -328
  163. package/mcp-server/lib/doctor.cjs +0 -627
  164. package/mcp-server/lib/git-bootstrap.cjs +0 -651
  165. package/mcp-server/lib/init-project.cjs +0 -1021
  166. package/mcp-server/lib/kernel-change-workflow.cjs +0 -2029
  167. package/mcp-server/lib/legacy-change-workflow.cjs +0 -3032
  168. package/mcp-server/lib/managed-file-write.cjs +0 -172
  169. package/mcp-server/lib/plan-checkpoint.cjs +0 -177
  170. package/mcp-server/lib/plan-publication-worker.cjs +0 -830
  171. package/mcp-server/lib/plan-store.cjs +0 -794
  172. package/mcp-server/lib/prd-parser.cjs +0 -83
  173. package/mcp-server/lib/pricing.cjs +0 -44
  174. package/mcp-server/lib/project-context.cjs +0 -178
  175. package/mcp-server/lib/projector.cjs +0 -386
  176. package/mcp-server/lib/provider-refs.cjs +0 -42
  177. package/mcp-server/lib/runtime-paths.cjs +0 -1687
  178. package/mcp-server/lib/runtime-state.cjs +0 -222
  179. package/mcp-server/lib/safe-project-file.cjs +0 -385
  180. package/mcp-server/lib/stage-checkpoints.cjs +0 -463
  181. package/mcp-server/lib/state-authority.cjs +0 -95
  182. package/mcp-server/lib/state-db.cjs +0 -1580
  183. package/mcp-server/lib/state-ops.cjs +0 -1428
  184. package/mcp-server/lib/task-contract.cjs +0 -404
  185. package/mcp-server/lib/task-expander.cjs +0 -105
  186. package/mcp-server/lib/task-ledger.cjs +0 -1964
  187. package/mcp-server/lib/telemetry.cjs +0 -85
  188. package/mcp-server/lib/topo.cjs +0 -131
  189. package/mcp-server/lib/ultra-facade.cjs +0 -2684
  190. package/mcp-server/lib/worker-packet.cjs +0 -358
  191. package/mcp-server/server.cjs +0 -437
  192. package/orchestrator/auto-merge.cjs +0 -128
  193. package/orchestrator/daemon.cjs +0 -264
  194. package/orchestrator/dispatch-rules.cjs +0 -78
  195. package/orchestrator/parallel-orchestrator.cjs +0 -903
  196. package/orchestrator/planner/plan-builder.cjs +0 -125
  197. package/orchestrator/recovery.cjs +0 -188
  198. package/orchestrator/session-close-journal-worker.cjs +0 -5
  199. package/orchestrator/session-close-journal.cjs +0 -1014
  200. package/orchestrator/session-runner.cjs +0 -1153
  201. package/orchestrator/worktree-manager.cjs +0 -282
  202. package/settings.json +0 -7
  203. package/skills/cc-collab/SKILL.md +0 -42
  204. package/skills/code-review-expert/SKILL.md +0 -43
  205. package/skills/code-review-expert/references/correctness-reliability.md +0 -30
  206. package/skills/code-review-expert/references/design-boundaries.md +0 -26
  207. package/skills/code-review-expert/references/removal-plan.md +0 -24
  208. package/skills/codex-collab/SKILL.md +0 -49
  209. package/skills/codex-collab/evals/evals.json +0 -35
  210. package/skills/integration-rules/SKILL.md +0 -32
  211. package/skills/security-rules/SKILL.md +0 -38
  212. package/skills/testing-rules/SKILL.md +0 -32
  213. package/skills/ultra-doctor/SKILL.md +0 -41
  214. package/skills/ultra-plan/references/semantic-preflight.md +0 -20
  215. package/skills/ultra-verify/SKILL.md +0 -46
  216. package/skills/ultra-verify/evals/evals.json +0 -46
  217. package/skills/ultra-verify/references/cross-verify-modes.md +0 -28
  218. package/skills/ultra-verify/references/evidence-status.md +0 -21
  219. package/skills/ultra-verify/scripts/verify_wait.py +0 -94
  220. package/spec/cli-protocol.md +0 -102
  221. package/spec/mcp-tools.yaml +0 -312
  222. package/spec/schemas/baseline-reconciliation.v1.schema.json +0 -73
  223. package/spec/schemas/change-delta.v1.schema.json +0 -153
  224. package/spec/schemas/command-manifest.schema.json +0 -29
  225. package/spec/schemas/context-file.v4.5.schema.json +0 -54
  226. package/spec/schemas/delivery-report.v1.schema.json +0 -66
  227. package/spec/schemas/documentation-reconciliation.v1.schema.json +0 -106
  228. package/spec/schemas/mcp-tools.schema.json +0 -136
  229. package/spec/schemas/skill-manifest.schema.json +0 -24
  230. package/spec/schemas/state-db.sql +0 -641
  231. package/spec/schemas/task-ledger.v2.schema.json +0 -296
  232. package/spec/schemas/tasks.v4.5.schema.json +0 -96
  233. package/spec/schemas/test-report.v1.schema.json +0 -225
  234. package/ultra-tools/cli.cjs +0 -129
  235. package/ultra-tools/commands/db.cjs +0 -226
  236. package/ultra-tools/commands/legacy-memory.cjs +0 -159
  237. package/ultra-tools/commands/migrate.cjs +0 -1386
  238. package/ultra-tools/commands/session.cjs +0 -213
  239. package/ultra-tools/commands/status.cjs +0 -559
  240. package/ultra-tools/commands/system.cjs +0 -498
  241. package/ultra-tools/commands/task.cjs +0 -105
@@ -1,296 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://ultra-builder-pro.dev/spec/task-ledger.v2.schema.json",
4
- "title": "Ultra team authority ledger v2",
5
- "description": "Git-facing checkpoint ledger for durable baseline, Change, decision, Stage Checkpoint, and task authority. Live sessions, leases, worktrees, and in-progress ownership remain in .ultra/.runtime/state.db.",
6
- "type": "object",
7
- "required": [
8
- "kind",
9
- "schema_version",
10
- "generation",
11
- "parent_digest",
12
- "ancestors",
13
- "state_digest",
14
- "published_at",
15
- "reason",
16
- "baseline",
17
- "changes",
18
- "decisions",
19
- "checkpoints",
20
- "tasks"
21
- ],
22
- "additionalProperties": false,
23
- "properties": {
24
- "kind": { "const": "ultra-team-task-ledger" },
25
- "schema_version": { "const": "2.0" },
26
- "generation": { "type": "integer", "minimum": 0 },
27
- "parent_digest": {
28
- "type": ["string", "null"],
29
- "pattern": "^[0-9a-f]{64}$"
30
- },
31
- "ancestors": {
32
- "type": "array",
33
- "maxItems": 64,
34
- "items": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
35
- },
36
- "state_digest": {
37
- "type": "string",
38
- "pattern": "^[0-9a-f]{64}$"
39
- },
40
- "published_at": {
41
- "type": ["string", "null"],
42
- "format": "date-time"
43
- },
44
- "reason": { "type": "string", "minLength": 1 },
45
- "baseline": {
46
- "oneOf": [
47
- { "type": "null" },
48
- { "$ref": "#/$defs/baseline" }
49
- ]
50
- },
51
- "changes": {
52
- "type": "array",
53
- "items": {
54
- "type": "object",
55
- "required": [
56
- "id",
57
- "title",
58
- "kind",
59
- "status",
60
- "intent",
61
- "artifact_root",
62
- "revision",
63
- "parent_digest",
64
- "digest"
65
- ],
66
- "additionalProperties": false,
67
- "properties": {
68
- "id": { "type": "string" },
69
- "title": { "type": "string", "minLength": 1 },
70
- "kind": { "type": "string", "minLength": 1, "maxLength": 80 },
71
- "status": { "type": "string", "enum": ["active", "archived", "cancelled"] },
72
- "intent": { "type": "string", "minLength": 1 },
73
- "docs_impact": { "type": "object" },
74
- "provider_refs": { "type": "object" },
75
- "baseline_bypass": { "type": "object" },
76
- "contract": { "type": "object" },
77
- "classification": { "type": "object" },
78
- "research_disposition": { "type": "object" },
79
- "base_commit": { "type": "string" },
80
- "artifact_root": { "type": "string", "minLength": 1 },
81
- "closed_at": { "type": "string" },
82
- "supersedes_id": { "type": "string", "minLength": 1 },
83
- "revision": { "type": "integer", "minimum": 1 },
84
- "parent_digest": {
85
- "type": ["string", "null"],
86
- "pattern": "^[0-9a-f]{64}$"
87
- },
88
- "digest": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
89
- }
90
- }
91
- },
92
- "decisions": {
93
- "type": "array",
94
- "items": {
95
- "type": "object",
96
- "required": [
97
- "id",
98
- "scope_type",
99
- "scope_id",
100
- "selection",
101
- "effects",
102
- "status",
103
- "artifact_path",
104
- "artifact_digest",
105
- "digest"
106
- ],
107
- "additionalProperties": false,
108
- "properties": {
109
- "id": { "type": "string", "minLength": 1 },
110
- "scope_type": { "type": "string", "enum": ["baseline", "change"] },
111
- "scope_id": { "type": "string", "minLength": 1 },
112
- "selection": { "type": "string", "minLength": 1 },
113
- "effects": { "type": "object" },
114
- "status": { "type": "string", "enum": ["accepted", "superseded"] },
115
- "artifact_path": { "type": "string", "minLength": 1 },
116
- "artifact_digest": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
117
- "supersedes_id": { "type": "string" },
118
- "digest": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
119
- }
120
- }
121
- },
122
- "checkpoints": {
123
- "type": "array",
124
- "items": {
125
- "type": "object",
126
- "required": [
127
- "stage",
128
- "scope_type",
129
- "scope_id",
130
- "revision",
131
- "payload",
132
- "evidence",
133
- "diagnostics",
134
- "status",
135
- "digest"
136
- ],
137
- "additionalProperties": false,
138
- "properties": {
139
- "stage": {
140
- "type": "string",
141
- "enum": ["init", "research", "change", "plan", "dev", "test", "review", "deliver"]
142
- },
143
- "scope_type": { "type": "string", "enum": ["project", "baseline", "change", "task"] },
144
- "scope_id": { "type": "string", "minLength": 1 },
145
- "revision": { "type": "integer", "minimum": 1 },
146
- "payload": { "type": "object" },
147
- "evidence": { "type": "array" },
148
- "diagnostics": { "type": "array" },
149
- "status": { "const": "accepted" },
150
- "digest": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
151
- }
152
- }
153
- },
154
- "tasks": {
155
- "type": "array",
156
- "items": { "$ref": "#/$defs/task" }
157
- }
158
- },
159
- "$defs": {
160
- "baseline": {
161
- "type": "object",
162
- "required": [
163
- "id",
164
- "project_name",
165
- "mode",
166
- "status",
167
- "scope",
168
- "worktree_accepted",
169
- "known_red_accepted",
170
- "spec_refs",
171
- "evidence",
172
- "verification",
173
- "unknowns",
174
- "gaps",
175
- "classification",
176
- "provider_refs",
177
- "revision",
178
- "parent_digest",
179
- "digest"
180
- ],
181
- "additionalProperties": false,
182
- "properties": {
183
- "id": { "type": "string", "minLength": 1 },
184
- "project_name": { "type": "string", "minLength": 1 },
185
- "project_type": { "type": "string" },
186
- "stack": { "type": "string" },
187
- "mode": {
188
- "type": "string",
189
- "enum": ["greenfield", "brownfield", "migrated"]
190
- },
191
- "status": {
192
- "type": "string",
193
- "enum": ["draft", "adopting", "blocked", "ready"]
194
- },
195
- "scope": {
196
- "type": "array",
197
- "minItems": 1,
198
- "items": { "type": "string", "minLength": 1 }
199
- },
200
- "repository_revision": { "type": "string" },
201
- "repository_branch": { "type": "string" },
202
- "worktree_state": { "type": "string" },
203
- "worktree_digest": { "type": "string" },
204
- "worktree_accepted": { "type": "boolean" },
205
- "known_red_accepted": { "type": "boolean" },
206
- "spec_refs": { "type": "array" },
207
- "evidence": { "type": "array" },
208
- "verification": { "type": "array" },
209
- "unknowns": { "type": "array" },
210
- "gaps": { "type": "array" },
211
- "classification": { "type": "object" },
212
- "provider_refs": { "type": "object" },
213
- "research_checkpoint_id": { "type": "string" },
214
- "approved_by": { "type": "string" },
215
- "approval_note": { "type": "string" },
216
- "converged_at": { "type": "string" },
217
- "revision": { "type": "integer", "minimum": 1 },
218
- "parent_digest": {
219
- "type": ["string", "null"],
220
- "pattern": "^[0-9a-f]{64}$"
221
- },
222
- "digest": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
223
- }
224
- },
225
- "task": {
226
- "type": "object",
227
- "description": "Git-facing durable Task authority. Checkout-local session_id, tag, context_file, completion_commit, created_at, and updated_at are intentionally forbidden.",
228
- "required": [
229
- "id",
230
- "title",
231
- "type",
232
- "priority",
233
- "status",
234
- "deps",
235
- "files_modified",
236
- "stale",
237
- "acceptance",
238
- "context_refs",
239
- "docs_impact",
240
- "ownership",
241
- "revision",
242
- "parent_digest",
243
- "digest"
244
- ],
245
- "additionalProperties": false,
246
- "properties": {
247
- "id": { "type": "string", "pattern": "^[a-zA-Z0-9_\\-]+$" },
248
- "title": { "type": "string", "minLength": 3 },
249
- "type": { "type": "string", "minLength": 1, "maxLength": 80 },
250
- "priority": { "type": "string", "minLength": 1, "maxLength": 80 },
251
- "complexity": { "type": "integer", "minimum": 1, "maximum": 10 },
252
- "estimated_days": { "type": "number", "exclusiveMinimum": 0 },
253
- "status": {
254
- "type": "string",
255
- "enum": ["pending", "completed", "blocked", "expanded"],
256
- "description": "Durable Task outcome. Checkout-local in_progress is never published."
257
- },
258
- "deps": {
259
- "type": "array",
260
- "items": { "type": "string", "minLength": 1 },
261
- "description": "Durable dependency Task ids."
262
- },
263
- "files_modified": {
264
- "type": "array",
265
- "items": { "type": "string", "minLength": 1 },
266
- "description": "Durable path-level conflict surface."
267
- },
268
- "stale": {
269
- "type": "boolean",
270
- "description": "Runtime-derived freshness fact published for team handoff."
271
- },
272
- "trace_to": { "type": "string" },
273
- "outcome": { "type": "string" },
274
- "slice_kind": {
275
- "type": "string",
276
- "minLength": 1,
277
- "maxLength": 80
278
- },
279
- "public_seam": { "type": "string" },
280
- "verification_command": { "type": "string" },
281
- "acceptance": { "type": "array", "items": { "type": "object" } },
282
- "context_refs": { "type": "array", "items": { "type": "object" } },
283
- "docs_impact": { "type": "object" },
284
- "ownership": { "type": "object" },
285
- "change_id": { "type": "string" },
286
- "parent_id": { "type": "string" },
287
- "revision": { "type": "integer", "minimum": 1 },
288
- "parent_digest": {
289
- "type": ["string", "null"],
290
- "pattern": "^[0-9a-f]{64}$"
291
- },
292
- "digest": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
293
- }
294
- }
295
- }
296
- }
@@ -1,96 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://ultra-builder-pro.dev/spec/tasks.v4.5.schema.json",
4
- "title": "tasks.json projection (v4.5)",
5
- "description": "Read-only checkout-local projection of the tasks table. Generated by the projector; manual edits are overwritten. It includes both durable Task authority and runtime-only fields that never enter the Git team ledger. Authority boundary: docs/DECISIONS.md.",
6
- "type": "object",
7
- "required": ["schema_version", "generated_at", "tasks"],
8
- "additionalProperties": false,
9
- "properties": {
10
- "schema_version": { "const": "4.5" },
11
- "generated_at": { "type": "string", "format": "date-time" },
12
- "source": { "const": ".ultra/.runtime/state.db", "description": "authoritative source (D32)" },
13
- "tasks": {
14
- "type": "array",
15
- "items": { "$ref": "#/$defs/task" }
16
- }
17
- },
18
- "$defs": {
19
- "task": {
20
- "type": "object",
21
- "description": "Live Task projection. task_contract may write contract fields only; status/session/freshness/context/timestamps and completion attestation are runtime-owned.",
22
- "required": ["id", "title", "type", "priority", "status", "created_at", "updated_at"],
23
- "additionalProperties": false,
24
- "properties": {
25
- "id": { "type": "string", "pattern": "^[a-zA-Z0-9_\\-]+$" },
26
- "title": { "type": "string", "minLength": 3 },
27
- "type": { "type": "string", "minLength": 1, "maxLength": 80 },
28
- "priority": { "type": "string", "minLength": 1, "maxLength": 80 },
29
- "complexity": { "type": "integer", "minimum": 1, "maximum": 10 },
30
- "estimated_days": { "type": "number", "exclusiveMinimum": 0 },
31
- "status": {
32
- "type": "string",
33
- "enum": ["pending", "in_progress", "completed", "blocked", "expanded"],
34
- "x-derived": true,
35
- "description": "DERIVED from state.db tasks.status; never write through this projection"
36
- },
37
- "deps": {
38
- "type": "array",
39
- "items": { "type": "string", "minLength": 1 },
40
- "x-derived": true,
41
- "description": "DERIVED from state.db tasks.deps JSON"
42
- },
43
- "files_modified": {
44
- "type": "array",
45
- "items": { "type": "string", "minLength": 1 },
46
- "description": "Durable path-level conflict surface."
47
- },
48
- "session_id": {
49
- "type": "string",
50
- "x-derived": true,
51
- "description": "DERIVED from state.db tasks.session_id (current owning session)"
52
- },
53
- "stale": {
54
- "type": "boolean",
55
- "x-derived": true,
56
- "description": "DERIVED from staleness propagation (Phase 5.3)"
57
- },
58
- "tag": {
59
- "type": "string",
60
- "x-derived": true,
61
- "description": "Checkout-local runtime tag; never task_contract input."
62
- },
63
- "trace_to": { "type": "string" },
64
- "outcome": { "type": "string" },
65
- "slice_kind": { "type": "string", "minLength": 1, "maxLength": 80 },
66
- "public_seam": { "type": "string" },
67
- "verification_command": { "type": "string" },
68
- "acceptance": { "type": "array", "items": { "type": "object" } },
69
- "context_refs": { "type": "array", "items": { "type": "object" } },
70
- "docs_impact": { "type": "object" },
71
- "ownership": { "type": "object" },
72
- "context_file": {
73
- "type": "string",
74
- "x-derived": true,
75
- "description": "Checkout-local generated Context path; never task_contract input."
76
- },
77
- "completion_commit": {
78
- "type": "string",
79
- "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$",
80
- "x-derived": true,
81
- "description": "Checkout-local integrated commit proof written only by task_outcome/attest_commit."
82
- },
83
- "created_at": {
84
- "type": "string",
85
- "format": "date-time",
86
- "x-derived": true
87
- },
88
- "updated_at": {
89
- "type": "string",
90
- "format": "date-time",
91
- "x-derived": true
92
- }
93
- }
94
- }
95
- }
96
- }
@@ -1,225 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://ultra-builder-pro.dev/schemas/test-report.v1.schema.json",
4
- "title": "Ultra test report v1",
5
- "type": "object",
6
- "required": [
7
- "$schema", "change_id", "task_ids", "git_commit", "worktree_digest",
8
- "context_digest", "acceptance", "commands", "public_seams", "failures",
9
- "recovery", "verification_profile", "verification_dimensions", "regression_signal", "passed", "run_count",
10
- "timestamp", "blocking_issues"
11
- ],
12
- "additionalProperties": false,
13
- "properties": {
14
- "$schema": { "const": "ultra-test-report-v1" },
15
- "change_id": { "type": ["string", "null"] },
16
- "task_ids": { "type": "array", "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
17
- "git_commit": { "type": ["string", "null"] },
18
- "worktree_digest": { "type": ["string", "null"], "pattern": "^[0-9a-f]{64}$" },
19
- "context_digest": { "type": ["string", "null"], "pattern": "^[0-9a-f]{64}$" },
20
- "acceptance": {
21
- "type": "array",
22
- "items": {
23
- "type": "object",
24
- "required": ["id", "status", "evidence"],
25
- "additionalProperties": false,
26
- "properties": {
27
- "id": { "type": "string", "minLength": 1 },
28
- "status": { "enum": ["pass", "fail"] },
29
- "evidence": { "type": "string", "minLength": 1 }
30
- }
31
- }
32
- },
33
- "commands": {
34
- "type": "array",
35
- "items": {
36
- "type": "object",
37
- "required": ["command", "status", "exit_code", "evidence"],
38
- "additionalProperties": false,
39
- "properties": {
40
- "command": { "type": "string", "minLength": 1 },
41
- "status": { "enum": ["pass", "fail"] },
42
- "exit_code": { "type": "integer" },
43
- "evidence": { "type": "string", "minLength": 1 }
44
- },
45
- "allOf": [
46
- {
47
- "if": { "properties": { "status": { "const": "pass" } } },
48
- "then": { "properties": { "exit_code": { "const": 0 } } }
49
- },
50
- {
51
- "if": { "properties": { "status": { "const": "fail" } } },
52
- "then": { "properties": { "exit_code": { "not": { "const": 0 } } } }
53
- }
54
- ]
55
- }
56
- },
57
- "public_seams": {
58
- "type": "array",
59
- "items": {
60
- "type": "object",
61
- "required": ["seam", "status", "evidence"],
62
- "additionalProperties": false,
63
- "properties": {
64
- "seam": { "type": "string", "minLength": 1 },
65
- "status": { "enum": ["pass", "fail"] },
66
- "evidence": { "type": "string", "minLength": 1 }
67
- }
68
- }
69
- },
70
- "failures": {
71
- "type": "array",
72
- "items": {
73
- "type": "object",
74
- "required": ["symptom", "status", "evidence"],
75
- "additionalProperties": false,
76
- "properties": {
77
- "symptom": { "type": "string", "minLength": 1 },
78
- "status": { "enum": ["resolved", "unresolved"] },
79
- "evidence": { "type": "string", "minLength": 1 }
80
- }
81
- }
82
- },
83
- "recovery": {
84
- "type": "array",
85
- "items": {
86
- "type": "object",
87
- "required": ["scenario", "status", "evidence"],
88
- "additionalProperties": false,
89
- "properties": {
90
- "scenario": { "type": "string", "minLength": 1 },
91
- "status": { "enum": ["pass", "fail"] },
92
- "evidence": { "type": "string", "minLength": 1 }
93
- }
94
- }
95
- },
96
- "verification_profile": {
97
- "type": "object",
98
- "required": ["rationale", "selected_dimensions", "excluded_dimensions"],
99
- "additionalProperties": false,
100
- "properties": {
101
- "rationale": { "type": "string", "minLength": 3 },
102
- "selected_dimensions": {
103
- "type": "array",
104
- "minItems": 1,
105
- "uniqueItems": true,
106
- "contains": { "const": "acceptance" },
107
- "items": { "$ref": "#/$defs/verificationDimensionName" }
108
- },
109
- "excluded_dimensions": {
110
- "type": "array",
111
- "items": {
112
- "type": "object",
113
- "required": ["dimension", "rationale"],
114
- "additionalProperties": false,
115
- "properties": {
116
- "dimension": { "$ref": "#/$defs/verificationDimensionName" },
117
- "rationale": { "type": "string", "minLength": 3 }
118
- }
119
- }
120
- }
121
- }
122
- },
123
- "verification_dimensions": {
124
- "type": "object",
125
- "required": ["acceptance"],
126
- "additionalProperties": false,
127
- "properties": {
128
- "acceptance": { "$ref": "#/$defs/verificationDimension" },
129
- "regression": { "$ref": "#/$defs/verificationDimension" },
130
- "integration": { "$ref": "#/$defs/verificationDimension" },
131
- "static_analysis": { "$ref": "#/$defs/verificationDimension" },
132
- "build": { "$ref": "#/$defs/verificationDimension" },
133
- "performance": { "$ref": "#/$defs/verificationDimension" },
134
- "security": { "$ref": "#/$defs/verificationDimension" },
135
- "recovery": { "$ref": "#/$defs/verificationDimension" }
136
- }
137
- },
138
- "regression_signal": {
139
- "type": ["object", "null"],
140
- "required": ["command", "expected_red", "observed_red", "observed_green", "deterministic", "evidence"],
141
- "additionalProperties": false,
142
- "properties": {
143
- "command": { "type": "string", "minLength": 1 },
144
- "expected_red": { "type": "string", "minLength": 1 },
145
- "observed_red": { "type": "boolean" },
146
- "observed_green": { "type": "boolean" },
147
- "deterministic": { "type": "boolean" },
148
- "duration_ms": { "type": "number", "minimum": 0 },
149
- "evidence": { "type": "string", "minLength": 1 }
150
- }
151
- },
152
- "passed": { "type": "boolean" },
153
- "run_count": { "type": "integer", "minimum": 0 },
154
- "timestamp": { "type": ["string", "null"], "format": "date-time" },
155
- "blocking_issues": { "type": "array", "items": { "type": "string" } }
156
- },
157
- "$defs": {
158
- "verificationDimensionName": {
159
- "type": "string",
160
- "enum": [
161
- "acceptance", "regression", "integration", "static_analysis",
162
- "build", "performance", "security", "recovery"
163
- ]
164
- },
165
- "verificationDimension": {
166
- "type": "object",
167
- "required": ["status", "evidence", "rationale"],
168
- "additionalProperties": false,
169
- "properties": {
170
- "status": { "enum": ["pass", "fail", "not_run"] },
171
- "evidence": {
172
- "type": "array",
173
- "items": { "type": "string", "minLength": 1 }
174
- },
175
- "rationale": { "type": "string", "minLength": 3 }
176
- },
177
- "allOf": [
178
- {
179
- "if": { "properties": { "status": { "enum": ["pass", "fail"] } } },
180
- "then": { "properties": { "evidence": { "minItems": 1 } } }
181
- }
182
- ]
183
- }
184
- },
185
- "allOf": [
186
- {
187
- "if": { "properties": { "passed": { "const": true } } },
188
- "then": {
189
- "properties": {
190
- "change_id": { "type": "string", "minLength": 1 },
191
- "context_digest": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
192
- "acceptance": {
193
- "minItems": 1,
194
- "items": { "properties": { "status": { "const": "pass" } } }
195
- },
196
- "commands": {
197
- "minItems": 1,
198
- "items": { "properties": { "status": { "const": "pass" }, "exit_code": { "const": 0 } } }
199
- },
200
- "public_seams": {
201
- "minItems": 1,
202
- "items": { "properties": { "status": { "const": "pass" } } }
203
- },
204
- "failures": { "items": { "properties": { "status": { "const": "resolved" } } } },
205
- "recovery": { "items": { "properties": { "status": { "const": "pass" } } } },
206
- "verification_dimensions": {
207
- "properties": {
208
- "acceptance": { "properties": { "status": { "const": "pass" } } },
209
- "regression": { "properties": { "status": { "const": "pass" } } },
210
- "integration": { "properties": { "status": { "const": "pass" } } },
211
- "static_analysis": { "properties": { "status": { "const": "pass" } } },
212
- "build": { "properties": { "status": { "const": "pass" } } },
213
- "performance": { "properties": { "status": { "const": "pass" } } },
214
- "security": { "properties": { "status": { "const": "pass" } } },
215
- "recovery": { "properties": { "status": { "const": "pass" } } }
216
- }
217
- },
218
- "run_count": { "minimum": 1 },
219
- "timestamp": { "type": "string", "format": "date-time" },
220
- "blocking_issues": { "maxItems": 0 }
221
- }
222
- }
223
- }
224
- ]
225
- }