MAP Architecture Specification (v0.1)¶
Status: Needs update. The
EffectiveDescriptorartifact and descriptor-dependent PVL architecture in this draft is superseded and non-authoritative. Current descriptor semantics and runtime boundaries are defined by the Descriptor-Kernel Semantics Rules, the Runtime Descriptor Subsystem Design Spec, and the Validation Architecture. The remaining material is retained as architectural context and must not override those scoped authorities.
The design work captured in this specification grew out of an apparent contradiction uncovered while developing the MAP Validation Architecture. Holochain achieves its strong data integrity guarantees by requiring every peer to independently execute the same immutable Integrity Zome logic, whose WASM digest is fixed in the DNA. At the same time, the MAP is intentionally built around a self-describing, open-ended ontology in which new holon types, relationships, properties, and behaviors can be introduced without modifying the underlying data model. Our original validation architecture described what needed to be validated, but it did not adequately explain how peer validation could remain deterministic when the semantics being validated were themselves intended to evolve through descriptors rather than through changes to the Integrity Zome.
Resolving this tension required broadening the discussion beyond validation alone into the overall architecture of descriptors, compiled semantic surfaces, trust mediation, and component responsibilities. The challenge was compounded by another foundational MAP principle: applications and their domain ontologies are subordinate to agent relationships. AgentSpaces are long-lived social and organizational contexts, not application containers. New holon types must therefore be introducible into an existing AgentSpace without requiring the creation of a new Holochain DNA or DHT, while still preserving Holochain's promise that every peer independently validates shared state before accepting it. The architecture presented here reconciles these goals by separating semantic definition from evaluation authority, introducing canonical compiled descriptor surfaces, distinguishing definitional identity from routable identity, and carefully partitioning responsibility across the MAP's architectural components.
Architecture Diagram¶

