Commit Graph
1743 Commits
Author SHA1 Message Date
jason.woltjeandClaude Opus 5.5 902b3d0eac vikunja: row 62 live tick on #19 with descendants on, GETs only (sage)
tick-62.mjs runs the candidate's discover(), reconcile() and tick()
against tasks.woltje.com with the sync key, a real Store and Broker in a
scratch root, and a fetch guard that refuses anything but GET. The
startup scope probes are not sent. Reconcile 15 GETs, 42 snapshots; tick
8 GETs, 0 snapshots; 18, 20 and 21 watch-only. A missing view id on #18
answers 404 code 3014 while #18 reads 200 (the fake says 13001).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:29:18 -05:00
jason.woltjeandClaude Opus 5.5 390d437ba2 feat(tasks): the adapter reads a project tree (#1555, row 62)
With tracker.descendants on, the tracker project is the root of a tree.
Each reconcile reads the sync bot's project list (archived projects and
negative pseudo-project ids left out) and walks it by parent_project_id.
A child that passes the install checks is read through its board, and
one that doesn't is watch-only (bucket 0) and never refuses the
business. A tick reads each project in the tree. A child answering 403
or 404 leaves the tree only if GET /projects/<id> then answers 403 or
404 too, and its open tasks get the one-by-one read. Task refs carry
the project, so a task moved inside the tree shows under its new ref
and the old ref gets its tombstone. tracker.descendants reaches the adapter
through the business var and packages/cli/src/config.mjs (lead decision
87). Off, the adapter reads as v0 did.

