Skip to content

Make Addressable the native assembly API - #11

Open
waywardmonkeys wants to merge 1 commit into
mainfrom
codex/addressable-assembly
Open

Make Addressable the native assembly API#11
waywardmonkeys wants to merge 1 commit into
mainfrom
codex/addressable-assembly

Conversation

@waywardmonkeys

@waywardmonkeys waywardmonkeys commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

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 Assembly supplies the small host projection consumed by addressable_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.

@waywardmonkeys
waywardmonkeys force-pushed the codex/addressable-assembly branch from 93087c8 to 2ecd70a Compare August 27, 2026 02:20
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.
@waywardmonkeys

Copy link
Copy Markdown
Contributor Author

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:

  • remove Clone from the live AddressableAssembly/TreeRuntime ownership path, because divergent clones can share a space id and revision and make freshness checks lie;
  • migrate the stale Basilica README examples and export field names.

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.

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