Commit Graph
386 Commits
Author SHA1 Message Date
istos 2cc0dd5c7e board: 54 → review (istos) 2026-08-02 13:32:37 +02:00
istos 341edf2132 board: 54 Work report filed (istos) 2026-08-02 13:32:37 +02:00
istos 8dc83d221b board: 55 PR review filed (istos) 2026-08-02 13:07:16 +02:00
istos 95ec6df0df board: 61 phase log (istos) 2026-08-02 12:51:57 +02:00
istos f798c17f3a board: 54 → in-progress (istos) 2026-08-02 12:51:56 +02:00
istos 0412c78f39 board: 61 phase log (istos) 2026-08-02 12:51:56 +02:00
istos 4d5cd19f7e board: 55 PR opened (istos) 2026-08-02 12:51:48 +02:00
istos eccaa415ed board: 55 → review (istos) 2026-08-02 12:51:40 +02:00
istos 331e5acc21 board: 55 Work report filed (istos) 2026-08-02 12:51:40 +02:00
istos a445b660b5 board: 50 → archived (istos) 2026-08-02 12:37:29 +02:00
istos 46e4f143d2 board: 51 → archived (istos) 2026-08-02 12:37:26 +02:00
istos 343df6604f board: 52 → archived (istos) 2026-08-02 12:37:22 +02:00
istos a44dfc2fb8 board: 56 → archived (istos) 2026-08-02 12:37:18 +02:00
istos 43ffa1c0ec board: 58 → archived (istos) 2026-08-02 12:37:14 +02:00
istos 88e5e6ea9a board: 59 → archived (istos) 2026-08-02 12:37:12 +02:00
istos 19e134e8f9 board: 53 → archived (istos) 2026-08-02 12:37:01 +02:00
istos 2691d8ff80 board: 61 phase log (istos) 2026-08-02 12:35:54 +02:00
istos 98d4157135 board: 55 → in-progress (istos) 2026-08-02 12:35:54 +02:00
istos dab8d97ecb board: 61 phase log (istos) 2026-08-02 12:35:52 +02:00
istos db418d47bf board: 61 → in-progress (istos) 2026-08-02 12:35:35 +02:00
istos 90c1ccd7ea board: 61 → to-do (istos) 2026-08-02 12:35:32 +02:00
istos d2b44ca133 board: 57 → archived (istos) 2026-08-02 12:35:14 +02:00
istos 11e84d94c0 board: 20 → archived (istos) 2026-08-02 12:34:34 +02:00
istos f4104d605d board: 19 → archived (istos) 2026-08-02 12:34:31 +02:00
istos b421291f15 tasks: phase 61 — what an agent is told before it starts
Runs 55 (the prompt says the run is one turn), then 54 (start_agent
refuses a phase card), then 46 (a board with no runnable commands says
so). No card depends on another; 55 is prompt-only and goes first, 54
and 46 both edit board.html so they run adjacent.

Also the first exercise of the Phases view: 56-59 landed after phase 53
finished, so hiding, the lane, the move refusal and the sweep have not
yet been watched on a live run.
2026-08-02 12:34:29 +02:00
istos c012987490 board: 18 → archived (istos) 2026-08-02 12:34:28 +02:00
istos a32ee33653 board: 17 → archived (istos) 2026-08-02 12:34:24 +02:00
istos d97fc4f34d board: 16 → archived (istos) 2026-08-02 12:34:21 +02:00
istos b20ef0344f board: 10 → archived (istos) 2026-08-02 12:34:18 +02:00
istos 0b975ce502 board: 04 → archived (istos) 2026-08-02 12:34:11 +02:00
istos e488a73832 board: 01 → archived (istos) 2026-08-02 12:34:02 +02:00
istos 8a69df87de board: 59 → done (istos) 2026-08-02 12:31:28 +02:00
Ronald AshriandGitHub 0745e68883 Merge pull request #50 from 12vectors/task/59-finishing-a-phase-finishes-its-cards
59 — Finishing a phase finishes its cards, and clears up after them
2026-08-02 12:31:20 +02:00
istos f601a078d5 board: 59 PR review filed (istos) 2026-08-02 12:21:04 +02:00
istos 7b6ccc8f86 board: 59 PR opened (istos) 2026-08-02 10:08:58 +02:00
istos f162a79822 board: 59 → review (istos) 2026-08-02 10:08:49 +02:00
istos a7e9f6aae2 board: 59 Work report filed (istos) 2026-08-02 10:08:49 +02:00
istosandClaude Opus 5 b690060be2 Finishing a phase finishes its cards, and clears up after them
Merge & clean up on a phase card now ends the phase: after the merge into
main has actually succeeded, every member the phase merged moves to done/
and its workspace is cleared the way completing an ordinary card clears
its own — worktree removed, local branch deleted, branch on the remote
deleted.

