Design 47 follows ADR 0633, 0637, 0638 and 0639: the take-in by the indexer it names, and the group try (issues 1966, 1921) #521

Merged
mesh-tools merged 6 commits from docs/47-try-and-take-in into main 2026-11-05 20:06:31 +00:00
6 Commits
Author SHA1 Message Date
jschoubben b926db338d Design 47 cites ADR 0639 §9 for the hand drop, so both hand acts are said to clear take-in-waits
mesh/delivery merged: source.main moved to novox/hq@1ca5a3a1331f
mesh/check being carried to b926db338dcf on 1ca5a3a1331f | from 674f88f9abb8
ADR 0639 v9 gives the drop its own clause and moves the checks to clause 10.

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 20:26:55 +01:00
jschoubben d61e18de41 Design 47 cites ADR 0639 for the review's rulings, and fixes the indexer's build at its start
The rulings of round 1 now rest on a record, clause by clause, instead of on the
review; the indexer's own build is set once from the build it was started with, so a
process being replaced cannot take in with its old manifest validator (ADR 0639 §7).

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:46:11 +01:00
jschoubben 8b923e6bff Design 47 takes in round 1 of the review by architectural domain
The try and the take-in described seams, failure paths, live cases and the health
chain less exactly than the release builds them: the reads that stay until issue
1966, the bus form of pending and the tryevent contract, the try's tools against the
four lines, a checker_tries that does not answer, try events never lost, what a
narrowed try keeps, the finding and the condition keeper, and both live cases. Rulings
no record decides are marked as the review's.

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:38:05 +01:00
jschoubben 26b6dcf4f6 Design 47 cites ADR 0638 and its recovery order, so a try's candidate survives an indexer restart
ADR 0638 makes the candidate from the checker's events and decides that the indexer
creates its consumer, asks checker_tries and fixes the candidates before it handles
an event; the design now says so and how it is checked.

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:32:49 +01:00
jschoubben 5688a2efa1 Design 47 names the try's events, so the indexer's path to a try is a stream it consumes
The checker says a whole try's start and end as try.started and try.ended on its stream
checks, and the indexer recovers open tries through checker_tries; the record changing
ADR 0637 §4 carries this and is cited until its number is known.

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:31:21 +01:00
jschoubben 7e33e9a15f Design 47 follows ADR 0637 and ADR 0633: a group try, and a revision taken in by its own indexer
A try now checks a delivery group at exact commits with the check's own code, and a
merge's take-in waits for the indexer its revision names, so design 47 says both where
its checks and its source revision are described. The indexer hears a try on the
checker's events rather than reading its state (ADR 0596); the record changing
ADR 0637 §4 to say so is to follow. The glossary gains try and pending revision.

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:23:09 +01:00