Converge v2.0.0 — Platform Primitives & Type Safety
Breaking Changes from 1.x
Type System Reconciliation
ProposedFact: addedconfidence: f64andprovenance: String— every proposal carries confidence and originAgentEffect: changed from enum to struct{ facts, proposals }— agents can emit both facts and proposals in one executionAgent::acceptsandAgent::execute: take&dyn ContextViewinstead of&ContextAgent::dependencies: returns&[ContextKey]instead ofVec<ContextKey>TryFrom<ProposedFact> for Fact: type-safe promotion with confidence validation
New: Platform Primitives
- Truth execution:
TruthDefinition,TruthKind { Job, Policy, Invariant },TruthCatalogtrait - Criterion evaluation:
CriterionEvaluatortrait with four-wayCriterionResult(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:
ContextStoretrait (GAT async) withload_context/save_context - Event capture:
ExperienceEventObserverfor 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