Skip to content

refactor(runtime)!: harvest the #94-audited dead seams - #105

Merged
mfw78 merged 5 commits into
mainfrom
seam/harvest
Aug 6, 2026
Merged

refactor(runtime)!: harvest the #94-audited dead seams#105
mfw78 merged 5 commits into
mainfrom
seam/harvest

Conversation

@mfw78

@mfw78 mfw78 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

What

Deletes the downstream-audited dead surfaces on RuntimeTypes/AssembledRuntime per the
decision doc on #94:

  • RuntimeTypes::Ext bounds, HostState.ext, ExtState, the harness builder_with_ext
    seam, and the MockTypes<E> generic parameter (verdict: DELETE-CLEAR, zero downstream
    .ext reads or Ext = bounds; extension state travels via HostState.services).
  • IntoStaticStr on EngineConfigError, EnvVarError, DigestParseError, and ParseError
    (verdict: DELETE-CLEAR, zero downstream references to any of the four enums; downstream
    derives IntoStaticStr on its own enums instead).
  • test_utils Entry/ManifestSource From impls with no in-tree call site (verdict:
    DELETE-NOW, unexercised; never published at the pinned downstream rev).
  • ModuleId Ord/PartialOrd/AsRef (verdict: DELETE-NOW, downstream reads module
    identity as &str and imposes no ordering contract; as_str/Borrow<str> are kept).
  • AssembledRuntime borrowed-slice fields, flipped to owned AddOns and
    Option<PathBuf> (verdict: DELETE-CLEAR/flip freely, zero downstream references to
    AssembledRuntime or add-on refs).

Kept per the same audit and left untouched: engine_config quota()/watch()/
status_poll_interval(), actor.rs SupervisedStore/ActorSlot/ActorFault, and
build_provider_linker, all of which have live downstream call sites.

A trailing doc commit updates the RuntimeTypes module docs to describe the single
remaining store seam now that the Ext axis is gone.

Why

Part of #94.

Testing

  • just ci run locally against seam/harvest at 40541b4: rustfmt --check, clippy
    --workspace --all-targets --all-features -D warnings, cargo doc, the wasm32-wasip2
    fixture/example builds, cargo nextest run --workspace --all-features --no-fail-fast
    (665 tests run, 665 passed, 0 skipped), and cargo test --doc --workspace --all-features (2 doctests passed, 1 ignored, across nexum-runtime and nexum-sdk).
    Full run exited 0.

AI Assistance

Implement claude-fable-5, red-team claude-opus-5, PR claude-sonnet-5.

mfw78 added 5 commits August 6, 2026 08:45
Extension state flows through HostState.services; the Ext slot, ExtState,
the harness ext payload seam, and the MockTypes generic parameter had no
consumer. Components, ComponentsBuilder, and the Runtime preset lose the
extension-payload slot; MockTypes becomes a unit marker.

AI Assistance: Fable 5 used for implementation
EngineConfigError, EnvVarError, DigestParseError, and ParseError lose the
derive; no consumer exercises the static-str conversion. strum stays for
LogSource, and the dependency rationale now says so.

AI Assistance: Fable 5 used for implementation
… derives

Entry loses From<ManifestSource> and From<&Path>, ManifestSource loses
From<&TestManifest> and From<&Path>; no call site consumes them. ModuleId
loses AsRef, Ord, and PartialOrd; nothing keys or sorts by it.

AI Assistance: Fable 5 used for implementation
…untime

add_ons becomes an owned AddOns and wasm/manifest become Option<PathBuf>,
dropping the borrowed-slice threading, both add_on_refs bridge blocks, and
the AssembledRuntime lifetime.

AI Assistance: Fable 5 used for implementation
The lattice names one seam now that the Ext slot is gone.

AI Assistance: Fable 5 used for review and the doc correction
@mfw78
mfw78 merged commit db39b6c into main Aug 6, 2026
4 checks passed
@mfw78
mfw78 deleted the seam/harvest branch August 6, 2026 10:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant