Files
mesh-controller/internal/inventory/migrations/0098-the-list-of-predefined-keys.sql
T
mesh-adminandClaude Opus 5.5 3058988a77
mesh/merge-gate head 3058988a77d9 merged into trunk fcdecb436117 — pass: [release feat/57-config-and-provisioning, judged by its controller 085b885b7ffb] t…
mesh/repo-check head 3058988a77d9 merged into trunk fcdecb436117 — pass: [release feat/57-config-and-provisioning, judged by its controller 085b885b7ffb] i…
mesh/delivery stopped: the pull request closed unmerged
Bring F3 up to K2 on its release branch (part 3 of 3)
testdata/store-tests holds both sides' entries; F3's own sit beside each other, so the list merges with the release branch's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 19:11:04 +00:00

21 lines
1.2 KiB
SQL

-- The list of predefined keys (novox/hq ADR 0348 clause 7, design 57 package K2, issue 661).
--
-- Mesh config and node config hold values only for the keys in the catalogue's `predefined.json`. A build of
-- the catalogue reads the file at the commit it builds and carries it; the controller keeps the newest trunk
-- build's, which every manifest it reads again is judged against, and which mesh-config publishes from here
-- (design 57 package K3). One list for the mesh: one row.
--
-- **The newest trunk build wins**, by the generation of the commit built — how many commits it stands on, which
-- of two commits on one trunk is larger for the later — so a list heard late from an older build never replaces
-- a newer one. Not a config value: a key, its type, description, validation and whether it is trusted, all of it
-- public in the catalogue's repository.
create table predefined_list (
one boolean primary key default true check (one),
keys jsonb not null,
repository text not null,
commit text not null,
generation bigint not null check (generation > 0),
build text not null,
kept_at timestamptz not null default now()
);