events: core.lease drops a module's retry: false from read/apply refusals #206

Open
opened 2026-09-24 05:16:31 +00:00 by wtclaude · 0 comments
Member

Found by the module-rust phase 12 walk. Recorded in docs/modules/rust/PLAN.md §27.6.

core.lease's perform (server/src/config/coreEventActions.js, around the lease.read(...) and lease.apply(...) calls) rebuilds both failure envelopes as { ok: false, error }. Neither copies the module's retry, so the dispatcher's default makes them retry: true.

A permanent refusal from the module, such as module-rust's events-disabled ("turn EventsEnabled on") or an unresolved target, is therefore retried three times before the step fails. The Carbon walk's step 27 did exactly this. It is harmless, but it is noise, and it means retry: false in a lease callable is unreachable. That contradicts MODULE_API §1.1's rule that a module opts out of retry.

Suggested fix: pass retry: baseline.retry === false ? false : undefined (and the same for applied) through on both returns.

  • AI-assisted: Claude Code (Claude Opus 5.5)
Found by the module-rust phase 12 walk. Recorded in `docs/modules/rust/PLAN.md` §27.6. `core.lease`'s `perform` (`server/src/config/coreEventActions.js`, around the `lease.read(...)` and `lease.apply(...)` calls) rebuilds both failure envelopes as `{ ok: false, error }`. Neither copies the module's `retry`, so the dispatcher's default makes them `retry: true`. A permanent refusal from the module, such as module-rust's `events-disabled` ("turn EventsEnabled on") or an unresolved target, is therefore retried three times before the step fails. The Carbon walk's step 27 did exactly this. It is harmless, but it is noise, and it means `retry: false` in a lease callable is unreachable. That contradicts MODULE_API §1.1's rule that a module opts out of retry. Suggested fix: pass `retry: baseline.retry === false ? false : undefined` (and the same for `applied`) through on both returns. - [x] AI-assisted: Claude Code (Claude Opus 5.5)
Sign in to join this conversation.
No description provided.