Skip to content

kuilt work

Rendered by the docs site from plan.yaml.

kuilt work bee depends on, grouped under its epic. A gap in kuilt is a kuilt issue, never a local patch.

Shared causal context for JsonCrdt (epic)

Shared causal context for JsonCrdt (epic). In flight. Began as an ORMap.remove bug; ruled reset-and-replace, re-seed migration, and every nested use on a shared-context CausalMap. Split into (a)–(g).

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.

Item Status Summary bee waits on it
(a) LatticeDotFun, a dot store that joins its payloads Done Published in kuilt 0.7.0-dev.1696. Move kuilt to 0.7.0-dev.1696
(b) CausalMap, one shared context for a map and its nested stores Done Published in kuilt 0.7.0-dev.1696. Move kuilt to 0.7.0-dev.1696
(c) A dot-store Rga Waiting on Iain A design gate is posted, with three calls for Iain before implementation. bee#19 and Task 11 wait on the chain that starts here. —
(d) JsonCrdt v2 core and path API Next Drafted, not filed. bee#19 waits on it. Surface data semantics: object writes replace, card order is an Rga of ids
(e) Migration by re-seed, and a format tag Next Drafted, not filed. —
(f) Quilter frontier wiring (kuilt#2177) Next Drafted, not filed. —
(g) Writerside and sample rewrite, and the ORMap guard Next Drafted, not filed. —

Outside an epic

Item Status Summary bee waits on it
kuilt-raft: prune a removed peer's replication state, and reset it at election In flight —
kuilt-raft: a node stops campaigning once its removal is committed Waiting on Iain A spec-critical engine change that departs from the issue's suggested fix; needs Iain's review before merge. —
session: the RoomHost contract doesn't say whether onRoom ends when its connection tears In flight The tear signal bee needs to close a claims session when its learner leaves (bee#23). Slice 1, the conformance suite, is in review. ClaimTable: drop duplicate log entries through kuilt's ClientSessionTable
quilter: no signal that a replica has caught up with the peer it joined Next —
store: IndexedDbDurableStore lets synchronous JS throws escape as JsException, which no catch (Exception) sees Next Found in bee#39. bee works around it with a decorator, so it doesn't wait on the fix. —
Quilter drops a delta or FullState over the seam's payload budget without a word Next bee hit it on its board link in #38, and works around it with WireBudget for now. —
WebSocket installs take no frame bound, so one header can allocate 2 GiB Next Found in the review of bee#42. bee works around it in the host's socket gate, so it doesn't wait on the fix. —
Server looms accept a WebSocket handshake from any web page: no Origin or Host check Next bee checks Origin and Host itself since bee#51, so it doesn't wait on the fix. —
Quilter: a caller can't wait until its own write is acknowledged Next Quilter.mutate doesn't return its sequence number, so bee counts writes against universalAckFlow instead. Filed as kuilt#3147 and named in #38's KDoc. —
Star overlays: a spoke's Quilter can't sendTo another spoke, so a mid-stream joiner never heals its cursor Next A spoke that joins mid-stream sees another spoke's edits only at the next anti-entropy round. —
Relay: attest each record's author by the connection that first delivered it Next Behind bee#60 and bee#64; needed before a second person or a keyed agent attaches, and bee states the limit for v1. —
Move Ktor to 3.6.1: Netty and WebSocket drop a session's last frame on 3.5.2 Next bee moved itself to 3.6.1 in #69, so it doesn't wait on this. —