@nickmeriano/task 0.10.0 → 0.11.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.
- package/README.md +58 -1
- package/dist/asks.test.js +6 -0
- package/dist/asks.test.js.map +1 -1
- package/dist/claim-io.d.ts.map +1 -1
- package/dist/claim-io.js +4 -3
- package/dist/claim-io.js.map +1 -1
- package/dist/claim.d.ts +14 -2
- package/dist/claim.d.ts.map +1 -1
- package/dist/claim.js +9 -3
- package/dist/claim.js.map +1 -1
- package/dist/claim.test.js +41 -1
- package/dist/claim.test.js.map +1 -1
- package/dist/cli.js +92 -7
- package/dist/cli.js.map +1 -1
- package/dist/export.d.ts +132 -0
- package/dist/export.d.ts.map +1 -0
- package/dist/export.js +199 -0
- package/dist/export.js.map +1 -0
- package/dist/export.test.d.ts +12 -0
- package/dist/export.test.d.ts.map +1 -0
- package/dist/export.test.js +185 -0
- package/dist/export.test.js.map +1 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +12 -3
- package/dist/server.js.map +1 -1
- package/dist/trailers.d.ts +51 -0
- package/dist/trailers.d.ts.map +1 -0
- package/dist/trailers.js +32 -0
- package/dist/trailers.js.map +1 -0
- package/package.json +1 -1
- package/skill/SKILL.md +9 -1
- package/src/asks.test.ts +15 -0
- package/src/claim-io.ts +12 -3
- package/src/claim.test.ts +56 -1
- package/src/claim.ts +27 -4
- package/src/cli.ts +93 -7
- package/src/export.test.ts +254 -0
- package/src/export.ts +276 -0
- package/src/server.ts +12 -3
- package/src/trailers.ts +65 -0
- package/ui/dist/assets/{index-CoKCUYic.css → index-eHsqltgs.css} +1 -1
- package/ui/dist/assets/{index-BjsorZOU.js → index-mJmm4sWq.js} +53 -53
- package/ui/dist/index.html +3 -3
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The commit-trailer contract: every commit the CLI itself authors for a
|
|
3
|
+
* board operation carries machine-readable git trailers naming the operation
|
|
4
|
+
* and the ticket, so automation can react to board events without parsing
|
|
5
|
+
* human prose. Subjects like "chore(board): resolve ask [1] on TAS-x" are
|
|
6
|
+
* presentation and may be reworded freely; the trailers are the interface.
|
|
7
|
+
*
|
|
8
|
+
* chore(board): resolve ask [1] on TAS-x7k4m
|
|
9
|
+
*
|
|
10
|
+
* Task-Op: resolve-ask
|
|
11
|
+
* Task-Id: TAS-x7k4m
|
|
12
|
+
*
|
|
13
|
+
* Git parses trailers natively — consumers read them with
|
|
14
|
+
* `git log -1 --format='%(trailers:key=Task-Op,valueonly)'`, or match
|
|
15
|
+
* `Task-Op: <op>` in a forge webhook's head-commit message (each routed
|
|
16
|
+
* write is its own single-commit push, so the head commit is the operation).
|
|
17
|
+
*
|
|
18
|
+
* STABILITY: `Task-Op` and `Task-Id` are a documented, test-pinned contract
|
|
19
|
+
* (see the "commit trailers" tests). Existing op names never change meaning
|
|
20
|
+
* or disappear; new ops may be added. Renaming an op or dropping a trailer
|
|
21
|
+
* is a breaking change to every consumer's automation.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* The operation vocabulary. Emitted today:
|
|
25
|
+
*
|
|
26
|
+
* - `claim` — the claim branch's first commit, the in_progress flip
|
|
27
|
+
* (plain and --lock-only alike)
|
|
28
|
+
* - `ask` — an ask filed onto a claim branch (routed write)
|
|
29
|
+
* - `resolve-ask` — an ask checked off on a claim branch: the signal that a
|
|
30
|
+
* stalled claim may be implementable again
|
|
31
|
+
* - `reopen-ask` — a resolved ask put back
|
|
32
|
+
* - `delete-ask` — an ask removed from a claim branch
|
|
33
|
+
*
|
|
34
|
+
* Reserved, not yet emitted:
|
|
35
|
+
*
|
|
36
|
+
* - `begin-implement` — a worker marking the start of an implement pass on a
|
|
37
|
+
* claim (an empty commit pushed at tick start), so "this claim is being
|
|
38
|
+
* worked right now" becomes board state a dispatcher can read instead of a
|
|
39
|
+
* blind spot. Designed for the mid-flight-visibility problem; deliberately
|
|
40
|
+
* deferred until collisions prove worth the extra moving part. Consumers
|
|
41
|
+
* should treat unknown ops as "not the op I'm looking for", never an error.
|
|
42
|
+
*/
|
|
43
|
+
export type TaskOp = "claim" | "ask" | "resolve-ask" | "reopen-ask" | "delete-ask" | "begin-implement";
|
|
44
|
+
/**
|
|
45
|
+
* Compose a board commit message: the human subject, then one trailer block.
|
|
46
|
+
* `extra` rides in the same block (e.g. lock-only's `Delivered-By:`) — git
|
|
47
|
+
* only recognizes a *contiguous* trailing block, so every trailer must go
|
|
48
|
+
* through this one seam.
|
|
49
|
+
*/
|
|
50
|
+
export declare function boardCommitMessage(subject: string, op: TaskOp, id: string, extra?: string[]): string;
|
|
51
|
+
//# sourceMappingURL=trailers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trailers.d.ts","sourceRoot":"","sources":["../src/trailers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,MAAM,GACd,OAAO,GACP,KAAK,GACL,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,iBAAiB,CAAA;AAErB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,MAAM,EAAO,GACnB,MAAM,CAER"}
|
package/dist/trailers.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The commit-trailer contract: every commit the CLI itself authors for a
|
|
3
|
+
* board operation carries machine-readable git trailers naming the operation
|
|
4
|
+
* and the ticket, so automation can react to board events without parsing
|
|
5
|
+
* human prose. Subjects like "chore(board): resolve ask [1] on TAS-x" are
|
|
6
|
+
* presentation and may be reworded freely; the trailers are the interface.
|
|
7
|
+
*
|
|
8
|
+
* chore(board): resolve ask [1] on TAS-x7k4m
|
|
9
|
+
*
|
|
10
|
+
* Task-Op: resolve-ask
|
|
11
|
+
* Task-Id: TAS-x7k4m
|
|
12
|
+
*
|
|
13
|
+
* Git parses trailers natively — consumers read them with
|
|
14
|
+
* `git log -1 --format='%(trailers:key=Task-Op,valueonly)'`, or match
|
|
15
|
+
* `Task-Op: <op>` in a forge webhook's head-commit message (each routed
|
|
16
|
+
* write is its own single-commit push, so the head commit is the operation).
|
|
17
|
+
*
|
|
18
|
+
* STABILITY: `Task-Op` and `Task-Id` are a documented, test-pinned contract
|
|
19
|
+
* (see the "commit trailers" tests). Existing op names never change meaning
|
|
20
|
+
* or disappear; new ops may be added. Renaming an op or dropping a trailer
|
|
21
|
+
* is a breaking change to every consumer's automation.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Compose a board commit message: the human subject, then one trailer block.
|
|
25
|
+
* `extra` rides in the same block (e.g. lock-only's `Delivered-By:`) — git
|
|
26
|
+
* only recognizes a *contiguous* trailing block, so every trailer must go
|
|
27
|
+
* through this one seam.
|
|
28
|
+
*/
|
|
29
|
+
export function boardCommitMessage(subject, op, id, extra = []) {
|
|
30
|
+
return `${subject}\n\n${[...extra, `Task-Op: ${op}`, `Task-Id: ${id}`].join("\n")}`;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=trailers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trailers.js","sourceRoot":"","sources":["../src/trailers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA8BH;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,EAAU,EACV,EAAU,EACV,QAAkB,EAAE;IAEpB,OAAO,GAAG,OAAO,OAAO,CAAC,GAAG,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;AACrF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nickmeriano/task",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A task manager that lives in your repo — plain-text tickets in .task/, a zero-dependency CLI for humans and agents, and a live kanban/table UI via `task serve`.",
|
|
6
6
|
"license": "MIT",
|
package/skill/SKILL.md
CHANGED
|
@@ -91,6 +91,8 @@ task unarchive <id> --json # put one back on the board
|
|
|
91
91
|
task whoami # who comments are attributed to
|
|
92
92
|
task check [--fix] --json # lint the board files (dangling refs,
|
|
93
93
|
# bad files); --fix repairs mechanically
|
|
94
|
+
task export [--out dir] [--base path] [--force] --json # the board as static files — see
|
|
95
|
+
# "The UI" below
|
|
94
96
|
```
|
|
95
97
|
|
|
96
98
|
`task publish` and `task unpublish` also exist — they give the board a URL so
|
|
@@ -186,7 +188,7 @@ don't switch: claim with `task claim <id> --lock-only` and keep working on
|
|
|
186
188
|
your assigned branch. It takes the same atomic lock by pushing the
|
|
187
189
|
`in_progress` flip commit built from origin's default branch — your checkout,
|
|
188
190
|
even a dirty one, is never touched — and records your branch in the flip
|
|
189
|
-
commit (`
|
|
191
|
+
commit (`Delivered-By:`), so anyone reading the claim sees where the work
|
|
190
192
|
lands. Do the rest of the ticket on your branch as usual, `task move <id>
|
|
191
193
|
done` + `--pr` included. Otherwise plain `task claim` is right: it switches
|
|
192
194
|
you to the claim branch, and prints a reminder about `--lock-only` if it just
|
|
@@ -294,6 +296,12 @@ This changes nothing for the other commands: they still operate on the
|
|
|
294
296
|
nearest `.task/` walking up from the current directory, so `cd` into the
|
|
295
297
|
package whose board you mean before running them.
|
|
296
298
|
|
|
299
|
+
`task export [--out dir] [--base path] [--force]` writes that same board out as static
|
|
300
|
+
files — the UI plus a `snapshot.json` it reads instead of an API — for a CI
|
|
301
|
+
job to put on a static host, read-only and with a staleness banner. It's a
|
|
302
|
+
build step, not a way to look at the board: use `task serve` for that, and
|
|
303
|
+
`--json` for anything you need to read yourself.
|
|
304
|
+
|
|
297
305
|
On a git checkout with an origin, the served UI also carries a git surface:
|
|
298
306
|
a branch chip (current branch, dirty board files, ahead/behind), board-scoped
|
|
299
307
|
commits (`chore(board): …`, pathspec-limited to `.task/` so unrelated dirty
|
package/src/asks.test.ts
CHANGED
|
@@ -275,6 +275,17 @@ test("a claimed ticket's asks reach the inbox from its branch", async () => {
|
|
|
275
275
|
sh(verify, "git", "show", `FETCH_HEAD:.task/tickets/${key}/asks/${askFile}`),
|
|
276
276
|
/resolved_by: "nick"/,
|
|
277
277
|
)
|
|
278
|
+
// The trailer contract (trailers.ts): the resolve landed as its own commit
|
|
279
|
+
// whose Task-Op/Task-Id automation keys on — pinned, because a poke
|
|
280
|
+
// workflow reads exactly these off the head of the push.
|
|
281
|
+
assert.equal(
|
|
282
|
+
sh(verify, "git", "log", "-1", "--format=%(trailers:key=Task-Op,valueonly)", "FETCH_HEAD"),
|
|
283
|
+
"resolve-ask",
|
|
284
|
+
)
|
|
285
|
+
assert.equal(
|
|
286
|
+
sh(verify, "git", "log", "-1", "--format=%(trailers:key=Task-Id,valueonly)", "FETCH_HEAD"),
|
|
287
|
+
`CIN-${key}`,
|
|
288
|
+
)
|
|
278
289
|
const cleared = await cli(owner, "inbox", "--json")
|
|
279
290
|
assert.equal((JSON.parse(cleared.stdout) as { inbox: InboxEntry[] }).inbox.length, 0)
|
|
280
291
|
|
|
@@ -289,6 +300,10 @@ test("a claimed ticket's asks reach the inbox from its branch", async () => {
|
|
|
289
300
|
sh(verify, "git", "ls-tree", "--name-only", `FETCH_HEAD:.task/tickets/${key}/asks`).split("\n").length,
|
|
290
301
|
2,
|
|
291
302
|
)
|
|
303
|
+
assert.equal(
|
|
304
|
+
sh(verify, "git", "log", "-1", "--format=%(trailers:key=Task-Op,valueonly)", "FETCH_HEAD"),
|
|
305
|
+
"ask",
|
|
306
|
+
)
|
|
292
307
|
const again = await cli(owner, "inbox", "--json")
|
|
293
308
|
const entries = (JSON.parse(again.stdout) as { inbox: InboxEntry[] }).inbox
|
|
294
309
|
assert.deepEqual(entries[0].asks.map((a) => a.text), ["Also rotate the old key"])
|
package/src/claim-io.ts
CHANGED
|
@@ -24,6 +24,7 @@ import { join, relative, sep } from "node:path"
|
|
|
24
24
|
import { claimBranch, claimNamespace } from "./claim.ts"
|
|
25
25
|
import { gitOut, runGit } from "./git.ts"
|
|
26
26
|
import { commentStem, parseAskLenient, serializeAsk, type AskDoc } from "./ticket-doc.ts"
|
|
27
|
+
import { boardCommitMessage } from "./trailers.ts"
|
|
27
28
|
import { ASKS_DIR, TICKETS_DIR } from "./file-store.ts"
|
|
28
29
|
import type { Store } from "./store.ts"
|
|
29
30
|
import type { Ask, Task } from "./types.ts"
|
|
@@ -298,7 +299,7 @@ export function addAskRouted(store: Store, key: string, text: string, author = "
|
|
|
298
299
|
store,
|
|
299
300
|
branch,
|
|
300
301
|
`${dir}/${id}.md`,
|
|
301
|
-
`chore(board): ask on ${store.displayId(key)}`,
|
|
302
|
+
boardCommitMessage(`chore(board): ask on ${store.displayId(key)}`, "ask", store.displayId(key)),
|
|
302
303
|
// Absent → create; if a racing write took the name, keep theirs.
|
|
303
304
|
(current) => current ?? serializeAsk(doc),
|
|
304
305
|
)
|
|
@@ -340,7 +341,11 @@ export function setAskResolvedRouted(
|
|
|
340
341
|
store,
|
|
341
342
|
branch,
|
|
342
343
|
`${dir}/${target.id}.md`,
|
|
343
|
-
|
|
344
|
+
boardCommitMessage(
|
|
345
|
+
`chore(board): ${resolved ? "resolve" : "reopen"} ask [${target.ordinal}] on ${store.displayId(key)}`,
|
|
346
|
+
resolved ? "resolve-ask" : "reopen-ask",
|
|
347
|
+
store.displayId(key),
|
|
348
|
+
),
|
|
344
349
|
(current) => {
|
|
345
350
|
if (current === null) return null // deleted under us — nothing to write
|
|
346
351
|
const doc = parseAskLenient(current)
|
|
@@ -374,7 +379,11 @@ export function deleteAskRouted(store: Store, key: string, ref: string): RoutedA
|
|
|
374
379
|
store,
|
|
375
380
|
branch,
|
|
376
381
|
`${dir}/${target.id}.md`,
|
|
377
|
-
|
|
382
|
+
boardCommitMessage(
|
|
383
|
+
`chore(board): delete ask [${target.ordinal}] on ${store.displayId(key)}`,
|
|
384
|
+
"delete-ask",
|
|
385
|
+
store.displayId(key),
|
|
386
|
+
),
|
|
378
387
|
() => null,
|
|
379
388
|
)
|
|
380
389
|
// The local copy of a both-sides ask goes too, or the union resurrects it.
|
package/src/claim.test.ts
CHANGED
|
@@ -183,9 +183,54 @@ test("two concurrent claims of one ticket: exactly one wins", async () => {
|
|
|
183
183
|
sh(winner, "git", "show", `origin/main:.task/tickets/${keys.one}/ticket.md`),
|
|
184
184
|
/status: todo/,
|
|
185
185
|
)
|
|
186
|
+
// The trailer contract (trailers.ts): the flip commit names its op and
|
|
187
|
+
// ticket in machine-readable trailers — pinned here because automation
|
|
188
|
+
// keys on them.
|
|
189
|
+
assert.equal(sh(winner, "git", "log", "-1", "--format=%(trailers:key=Task-Op,valueonly)"), "claim")
|
|
190
|
+
assert.equal(
|
|
191
|
+
sh(winner, "git", "log", "-1", "--format=%(trailers:key=Task-Id,valueonly)"),
|
|
192
|
+
`CLM-${keys.one}`,
|
|
193
|
+
)
|
|
186
194
|
void bare
|
|
187
195
|
})
|
|
188
196
|
|
|
197
|
+
test("claim --dry-run: the real gates, the real exit codes, zero writes", async () => {
|
|
198
|
+
const { clone, keys } = fixture()
|
|
199
|
+
const dir = clone()
|
|
200
|
+
const branch = `task/claim/clm-${keys.one}`
|
|
201
|
+
|
|
202
|
+
// Would claim: exit 0 — and nothing moved. No branch local or remote, the
|
|
203
|
+
// checkout still on main, the ticket still todo.
|
|
204
|
+
const yes = await cli(dir, "claim", keys.one, "--dry-run")
|
|
205
|
+
assert.equal(yes.code, 0, yes.stderr)
|
|
206
|
+
assert.match(yes.stdout, /would claim CLM-/)
|
|
207
|
+
assert.equal(sh(dir, "git", "rev-parse", "--abbrev-ref", "HEAD"), "main")
|
|
208
|
+
assert.equal(sh(dir, "git", "branch", "--list", branch), "")
|
|
209
|
+
assert.equal(sh(dir, "git", "ls-remote", "--heads", "origin", branch), "")
|
|
210
|
+
assert.match(readFileSync(join(dir, ".task", "tickets", keys.one, "ticket.md"), "utf8"), /status: todo/)
|
|
211
|
+
|
|
212
|
+
// The gates are the real command's gates: blocked exits 2, a ticket someone
|
|
213
|
+
// else claimed exits 1 — the codes a scheduler scripts against.
|
|
214
|
+
assert.equal((await cli(dir, "claim", keys.blocked, "--dry-run")).code, 2)
|
|
215
|
+
const other = clone()
|
|
216
|
+
assert.equal((await cli(other, "claim", keys.one)).code, 0)
|
|
217
|
+
assert.equal((await cli(dir, "claim", keys.one, "--dry-run")).code, 1)
|
|
218
|
+
|
|
219
|
+
// --next --dry-run names the top of the queue without taking it.
|
|
220
|
+
const next = await cli(dir, "claim", "--next", "--dry-run", "--json")
|
|
221
|
+
assert.equal(next.code, 0, next.stderr)
|
|
222
|
+
const picked = JSON.parse(next.stdout) as { task: { key: string }; dryRun: boolean }
|
|
223
|
+
assert.equal(picked.dryRun, true)
|
|
224
|
+
assert.equal(picked.task.key, keys.jumper)
|
|
225
|
+
assert.equal(sh(dir, "git", "ls-remote", "--heads", "origin", `task/claim/clm-${keys.jumper}`), "")
|
|
226
|
+
|
|
227
|
+
// A dry run reserves nothing — the real claim right after still works.
|
|
228
|
+
assert.equal((await cli(dir, "claim", keys.jumper)).code, 0)
|
|
229
|
+
|
|
230
|
+
// No stop-before-writing seam exists for --release or --lock-only.
|
|
231
|
+
assert.equal((await cli(other, "claim", keys.two, "--lock-only", "--dry-run")).code, 1)
|
|
232
|
+
})
|
|
233
|
+
|
|
189
234
|
test("unclaimable tickets exit 2, before anything touches origin", async () => {
|
|
190
235
|
const { clone, keys } = fixture()
|
|
191
236
|
const dir = clone()
|
|
@@ -541,7 +586,17 @@ test("--lock-only claims from a dirty, branch-pinned checkout without touching i
|
|
|
541
586
|
assert.match(sh(dir, "git", "show", `origin/${branch}:.task/tickets/${keys.one}/ticket.md`), /status: in_progress/)
|
|
542
587
|
const message = sh(dir, "git", "log", "-1", "--format=%B", `origin/${branch}`)
|
|
543
588
|
assert.match(message, /lock-only/)
|
|
544
|
-
assert.match(message, new RegExp(`
|
|
589
|
+
assert.match(message, new RegExp(`Delivered-By: pinned`))
|
|
590
|
+
// Delivered-By shares one contiguous trailer block with the Task-Op/Task-Id
|
|
591
|
+
// contract (trailers.ts) — git must parse all three.
|
|
592
|
+
assert.equal(
|
|
593
|
+
sh(dir, "git", "log", "-1", "--format=%(trailers:key=Task-Op,valueonly)", `origin/${branch}`),
|
|
594
|
+
"claim",
|
|
595
|
+
)
|
|
596
|
+
assert.equal(
|
|
597
|
+
sh(dir, "git", "log", "-1", "--format=%(trailers:key=Delivered-By,valueonly)", `origin/${branch}`),
|
|
598
|
+
"pinned",
|
|
599
|
+
)
|
|
545
600
|
|
|
546
601
|
// The lock is the same lock: both claim flavors lose to it from elsewhere.
|
|
547
602
|
const other = clone()
|
package/src/claim.ts
CHANGED
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
type Store,
|
|
31
31
|
} from "./store.ts"
|
|
32
32
|
import { isTicketKey } from "./id.ts"
|
|
33
|
+
import { boardCommitMessage } from "./trailers.ts"
|
|
33
34
|
import { parseTicket, parseTicketLenient, serializeTicket, type TicketDoc } from "./ticket-doc.ts"
|
|
34
35
|
import type { ProjectConfig, Status, Task } from "./types.ts"
|
|
35
36
|
|
|
@@ -193,6 +194,18 @@ export interface ClaimResult {
|
|
|
193
194
|
export interface ClaimOptions {
|
|
194
195
|
/** Claim past the root board's `claims.maxOpenCount` cap. */
|
|
195
196
|
force?: boolean
|
|
197
|
+
/**
|
|
198
|
+
* Run the real claim's decision path — every validation, in order, against
|
|
199
|
+
* live origin state — and stop before the first write. No branch is
|
|
200
|
+
* created, no commit made, nothing pushed; the checkout is untouched. Exit
|
|
201
|
+
* semantics match the real command exactly, which is the point: automation
|
|
202
|
+
* (a scheduler deciding whether to wake a worker) asks "would a claim
|
|
203
|
+
* succeed right now?" through the same code that would perform it, so the
|
|
204
|
+
* answer can't drift from the rules. A "yes" is a reading, not a
|
|
205
|
+
* reservation — the dry run takes no lock, so a concurrent claimer can
|
|
206
|
+
* still win the ticket a moment later.
|
|
207
|
+
*/
|
|
208
|
+
dryRun?: boolean
|
|
196
209
|
}
|
|
197
210
|
|
|
198
211
|
/**
|
|
@@ -278,6 +291,8 @@ export function claim(store: Store, key: string, options: ClaimOptions = {}): Cl
|
|
|
278
291
|
const previous =
|
|
279
292
|
git(cwd, "symbolic-ref", "--quiet", "--short", "HEAD").stdout ||
|
|
280
293
|
gitMust(cwd, "rev-parse", "HEAD")
|
|
294
|
+
// Every gate is passed; the writes start here. A dry run stops instead.
|
|
295
|
+
if (options.dryRun) return { task: store.get(key)!, branch, base, previous }
|
|
281
296
|
gitMust(cwd, "checkout", "--quiet", "-b", branch, base)
|
|
282
297
|
|
|
283
298
|
const undo = (): void => {
|
|
@@ -292,7 +307,13 @@ export function claim(store: Store, key: string, options: ClaimOptions = {}): Cl
|
|
|
292
307
|
assertClaimable(store, store.get(key), key)
|
|
293
308
|
store.update(key, { status: "in_progress" })
|
|
294
309
|
gitMust(cwd, "add", "--", join(store.taskDir, TICKETS_DIR, key))
|
|
295
|
-
gitMust(
|
|
310
|
+
gitMust(
|
|
311
|
+
cwd,
|
|
312
|
+
"commit",
|
|
313
|
+
"--quiet",
|
|
314
|
+
"-m",
|
|
315
|
+
boardCommitMessage(`chore(board): claim ${id} → in_progress`, "claim", id),
|
|
316
|
+
)
|
|
296
317
|
} catch (error) {
|
|
297
318
|
undo()
|
|
298
319
|
throw error
|
|
@@ -331,7 +352,7 @@ export interface LockOnlyClaimResult {
|
|
|
331
352
|
task: Task
|
|
332
353
|
branch: string
|
|
333
354
|
base: string
|
|
334
|
-
/** The checkout's branch at claim time, recorded in the flip commit's `
|
|
355
|
+
/** The checkout's branch at claim time, recorded in the flip commit's `Delivered-By:` trailer. */
|
|
335
356
|
deliveredBy: string
|
|
336
357
|
}
|
|
337
358
|
|
|
@@ -348,7 +369,7 @@ export interface LockOnlyClaimResult {
|
|
|
348
369
|
* update-index → write-tree → commit-tree) and pushed with the same
|
|
349
370
|
* must-not-exist lease plain `claim` uses — the compare-and-swap is identical,
|
|
350
371
|
* only the checkout stays where it is (dirty or pinned, doesn't matter). The
|
|
351
|
-
* flip commit carries a `
|
|
372
|
+
* flip commit carries a `Delivered-By: <branch>` trailer naming the checkout's
|
|
352
373
|
* branch, so a lock-only claim is legible state — anyone reading the claim
|
|
353
374
|
* branch sees where the work will actually land. Exit-code contract and
|
|
354
375
|
* `--release` behave exactly like plain claim.
|
|
@@ -465,7 +486,9 @@ export function claimLockOnly(
|
|
|
465
486
|
"-p",
|
|
466
487
|
baseSha,
|
|
467
488
|
"-m",
|
|
468
|
-
`chore(board): claim ${id} → in_progress (lock-only)
|
|
489
|
+
boardCommitMessage(`chore(board): claim ${id} → in_progress (lock-only)`, "claim", id, [
|
|
490
|
+
`Delivered-By: ${deliveredBy}`,
|
|
491
|
+
]),
|
|
469
492
|
)
|
|
470
493
|
if (made.status !== 0) {
|
|
471
494
|
throw new Error("git commit-tree failed — is git user.name/user.email configured?")
|
package/src/cli.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { spawn } from "node:child_process"
|
|
13
13
|
import { readFileSync } from "node:fs"
|
|
14
14
|
import type { Server } from "node:http"
|
|
15
|
-
import { basename, join, relative, sep } from "node:path"
|
|
15
|
+
import { basename, isAbsolute, join, relative, resolve, sep } from "node:path"
|
|
16
16
|
import process from "node:process"
|
|
17
17
|
import { resolveAuthor } from "./author.ts"
|
|
18
18
|
import { checkBoards, checkRoot } from "./check.ts"
|
|
@@ -32,7 +32,8 @@ import { buildInbox, type InboxEntry } from "./inbox.ts"
|
|
|
32
32
|
import { STALE_DAYS, buildOverview } from "./overview.ts"
|
|
33
33
|
import { searchStore } from "./search.ts"
|
|
34
34
|
import { detectRepo, parseSlug, publish, resolveHost } from "./publish.ts"
|
|
35
|
-
import {
|
|
35
|
+
import { DEFAULT_OUT_DIR, writeExport } from "./export.ts"
|
|
36
|
+
import { UI_DIR, createTaskServer } from "./server.ts"
|
|
36
37
|
import { initProject, openBoard } from "./file-store.ts"
|
|
37
38
|
import {
|
|
38
39
|
CONFIG_FILE,
|
|
@@ -97,6 +98,7 @@ const BOOLEAN_FLAGS = new Set([
|
|
|
97
98
|
"force",
|
|
98
99
|
"reopen",
|
|
99
100
|
"lock-only",
|
|
101
|
+
"dry-run",
|
|
100
102
|
])
|
|
101
103
|
|
|
102
104
|
/**
|
|
@@ -830,7 +832,7 @@ function cmdLink(args: Args, action: "link" | "unlink"): void {
|
|
|
830
832
|
}
|
|
831
833
|
|
|
832
834
|
const CLAIM_USAGE =
|
|
833
|
-
'usage: task claim <id> [--lock-only] | task claim --next | task claim --release <id> --comment "<why>"'
|
|
835
|
+
'usage: task claim <id> [--lock-only] [--dry-run] | task claim --next [--dry-run] | task claim --release <id> --comment "<why>"'
|
|
834
836
|
|
|
835
837
|
/**
|
|
836
838
|
* `task claim <id>` / `task claim --next` / `task claim --release <id>` — see
|
|
@@ -840,8 +842,19 @@ const CLAIM_USAGE =
|
|
|
840
842
|
*/
|
|
841
843
|
function cmdClaim(args: Args): void {
|
|
842
844
|
const ref = args.positional[0]
|
|
843
|
-
const
|
|
845
|
+
const dryRun = Boolean(args.flags["dry-run"])
|
|
846
|
+
const options = { force: Boolean(args.flags.force), dryRun }
|
|
844
847
|
const printClaim = (result: { task: Task; branch: string; base: string; previous: string }): void => {
|
|
848
|
+
if (dryRun) {
|
|
849
|
+
// Same exit-code contract as the real claim, nothing written: the
|
|
850
|
+
// scripted consumer branches on the code, the human reads the verdict.
|
|
851
|
+
if (args.flags.json) {
|
|
852
|
+
console.log(JSON.stringify({ task: result.task, branch: result.branch, dryRun: true }, null, 2))
|
|
853
|
+
} else {
|
|
854
|
+
console.log(`would claim ${result.task.id} — ${result.branch} (from ${result.base}); dry run, nothing written`)
|
|
855
|
+
}
|
|
856
|
+
return
|
|
857
|
+
}
|
|
845
858
|
if (args.flags.json) {
|
|
846
859
|
console.log(JSON.stringify({ task: result.task, branch: result.branch }, null, 2))
|
|
847
860
|
} else {
|
|
@@ -878,12 +891,17 @@ function cmdClaim(args: Args): void {
|
|
|
878
891
|
return
|
|
879
892
|
}
|
|
880
893
|
if (!ref) fail(CLAIM_USAGE)
|
|
894
|
+
if (dryRun && (args.flags["lock-only"] || args.flags.release)) {
|
|
895
|
+
// --lock-only builds its flip commit as it validates and --release only
|
|
896
|
+
// deletes; neither has a meaningful stop-before-writing seam.
|
|
897
|
+
fail("--dry-run applies to plain claim and --next only")
|
|
898
|
+
}
|
|
881
899
|
const store = openStoreFor(ref)
|
|
882
900
|
const key = store.parseId(ref)
|
|
883
901
|
if (args.flags["lock-only"]) {
|
|
884
902
|
// The branch-pinned session's claim: same lock, no checkout switch —
|
|
885
903
|
// the work delivers on the branch this session was handed, and the flip
|
|
886
|
-
// commit's
|
|
904
|
+
// commit's Delivered-By: trailer says so. See claimLockOnly.
|
|
887
905
|
if (args.flags.release) fail(CLAIM_USAGE)
|
|
888
906
|
const result = claimLockOnly(store, key, options)
|
|
889
907
|
if (args.flags.json) {
|
|
@@ -899,7 +917,7 @@ function cmdClaim(args: Args): void {
|
|
|
899
917
|
`claimed ${result.task.id} — ${result.branch} on origin (lock only, from ${result.base}), status in_progress`,
|
|
900
918
|
)
|
|
901
919
|
console.log(
|
|
902
|
-
`checkout untouched — keep working on ${result.deliveredBy} (recorded as
|
|
920
|
+
`checkout untouched — keep working on ${result.deliveredBy} (recorded as Delivered-By in the claim commit)`,
|
|
903
921
|
)
|
|
904
922
|
}
|
|
905
923
|
return
|
|
@@ -1296,6 +1314,49 @@ function cmdServe(args: Args): void {
|
|
|
1296
1314
|
})
|
|
1297
1315
|
}
|
|
1298
1316
|
|
|
1317
|
+
/**
|
|
1318
|
+
* `task export` — the same board, as files a static host can serve.
|
|
1319
|
+
*
|
|
1320
|
+
* Anchored exactly like `cmdServe`, because that's the promise: what comes out
|
|
1321
|
+
* is what `task serve` would have served, read-only and honestly stale. The
|
|
1322
|
+
* output is the prebuilt UI plus a `snapshot.json` the app reads instead of an
|
|
1323
|
+
* API — no server, no network calls beyond the static files.
|
|
1324
|
+
*/
|
|
1325
|
+
function cmdExport(args: Args): void {
|
|
1326
|
+
const serveRoot = findRoot(process.cwd()) ?? process.cwd()
|
|
1327
|
+
const boards = findBoards(serveRoot)
|
|
1328
|
+
if (boards.length === 0) {
|
|
1329
|
+
fail("no .task directory found in this directory, any parent, or below — run `task init` first")
|
|
1330
|
+
}
|
|
1331
|
+
// Deliberately not under `.task/`: `task serve` watches that tree
|
|
1332
|
+
// recursively, so an export written there would fire the change feed on
|
|
1333
|
+
// every asset copied.
|
|
1334
|
+
const out = str(args.flags, "out") ?? join(serveRoot, DEFAULT_OUT_DIR)
|
|
1335
|
+
const outDir = isAbsolute(out) ? out : resolve(process.cwd(), out)
|
|
1336
|
+
|
|
1337
|
+
let summary
|
|
1338
|
+
try {
|
|
1339
|
+
summary = writeExport({
|
|
1340
|
+
serveRoot,
|
|
1341
|
+
outDir,
|
|
1342
|
+
uiDir: UI_DIR,
|
|
1343
|
+
force: Boolean(args.flags.force),
|
|
1344
|
+
base: str(args.flags, "base"),
|
|
1345
|
+
})
|
|
1346
|
+
} catch (error) {
|
|
1347
|
+
fail(error instanceof Error ? error.message : String(error))
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
if (args.flags.json) {
|
|
1351
|
+
console.log(JSON.stringify(summary, null, 2))
|
|
1352
|
+
return
|
|
1353
|
+
}
|
|
1354
|
+
const what = `${summary.tasks} task${summary.tasks === 1 ? "" : "s"} across ${summary.boards} board${summary.boards === 1 ? "" : "s"}`
|
|
1355
|
+
console.log(`Exported ${what}${summary.commit ? ` at ${summary.commit.slice(0, 7)}` : ""}`)
|
|
1356
|
+
console.log(` ${summary.outDir}`)
|
|
1357
|
+
console.log("Serve that directory from any static host — the board reads snapshot.json.")
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1299
1360
|
/**
|
|
1300
1361
|
* `task publish` — the board, at a URL.
|
|
1301
1362
|
*
|
|
@@ -1488,7 +1549,7 @@ Usage
|
|
|
1488
1549
|
a provisioned branch (CI, a Claude web
|
|
1489
1550
|
session): the lock lives on the claim
|
|
1490
1551
|
branch, the work delivers on yours, and the
|
|
1491
|
-
flip commit's
|
|
1552
|
+
flip commit's Delivered-By: trailer records
|
|
1492
1553
|
which. --release works on a lock-only claim
|
|
1493
1554
|
the same way
|
|
1494
1555
|
task claim --next [--board <P>] [--force]
|
|
@@ -1500,6 +1561,16 @@ Usage
|
|
|
1500
1561
|
the nearest board. Exit codes: 0 claimed
|
|
1501
1562
|
(prints the ticket), 1 queue empty, 2
|
|
1502
1563
|
preconditions failed
|
|
1564
|
+
task claim <id|--next> --dry-run
|
|
1565
|
+
the same decision path — every gate, against
|
|
1566
|
+
live origin state — stopped before the first
|
|
1567
|
+
write: no branch, no commit, checkout
|
|
1568
|
+
untouched. Same exit codes as the real
|
|
1569
|
+
command, so automation asks "would a claim
|
|
1570
|
+
succeed right now?" through the code that
|
|
1571
|
+
would perform it. A yes is a reading, not a
|
|
1572
|
+
reservation — no lock is taken. Plain claim
|
|
1573
|
+
and --next only
|
|
1503
1574
|
task claim --release <id> --comment "<why>"
|
|
1504
1575
|
abandon a claim: delete the branch on origin
|
|
1505
1576
|
and locally — the status flip only lived on
|
|
@@ -1577,6 +1648,19 @@ Usage
|
|
|
1577
1648
|
fails instead). Serves every board at or below
|
|
1578
1649
|
here — in a monorepo the header becomes a
|
|
1579
1650
|
board switcher
|
|
1651
|
+
task export [--out <dir>] [--base <path>] [--force]
|
|
1652
|
+
write the board out as static files — the same
|
|
1653
|
+
UI plus a snapshot.json it reads instead of an
|
|
1654
|
+
API, so any static host serves it read-only
|
|
1655
|
+
with no server behind it. Same boards as
|
|
1656
|
+
\`task serve\`; defaults to ./${DEFAULT_OUT_DIR}.
|
|
1657
|
+
--base is the URL path the export will live
|
|
1658
|
+
under (default /) — pass /board/ when it's
|
|
1659
|
+
hosted at example.com/board/ instead of a
|
|
1660
|
+
domain root. Re-exporting refreshes an earlier
|
|
1661
|
+
export in place and leaves anything else in
|
|
1662
|
+
there alone; a non-empty directory that isn't
|
|
1663
|
+
one needs --force
|
|
1580
1664
|
task publish [--public | --private] [--repo <owner/name>]
|
|
1581
1665
|
give this repo's board a URL at
|
|
1582
1666
|
task.nickmeriano.com, read-only, updated from
|
|
@@ -1679,6 +1763,8 @@ function main(): void | Promise<void> {
|
|
|
1679
1763
|
return cmdCheck(args)
|
|
1680
1764
|
case "serve":
|
|
1681
1765
|
return cmdServe(args)
|
|
1766
|
+
case "export":
|
|
1767
|
+
return cmdExport(args)
|
|
1682
1768
|
case "publish":
|
|
1683
1769
|
return cmdPublish(args)
|
|
1684
1770
|
case "unpublish":
|