Taken over from the join (6ada2089, f1417ab0, 6e162a60, 3a4e62b0, 73fb42d7, ee15a280, a5476f62, 94a4e62a, 33907a81, e519cc87, e8f268c1) and fitted to the final
contracts: the seat's events are pull-updated, pull-merged, pull-closed, forge-delete; OwedEnded keeps only the fields §164 names; merge-pull
takes no ask. A merge act is performed only as a switched act (§169); from G the gate owes none (§167).
Builds: design 47 G §43, §45, §157, §161, §162, §163, §164, §167, §168, §169, §171, §250
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The assigner hears pipeline-ended and group-ended, keeps the newest end per module and branch in the state written (tool assigner_written), and writes a want only from an end whose required steps passed.
Builds: design 47 G §29, §35, §102, §120, §291, §325, §352, §85
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Taken over from the join's 473f9323, 5f40d230, 159a679b; the events are the seat's pull-updated, pull-merged, pull-closed and forge-delete.
Builds: design 47 G §252, §310, §312, §317
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The typed first view and the following of each half sit in the seats' client packages, built on go/views
(design 47 G §245), so no part follows the assignment half by a follower of its own: a newer trunk revision
heard is waited for, said in the status, asked and held; a candidate's, or one held, asks nothing.
Builds: design 47 G §245, §365
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The gate's developer needs OwedEnded and its outcomes; fields are the ones §164 and §168 name (id, outcome, words, the seat that said the act, time).
Builds: design 47 G §164, §168
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The builder keeps one key per module and MAJOR.MINOR in its state reserved, written by compare-and-set when a trunk
build is claimed; nothing is reserved, and the build says wait-held, before the catalog says versions-filled; the key goes
on version-released; a built reservation unpublished past ten minutes is the finding version-unreleased; builder_reserved,
builder_reserved_drop (hand act, recorded) and the seat mesh-builds' verb reserved.
Builds: design 47 G §369, §372, §52, §85 (reserved)
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The assigner and the forge module's merge switch on their first registrations (design 47 G §353), so the
seat's client carries the typed follower on go/views: a first view asked of the verb registrations, a newer
version heard asked again until the picture holds it, an answer read before the change asked once more.
Builds: design 47 G §353, §245
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The catch-up of the heads the source names runs before a source-moved is read, once per branch; the gate's source bucket is no longer read.
internal/index compiles against the new contracts again (SourceByMainValue is gone); tests of earlier subtasks that
the broken compile hid are fixed (the validator's MAJOR.MINOR version in their manifests).
Builds: design 47 G §15, §115, §362
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The runner's tools bundle serves the seat mesh-pipeline-runner's read verbs as tools named
<seat>.<verb>, answered from its own states pipelines and kept, never another part's: show one
pipeline whole with its steps and their outputs' names, list by module, branch, commit or run newest
first, stands every step started and not ended with what it waits on and since when, why-carried the
pipeline a carried step came from, kept the kept results by level, digest or package.
Builds: design 47 G §83, §306, §75 (stands), §25 (why-carried)
Not built, waiting on design answers: show's step log (Q-RN6, the step log's section form) and each
store's fill against its cap in show and kept (Q-RN2, where the caps are declared).
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The module mesh-delivery-pipeline claims the seat mesh-pipeline-runner, serving its twelve verbs,
asks no template, keeps pipelines, kept, aged, findings and its first views in old state sections,
its step log on an old stream (128 MiB) and its step outputs in an old objects section (1 GiB),
hears the events its pipelines start and end on, and needs the assigner's program delivered first.
Its program stops when its state pipelines cannot be read; its own module is its account's.
Builds: design 47 G §1, §21, §27, §59, §85, §95, §101, §130, §333
Not built, waiting on design answers: §76's health check (its tool's name), §85's caps of the old
state sections (no size field on an old state), step-log's 100 days (the validator's 30-day bound),
and §59's sent-objects (the objects template's cap the design names has no default).
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The refusal of a status in a manifest (IX20) relies on strict decoding: a manifest
field naming a status is an unknown field and is refused. The `*` emitter of
consumes (design 47 G §386) is held for the design writer's answer on model-usage's
`*.usage.*`.
Builds: design 47 G §89, §368, §387
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
An approval step after a failed required step ends not asked, naming that step (the
fixture of a failed pipeline said waiting before); Pipeline and PipelineEnded carry
end-count, one higher at each end again after a passing rerun. The fixture rows fail
against the contract before (end-count dropped on read).
Builds: design 47 G §24, §325 (not asked), §29, §85, §325 (the end count), §85 (step-log,
100 days).
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
A kind's subject is <stream>.<kind>: check.step, delivery.step (a recovery's steps, the
runner alone) and check.run (node-build-go). Regenerated with seatgen at mesh-catalog
b5aebbbe (GEN4); its fixture rows for the three subjects fail to compile against the
contract before.
Builds: design 47 G §415, §455, §22, §206, §86, §338.
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
A manifest naming a status is refused as an unknown field (strict decoding); the
two seat-table tests read the seat definitions as contracts now answer them.
Builds: design 47 G §6, §21, §23, §28, §101, §95 test
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Design 47 *A module's registration* (b229f5c4 lines 480-481): a unit test of the manifest validator
refuses a template in the manifest of every part on its list, the runner's included. The row of
TestTheIndexerJudgesEveryManifestOnce now judges mesh-delivery-pipeline beside mesh-config; it fails
with the list as it stood before 0ad243c1.
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Builds ADR 0666 §4 (the runner is a foundation part: the bus module's own delivery waits on its
pipeline), changing ADR 0619 §1 and §3: judge.Foundation, the one list in code, gains
mesh-delivery-pipeline, so its manifest keeps its state in the old sections and a request of
new-form bus state by it is refused.
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Ported from the dev branch (192f6ab2, 4f013f44, dc0df1b5) into the package sdk/buildstep where
they were built; the package is not named by a design line (see below).
Builds: design 47 G §271 (a module claiming oci-artifact-registry but not its holder in the seat
list is refused), §24 (a step's end is published on its node's subject), §416 (the step ask carries
the kept results), §370 (the version).
Not decided: the package of SD2 and SD3. G-9 §420 names sdk/steprun only for the step-run code
(SD1); no line places the kept-artifact judgement or the step ask.
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Builds: design 47 G §15, §305 (a reader names a branch's source revision: SourceKey, the
value SourceByBranchValue), §431 (the five verbs of release 6 leave the definition, so the
list RemovedVerbs and its test go; the settle ask goes with the verb settle).
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Left in the definition: no line of the contracts part removes the state turns, and the
state asks is read by the teller, the forge bridge, the view and the indexer, whose rows
remove their reads; it is removed in the head where its last reader goes (design 47 G §431).
Builds: design 47 G §305, §431.
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
The want gained the released version and each part's digest (CT4), so two wants are
compared by value; a table row writes and reads one back. Failed to compile before.
Builds: design 47 G §379, §308.
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Builds: design 47 G §73, §74, §332 (every subject built and parsed back; group-ended
under branch and group with no module part). The rule Passed of the dev branch is not
built: no line of the contracts part names it.
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Generated by seatgen (mesh-catalog, GEN1 and GEN2 on its worktree) from the
definitions of CT1 to CT9; module.json names the artifacts of the new seats
mesh-builds, mesh-pipeline-runner and git. seatgen -check is clean; every seat
package's generated fixture test passes.
Builds: design 47 G §341 (a TypeScript contract is emitted as index.js with
index.d.ts), §196, §339 (the generator refuses an unknown callers entry),
§260, §331.
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Builds: design 47 G §162, §164, §260 (owed on mesh.seat.mesh-delivery-checker.event.owed.<repository>.<number>, kept 7 days and 64 MiB per §396; checked).
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Builds: design 47 G §304, §305 (verbs source with a branch, recovery; groups; events
owed, pinned, freed, heads-replaced, record-opened, record-ended, filling, full, room,
source-moved, recovery-merged; table, recheck, close and the three milestone events
removed), §15, §162 (owed per repository and number, 7 days, 64 MiB), §431 (asks,
turns and the five verbs of release 6, checks and settle leave the definition),
§394 (recovery is of class act: the operator and sessions), §391 (class).
Open, left as the dev branch built it: the state merges is kept (no line says the
merge states of the gate go whole).
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