Brake a withdrawal larger than its bound (hq to-be 45 Phase 2, ADR 0227 rule 4) #90

Merged
mesh-admin merged 2 commits from feat/a-core-that-cannot-fail-silently-phase-2 into main 2026-10-06 10:43:12 +00:00
Contributor

The Go providers' loop (postgres and keycloak, identical copies): a pass that would withdraw more than 1 consumer, or more than half of those held (when >1), withdraws nothing; each kept consumer is announced provisioner.failing class withdrawal-braked (controller raises a condition, ADR 0224); one is released per hour while the mesh keeps not asking; a consumer asked for again is kept. brake_test.go replays issue 241 with seven consumers. Decided details in hq ADR 0229.

The Go providers' loop (postgres and keycloak, identical copies): a pass that would withdraw more than 1 consumer, or more than half of those held (when >1), withdraws nothing; each kept consumer is announced `provisioner.failing` class `withdrawal-braked` (controller raises a condition, ADR 0224); one is released per hour while the mesh keeps not asking; a consumer asked for again is kept. `brake_test.go` replays issue 241 with seven consumers. Decided details in hq ADR 0229.
mesh-admin added 2 commits 2026-10-06 10:29:43 +00:00
Issue 241 withdrew seven consumers in one pass on one misread file; its fix
refuses a file it cannot read, and a file read whole that names nobody
still withdraws everybody. A pass that would withdraw more than one
consumer at once, or more than half of those it holds, now withdraws
nothing: each consumer it kept is announced provisioner.failing with the
class withdrawal-braked, so the controller raises it as a condition and
the operator is told, and one is let go each hour while the mesh goes on
not asking for them. A consumer asked for again is kept and said recovered.
Postgres and keycloak carry the harness identically.
mesh-admin merged commit 4554e18279 into main 2026-10-06 10:43:12 +00:00
mesh-admin deleted branch feat/a-core-that-cannot-fail-silently-phase-2 2026-10-06 10:43:12 +00:00
Author
Contributor

Delivery novox/mesh-catalog@4554e18279ed — held since 2026-10-06T23:05:28Z

Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.

Delivery plan — builds keycloak, postgres, sent nowhere; no bus step; 3 wait(s) for a person

  • tier 0: keycloak, postgres
  • ace: waits for a person: postgres
  • novox: waits for a person: keycloak, postgres
  • keycloak waits for a person: its policy records (module)
  • keycloak provides oidc-client: its consumers are sent again after it
  • keycloak keeps data (ADR 0233): what it holds is backed up before it moves
  • postgres waits for a person: its policy records (module)
  • postgres provides postgres-database: its consumers are sent again after it
  • postgres keeps data (ADR 0233): what it holds is backed up before it moves

Transitions

  • 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#90 merged; its head was not heard by this owner, so it is made from the forge's word
  • 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@4554e18279ed` — **held** since 2026-10-06T23:05:28Z Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on. **Delivery plan** — builds keycloak, postgres, sent nowhere; no bus step; 3 wait(s) for a person - tier 0: keycloak, postgres - ace: waits for a person: postgres - novox: waits for a person: keycloak, postgres - keycloak waits for a person: its policy records (module) - keycloak provides oidc-client: its consumers are sent again after it - keycloak keeps data (ADR 0233): what it holds is backed up before it moves - postgres waits for a person: its policy records (module) - postgres provides postgres-database: its consumers are sent again after it - postgres keeps data (ADR 0233): what it holds is backed up before it moves **Transitions** - 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#90 merged; its head was not heard by this owner, so it is made from the forge's word - 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#90