forked from yvv/decision
v3 : modules d'ordre et de titre — moteur, données, serveur (L11)
L'ordre des articles de chaque section (cran 2) et le titre du document (cran 4) deviennent des modules : des unités à part, dont les versions sont des propositions votées comme les articles (dépliées, panier, chaîne). - moteur : ld-engine/src/order.rs (qui est dans l'ordre, ordre proposé, complété à la fin quand un article entre ou sort, places redistribuées, nouvel article en fin de section) ; pending : un ordre de moins de deux articles n'est jamais à voter ; - données : migration 0007 (units.kind, module_amendments) ; le seed déclare ses modules ; module_amend.rs les ajoute une fois, gardé et journalisé, aux documents nés sans eux, sans toucher articles ni votes ; - serveur : modules.rs, order.rs, doc_title.rs (portes pour proposer, entrée en vigueur : les articles changent de place, le document change de titre, en et es passent « à revoir ») ; publication des modules ; - reste mineur : la médiane compte les statuts open, in_force, applied, et eux seuls. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
-- Modules (2026-10-31, ADR 0009): the title of a document and the order of the
|
||||
-- articles of each of its sections, voted like its articles. Additive only:
|
||||
-- every unit of before is an article, nothing else changes.
|
||||
--
|
||||
-- A module is a unit of its own kind. Its versions are proposals, voted,
|
||||
-- counted, signed on the chain and brought into force like those of an
|
||||
-- article; their kind says what they hold:
|
||||
-- title — `title` is the title of the document in its source language;
|
||||
-- order — `body` is the order of the section, one article (unit id) per line.
|
||||
|
||||
ALTER TABLE units ADD COLUMN kind TEXT NOT NULL DEFAULT 'article'; -- article | title | order
|
||||
|
||||
-- The modules added to an existing document (src/module_amend.rs): decided
|
||||
-- once per document, from what it holds then (its title, the order of each
|
||||
-- section), never touching an article or a vote. Each decision is kept here:
|
||||
-- applied (and what was created), refused (and why), or present (the document
|
||||
-- was born with its modules).
|
||||
CREATE TABLE module_amendments (
|
||||
amendment_id TEXT NOT NULL,
|
||||
doc_id TEXT NOT NULL REFERENCES documents(id),
|
||||
outcome TEXT NOT NULL, -- applied | refused | present
|
||||
reason TEXT, -- why it was refused
|
||||
created TEXT, -- JSON array of the codes of the modules created
|
||||
at TEXT NOT NULL,
|
||||
PRIMARY KEY (amendment_id, doc_id)
|
||||
);
|
||||
Reference in New Issue
Block a user