Make Addressable the native assembly API - #11
Conversation
93087c8 to
2ecd70a
Compare
Store structured instance addresses and delegate generic tree resolution and queries directly to Addressable. Preserve the runtime revision across extraction, route later authoring through one commit clock, retain domain material provenance for reads, and expose the assembly address index to callers.
2ecd70a to
abfd2f7
Compare
|
Architecture review note (2026-08-30): the Addressable direction is promising, but the current four-PR stack is a mix and should not be advanced yet. The durable improvement is the identity model: validated structured instance addresses, indexed lookup, explicit separation of durable identity from runtime handles, and eventually one revision boundary for live tooling. Exedra would likely reach those needs on its own. The current stack front-loads more machinery than its consumers earn. Guarded transactions still have an unresolved generic ownership seam; the Cambium session remains immutable at revision zero; and picking retains an address/slot pair without performing a typed read or edit. The git-pinned dependencies, broad re-export surface, and TreeRuntime deref also couple the Exedra core tightly to an API that is still under discussion. Before any landing:
Preferred sequencing: land the smallest structured-address/indexing slice when wanted; add the runtime only when a concrete live consumer performs a real read across snapshots; settle transaction ownership before exposing guarded edits; and combine Cambium session/picking scaffolding with the first actual read/edit loop. Until actual feature pressure selects those layers, keep this stack in discussion rather than polishing it further. |
Makes Addressable the implementation boundary for Exedra assembly identity, resolution, and tree queries instead of layering on a parallel adapter.
Instances now store structured addresses and
Assemblysupplies the small host projection consumed byaddressable_tree. The old path type and recursive lookup methods, the consumer-local query executor, the separate integration crate, and Basilica public selection helpers disappear. Exedra retains its storage, compilation, metadata predicates, and material policy; effective-material reads preserve domain provenance, and one revision clock covers later authoring.Depends on forest-rs/addressable#3. The dependency is pinned to that PR commit so this stacked change can run independently in CI.