@brainfile/cli 0.16.1 → 0.17.1
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.
- package/.brainfile/brainfile.md.v1.bak +171 -0
- package/.brainfile/logs/task-1.md +206 -0
- package/.brainfile/logs/task-2.md +482 -0
- package/.brainfile/logs/task-3.md +314 -0
- package/.github/workflows/release.yml +35 -0
- package/README.md +3 -5
- package/dist/cli.js +29 -53
- package/dist/cli.js.map +1 -1
- package/dist/commands/add.d.ts +2 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +16 -2
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/complete.d.ts +5 -7
- package/dist/commands/complete.d.ts.map +1 -1
- package/dist/commands/complete.js +76 -127
- package/dist/commands/complete.js.map +1 -1
- package/dist/commands/contract.d.ts +46 -2
- package/dist/commands/contract.d.ts.map +1 -1
- package/dist/commands/contract.js +499 -2
- package/dist/commands/contract.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +1037 -1763
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/migrate.d.ts +0 -2
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +23 -89
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/schema.d.ts.map +1 -1
- package/dist/commands/schema.js +6 -1
- package/dist/commands/schema.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/contractRunner.d.ts.map +1 -1
- package/dist/lib/contractRunner.js +76 -49
- package/dist/lib/contractRunner.js.map +1 -1
- package/dist/mcp/tools/contract.d.ts +25 -0
- package/dist/mcp/tools/contract.d.ts.map +1 -0
- package/dist/mcp/tools/contract.js +33 -0
- package/dist/mcp/tools/contract.js.map +1 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +22 -9
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/contractSpec.d.ts +2 -0
- package/dist/utils/contractSpec.d.ts.map +1 -1
- package/dist/utils/contractSpec.js +5 -1
- package/dist/utils/contractSpec.js.map +1 -1
- package/dist/utils/hook-settings.d.ts.map +1 -1
- package/dist/utils/hook-settings.js +5 -1
- package/dist/utils/hook-settings.js.map +1 -1
- package/dist/validation/command-lint.d.ts +11 -0
- package/dist/validation/command-lint.d.ts.map +1 -0
- package/dist/validation/command-lint.js +88 -0
- package/dist/validation/command-lint.js.map +1 -0
- package/package.json +2 -2
- package/dist/commands/context.d.ts +0 -19
- package/dist/commands/context.d.ts.map +0 -1
- package/dist/commands/context.js +0 -103
- package/dist/commands/context.js.map +0 -1
- package/dist/commands/history.d.ts +0 -18
- package/dist/commands/history.d.ts.map +0 -1
- package/dist/commands/history.js +0 -92
- package/dist/commands/history.js.map +0 -1
- package/dist/commands/ledger-rebuild.d.ts +0 -17
- package/dist/commands/ledger-rebuild.d.ts.map +0 -1
- package/dist/commands/ledger-rebuild.js +0 -287
- package/dist/commands/ledger-rebuild.js.map +0 -1
- package/dist/commands/ledger.d.ts +0 -20
- package/dist/commands/ledger.d.ts.map +0 -1
- package/dist/commands/ledger.js +0 -111
- package/dist/commands/ledger.js.map +0 -1
- package/dist/commands/migrate-ledger.d.ts +0 -17
- package/dist/commands/migrate-ledger.d.ts.map +0 -1
- package/dist/commands/migrate-ledger.js +0 -127
- package/dist/commands/migrate-ledger.js.map +0 -1
- package/dist/commands/stats.d.ts +0 -20
- package/dist/commands/stats.d.ts.map +0 -1
- package/dist/commands/stats.js +0 -151
- package/dist/commands/stats.js.map +0 -1
- package/dist/tui/components/ArchivePanel.d.ts +0 -16
- package/dist/tui/components/ArchivePanel.d.ts.map +0 -1
- package/dist/tui/components/ArchivePanel.js +0 -115
- package/dist/tui/components/ArchivePanel.js.map +0 -1
- package/dist/utils/date-helpers.d.ts +0 -20
- package/dist/utils/date-helpers.d.ts.map +0 -1
- package/dist/utils/date-helpers.js +0 -54
- package/dist/utils/date-helpers.js.map +0 -1
- package/dist/utils/v2-tasks.d.ts +0 -121
- package/dist/utils/v2-tasks.d.ts.map +0 -1
- package/dist/utils/v2-tasks.js +0 -384
- package/dist/utils/v2-tasks.js.map +0 -1
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: task-2
|
|
3
|
+
title: Use core compound contract operations in CLI contractRunner
|
|
4
|
+
description: |-
|
|
5
|
+
Replace direct contract.status mutations and setTaskContractStatus calls in cli/src/lib/contractRunner.ts with the new compound operations from @brainfile/core@0.15.1.
|
|
6
|
+
|
|
7
|
+
The V2 code paths (pickupContractV2, deliverContractV2, validateContractV2) should use:
|
|
8
|
+
- pickupTaskContract() — sets in_progress + moves column to in-progress
|
|
9
|
+
- deliverTaskContract() — sets delivered + moves column to review
|
|
10
|
+
- completeTaskContract() — sets done + archives to logs (validate success path)
|
|
11
|
+
- failTaskContract() — sets failed + adds feedback (validate failure path)
|
|
12
|
+
|
|
13
|
+
V1 code paths stay as-is (legacy board format).
|
|
14
|
+
|
|
15
|
+
Key behavior change: `brainfile contract validate` on a passing task will now archive it off the board. This is the intended UX fix — done = off the board.
|
|
16
|
+
|
|
17
|
+
Also bump @brainfile/core dependency to ^0.15.1 in cli/package.json.
|
|
18
|
+
priority: high
|
|
19
|
+
tags:
|
|
20
|
+
- contract
|
|
21
|
+
- ux
|
|
22
|
+
- core-upgrade
|
|
23
|
+
assignee: implement
|
|
24
|
+
relatedFiles:
|
|
25
|
+
- cli/src/lib/contractRunner.ts
|
|
26
|
+
- cli/src/commands/contract.ts
|
|
27
|
+
- cli/src/commands/mcp.ts
|
|
28
|
+
- cli/package.json
|
|
29
|
+
subtasks:
|
|
30
|
+
- id: task-2-1
|
|
31
|
+
title: Bump @brainfile/core to ^0.15.1 in cli/package.json
|
|
32
|
+
completed: false
|
|
33
|
+
- id: task-2-2
|
|
34
|
+
title: Replace pickupContractV2 internals with pickupTaskContract()
|
|
35
|
+
completed: false
|
|
36
|
+
- id: task-2-3
|
|
37
|
+
title: Replace deliverContractV2 internals with deliverTaskContract()
|
|
38
|
+
completed: false
|
|
39
|
+
- id: task-2-4
|
|
40
|
+
title: Replace validateContractV2 success path with completeTaskContract()
|
|
41
|
+
completed: false
|
|
42
|
+
- id: task-2-5
|
|
43
|
+
title: Replace validateContractV2 failure path with failTaskContract()
|
|
44
|
+
completed: false
|
|
45
|
+
- id: task-2-6
|
|
46
|
+
title: Update MCP contract tool handlers to pass logsDir for completion
|
|
47
|
+
completed: false
|
|
48
|
+
- id: task-2-7
|
|
49
|
+
title: Update existing contract tests for new archive-on-done behavior
|
|
50
|
+
completed: false
|
|
51
|
+
- id: task-2-8
|
|
52
|
+
title: Add tests verifying column sync on pickup/deliver
|
|
53
|
+
completed: false
|
|
54
|
+
createdAt: "2026-03-06T20:35:53.495Z"
|
|
55
|
+
updatedAt: "2026-03-07T12:53:33.466Z"
|
|
56
|
+
contract:
|
|
57
|
+
status: done
|
|
58
|
+
deliverables:
|
|
59
|
+
- type: file
|
|
60
|
+
path: src/lib/contractRunner.ts
|
|
61
|
+
description: Replace V2 pickup/deliver/validate with core compound ops
|
|
62
|
+
- type: test
|
|
63
|
+
path: src/__tests__/contract.test.ts
|
|
64
|
+
description: Updated tests for archive-on-done and column sync
|
|
65
|
+
validation:
|
|
66
|
+
commands:
|
|
67
|
+
- npm test
|
|
68
|
+
constraints:
|
|
69
|
+
- V1 code paths must remain untouched
|
|
70
|
+
- pickupContractV2 must still return contract context markdown
|
|
71
|
+
- validate success must archive task to logs via completeTaskContract
|
|
72
|
+
- All existing contract tests must pass or be updated for new behavior
|
|
73
|
+
metrics:
|
|
74
|
+
reworkCount: 11
|
|
75
|
+
pickedUpAt: "2026-03-07T12:52:36.236Z"
|
|
76
|
+
baseline:
|
|
77
|
+
src/lib/contractRunner.ts: 7346371ed8445e7a
|
|
78
|
+
src/__tests__/contract.test.ts: 4ee4a1e32a025a2a
|
|
79
|
+
deliveredAt: "2026-03-07T12:53:26.239Z"
|
|
80
|
+
duration: 50
|
|
81
|
+
deliverablePaths:
|
|
82
|
+
- src/lib/contractRunner.ts
|
|
83
|
+
- src/__tests__/contract.test.ts
|
|
84
|
+
evidence:
|
|
85
|
+
assertions: []
|
|
86
|
+
validationPlan:
|
|
87
|
+
intent: smoke
|
|
88
|
+
mode: legacy-raw
|
|
89
|
+
legacy: true
|
|
90
|
+
warnings:
|
|
91
|
+
- validation.commands is treated as a legacy raw-shell alias; prefer validation.profile/checks or validation.raw.commands
|
|
92
|
+
compiledAt: "2026-03-07T12:53:26.240Z"
|
|
93
|
+
passed: true
|
|
94
|
+
steps:
|
|
95
|
+
- id: legacy:smoke:1:1
|
|
96
|
+
label: smoke raw validation 1
|
|
97
|
+
command: npm test
|
|
98
|
+
source: legacy-raw
|
|
99
|
+
legacy: true
|
|
100
|
+
intent: smoke
|
|
101
|
+
passed: true
|
|
102
|
+
output: |-
|
|
103
|
+
> @brainfile/cli@0.17.0 test
|
|
104
|
+
> jest
|
|
105
|
+
|
|
106
|
+
console.log
|
|
107
|
+
Backup: /tmp/brainfile-migrate-v2-test-rxJA8i/.brainfile/brainfile.md.v1.bak
|
|
108
|
+
|
|
109
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:166:13)
|
|
110
|
+
|
|
111
|
+
console.log
|
|
112
|
+
Migration to v2 complete!
|
|
113
|
+
|
|
114
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:274:11)
|
|
115
|
+
|
|
116
|
+
console.log
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:275:11)
|
|
120
|
+
|
|
121
|
+
console.log
|
|
122
|
+
Active tasks: 3 files in board/
|
|
123
|
+
|
|
124
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:276:11)
|
|
125
|
+
|
|
126
|
+
console.log
|
|
127
|
+
Completed/logs: 1 files in logs/
|
|
128
|
+
|
|
129
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:277:11)
|
|
130
|
+
|
|
131
|
+
console.log
|
|
132
|
+
Board config: /tmp/brainfile-migrate-v2-test-rxJA8i/.brainfile/brainfile.md (config-only)
|
|
133
|
+
|
|
134
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:278:11)
|
|
135
|
+
|
|
136
|
+
console.log
|
|
137
|
+
Backup: /tmp/brainfile-migrate-v2-test-rxJA8i/.brainfile/brainfile.md.v1.bak
|
|
138
|
+
|
|
139
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:279:11)
|
|
140
|
+
|
|
141
|
+
console.log
|
|
142
|
+
Backup: /tmp/brainfile-migrate-v2-test-MBTZvO/.brainfile/brainfile.md.v1.bak
|
|
143
|
+
|
|
144
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:166:13)
|
|
145
|
+
|
|
146
|
+
console.log
|
|
147
|
+
Migration to v2 complete!
|
|
148
|
+
|
|
149
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:274:11)
|
|
150
|
+
|
|
151
|
+
console.log
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:275:11)
|
|
155
|
+
|
|
156
|
+
console.log
|
|
157
|
+
Active tasks: 0 files in board/
|
|
158
|
+
|
|
159
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:276:11)
|
|
160
|
+
|
|
161
|
+
console.log
|
|
162
|
+
Completed/logs: 0 files in logs/
|
|
163
|
+
|
|
164
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:277:11)
|
|
165
|
+
|
|
166
|
+
console.log
|
|
167
|
+
Board config: /tmp/brainfile-migrate-v2-test-MBTZvO/.brainfile/brainfile.md (config-only)
|
|
168
|
+
|
|
169
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:278:11)
|
|
170
|
+
|
|
171
|
+
console.log
|
|
172
|
+
Backup: /tmp/brainfile-migrate-v2-test-MBTZvO/.brainfile/brainfile.md.v1.bak
|
|
173
|
+
|
|
174
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:279:11)
|
|
175
|
+
|
|
176
|
+
console.log
|
|
177
|
+
Backup: /tmp/brainfile-migrate-v2-test-KRP3tH/.brainfile/brainfile.md.v1.bak
|
|
178
|
+
|
|
179
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:166:13)
|
|
180
|
+
|
|
181
|
+
console.log
|
|
182
|
+
Migration to v2 complete!
|
|
183
|
+
|
|
184
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:274:11)
|
|
185
|
+
|
|
186
|
+
console.log
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:275:11)
|
|
190
|
+
|
|
191
|
+
console.log
|
|
192
|
+
Active tasks: 0 files in board/
|
|
193
|
+
|
|
194
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:276:11)
|
|
195
|
+
|
|
196
|
+
console.log
|
|
197
|
+
Completed/logs: 1 files in logs/
|
|
198
|
+
|
|
199
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:277:11)
|
|
200
|
+
|
|
201
|
+
console.log
|
|
202
|
+
Board config: /tmp/brainfile-migrate-v2-test-KRP3tH/.brainfile/brainfile.md (config-only)
|
|
203
|
+
|
|
204
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:278:11)
|
|
205
|
+
|
|
206
|
+
console.log
|
|
207
|
+
Backup: /tmp/brainfile-migrate-v2-test-KRP3tH/.brainfile/brainfile.md.v1.bak
|
|
208
|
+
|
|
209
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:279:11)
|
|
210
|
+
|
|
211
|
+
console.log
|
|
212
|
+
Backup: /tmp/brainfile-migrate-v2-test-3eGGjg/.brainfile/brainfile.md.v1.bak
|
|
213
|
+
|
|
214
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:166:13)
|
|
215
|
+
|
|
216
|
+
console.log
|
|
217
|
+
Migration to v2 complete!
|
|
218
|
+
|
|
219
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:274:11)
|
|
220
|
+
|
|
221
|
+
console.log
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:275:11)
|
|
225
|
+
|
|
226
|
+
console.log
|
|
227
|
+
Active tasks: 1 files in board/
|
|
228
|
+
|
|
229
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:276:11)
|
|
230
|
+
|
|
231
|
+
console.log
|
|
232
|
+
Completed/logs: 0 files in logs/
|
|
233
|
+
|
|
234
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:277:11)
|
|
235
|
+
|
|
236
|
+
console.log
|
|
237
|
+
Board config: /tmp/brainfile-migrate-v2-test-3eGGjg/.brainfile/brainfile.md (config-only)
|
|
238
|
+
|
|
239
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:278:11)
|
|
240
|
+
|
|
241
|
+
console.log
|
|
242
|
+
Backup: /tmp/brainfile-migrate-v2-test-3eGGjg/.brainfile/brainfile.md.v1.bak
|
|
243
|
+
|
|
244
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:279:11)
|
|
245
|
+
|
|
246
|
+
console.log
|
|
247
|
+
Legacy root brainfile detected alongside v2 workspace.
|
|
248
|
+
|
|
249
|
+
at migrateMixedWorkspace (src/commands/migrate.ts:66:15)
|
|
250
|
+
|
|
251
|
+
console.log
|
|
252
|
+
Backed up root file to: /tmp/brainfile-migrate-mixed-tes
|
|
253
|
+
...[truncated]
|
|
254
|
+
exitCode: 0
|
|
255
|
+
durationMs: 7214
|
|
256
|
+
deltas:
|
|
257
|
+
- path: src/lib/contractRunner.ts
|
|
258
|
+
change: any
|
|
259
|
+
passed: true
|
|
260
|
+
existedBefore: true
|
|
261
|
+
existsNow: true
|
|
262
|
+
baselineHash: 7346371ed8445e7a
|
|
263
|
+
currentHash: 1197269871a20085
|
|
264
|
+
- path: src/__tests__/contract.test.ts
|
|
265
|
+
change: any
|
|
266
|
+
passed: true
|
|
267
|
+
existedBefore: true
|
|
268
|
+
existsNow: true
|
|
269
|
+
baselineHash: 4ee4a1e32a025a2a
|
|
270
|
+
currentHash: 4ee4a1e32a025a2a
|
|
271
|
+
scopeViolations: []
|
|
272
|
+
changedFiles:
|
|
273
|
+
- .brainfile/.gitignore
|
|
274
|
+
- .brainfile/board/task-2.md
|
|
275
|
+
- .brainfile/brainfile.md
|
|
276
|
+
- .brainfile/brainfile.md.v1.bak
|
|
277
|
+
- .brainfile/cache/acp-registry.json
|
|
278
|
+
- .brainfile/logs/task-1.md
|
|
279
|
+
- .brainfile/supervisor.json
|
|
280
|
+
- .github/workflows/release.yml
|
|
281
|
+
- brainfile-core-0.15.1.tgz
|
|
282
|
+
- brainfile.md
|
|
283
|
+
- package-lock.json
|
|
284
|
+
- package.json
|
|
285
|
+
- src/__tests__/add.test.ts
|
|
286
|
+
- src/__tests__/contract-graph.test.ts
|
|
287
|
+
- src/__tests__/contract.test.ts
|
|
288
|
+
- src/__tests__/draft-default.test.ts
|
|
289
|
+
- src/__tests__/git-helper.test.ts
|
|
290
|
+
- src/__tests__/lint.test.ts
|
|
291
|
+
- src/__tests__/mcp-consolidated.test.ts
|
|
292
|
+
- src/__tests__/move.test.ts
|
|
293
|
+
- src/__tests__/rules.test.ts
|
|
294
|
+
- src/__tests__/schema.test.ts
|
|
295
|
+
- src/__tests__/show.test.ts
|
|
296
|
+
- src/__tests__/template.test.ts
|
|
297
|
+
- src/cli.ts
|
|
298
|
+
- src/commands/add.ts
|
|
299
|
+
- src/commands/contract.ts
|
|
300
|
+
- src/commands/mcp.ts
|
|
301
|
+
- src/commands/migrate.ts
|
|
302
|
+
- src/commands/move.ts
|
|
303
|
+
- src/commands/schema.ts
|
|
304
|
+
- src/index.ts
|
|
305
|
+
- src/lib/contractRunner.ts
|
|
306
|
+
- src/mcp/tools/contract.ts
|
|
307
|
+
- src/utils/config.ts
|
|
308
|
+
- src/utils/contractSpec.ts
|
|
309
|
+
- src/utils/hook-settings.ts
|
|
310
|
+
- undefined/brainfile/config.json
|
|
311
|
+
warnings: []
|
|
312
|
+
passed: true
|
|
313
|
+
validatedAt: "2026-03-07T12:53:26.240Z"
|
|
314
|
+
feedback: |-
|
|
315
|
+
Validation step failed (npm test): command exited 1 (> @brainfile/cli@0.17.0 test
|
|
316
|
+
> jest
|
|
317
|
+
|
|
318
|
+
console.log
|
|
319
|
+
Backup: /tmp/brainfile-migrate-v2-test-RcO2pH/.brainfile/brainfile.md.v1.bak
|
|
320
|
+
|
|
321
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:166:13)
|
|
322
|
+
|
|
323
|
+
console.log
|
|
324
|
+
Migration to v2 complete!
|
|
325
|
+
|
|
326
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:274:11)
|
|
327
|
+
|
|
328
|
+
console.log
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:275:11)
|
|
332
|
+
|
|
333
|
+
console.log
|
|
334
|
+
Active tasks: 3 files in board/
|
|
335
|
+
|
|
336
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:276:11)
|
|
337
|
+
|
|
338
|
+
console.log
|
|
339
|
+
Completed/logs: 1 files in logs/
|
|
340
|
+
|
|
341
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:277:11)
|
|
342
|
+
|
|
343
|
+
console.log
|
|
344
|
+
Board config: /tmp/brainfile-migrate-v2-test-RcO2pH/.brainfile/brainfile.md (config-only)
|
|
345
|
+
|
|
346
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:278:11)
|
|
347
|
+
|
|
348
|
+
console.log
|
|
349
|
+
Backup: /tmp/brainfile-migrate-v2-test-RcO2pH/.brainfile/brainfile.md.v1.bak
|
|
350
|
+
|
|
351
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:279:11)
|
|
352
|
+
|
|
353
|
+
console.log
|
|
354
|
+
Backup: /tmp/brainfile-migrate-v2-test-qGBGRY/.brainfile/brainfile.md.v1.bak
|
|
355
|
+
|
|
356
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:166:13)
|
|
357
|
+
|
|
358
|
+
console.log
|
|
359
|
+
Migration to v2 complete!
|
|
360
|
+
|
|
361
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:274:11)
|
|
362
|
+
|
|
363
|
+
console.log
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:275:11)
|
|
367
|
+
|
|
368
|
+
console.log
|
|
369
|
+
Active tasks: 0 files in board/
|
|
370
|
+
|
|
371
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:276:11)
|
|
372
|
+
|
|
373
|
+
console.log
|
|
374
|
+
Completed/logs: 0 files in logs/
|
|
375
|
+
|
|
376
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:277:11)
|
|
377
|
+
|
|
378
|
+
console.log
|
|
379
|
+
Board config: /tmp/brainfile-migrate-v2-test-qGBGRY/.brainfile/brainfile.md (config-only)
|
|
380
|
+
|
|
381
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:278:11)
|
|
382
|
+
|
|
383
|
+
console.log
|
|
384
|
+
Backup: /tmp/brainfile-migrate-v2-test-qGBGRY/.brainfile/brainfile.md.v1.bak
|
|
385
|
+
|
|
386
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:279:11)
|
|
387
|
+
|
|
388
|
+
console.log
|
|
389
|
+
Backup: /tmp/brainfile-migrate-v2-test-OwU0cE/.brainfile/brainfile.md.v1.bak
|
|
390
|
+
|
|
391
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:166:13)
|
|
392
|
+
|
|
393
|
+
console.log
|
|
394
|
+
Migration to v2 complete!
|
|
395
|
+
|
|
396
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:274:11)
|
|
397
|
+
|
|
398
|
+
console.log
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:275:11)
|
|
402
|
+
|
|
403
|
+
console.log
|
|
404
|
+
Active tasks: 0 files in board/
|
|
405
|
+
|
|
406
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:276:11)
|
|
407
|
+
|
|
408
|
+
console.log
|
|
409
|
+
Completed/logs: 1 files in logs/
|
|
410
|
+
|
|
411
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:277:11)
|
|
412
|
+
|
|
413
|
+
console.log
|
|
414
|
+
Board config: /tmp/brainfile-migrate-v2-test-OwU0cE/.brainfile/brainfile.md (config-only)
|
|
415
|
+
|
|
416
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:278:11)
|
|
417
|
+
|
|
418
|
+
console.log
|
|
419
|
+
Backup: /tmp/brainfile-migrate-v2-test-OwU0cE/.brainfile/brainfile.md.v1.bak
|
|
420
|
+
|
|
421
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:279:11)
|
|
422
|
+
|
|
423
|
+
console.log
|
|
424
|
+
Backup: /tmp/brainfile-migrate-v2-test-3K0qqt/.brainfile/brainfile.md.v1.bak
|
|
425
|
+
|
|
426
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:166:13)
|
|
427
|
+
|
|
428
|
+
console.log
|
|
429
|
+
Migration to v2 complete!
|
|
430
|
+
|
|
431
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:274:11)
|
|
432
|
+
|
|
433
|
+
console.log
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:275:11)
|
|
437
|
+
|
|
438
|
+
console.log
|
|
439
|
+
Active tasks: 1 files in board/
|
|
440
|
+
|
|
441
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:276:11)
|
|
442
|
+
|
|
443
|
+
console.log
|
|
444
|
+
Completed/logs: 0 files in logs/
|
|
445
|
+
|
|
446
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:277:11)
|
|
447
|
+
|
|
448
|
+
console.log
|
|
449
|
+
Board config: /tmp/brainfile-migrate-v2-test-3K0qqt/.brainfile/brainfile.md (config-only)
|
|
450
|
+
|
|
451
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:278:11)
|
|
452
|
+
|
|
453
|
+
console.log
|
|
454
|
+
Backup: /tmp/brainfile-migrate-v2-test-3K0qqt/.brainfile/brainfile.md.v1.bak
|
|
455
|
+
|
|
456
|
+
at migrateBrainfileToV2 (src/commands/migrate.ts:279:11)
|
|
457
|
+
|
|
458
|
+
console.log
|
|
459
|
+
Legacy root brainfile detected alongside v2 workspace.
|
|
460
|
+
|
|
461
|
+
at migrateMixedWorkspace (src/commands/migrate.ts:66:15)
|
|
462
|
+
|
|
463
|
+
console.log
|
|
464
|
+
Backed up root file to: /tmp/brainfile-migrate-mixed-tes
|
|
465
|
+
...[truncated])
|
|
466
|
+
completedAt: "2026-03-07T12:53:33.466Z"
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
## Description
|
|
470
|
+
Replace direct contract.status mutations and setTaskContractStatus calls in cli/src/lib/contractRunner.ts with the new compound operations from @brainfile/core@0.15.1.
|
|
471
|
+
|
|
472
|
+
The V2 code paths (pickupContractV2, deliverContractV2, validateContractV2) should use:
|
|
473
|
+
- pickupTaskContract() — sets in_progress + moves column to in-progress
|
|
474
|
+
- deliverTaskContract() — sets delivered + moves column to review
|
|
475
|
+
- completeTaskContract() — sets done + archives to logs (validate success path)
|
|
476
|
+
- failTaskContract() — sets failed + adds feedback (validate failure path)
|
|
477
|
+
|
|
478
|
+
V1 code paths stay as-is (legacy board format).
|
|
479
|
+
|
|
480
|
+
Key behavior change: `brainfile contract validate` on a passing task will now archive it off the board. This is the intended UX fix — done = off the board.
|
|
481
|
+
|
|
482
|
+
Also bump @brainfile/core dependency to ^0.15.1 in cli/package.json.
|