Skip to main content

Module ecosystem

Module ecosystem 

Source
Expand description

Cross-ecosystem trait surface.

Three traits every package-manager adapter implements to fit the pleme-io substrate’s universal intake pattern. The contract is documented in theory/ECOSYSTEM-INTAKE.md; this module IS the Rust binding of that contract.

Stack:

  • Spec — the typed shape of an adapter’s emitted build spec
  • QuirkRegistry — the typed shape of known upstream-bug quirks
  • Invariants — the typed shape of well-formedness checks

Every concrete adapter (gen-cargo today; gen-npm + gen-bundler + gen-pip + gen-helm + gen-gomod as they ship) implements all three on its own typed shapes. Substrate / cse-lint / gen confirm consume these traits without caring which ecosystem produced them.

Traits§

Invariants
The typed shape of an adapter’s invariants pass. Every adapter ships a check(spec) -> Vec<Violation> function that verifies the spec is well-formed against its own typed rules.
QuirkRegistry
The typed shape of an adapter’s quirk registry. The registry is the canonical knowledge of “which upstream packages need which build-time workarounds.” Each adapter ships its own typed quirk enum + a const REGISTRY table.
Spec
The typed shape an adapter’s build spec exposes to substrate + tooling consumers. Every adapter’s BuildSpec struct implements this; the trait method surface is universal.