Skip to content

Timeline

When each piece started and landed, and the estimate for what is still open. Rendered by the docs site from plan.yaml.

Times are in America/New_York (ET). Durations run from start to merge, or for a decision, to its ruling.

Done

Only finished work, on the dates it ran. Open work has no bar: its estimates are below.

gantt
    dateFormat YYYY-MM-DD HH:mm
    axisFormat %m-%d %H:%M
    section Done
    Kotlin/wasm and the renderer in one page (spike 1) : task_1, 2026-11-06 19:59, 2026-11-06 20:31
    The board lattice and its projection (spike 2, part 1) : task_2, 2026-11-06 20:38, 2026-11-06 21:02
    The relay (spike 2, part 2) : task_3, 2026-11-06 21:13, 2026-11-06 21:44
    The browser driver and two browsers (spike 2, part 3) : task_4, 2026-11-06 21:55, 2026-11-06 22:30
    Bridge mechanics (spike 3, first half) : task_5, 2026-11-06 20:47, 2026-11-06 21:12
    Claims (spike 4) : task_6, 2026-11-06 20:42, 2026-11-07 19:00
    Claims blocked by kuilt learner admission  fix kuilt first, or work around it in bee? : bee_11, 2026-11-06 20:44, 2026-11-07 09:43
    Join, which completes spikes 3 and 4 : task_7, 2026-11-07 16:49, 2026-11-07 21:17
    Join the bridge, the board and claims : bee_27, 2026-11-07 16:49, 2026-11-07 21:01
    Detect a dead board link from the claims link, or from a per-spoke view? : bee_28, 2026-11-07 16:51, 2026-11-07 18:53
    Detect a crashed agent from its claims link : bee_32, 2026-11-07 19:27, 2026-11-07 21:10
    A late win whose link dies is released only by a later wait on that surface : bee_31, 2026-11-07 19:23, 2026-11-07 21:17
    Give back a late win whose claims link died, on the next link : bee_33, 2026-11-07 20:18, 2026-11-07 21:17
    A wait's reserve can no longer fail, so make it fail loudly : bee_37, 2026-11-07 21:10, 2026-11-07 21:28
    Move kuilt to 0.7.0-dev.1696 : bee_40, 2026-11-07 21:15, 2026-11-07 21:19
    A board change elsewhere may re-create the field someone is typing in : bee_43, 2026-11-07 21:36, 2026-11-08 14:00
    Decision  an agent that dies while the host is down keeps its claims forever : bee_44, 2026-11-07 21:36, 2026-11-08 12:26
    Any website open on the laptop can use the board  check Origin and Host on /ws/* : bee_45, 2026-11-07 21:44, 2026-11-07 23:40
    A tab left open across a host wipe pushes its old board, claim views included, into the new host : bee_46, 2026-11-07 22:07, 2026-11-07 23:49
    A Sketch can still reach the network through WebRTC, which CSP doesn't cover : bee_49, 2026-11-07 22:41, 2026-11-08 12:30
    ClaimsSmokeTest and FrameBoundTest fail intermittently in the smoke job : bee_53, 2026-11-07 23:31, 2026-11-08 00:27
    Refuse cross-site requests by Fetch Metadata  a no-Origin GET can still fill the pairing slots : bee_54, 2026-11-07 23:40, 2026-11-08 00:36
    The host can hang up on an over-bound frame without its 1009 close frame : bee_58, 2026-11-08 00:15, 2026-11-08 12:35
    Decision  a Sketch can forge the viewer's choice in Chromium, by focusing itself : bee_60, 2026-11-08 01:01, 2026-11-08 12:35
    Decision  any local process can admit a second screen by writing a human-attributed admit : bee_64, 2026-11-08 12:33, 2026-11-08 12:42
    Surface data semantics  merge or replace, concurrent card order, leaf encoding : bee_14, 2026-11-06 20:51, 2026-11-07 09:43
    Sketch and the companion adapter (spike 5, the acceptance test) : task_8, 2026-11-07 21:13, 2026-11-08 13:49
    Durability of the board (spike 6) : task_9, 2026-11-07 21:15, 2026-11-07 22:21
    A second screen, joined by LAN pairing (spike 7) : task_10, 2026-11-07 21:20, 2026-11-07 22:51
    Task 10's follow-up calls : bee_42_calls, 2026-11-07 21:35, 2026-11-08 12:26
    Working-day surfaces  Board, Poll, orphan decisions, history strip : task_11, 2026-11-08 12:44, 2026-11-08 13:59
    (a) LatticeDotFun, a dot store that joins its payloads : kuilt_3132, 2026-11-07 17:27, 2026-11-07 20:29
    (b) CausalMap, one shared context for a map and its nested stores : kuilt_3136, 2026-11-07 18:01, 2026-11-07 20:43
Item Started Landed Took Links
Kotlin/wasm and the renderer in one page (spike 1) 2026-11-06 19:59 EST 2026-11-06 20:31 EST 32 min Plan, Task 1, bee#8, Spike 1 report
The board lattice and its projection (spike 2, part 1) 2026-11-06 20:38 EST 2026-11-06 21:02 EST 24 min Plan, Task 2, bee#9, Spike 2 report
The relay (spike 2, part 2) 2026-11-06 21:13 EST 2026-11-06 21:44 EST 31 min Plan, Task 3, bee#15, bee#29, deltas not whole boards
The browser driver and two browsers (spike 2, part 3) 2026-11-06 21:55 EST 2026-11-06 22:30 EST 35 min Plan, Task 4, bee#16
Bridge mechanics (spike 3, first half) 2026-11-06 20:47 EST 2026-11-06 21:12 EST 25 min Plan, Task 5, bee#13, Spike 3 report
Claims (spike 4) 2026-11-06 20:42 EST 2026-11-07 19:00 EST 22.3 h Plan, Task 6, bee#10, bee#26, learner grace, Spike 4 report
Claims blocked by kuilt learner admission: fix kuilt first, or work around it in bee? 2026-11-06 20:44 EST 2026-11-07 09:43 EST 13.0 h bee#11
Join, which completes spikes 3 and 4 2026-11-07 16:49 EST 2026-11-07 21:17 EST 4.5 h Plan, Task 7
Join the bridge, the board and claims 2026-11-07 16:49 EST 2026-11-07 21:01 EST 4.2 h bee#27
Detect a dead board link from the claims link, or from a per-spoke view? 2026-11-07 16:51 EST 2026-11-07 18:53 EST 2.0 h bee#28
Detect a crashed agent from its claims link 2026-11-07 19:27 EST 2026-11-07 21:10 EST 1.7 h bee#32
A late win whose link dies is released only by a later wait on that surface 2026-11-07 19:23 EST 2026-11-07 21:17 EST 1.9 h bee#31
Give back a late win whose claims link died, on the next link 2026-11-07 20:18 EST 2026-11-07 21:17 EST 59 min bee#33
A wait's reserve can no longer fail, so make it fail loudly 2026-11-07 21:10 EST 2026-11-07 21:28 EST 18 min bee#37, bee#41
Move kuilt to 0.7.0-dev.1696 2026-11-07 21:15 EST 2026-11-07 21:19 EST 4 min bee#40
A board change elsewhere may re-create the field someone is typing in 2026-11-07 21:36 EST 2026-11-08 14:00 EST 16.4 h bee#43, bee#63
Decision: an agent that dies while the host is down keeps its claims forever 2026-11-07 21:36 EST 2026-11-08 12:26 EST 14.8 h bee#44, bee#62
Any website open on the laptop can use the board: check Origin and Host on /ws/* 2026-11-07 21:44 EST 2026-11-07 23:40 EST 1.9 h bee#45, bee#51
A tab left open across a host wipe pushes its old board, claim views included, into the new host 2026-11-07 22:07 EST 2026-11-07 23:49 EST 1.7 h bee#46, bee#52
A Sketch can still reach the network through WebRTC, which CSP doesn't cover 2026-11-07 22:41 EST 2026-11-08 12:30 EST 13.8 h bee#49, bee#66, spec limit
ClaimsSmokeTest and FrameBoundTest fail intermittently in the smoke job 2026-11-07 23:31 EST 2026-11-08 00:27 EST 56 min bee#53, bee#57
Refuse cross-site requests by Fetch Metadata: a no-Origin GET can still fill the pairing slots 2026-11-07 23:40 EST 2026-11-08 00:36 EST 56 min bee#54, bee#55
The host can hang up on an over-bound frame without its 1009 close frame 2026-11-08 00:15 EST 2026-11-08 12:35 EST 12.3 h bee#58, bee#69
Decision: a Sketch can forge the viewer's choice in Chromium, by focusing itself 2026-11-08 01:01 EST 2026-11-08 12:35 EST 11.6 h bee#60, bee#38
Decision: any local process can admit a second screen by writing a human-attributed admit 2026-11-08 12:33 EST 2026-11-08 12:42 EST 9 min bee#64, bee#68
Surface data semantics: merge or replace, concurrent card order, leaf encoding 2026-11-06 20:51 EST 2026-11-07 09:43 EST 12.9 h bee#14
Sketch and the companion adapter (spike 5, the acceptance test) 2026-11-07 21:13 EST 2026-11-08 13:49 EST 16.6 h Plan, Task 8, bee#38
Durability of the board (spike 6) 2026-11-07 21:15 EST 2026-11-07 22:21 EST 1.1 h Plan, Task 9, bee#39
A second screen, joined by LAN pairing (spike 7) 2026-11-07 21:20 EST 2026-11-07 22:51 EST 1.5 h Plan, Task 10, bee#42
Task 10's follow-up calls 2026-11-07 21:35 EST 2026-11-08 12:26 EST 14.8 h bee#42
Working-day surfaces: Board, Poll, orphan decisions, history strip 2026-11-08 12:44 EST 2026-11-08 13:59 EST 1.2 h Plan, Task 11, bee#70, Notions Poll and Board, bee#75, orphan decisions
(a) LatticeDotFun, a dot store that joins its payloads 2026-11-07 17:27 EST 2026-11-07 20:29 EST 3.0 h kuilt#3132
(b) CausalMap, one shared context for a map and its nested stores 2026-11-07 18:01 EST 2026-11-07 20:43 EST 2.7 h kuilt#3136

Open

Each estimate is a range of wall-clock time from start to merge, leaving out time waiting on Iain.

In flight

  • A client whose FullState is over the frame bound redials and resends it forever. Started 2026-11-08 12:33 EST.
    Links: bee#65, bee#76
  • Shared causal context for JsonCrdt (epic). Started 2026-11-07 14:36 EST. Estimate: 1–3 days, low confidence.
    Basis: From the issue being filed to the last slice merging. (a) and (b) each took about 3 h from PR open to merge. (c) waits on three design calls for Iain, with no PR yet, and (d)–(g) are not filed. What remains is a chain of three: (c), then (d), then (e)–(g) in parallel, at 3–12 h each.
    Links: kuilt#3126
  • kuilt-raft: prune a removed peer's replication state, and reset it at election. Started 2026-11-07 17:29 EST.
    Links: kuilt#3133
  • session: the RoomHost contract doesn't say whether onRoom ends when its connection tears. Started 2026-11-07 20:28 EST.
    Links: kuilt#3129, kuilt#3141, slice 1

Waiting on Iain

Blocked

  • Surface data semantics: object writes replace, card order is an Rga of ids. Started 2026-11-07 09:51 EST.
    Links: bee#19
  • ClaimTable: drop duplicate log entries through kuilt's ClientSessionTable. Started 2026-11-07 15:43 EST.
    Links: bee#23

Next

  • Give the host its own peer kind, and keep bee_clear off its surfaces. Started 2026-11-08 12:44 EST.
    Links: bee#71
  • The bridge refuses wait and list on the host's pairing surfaces. Started 2026-11-08 12:44 EST.
    Links: bee#72
  • Give each e2e spec that writes records its own host, and run two workers. Started 2026-11-08 12:44 EST.
    Links: bee#74
  • The bridge's board socket sends no pings, so a half-open link can outlast the boot grace. Started 2026-11-08 12:52 EST.
    Links: bee#77
  • Boot grace: two survivors holding different stale entries make a dead agent look seen. Started 2026-11-08 12:52 EST.
    Links: bee#78
  • A bee-notions edit can ship a stale bundle while webpack reports up to date. Started 2026-11-08 12:59 EST.
    Links: bee#80
  • The bridge can't append to an array, so agent Polls lose their options basis. Started 2026-11-08 13:10 EST.
    Links: bee#81
  • Fence an orphan decision's proposal by the orphan token. Started 2026-11-08 13:40 EST.
    Links: bee#83
  • Sketch Send bar: close the remaining arming gaps with aria-disabled and a click guard. Started 2026-11-08 13:49 EST.
    Links: bee#84
  • PairingChannelTest's hang-up case fails every time it runs alone. Started 2026-11-08 13:59 EST.
    Links: bee#85
  • (d) JsonCrdt v2 core and path API
  • (e) Migration by re-seed, and a format tag
  • (f) Quilter frontier wiring (kuilt#2177)
  • (g) Writerside and sample rewrite, and the ORMap guard
  • quilter: no signal that a replica has caught up with the peer it joined. Started 2026-11-07 21:25 EST.
    Links: kuilt#3142
  • store: IndexedDbDurableStore lets synchronous JS throws escape as JsException, which no catch (Exception) sees. Started 2026-11-07 21:41 EST.
    Links: kuilt#3143
  • Quilter drops a delta or FullState over the seam's payload budget without a word. Started 2026-11-07 21:58 EST.
    Links: kuilt#3144
  • WebSocket installs take no frame bound, so one header can allocate 2 GiB. Started 2026-11-07 22:25 EST.
    Links: kuilt#3145
  • Server looms accept a WebSocket handshake from any web page: no Origin or Host check. Started 2026-11-07 23:01 EST.
    Links: kuilt#3146
  • Quilter: a caller can't wait until its own write is acknowledged. Started 2026-11-08 10:02 EST.
    Links: kuilt#3147, bee#38
  • Star overlays: a spoke's Quilter can't sendTo another spoke, so a mid-stream joiner never heals its cursor. Started 2026-11-08 12:33 EST.
    Links: kuilt#3148
  • Relay: attest each record's author by the connection that first delivered it. Started 2026-11-08 12:42 EST.
    Links: kuilt#3149, bee#68
  • Move Ktor to 3.6.1: Netty and WebSocket drop a session's last frame on 3.5.2. Started 2026-11-08 13:00 EST.
    Links: kuilt#3150

Later

  • Serve the board over HTTPS on the LAN, so LAN pages are secure contexts. Started 2026-11-08 12:44 EST.
    Links: bee#73
  • Dogfood: bee as the board for its own development
    Links: bee#21
  • kuilt References policy: allow references to public tractat-us projects
    Links: Epic bee#6