-- The quorum (2026-11-03, ADR 0013). Additive only: nothing is dropped, nothing -- an older image needs is rewritten. (0010 is kept for lot V: the gap is meant.) -- -- Yvv, 2026-11-02: « C suit le cran, mais c'est une proposition par défaut, -- variable modifiable par l'auteur initial du texte… c'est plutôt un quorum ». -- The floor C of *for* votes put in front of the formula gives way to a quorum Q -- by level: from Q voters on, the share of the inertia applies; below it, the -- voters missing count as against (2026-11-03: « Ils comptent comme non »). -- `documents.vote_floor` stays: the reference quorum Q₀, read for the reference -- participation p0 = 2Q₀/W only (never an article's quorum), and as every -- level's quorum while `quorums` is NULL. An older image ignores both columns. -- The quorum of each level, 1 to 5, as JSON `[Q1, Q2, Q3, Q4, Q5]`: the default -- of an article at that level (Yvv: « 12 · 12 · 50 · 50 · 50 » in Monnaie libre, -- 1 everywhere in the test group). NULL: a base the quorum amendment -- (src/quorum_amend.rs) has not reached yet. ALTER TABLE documents ADD COLUMN quorums TEXT; -- The quorum of an article, set by the author of its first version before the -- first vote (src/quorum.rs; Yvv: « L'auteur, avant le 1er vote »). NULL: the -- quorum of its level. A change of its inertia is judged on it too. ALTER TABLE units ADD COLUMN quorum INTEGER; -- Every change of an article's own quorum: who, from what, to what. CREATE TABLE quorum_changes ( id INTEGER PRIMARY KEY AUTOINCREMENT, unit_id TEXT NOT NULL REFERENCES units(id), doc_id TEXT NOT NULL REFERENCES documents(id), from_quorum INTEGER, -- NULL: the quorum of its level to_quorum INTEGER, -- NULL: back to the quorum of its level identity_id TEXT NOT NULL REFERENCES identities(id), at TEXT NOT NULL ); CREATE INDEX quorum_changes_unit ON quorum_changes(unit_id); -- Quorum amendments (src/quorum_amend.rs): the quorums by level of the seed, -- written into an existing document that holds none, decided once per document. -- Each decision is kept here: applied, refused (and why), or present. CREATE TABLE quorum_amendments ( amendment_id TEXT NOT NULL, doc_id TEXT NOT NULL REFERENCES documents(id), from_quorums TEXT, -- what the document held: NULL, or its JSON to_quorums TEXT NOT NULL, -- the seed's, JSON outcome TEXT NOT NULL, -- applied | refused | present reason TEXT, -- why it was refused at TEXT NOT NULL, PRIMARY KEY (amendment_id, doc_id) );