Half-baked ideas in progress.

Documents here are not held to the separation the rest of the hub observes: they may mix normative rules, language-agnostic algorithms, and Rust-specific details freely, because working out which is which is usually the last step rather than the first.

Nothing here is adopted. When a draft settles, it is split along the usual seams and moves into Specification, Implementation and kladde-rs — or, if it is rejected, into Superseded with the reasoning intact.

Current drafts

draftstatus
Open issuesan audit: where the other documents contradict each other, and what blocks a first prototype
The Move operationthe record is specified; how a flush states it is sketched, with the open questions listed but not answered
Segmentsa direction, not yet a design
Cleaning by ripenessa proposal: clean each page once waiting no longer pays, judged by how fast it still drains
Bayesian ripenessa proposal on top of it: keep a posterior over each page’s drain, for either variant of the draft, and decide from the posterior
Sorting survivors by temperatureanother idea for reducing file size, orthogonal to how ripeness is estimated: try to avoid creating pages that mix cold chunks with chunks that are still draining.
Variable-size valuesa proposal: separate how many bytes a value’s encoding takes from how much room its place reserves; packed places unpad enums, write integers and pointers as varints, and admit small strings and vectors that keep short content inline

Open issues is the odd one out: it is not an idea in progress but a standing list, and it is kept here because it is maintained by audit and goes stale the moment the documents it indexes are edited.

7 items under this folder.