# Architecture: Overview

## Sensemaker Composition&#x20;

The Sensemaker uses a bespoke [rep language](https://app.gitbook.com/@sacred-capital/s/neighbourhoods/~/drafts/-MfhsFrpLGNS1vB1TzGC/powered-by-the-reputation-interchange/reputation-dsl) made to capture most or all of the changes to social system design and metrics a neighbourhood needs.&#x20;

The Sensemaker is composed of:&#x20;

* A core Holochain DNA which performs calculations, which we call the **Cultural Computer**
* **Social datatypes** as plugins
  * By placing a social data interpreter into the DNA of the social sensemaker, it enables reading and modifying on the basis of DHT entries rather than hApp DNAs.&#x20;
* **Score computations** as outputs ([TrustNet](https://github.com/trustgraph/trustgraph) "Trust Atom" compatible)
  * This social data is stored in iterable, wrapped Rust data structures in isolated per-datum Holochain hApp [DNA](https://developer.holochain.org/glossary/#dna)s.&#x20;
  * Every computed score is an attributable, peer-verifiable and independently shareable artifact.
  * Outputs are also pluggable as inputs, enabling more complex calculations
* **Cultural registries** that hold shared perspectives (neighbourhoods)
* **Neighbourhoods Access Membranes** that facilitate entry/exit from NHs
* **Memetic bridges** that link one Neighbourhood to another

## Architecture Diagrams - How to Read Them?&#x20;

![](/files/-MgbPScQL0jJc8Aj7j3B)

The solid lines indicate the creation of new data; i.e. dataflow paths where an agent is directly responsible for them & the thing is attributable to them.

The dashed lines indicate data flow between agents; i.e. the information has already been created and finalised elsewhere, but there is an implicit "dance of consent" where something external is being ingested into the local agent's personal environment.

The colored lines marked with a question mark indicate queries into the makeup of a neighbourhood.

The background of each agent indicates shared belonging to the corresponding neighbourhood.

&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.neighbourhoods.network/powered-by-the-reputation-interchange/architecture-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
