From review of #442 (comment). Confirmed still valid at HEAD. Predates #442. Target: L1 nexum-runtime.
PresetBuilder::launch (builder.rs:456) calls self.preset.components().build(...) directly, with no hook to override the components builder first. So the four component seams (with_chain / with_store / with_ext / with_logs) are unreachable from the preset shortcut:
RuntimeBuilder::new(cfg).runtime::<CoreRuntime>().launch()
The value-bound TypedBuilder path has with_components (builder.rs:516); the preset path has no equivalent. Not a logs-specific gap: all four seams share it.
Change
Give PresetBuilder a with_components-style escape hatch that reaches the component seams before launch, or document that the preset shortcut is intentionally all-or-nothing and embedders needing seam overrides drop to .runtime::<T>().with_components(...).
Acceptance criteria
- Either a preset-level override reaching the component seams, or an explicit doc note that the preset shortcut bypasses them by design.
PresetBuilder::launch(builder.rs:456) callsself.preset.components().build(...)directly, with no hook to override the components builder first. So the four component seams (with_chain/with_store/with_ext/with_logs) are unreachable from the preset shortcut:The value-bound
TypedBuilderpath haswith_components(builder.rs:516); the preset path has no equivalent. Not a logs-specific gap: all four seams share it.Change
Give
PresetBuilderawith_components-style escape hatch that reaches the component seams beforelaunch, or document that the preset shortcut is intentionally all-or-nothing and embedders needing seam overrides drop to.runtime::<T>().with_components(...).Acceptance criteria