DLV-B1, DLV-B2: the builder's state versions, numbering under compare-and-set per fingerprint or source revision, and builder_versions

The builder keeps one key per name, tag and version (design 51 *The versions*, ADR 0606), in its old state
section (ADR 0619), history one, 64 MiB with the 80 % mark. A package is numbered per source revision and keeps a
version held published, publishing nothing; one numbered but never stored is published again under it. An image,
bundle or archive keeps its fingerprint's number. An unknown floor builds an image, bundle or archive unnumbered and
makes a package wait (ADR 0617 §1). Merge order and tagged versions below the next version are the package's
helpers. builder_versions answers a name's versions and the holder's question (ADR 0605 §4).

Four claim tests merged into two, so the new table test adds no function (test budget).

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
This commit is contained in:
2026-11-04 11:39:17 +01:00
parent dd90a26251
commit 64b918c64c
8 changed files with 971 additions and 15 deletions
+4 -2
View File
@@ -8,7 +8,8 @@
"builder_build_again",
"builder_builds_since",
"builder_seat_queue",
"builder_stuck"
"builder_stuck",
"builder_versions"
],
"emits": [
"build.asked-again"
@@ -26,7 +27,8 @@
{ "name": "hearing", "history": 1 },
{ "name": "instances", "history": 1 },
{ "name": "queues", "history": 1 },
{ "name": "reasks", "history": 1 }
{ "name": "reasks", "history": 1 },
{ "name": "versions", "history": 1 }
],
"logs": [
{ "name": "build-log", "max-age-days": 30 }