Skip to content

feat: typed module system (V1-V5)#78

Merged
darinkishore merged 22 commits intomainfrom
module-system
Feb 13, 2026
Merged

feat: typed module system (V1-V5)#78
darinkishore merged 22 commits intomainfrom
module-system

Conversation

@darinkishore
Copy link
Collaborator

Summary

  • Typed module system: Module trait with associated Input/Output types, Predict<S> returns Predicted<O> with Deref<Target=O> for direct field access and .metadata() for call details
  • Library modules: ChainOfThought<S> (adds reasoning field), ReAct<S> (tool-calling loop), ModuleExt combinators (.map(), .and_then())
  • Optimizer interface: TypedMetric, COPRO/MIPROv2/GEPA all work through optimizer.compile(&mut module, trainset, &metric) with Facet-based predictor discovery
  • Typed data loading: DataLoader::load_csv::<S>() returns Vec<Example<S>> directly, with load_csv_with for custom column mapping
  • V6 dynamic graph deferred: Runtime code removed, scoped to V1-V5 typed-only path
  • Docs cleanup: Purged 29 AI execution artifact files from docs/plans/, fixed all stale API references (call_with_meta, forward_with_config, #[Signature(cot)], example!/prediction! macros), rewrote introduction, predictors, and module pages to match current typed API

Test plan

  • cargo check passes (2 minor dead-code warnings, pre-existing)
  • cargo test passes
  • Spot-check docs render on mintlify preview
  • Run examples (cargo run --example 01-simple, cargo run --example 08-optimize-mipro)

🤖 Generated with Claude Code

@darinkishore darinkishore force-pushed the module-system branch 5 times, most recently from a043651 to eae4099 Compare February 13, 2026 16:24
@darinkishore darinkishore merged commit aad5952 into main Feb 13, 2026
8 of 10 checks passed
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