docs(#3034): give the brace one home instead of five
Measured after mara's "2/3 of this is docs, most of it duplicated": 243 of 380 added .rs lines were comments. The brace rationale was written out in full in `model.rs`, the `templates.rs` module header, `quiesce`, `rebuild_subtree` and `docs/coordinator.md` — five copies of one argument, which is why four docs needed correcting earlier in this branch. Correcting every copy preserves the thing that made them go stale. `docs/coordinator.md` (_Braces_) is now the single home. The rest state what a node *is* and point there. Also drops the per-operation DAG diagram from the `templates.rs` header, which the same doc already carries, and cuts `rebuild_subtree`'s node-by-node walkthrough down to the three choices a reader would otherwise undo — the code below it is the source of truth for the shape. Comments -59 lines, no behaviour change, 317 tests unchanged.
This commit is contained in:
parent
c2eafa7548
commit
0a14055a33
4 changed files with 45 additions and 116 deletions
|
|
@ -558,16 +558,10 @@ fn rebuild_chain_declares_its_resources_on_the_brace() {
|
|||
// Was `rebuild_chain_declares_the_slot_where_the_nix_work_is` (and before
|
||||
// that `fifo_fairness_for_the_slot`).
|
||||
//
|
||||
// ⚠️ **This rename is a reversal, not tidying.** The old assertion read
|
||||
// "the slot follows the nix work and the lease follows the container": each
|
||||
// node declared the resource it personally needed, deliberately, so that the
|
||||
// requirement belonged to the node rather than to one DAG shape. The brace
|
||||
// inverts that for a coordinated subtree, and the reason is forced:
|
||||
// declaring a resource means *"I need this exclusively"* and the lease is
|
||||
// single-unit, so `Prebuild` and the quiesce chain — which exist to run
|
||||
// **concurrently** — could never overlap if both declared it. One holder
|
||||
// above them speaks for the subtree. `templates.rs`'s module doc carries the
|
||||
// general rule and states this as its one sanctioned exception.
|
||||
// ⚠️ **The rename is a reversal, not tidying.** The old name asserted "the
|
||||
// slot follows the nix work and the lease follows the container" — each node
|
||||
// declaring what it personally needed. The brace inverts that for a
|
||||
// coordinated subtree; see `docs/coordinator.md`, _Braces_.
|
||||
//
|
||||
// (`hive_jobq` owns slot *fairness*, pinned there by
|
||||
// `a_contended_resource_goes_to_the_oldest_waiter`. What is c0re's is
|
||||
|
|
@ -903,14 +897,9 @@ fn rebuild_reconcile_waits_for_the_whole_build_subtree() {
|
|||
// Both facts are asserted in `rebuild_chain_is_declared_serial`; this test
|
||||
// states the derived property explicitly because the indirection is the
|
||||
// easy thing to break — someone flattening the chain would keep every edge
|
||||
// and still lose the guarantee.
|
||||
//
|
||||
// 🎯 That warning earned itself: introducing `AgentWindow` **did** flatten
|
||||
// this chain (`stop_for_update` moved off `prebuild` and onto the brace),
|
||||
// and the guarantee survives only because the roll-up point moved with it.
|
||||
// The same roll-up rule is also what makes the obvious-looking alternative
|
||||
// — `stop_for_update` `AfterOk` `prebuild` *with* `swap` still nested under
|
||||
// `prebuild` — a **cycle**: the two would wait on each other.
|
||||
// and still lose the guarantee. That warning earned itself: `AgentWindow`
|
||||
// **did** flatten this chain, and the guarantee survives only because the
|
||||
// roll-up point moved with it.
|
||||
let q = JobQueue::new(1);
|
||||
let id = submit(&q, "r", |builder| rebuild(builder, "agent-a"));
|
||||
let shape = declared_shape(&q, id);
|
||||
|
|
|
|||
Loading…
Reference in a new issue