Skip to content

Converge v2.0.0 — Platform Primitives & Type Safety

Choose a tag to compare

@kpernyer kpernyer released this 30 Mar 17:17
· 241 commits to main since this release

Breaking Changes from 1.x

Type System Reconciliation

  • ProposedFact: added confidence: f64 and provenance: String — every proposal carries confidence and origin
  • AgentEffect: changed from enum to struct { facts, proposals } — agents can emit both facts and proposals in one execution
  • Agent::accepts and Agent::execute: take &dyn ContextView instead of &Context
  • Agent::dependencies: returns &[ContextKey] instead of Vec<ContextKey>
  • TryFrom<ProposedFact> for Fact: type-safe promotion with confidence validation

New: Platform Primitives

  • Truth execution: TruthDefinition, TruthKind { Job, Policy, Invariant }, TruthCatalog trait
  • Criterion evaluation: CriterionEvaluator trait with four-way CriterionResult (Met { evidence }, Blocked { reason, approval_ref }, Unmet { reason }, Indeterminate)
  • Pack-scoped execution: engine.register_in_pack(pack_id, agent) + TypesRootIntent.active_packs
  • run_with_types_intent_and_hooks(): single entry point for application-level truth execution
  • Honest stopping: StopReason::HumanInterventionRequired { criteria, approval_refs }
  • Durable state: ContextStore trait (GAT async) with load_context / save_context
  • Event capture: ExperienceEventObserver for run-scoped event observation

Infrastructure

  • Owner: Reflective Labs (kenneth@reflective.se)
  • License: MIT throughout (79 files migrated from proprietary headers)
  • All examples updated for current API
  • 1,627 tests passing

Proven in Production

These primitives are exercised by crm.prio.ai with 9 executable truths, 105 tests, and a Svelte/Tauri desktop app with SurrealDB persistence.

🤖 Generated with Claude Code