v0.7.0
Fram v0.7.0 is a breaking semantic release. It separates proposition content from the occurrences that assert or retract it, moves every maintained transport to FRAMRPC 2.0, completes the structured Beagle migration, and ships sealed Bun, Cloudflare, Wasm, and native artifacts.
Highlights
- Explicit occurrence history. A proposition remains a recursive
Triple, while an assertion or retraction is now anOperationOccurrencecontaining its coordinate, action, and proposition. System history no longer masquerades as ordinary user graph data. - FRAMRPC 2.0 across every maintained surface. The JVM and native servers, Bun client, Cloudflare adapter, C embedding boundary, and Wasm embed host now agree on the new occurrence and mutation records.
- Occurrence-correct state. Live scans preserve equal assertion multiplicity, Datalog keeps its structural set projection, and successful targeted retractions expose an explicit withdrawal from retraction occurrence to assertion occurrence.
- Structured Beagle authoring and compiler boundary. Fram's graph-authored sources use structural parameter declarations and the native builder consumes a versioned, fail-closed Beagle report with the deterministic-parallelism obligation.
- Sealed release artifacts. The release contains the Bun FRAMRPC client 0.5.0, Cloudflare Durable Object adapter 0.3.0, wasm32 embed archive, and x86_64 Linux musl native archive, each paired with a receipt.
- Faster reproducible publishing. Content-addressed Wasm and native identities are built once, checked from independent source roots, packaged independently, and cached for exact-input retries.
Breaking changes
- FRAMRPC wire version 1 is not negotiated or translated; stale v1 clients and servers fail closed. Consumers must upgrade together.
- Occurrence query rows are explicit
{ coordinate, action, proposition }records instead of manufactured history Terms. - Mutation results report
stateChangedand the operation coordinate instead of a changed flag plus manufactured history Terms. - Retired flat-log and dump migration paths, boundary compatibility aliases, historical cutover machinery, and obsolete code-edit tooling were removed. This pre-1.0 line breaks forward.
- The C embedding ABI remains independently versioned as ABI v1; that label is separate from FRAMRPC wire version 2.0.
Native build corrections
- Preserve reachable union and error definitions in Beagle entry projection.
- Recover complete fail-closed QBE refusal reports from their actual transport.
- Require the compiler's deterministic-parallelism obligation and versioned
beagle-native-report/v1marker.
Full Changelog: v0.6.0...v0.7.0