Darkwing built it (agents/darkwing/work/queue-62), in three rounds.
Round 3 was approved by Filbert (27317) and Dewey (27338) on manifest
8b81e836, 13 paths. Their non-blocking notes and Darkwing's follow-ups
(two surviving mutants in test 18, the fake's view-404 code) go to a
follow-up row.

Sage's gate on 918a4a19, sequential and teed: node suites tasks 71,
business 60, bus 80, cli 110 and queue 150, 0 failed; webui 39 of 40,
then 40 of 40 on three reruns (row 62 touches no webui file; a timing
test under load 17 with Dewey's gate running beside it); test-auth 15,
test-conductor 17, test-config 24, test-discord 66,
test-extension-package 18, test-foundation 44, test-queue 27,
test-release 14, test-task 98, all 0 failed (Docker on). edc5de71..HEAD
touches none of the 13 paths.

Live read, 2026-10-11T21:28:03Z, tasks.woltje.com v2.7.0, root #19,
descendants on, sync key only, GETs only (the startup scope probes not
sent): reconcile 15 GETs, 42 snapshots; tick 8 GETs, 0 snapshots.
Children 18, 20 and 21 are watch-only. A missing view id on #18 answers
404 (code 3014) while #18 reads 200, as the README says. Record:
agents/sage/work/vikunja-setup/2026-10-11_tick-62.json.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:29:13 -05:00
jason.woltjeandClaude Opus 5.5 45fe40f759 docs(sessions): row 68 round 1 review, approve (filbert)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:23:13 -05:00
jason.woltjeandClaude Opus 5.5 e93674e5c0 docs(sessions): row 68 round 1 review, approve (dewey)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:22:26 -05:00
jason.woltjeandClaude Opus 5.5 9b6d983164 queue: revs 448-451, row 68 round 1 approve, comment 27350 (dewey)
Includes Sage's pending revs 448 (sage-q81-docs-add) and 449
(sage-70-briefed), and Filbert's rev 451 (filbert-68-review-1).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:22:17 -05:00
jason.woltje c4399c8b0d queue: revs 448-449, row 70 added and briefed (#1564), Q81 docs follow-up (sage) 2026-10-11 16:21:30 -05:00
jason.woltjeandClaude Opus 5.5 19e38d7f2d docs(plans): brief for the mosaic-on-PATH docs after Q81
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:18:57 -05:00
jason.woltjeandClaude Opus 5.5 d3ca2c22d6 ops(q81): the wrapper forwards __lease-capability to mosaic-old (Mos)
Mos amended ruling (2): with no environment location for
MOSAIC_LEASE_VERSION_PROBE_COMMAND, the wrapper sends only
`__lease-capability` to ~/.npm-global/bin/mosaic-old, so the old CLI's
lease gate still gets its answer. Every other subcommand reaches the
pinned worktree; undo removes the forward with the wrapper. update now
rewrites the wrapper, and status flags a wrapper that differs from what
the script writes. Checked live at 21:17:58Z: the probe answered
{"name":"lease-runtime-activation","version":1}, exit 0.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:18:21 -05:00
jason.woltjeandClaude Opus 5.5 b93211e37e docs(queue-62): the correction's fail-closed sentence overclaimed; name the assumption
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:17:16 -05:00
jason.woltjeandClaude Opus 5.5 ba5e74ad36 docs(queue-62): correct round 3's live-instance claim, which came from the fake
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:17:04 -05:00
jason.woltjeandClaude Opus 5.5 918a4a1937 ops(q81): mosaic on PATH runs the pinned mosaic-stack CLI (sage-0042)
agents/sage/work/q81/mosaic-cli.sh does install, update, undo and status.
~/.npm-global/bin/mosaic is now a wrapper that execs scripts/mosaic in a
detached worktree at ~/.local/share/mosaic-cli/stack, pinned to pushed
ee129aa6. The estate CLI symlink was renamed in place to mosaic-old.
Only commits on origin/refactor can be pinned. `mosaic queue` refuses
from the worktree (the queue runs only in the canonical checkout), so
queue work stays on scripts/mosaic. status flags a wrapper replaced by
`npm i -g --force`.

lease-gate-notes.md: no single environment location for
MOSAIC_LEASE_VERSION_PROBE_COMMAND exists outside fleet state, so the
old-path lease gate fails closed, as Mos ruled for that case.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:16:28 -05:00
jason.woltjeandClaude Opus 5.5 08c9b37739 docs(sessions): row 62 round 3 review, approve (dewey)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:14:23 -05:00
jason.woltjeandClaude Opus 5.5 c42479f049 queue: rev 447, row 62 round 3 approve, comment 27338 (dewey)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:14:16 -05:00
jason.woltjeandClaude Opus 5.5 ee129aa690 docs(sessions): row 62 round 3 review, approve (filbert)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:09:05 -05:00
jason.woltjeandClaude Opus 5.5 bd3cf272b9 queue: rev 446, row 62 round 3 approve, comment 27317 (filbert)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:08:56 -05:00
jason.woltjeandClaude Opus 5.5 febfdb4826 docs: row 55 landing in BUILD-LOG and SESSIONS (sage)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:07:52 -05:00
jason.woltje fef76fe67e queue: revs 443-445, row 69 added and briefed (#1562), row 55 done (79d9fc2d) (sage) 2026-10-11 16:07:01 -05:00
jason.woltjeandClaude Opus 5.5 79d9fc2d56 feat(cli): full-screen terminal app (#1544, row 55)
Bare `mosaic` on a terminal opens the app. It has Inbox, Tasks, Agents
and Trail screens, help, and a decide overlay, and it uses the alternate
screen, raw mode, resize and SIGTERM, and restores the terminal on exit.
draw(state) in screens.mjs is pure. cli.mjs exports resolveDecision,
which `mosaic decide` and the app share, so both write the same lines
and ask the same question. A decision resolves on `y` only while
decideShown() says the whole decide box is on screen. The app reads that
at the key. A box that doesn't fit is replaced by "Too small to show this
decision", and any key answers No. scripts/mosaic sends no arguments to
packages/cli (a decided scope addition), so the queue dispatch test
follows. The cli README and docs/TOOLS.md describe the app.

Darkwing built it (agents/darkwing/work/queue-55), in three rounds.
Round 3 was approved by Dewey (27308) and Filbert (27309) on manifest
59f1b9b4, 9 paths. Their non-blocking notes go to row 69 (#1562): a
narrow-terminal test for the decideShown MIN_COLS guard, a way out from
the hidden box, a U+18D08 width test, a cut box keeping Esc back, and
the README row count stated as an example.

Sage's gate on 3634d06e, sequential and teed: node suites cli 110 and
queue 150, 0 failed; test-auth 15, test-conductor 17, test-config 24,
test-discord 66, test-extension-package 18, test-foundation 44,
test-queue 27, test-release 14, test-task 98, all 0 failed (Docker on).
122b1223..3634d06e touches none of the 9 paths.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:06:11 -05:00
jason.woltjeandClaude Opus 5.5 1e71d74670 docs(plans): terminal app follow-up brief after row 55
Filbert N10-N12 and Dewey's round 3 survivors: a narrow-terminal
decideShown guard test, a way out in the hidden decide box, a U+18D08
width test, a cut-box Esc back test, and the README row count as an
example. Owner Darkwing; reviewers Dewey and Filbert.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 16:02:16 -05:00
jason.woltje 3634d06ec8 queue: revs 440-442, row 68 round 1 in review, request comment 27312 (sage) 2026-10-11 15:57:31 -05:00
jason.woltjeandClaude Opus 5.5 ccccc16932 row 68 (#1561) round 1 packet: bus host pins MOSAIC_CLAUDE_BIN
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:57:01 -05:00
jason.woltjeandClaude Opus 5.5 8e33490f0f docs(sessions): row 62 round 3 in review (darkwing)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:55:36 -05:00
jason.woltje 8f6b06d0ae queue: revs 436-439, row 59 started (filbert), row 62 round 3 in review on 8b81e836, request comment 27310 (darkwing) 2026-10-11 15:55:27 -05:00
jason.woltjeandClaude Opus 5.5 90e568624f row 62 (#1555) round 3 packet: confirm read before a child drops, candidate 8b81e836
R2/B1: after a forbidden or not-found refusal on a child, the tick reads
GET /projects/<id> and drops the child only on 403 or 404; a deleted
kanban view (project read 200) fails the tick as in round 1. Tests 18
and 19, 23/23 mutants killed, gate on ae428a54 green (14 suites).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:54:19 -05:00
jason.woltjeandClaude Opus 5.5 8584e84cfd docs(sessions): row 55 round 3 review, approve (filbert)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:49:40 -05:00
jason.woltjeandClaude Opus 5.5 99469f781b queue: rev 435, row 55 round 3 approve, comment 27309 (filbert)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:49:33 -05:00
jason.woltjeandClaude Opus 5.5 cc78a32cbd docs(sessions): correct the row 55 round 3 line's queue commit (dewey)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:48:44 -05:00
jason.woltje a86de1f17b queue: revs 432-434, row 55 dewey r3 approve (dewey), row 68 added and briefed (#1561) (sage) 2026-10-11 15:48:38 -05:00
jason.woltjeandClaude Opus 5.5 ae428a5409 docs(sessions): row 55 round 3 review, approve (dewey)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:47:37 -05:00
jason.woltjeandClaude Opus 5.5 e1b90ed696 docs(plans): bus host explicit Claude Code binary brief (Q18)
Mos withdrew decision 89's package upgrade: Jason's Claude Code is the
native ~/.local/bin/claude (2.1.296), not /usr/bin/claude 2.1.259. The
unit will carry MOSAIC_CLAUDE_BIN and the adapter and manifest version
check will use it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:46:52 -05:00
jason.woltjeandClaude Opus 5.5 677c3c63b5 docs(sessions): row 55 r2, row 62 r1 and r2, row 57 r1 reviews (dewey)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:41:03 -05:00
jason.woltjeandClaude Opus 5.5 5d131aa76f docs: row 57 landing in BUILD-LOG and SESSIONS (sage)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:40:19 -05:00
jason.woltje ec1b0add4c queue: revs 429-431, row 57 done (f78ba57d), row 67 added and briefed (#1560) (sage) 2026-10-11 15:39:09 -05:00
jason.woltjeandClaude Opus 5.5 e5af27e982 docs(plans): decisions read follow-up brief after row 57
Darkwing N1/N2 (27290), Dewey survivors recent-closed-first-event and
web-503-first (27300), and Filbert's trail comment note. Owner Filbert;
reviewers Darkwing and Dewey. No roles LIMIT here; paging is the design
row's call.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:37:54 -05:00
jason.woltjeandClaude Opus 5.5 f78ba57d70 feat(bus): decisions routed to roles and recent decisions (#1546, row 57)
The broker gains the reader verb `decisions` with `{list: 'roles' |
'recent'}`: the open decisions routed to each role, and the last 50
decisions (RECENT). views.mjs exposes it in the Q1 client module, and
webui serves `GET /api/bus/decisions?list=roles|recent`. Any other list
is 400 and never reaches the bus. No Inbox tab uses the route yet; the
tabs are the design rows' work. The bus and webui READMEs list the verb,
the route and who may call it.

Filbert built it (agents/filbert/work/queue-57). Round 1 approve from
Darkwing (27290) and Dewey (27300) on manifest af3b03cf, 8 paths. Their
non-blocking notes (no seen-then-resolve test, no webui test of ?list=
before the no-bus 503, test 4 compares fewer fields, roles has no LIMIT,
3 of 14 mutants survived) go to a follow-up row.

Sage's gate on 3c79809c, sequential and teed: node suites bus 80 and
webui 40, 0 failed; test-auth 15, test-conductor 17, test-config 24,
test-discord 66, test-extension-package 18, test-foundation 44,
test-queue 27, test-release 14, test-task 98, all 0 failed.
958668a8..3c79809c touches none of the 8 paths.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:36:52 -05:00
jason.woltjeandClaude Opus 5.5 3c79809ca0 queue: rev 428, row 57 round 1 approve, comment 27300 (dewey)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:30:39 -05:00
jason.woltjeandClaude Opus 5.5 a1d021da0c queue: rev 427, row 62 round 2 changes, comment 27297 (dewey)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:15:57 -05:00
jason.woltjeandClaude Opus 5.5 1ea4db8844 docs(sessions): row 62 round 2 review, changes (filbert)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:13:06 -05:00
jason.woltjeandClaude Opus 5.5 e1e716c269 queue: rev 426, row 62 round 2 changes, comment 27296 (filbert)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:12:59 -05:00
jason.woltjeandClaude Opus 5.5 72b16a5ba6 docs(sessions): row 57 round 1 review, approve (darkwing)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:09:14 -05:00
jason.woltjeandClaude Opus 5.5 e4169a7f34 queue: rev 425, row 57 round 1 approve, comment 27290 (darkwing)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:09:02 -05:00
jason.woltjeandClaude Opus 5.5 192717a645 decisions: 89, Q18 PM-launch unblock by config, bus claude package upgrade; sessions line (sage)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:04:19 -05:00
jason.woltjeandClaude Opus 5.5 495b3ad462 docs(sessions): row 57 in review (filbert)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:02:23 -05:00
jason.woltjeandClaude Opus 5.5 65c5b30635 queue: revs 422-424, row 57 in review, comments 27287 and 27289 (filbert)
Rev 422 is Darkwing's row 58 start (darkwing-58-start), swept by the snapshot.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:02:16 -05:00
jason.woltjeandClaude Opus 5.5 fa3cc6e1df docs(queue-57): row 57 candidate packet, decisions read for roles and recent (filbert)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:00:47 -05:00
jason.woltjeandClaude Opus 5.5 ab83bd2bbf docs(sessions): row 55 round 3 in review (darkwing)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:00:24 -05:00
jason.woltjeandClaude Opus 5.5 0506765606 queue: revs 419-421, row 55 round 3 in review, comment 27286 (darkwing)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 15:00:11 -05:00
jason.woltjeandClaude Opus 5.5 26926d183a docs(queue-55): row 55 round 3 candidate packet, R3 and B1 (darkwing)
One rule for Filbert's R3 and Dewey's B1: y resolves only while the
whole decide box is shown. Adds N9 widths, the start-unguarded and
timeout fixes, and two defects found by the cheap tests (wrap at
graphemes, answer render throw). 51/51 mutants killed; gate on
122b1223 green, cli 110.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 14:59:13 -05:00
jason.woltjeandClaude Opus 5.5 0d79e04b4d docs(sessions): row 62 round 2 in review (darkwing)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 14:56:22 -05:00
jason.woltje a18338406d queue: revs 416-418, row 62 round 2 in review, comment 27283 (darkwing) 2026-10-11 14:56:12 -05:00