1. Purpose¶
This is an initial framing of a comprehensive architectural specification of the MAP. This version is not intended to be the complete MAP Architecture Specification. Rather, it establishes the architectural slice that emerged from the design work around:
- descriptor-driven semantics
- peer validation
- EffectiveDescriptors
- descriptor identity
- compiled descriptor surfaces
- TrustChannels
- role-based access
- one-home-space data stewardship
- component responsibilities
The intent is to define stable architectural responsibilities before implementation proceeds further.
This document captures the current architectural design of the MAP with respect to descriptors, compiled descriptor surfaces, validation, trust mediation, and responsibility partitioning across the major MAP components.
2. Foundational Principles¶
2.1 One Home Space¶
Every Holon has exactly one Home Space.
That space is the sole steward of the Holon's authoritative state.
Outside its Home Space a Holon is accessed only through HolonReferences mediated by TrustChannels.
MAP intentionally avoids replication of stewarded state.
2.2 Access by Reference¶
Inter-space interaction occurs through references rather than replicated objects.
For foreign holons:
ExternalId
=
OutboundProxyId
+
RemoteObjectId
ExternalIds are:
- path-sensitive
- steward-sensitive
- TrustChannel-mediated
- authority-aware
The ExternalId exists to locate and dereference stewarded state.
It is not intended to establish semantic equivalence.
2.3 Disposable Object Caching¶
The ReferenceLayer may locally cache foreign holons.
This cache exists solely as an implementation optimization.
Cached foreign holons:
- are disposable
- may be evicted at any time
- never become authoritative
- never violate the One Home Space principle
2.4 Compiled Surfaces are an Exception¶
Compiled descriptor surfaces represent an intentional exception to the "no replicated state" rule.
Unlike stewarded holons, compiled descriptor surfaces are:
- deterministic
- content-addressed
- reproducible
- disposable
- non-authoritative
They represent compiled semantic artifacts rather than stewarded business state.
Their local persistence improves runtime efficiency without violating MAP's stewardship model.
3. Identity Regimes¶
MAP intentionally separates several notions of identity.
3.1 Routable Identity¶
Used for locating stewarded holons.
ExternalId
Properties:
- path-sensitive
- authority-sensitive
- routing-oriented
3.2 Definitional Identity¶
Used for recognizing equivalent definitions.
DefinitionHash =
hash(canonical_definitional_surface)
Properties:
- path-independent
- content-addressed
- cache-friendly
- semantically stable
DefinitionHash intentionally ignores:
- routing
- provenance
- TrustChannels
- ExternalIds
- local database identities
3.3 Storage Identity¶
MAP currently uses ActionHash as the primary local identifier for committed holons. For example, SmartLink source and target references identify holons by their ActionHash.
EntryHash identifies the content of a stored entry. For ordinary HolonNode entries, the EntryHash should not be treated as full semantic or definitional equivalence, because important meaning may be carried by associated SmartLinks rather than by the entry body itself.
3.4 Semantic Version¶
Descriptor evolution is represented through semantic versioning.
Any descriptor edit that changes its compiled semantic surface produces:
- a new semantic version
- a new DefinitionHash
- a new EffectiveDescriptor
4. Descriptor Architecture¶
4.1 Descriptor Graph¶
The Descriptor Graph is MAP's semantic source of truth.
It contains:
- TypeDescriptors
- PropertyDescriptors
- RelationshipDescriptors
- ValueDescriptors
- KeyRules
- inheritance
- validation semantics
- affordances
- metadata
The Descriptor Graph is optimized for:
- authoring
- governance
- inheritance
- visualization
- documentation
- evolution
It is intentionally richer than the runtime representation.
4.2 Descriptor Ownership¶
Descriptors own semantics.
They define:
- type meaning
- value semantics
- relationship semantics
- validation semantics
- affordance semantics
Descriptors do not define where those semantics are enforced.
4.3 Relationship Classification¶
Relationships are conceptually classified into:
- definitional
- operational
- contextual
- provenance / routing
Only definitional relationships participate in:
- DefinitionHash
- EffectiveDescriptor generation
5. EffectiveDescriptors¶
5.1 Purpose¶
EffectiveDescriptors are the canonical runtime representation of descriptor semantics.
They are produced by compiling the Descriptor Graph.
Compilation performs operations such as:
- inheritance flattening
- immediate/inherited surface computation
- effective relationship computation
- effective inverse relationship computation
- structural normalization
The resulting EffectiveDescriptor is deterministic and content-addressable.
5.2 Compilation Trigger¶
EffectiveDescriptor generation occurs when descriptors are edited.
Not when a type is activated.
Descriptor edits establish descriptor identity.
Type activation merely authorizes use within a HolonSpace.
5.3 EffectiveDescriptor Identity¶
Each EffectiveDescriptor possesses:
- DefinitionHash
- semantic version
These represent the canonical runtime semantics of the descriptor.
6. Compiled Descriptor Surfaces¶
The MAP recognizes that multiple runtime concerns require compact compiled representations derived from descriptor semantics.
EffectiveDescriptor is the foundational compiled semantic surface.
Additional compiled surfaces may be derived for specific runtime purposes.
6.1 RoleAccessDescriptor¶
RoleAccessDescriptors are generated from:
EffectiveDescriptor
+
Role
+
Information Access Agreement
They describe:
- visible properties
- visible outbound relationships
- traversal permissions
- access constraints
RoleAccessDescriptors support efficient authorization and projection.
They are not validation artifacts.
6.2 Compiled Surface Properties¶
Compiled descriptor surfaces are:
- deterministic
- reproducible
- disposable
- content-addressed
- locally cacheable
They are not authoritative copies of stewarded descriptor state.
7. Validation Architecture¶
Validation is layered.
Descriptors define the rules.
Validation layers define evaluation authority.
7.1 Structural Validity¶
Structural validity consists of peer-reproducible invariants.
These are enforced universally.
7.2 Semantic Validity¶
Semantic validity depends upon:
- transaction context
- agreements
- TrustChannels
- open-world information
- social interpretation
These are enforced outside the Integrity Zome.
8. Knowledge Graph Persistence Layer¶
Integrity Zome + Peer Validation Language (PVL)¶
The Knowledge Graph Persistence Layer owns peer-reproducible validation.
Responsibilities include:
- HolonNode persistence
- SmartLink persistence
- DHT operation validation
- PVL interpreter
- canonical hashing
- canonical encoding
- must_get_valid_record retrieval of required descriptor artifacts
- structural validation
PVL evaluates the peer-reproducible subset of descriptor semantics.
Typical responsibilities include:
- required properties
- value type conformance
- enum membership
- key rules
- relationship typing
- bounded cardinality where reconstructible
- lifecycle invariants that are closed-world
8.1 Explicit Non-Responsibilities¶
The Integrity Zome does not perform:
- descriptor graph traversal
- inheritance computation
- EffectiveDescriptor generation
- Dance dispatch
- dynamic rule execution
- agreement interpretation
- TrustChannel evaluation
- authorization
- global uniqueness
- open-world graph traversal
- social conflict resolution
9. Descriptors Component¶
The Descriptors component owns semantic definition.
Responsibilities:
- descriptor authoring
- DefinitionHash computation
- EffectiveDescriptor generation
- semantic version assignment
- inheritance flattening
- descriptor evolution
It answers:
What does this type mean?
10. ReferenceLayer¶
The ReferenceLayer owns local object access.
10.1 HolonsCache¶
HolonsCache stores disposable cached copies of stewarded holons.
Lookup key:
HolonId
ExternalId
Identity regime:
route-sensitive
10.2 DescriptorsCache¶
DescriptorsCache stores descriptor artifacts by semantic identity.
Lookup key:
DefinitionHash
Possible cached artifacts include:
- descriptors
- EffectiveDescriptors
- compiled descriptor surfaces
Its purpose is:
- descriptor equivalence
- runtime reuse
- avoiding recompilation
- efficient semantic lookup
Unlike HolonsCache, DescriptorsCache is path-independent.
11. Holons Nursery¶
The Nursery owns staged local state.
Responsibilities:
- staged holon creation
- transaction-local materialization
- multi-holon validation
- snapshot-aware validation
- local semantic checks
- warning generation
- deferred validation
- descriptor lookup
- compiled surface lookup
The Nursery determines:
Is this transaction locally coherent?
12. Validation Engine¶
The Validation Engine performs rich coordinator-side validation.
Responsibilities:
- transaction-level validation
- descriptor interpretation
- bounded semantic rules
- ValidationResult generation
- fail / warn / defer classification
The Validation Engine may evaluate semantics beyond PVL.
13. Transaction Manager¶
Responsibilities:
- transaction construction
- transaction lifecycle
- operation ordering
- commit orchestration
- rollback support
- transaction-scoped validation context
Transactions are the unit of semantic coherence.
14. Space Manager¶
The Space Manager governs descriptor activation.
Responsibilities:
- activate descriptor surfaces
- authorize descriptor use
- manage descriptor lifecycle within a HolonSpace
- ensure committed holons reference activated descriptor semantics
Activation authorizes use.
Activation does not establish descriptor identity.
15. Agreements & Trust Channels¶
These components govern inter-space meaning.
Responsibilities include:
- Information Access Agreements
- role definitions
- authorization
- ExternalId mediation
- TrustChannel routing
- RoleAccessDescriptor generation
They answer:
Under what agreements may another space observe or interact with this holon?
16. Graph Query Engine¶
Responsibilities:
- graph traversal
- descriptor-aware querying
- conflict discovery
- duplicate detection
- projections
The Graph Query Engine may discover problems.
It does not define DHT validity.
17. Dance Dispatcher¶
Responsibilities:
- affordance dispatch
- Dance execution
- behavior orchestration
- runtime services
The Dance Dispatcher is never part of PVL.
Behavior execution is intentionally separated from peer validation.
18. Architectural Responsibility Summary¶
Descriptor Graph¶
Owns semantic definition.
EffectiveDescriptor¶
Owns canonical runtime semantics.
Knowledge Graph Persistence Layer¶
Owns peer-reproducible structural validity.
ReferenceLayer¶
Owns local object access and semantic descriptor caching.
Nursery¶
Owns transaction-local semantic coherence.
Validation Engine¶
Owns rich coordinator-side validation.
Transaction Manager¶
Owns semantic commit boundaries.
Space Manager¶
Owns descriptor activation.
Agreements & Trust Channels¶
Own agreement semantics and inter-space authorization.
Graph Query Engine¶
Owns graph exploration and conflict discovery.
Dance Dispatcher¶
Owns executable behavior.
19. End-to-End Lifecycle¶
Descriptor Evolution¶
Descriptor edit
↓
DefinitionHash
↓
EffectiveDescriptor
↓
semantic version
Type Activation¶
EffectiveDescriptor
↓
Space activation
↓
descriptor authorized for use
Holon Creation¶
Nursery
↓
Validation Engine
↓
Transaction Manager
↓
commit
Peer Validation¶
HolonNode
↓
retrieve required descriptor artifact
↓
PVL evaluation
↓
accept / reject / unresolved dependency
Inter-Space Access¶
ExternalId
↓
TrustChannel
↓
remote steward
Role-Based Access¶
EffectiveDescriptor
+
Role
+
Agreement
↓
RoleAccessDescriptor
↓
authorization
projection
20. Architectural Principles¶
The architecture established by this specification is founded on the following principles:
- Every holon has exactly one Home Space.
- Stewarded state is accessed by reference, not replicated.
- Definitional identity is distinct from routable identity.
- Descriptors own semantics.
- EffectiveDescriptors own canonical runtime semantics.
- Validation layers own evaluation authority.
- Structural validity is universal.
- Semantic validity is contextual.
- Compiled descriptor surfaces are deterministic runtime artifacts rather than stewarded business state.
- Caches improve efficiency but never establish authority.
- Peer validation remains deterministic, bounded, and independently reproducible.
- Rich semantic interpretation belongs above the Integrity Zome.