Skip to content

core: verify full WireTree composition across carrier access and disposition legacy gaps #15

Description

@jm9e

Outcome

Complete the runtime side of bitwire #29 under #2 using accepted decision 0012. The production core already provides full WireTree = DeixisNode<Wire>; this packet establishes its carrier/profile composition evidence and explicitly disposes the historical declared-access gap ledger.

Fixed distinction and design gate

Wire sends addresslessly. WireTree supplies own, complete exact-byte-keyed children, partial selection, decomposition and reconstruction. AddressedWire supplies opaque pathful access; it never gains structural guarantees through naming or prefix binding.

The old 39 declared-access cases include 19 gaps in released child-only Mount. For each, map the intended observation to a lawful full-tree constructor/adapter or retain it as a historical addressed limitation. bitwire owns acceptance of that mapping. Do not add a competing opaque composition API solely to make a ledger disappear, and do not silently edit historical expectations.

Deliverables and acceptance

  • A reviewed matrix links all legacy observations to current structural/profile cases, unsupported mappings and their reasons; PR52 remains honest about its separate addressed and structural families.
  • Public core construction/selection/reconstruction preserves own capability identity, complete finite children, exact binary/empty keys, shared primitive state, and missing structure versus present refusal.
  • Full-tree to AddressedWire bridges specify their exact UTF-8 image and refuse unmappable keys without normalization. Opaque remote access cannot be decomposed into a fabricated tree.
  • Local and real WebSocket tests show direct, selected, reconstructed and forwarded behavior, replies, cancellation, ownership and delayed work across rebinds in Go/TS pairings.
  • Binding/access teardown preserves borrowed child usability; no receiver attachment/closure authority is implied by structural selection.
  • Independent bitwire cases run against exact public releases and a downstream tree consumer; reports separate structural, profile and carrier evidence.

Use core/go, core/ts and conformance component/two-letter language paths. No generic-service implementation, application-specific space mapping, or protocol redesign. Closure needs the accepted #29 disposition and released evidence, not merely the existing 14 structural cases.

Named structural consumers

bitsystem3 #11 owns space-to-tree mapping; bittree #53 owns its model/access transition. Their application mappings remain outside this runtime packet. The separately gated deixis-svc #2 design may consume these structural/profile guarantees, but its same-service/two-backend acceptance is not established by this library/carrier suite.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions