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. | — |