Only what the phase merged. A member is swept when its card settled into
review/ or done/ and its branch is contained in the phase branch (or
there was never a branch to bring) — the same pair the runner reads a
member as merged by. One that halted, was held or was walked back keeps
its card, its worktree and its branch: there is work in them.

Nothing uncommitted is thrown away: a member's worktree comes out without
--force, and a dirty one is reported in the ticker and kept with its
branch rather than forced.

One ending, told once. taskfiles.move_together moves the cards in a
single commit naming all of them (`board: 47, 52 → done with phase 53`,
so it publishes in team mode like any other board commit), and the moves
are marked quiet so the watcher does not also scroll five identical move
lines behind the one line the ending gets.

The other endings are untouched: "just move the card" and archiving the
phase card move no member, because neither puts anything in main.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 10:08:00 +02:00
istos 064ed1f505 board: 59 → in-progress (istos) 2026-08-02 09:33:18 +02:00
istos f0b6cbf01c board: 58 → done (istos) 2026-08-02 09:33:07 +02:00
Ronald AshriandGitHub 97ea130063 Merge pull request #49 from 12vectors/task/58-a-phase-card-will-not-move-while-its-work-runs
58 — A phase card will not move while its work is running
2026-08-02 09:32:59 +02:00
istos d08723c72f board: 58 PR review filed (istos) 2026-08-02 09:29:49 +02:00
istos 69b1b4938a board: 58 PR opened (istos) 2026-08-02 09:23:55 +02:00
istos 292d1f93c9 board: 58 → review (istos) 2026-08-02 09:23:48 +02:00
istos a7243f0d20 board: 58 Work report filed (istos) 2026-08-02 09:23:48 +02:00
istosandClaude Opus 5 8fbfc1085d A phase card does not move while its work runs
Dragging a phase card between stages while one of its members has an
agent in it is a move nobody can mean: the card lands somewhere its
branch, its worktree and its live agent are not. The board refuses it,
and names the way through rather than the wall — which member is
working, and that ‖ hold stops the phase and the agent it has in flight
while leaving the branch, the merges and every worktree as they were.

- phases.assert_not_working() is the refusal: it reads the one file
  first, so an ordinary card never reaches the question, then resolves
  the phase's list and asks what is actually running.
- agents.working_on() answers that from the processes themselves, not
  from the registry's status alone — the reaper flips that a moment
  after a run ends, and a rule that only refuses must not hold a card
  hostage to a run that has already died. stop_phase() now reads the
  same helper.
- httpd asks it on /api/move, /api/archive (archiving is a move) and
  /api/task/complete, so a stale page cannot get past it.
- The toast wraps, is bounded to the viewport and stays up for as long
  as its text takes to read: a refusal you cannot finish reading is the
  wall this was written against.

What still moves: a phase between members, a halted phase, a held one,
a member card, and every ordinary card.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 09:23:23 +02:00
istos 208077073e board: 58 → in-progress (istos) 2026-08-02 09:07:04 +02:00
istos 00f2a91ccf board: 57 → done (istos) 2026-08-02 09:07:03 +02:00
Ronald AshriandGitHub 8b6ba0c67f Merge pull request #48 from 12vectors/task/57-the-phases-view-a-swimlane-each
57 — The Phases view: a swimlane each
2026-08-02 09:06:55 +02:00
istos 41d30097c3 board: 57 PR update filed (istos) 2026-08-02 09:06:24 +02:00