Commit graph

8 commits

Author SHA1 Message Date
Mario Zechner
50af8c1601 refactor(chord): simplification audit of slices 6a-7b
The owner's audit decisions (decisions.md, "Simplification audit"): cut the reload-only
installing state (staging is synchronous) and the static registry cycle edges (the
runtime guard stays); retry propagation by a visited set and a hop budget (retry.hops)
instead of operation ids and through lists; a pure swap sends holds a fresh bound; one
rule after a live failure (every member followed until the admitted commits published);
parked_long for any long park, naming the first blocker in declaration order with its
state; one seal token per attempt. Keys follow the old instance during a restart's drain
like members. src/next: about 255 code lines fewer.
2026-10-30 13:30:54 +00:00
Mario Zechner
339847eb14 feat(chord): Chord v2 slice 7a, the dependency model
A reference is a request that outlives its provider: a missing provider or a version that does not fit leaves
it unbound, waiting for the name (failed { waiting }, a new FailureCause kind), local and remote alike. An
attempt parks until its dependencies are live, with no timer and no backoff, woken on every state change of a
dependency; its readyTimeout runs only for its own steps. Requests wait only for the host's publication (the
startup deadlock is gone); load resolves at the first outcomes of its host-lifetime objects. Getters wait through
waiting until their readyTimeout. Registry readers are waiting dependencies, woken at every usable value; a last
good value is dropped when a contribution it was built from leaves. Unbound holds count for keep-alive and are
revoked; retry passes on to failed blockers once per operation (operation id and visited list on the wire); the
dependency deadline is gone and parked_long reports a long wait on a remote attempt.
2026-10-29 11:40:57 +00:00
Mario Zechner
39b16b2281 docs(chord): the dependency model is decided 2026-10-29 08:31:59 +00:00
Mario Zechner
aee933269b docs(chord): dependency model: hostAddress wording 2026-10-29 07:44:21 +00:00
Mario Zechner
373fbcc706 docs(chord): dependency model: hostAddress 2026-10-29 07:37:56 +00:00
Mario Zechner
0ddc953102 docs(chord): dependency model: placement required on remote types 2026-10-29 07:17:49 +00:00
Mario Zechner
67c63c0f7f docs(chord): dependency model: the dependency check applies R18 after live, not a rule of its own 2026-10-29 06:49:17 +00:00
Mario Zechner
e65b3b88c0 docs(chord): dependency model proposal for slice 7 and its explainer (Parked Until Resolved) 2026-10-29 00:51:57 +00:00