Community Coliving

Glossary

Data dictionary

Every term the package uses in a specific sense, defined once, so no other document has to stop and explain itself.

Overview · Glossary

How to read this page

Responsibilities and guarantees, not schemas

This glossary defines every term the package uses in a specific sense, once, so no other document has to stop and explain itself. We wrote it for the reader who runs technology but does not live in residential real estate or in our doctrine. Terms are grouped by kind: domain, platform, doctrine, agent, and the capability-class vocabulary we use in place of vendor names. Definitions describe responsibilities and guarantees, not schemas; where a term has deeper structure we deliberately hold back, the entry says so plainly.

A note on the coined terms. Several entries below (the write law, cache the data compute the meaning, feature off means dead) are our own doctrine, named so they can be cited exactly. When another document in this package uses one of these phrases, it means precisely what this page says and nothing looser.

Term group

Domain terms

The vocabulary of the investing work itself. These are the words an operator would say out loud.

TermDefinition
DealThe unit of work in the product: one property under consideration by one tenant. A deal is created the moment an address enters the front door, with no preliminary questions, because the address is the only fact the system needs to start earning its keep. Everything else (reports, findings, fields, underwriting, verdicts) hangs off the deal.
CompA comparable sale: a nearby property whose recorded sale informs the valuation of the subject property. Our comparable-sales valuation report is built from comps, and every value it presents carries provenance and confidence in words. The selection and adjustment mechanics are held at Tier 3.
Buy boxA tenant's explicit, typed acquisition criteria. The buy box exists so that fit is a stated policy rather than a feeling: it produces a living verdict per deal, and it is the only thing in the entire product allowed to move a deal automatically (an auto-reject, with its reasons recorded). It is not a black-box score.
VerdictThe buy box's current judgment on a deal: whether the property fits the tenant's stated criteria, with reasons. A verdict is living; it updates as the evidence under it changes. A verdict recommends everywhere except the one automatic rejection case; humans move deals.
StageOne named step in a tenant's pipeline. Stages are configuration, not code: the pipeline board renders exactly the stages the published configuration defines.
GateThe human approval required to move a deal from one stage to the next. Gates exist because the pipeline is workflow-by-handoff: a recommendation never moves a deal on its own, and the gate is where accountability lives.
Terminal outcomeOne of three shared end states a deal can reach in any pipeline: won, recoverable pass, or permanent pass. All asset classes share these three so that reporting means the same thing everywhere.
Underwriting assumptionAn input to the underwriting calculation, sourced from a per-deal template of overridable defaults. Defaults are labeled as defaults and never silently trusted, because markets differ; under every number the calculator states in plain words where the value came from. The default values and formulas are held at Tier 3.

Term group

Platform terms

The vocabulary of the system's structure. These terms carry most of the package's architectural weight.

TermDefinition
LaneOne of the two production postures of the single codebase: the internal operator dashboard (invite-only) and the public self-serve product. The fork between them lives entirely at the infrastructure layer (identity instance, backend deployment, edge project, domain) and never at the code layer, so a fix ships to both lanes as one change.
TenantThe unit of isolation: one customer organization. Tenant identity is stamped on every record and enforced at one verified choke point, and every agent tool call re-verifies it independently. Isolation options ladder up to physically separate per-customer deployments where the blast radius justifies it.
ModuleA business capability (intake, buy box, pipeline, deal workspace, reports, underwriting, the agent surface, coverage, configuration, billing) that owns its tables by convention, exposes a strict public API, and admits writes through exactly one door. Modules share identity, never models; no module reads another module's tables.
EntitlementA tenant's right to a module or capability. Entitlements resolve fail-closed at one choke point: if resolution cannot prove the right exists, the answer is no. The composed set of enabled modules is a tenant's shape, and it is the one switch (see feature off means dead).
Published configurationThe versioned set of configuration (tenants, modules, entitlements, pipelines, stages, strategies, field definitions) that every surface renders. Configuration is authored as a draft, published atomically as one versioned set, and rolled back by rolling forward. Drafts never leak into rendered surfaces, and concurrent publishes are caught. The configuration schema itself is held at Tier 2.
ArtifactA versioned, immutable output of analysis: one of the four structured reports, or an agent-authored synthesis. A property is a folder of artifacts. Artifacts are never silently rewritten; a re-run creates a new version, so the evidence trail always survives.
FindingA structured fact extracted from an artifact. Findings are immutable: they record what the analysis said, at a version, forever. Findings are the first rung of the evidence chain.
System fieldAn editable field on the deal, seeded by projecting findings. This is where the immutable evidence becomes workable data: a human can correct a system field, and provenance records that they did. System fields feed underwriting assumptions.
Custom fieldAn operator-authored field, defined in configuration rather than shipped by us. Custom fields exist so a tenant can carry data we never anticipated without waiting for a release.
The seamThe single boundary between the reactive TypeScript backend and the deterministic analysis engine, which runs as a separate service and a separate failure domain. One async entry point in; one HMAC-signed callback out, with idempotent ingestion and a tenant echo on every callback. The seam exists so that heavy analysis can fail, retry, or be replaced without the transactional product noticing.
ProducerOne data-gathering component inside the analysis engine, responsible for one kind of source. Producers are fail-soft: one missing source degrades confidence honestly instead of blocking the analysis. No producer contains a language model, and no producer touches storage directly (see reference layer).
Reference layerThe nationally pre-cached store of reference data, reached only through one access module. Producers and reports read through this boundary, never around it, which is what makes the storage engine swappable (a Postgres with PostGIS pattern is the designed target) without touching a single producer.
Freshness tierThe policy class that says how current a kind of reference data must be before we re-fetch it. Different data kinds age at different speeds, so freshness is governed per kind rather than by one global rule. The specific intervals are held at Tier 3.
Canonical zoning recordAn investor-readable jurisdiction record produced by our in-house zoning extraction pipeline: what a municipality's ordinance actually permits, restated in plain terms, with honest confidence. The corpus of these records is an owned, compounding data asset, not a licensed feed. The extraction specification and its quality gates are held at Tier 3.
Coverage stateThe honest label on a data asset for a given geography: covered, partial, or not yet, with a request flow for what is missing. Coverage states exist because fabricated completeness destroys trust faster than any gap does.

Term group

Doctrine terms

The rules that hold the system's promises. These are ours, named so they can be enforced and cited.

TermDefinition
ProvenanceThe first-class record, on every field value, of what produced it: a human, the agent, a report, an import, or a template. Provenance is not an audit garnish; the provenance ladder is the write-authorization mechanism itself. Who may overwrite a value depends on what produced the value standing there.
The write lawOur central doctrine: a machine write lands freely into an empty or machine-sourced field, and never over a human-confirmed value. When a machine has something to say about a human-confirmed field, it queues a proposal instead. The write law is also the agent blast-radius contract: agents get the door, never the tables.
ProposalA machine-suggested value waiting on a human. Proposals are how the agent and the analysis engine speak about fields a human has already confirmed: visibly, reversibly, and without overwriting anyone.
Human-confirmedThe provenance stamp a value receives when a human accepts it, whether by entering it or by accepting a proposal. Human-confirmed is the highest rung of the ladder; under the write law, no machine writes over it.
Cache the data, compute the meaningOur doctrine for the analysis engine: no language model anywhere in the data producers. Reference data is cached; interpretation is deterministic code; the agent owns synthesis and grading. This keeps every structured report reproducible and every disagreement between sources visible as signal rather than averaged away by a model.
Feature off means deadOur doctrine for entitlements: a disabled module is dead server-side, not hidden client-side. Its writes refuse, its scheduled jobs deactivate, its notifications drop. The composed module set is the one switch, so there is no second place where off can quietly mean on.
The honesty doctrineData is never presented at finer precision than it has: coarse-geography values stay coarse, confidence is stated in words, and disagreement between independent reads is surfaced, not reconciled by fiat. A corrections mechanism lets an authoritative human correction short-circuit downstream reads when a public record is wrong, with the correction recorded.
The evidence chainThe one-way flow from versioned artifacts to findings to system fields to underwriting assumptions. Each rung is consumed through a composed, typed contract, never by reading the previous rung's raw tables, so any rung's storage can change under a stable shape. Underwriting reads the findings snapshot, never report internals.

Term group

Agent terms

The vocabulary of Addi as a principal. OAuth 2.1 and MCP are open standards we implement; this package cites them as standards, not suppliers.

TermDefinition
MCPThe Model Context Protocol, the open standard over which the operator's own Claude connects to the platform. We chose an open protocol over an in-app chat because the operator's assistant already exists; our job is to expose the platform to it safely, not to rebuild it behind our own textbox.
ScopeThe named grant limiting what a connected agent may do. Tokens are scoped; a capability we judge genuinely risky ships read-only rather than gated. Authorization is OAuth 2.1 with PKCE, dynamic client registration, and RS256 tokens, built into the backend. The scope topology is held at Tier 2.
Served doctrineThe agent's operating instructions, fetched from the platform itself at session start. Serving the doctrine rather than pasting it means the doctrine the agent receives is always the deployed, current one: the platform that enforces the rules is the platform that states them. The doctrine's contents are held at Tier 3.
Work queueThe single queue through which all autonomous agent work flows. A queue, unlike a scheduler fantasy, gives every unit of autonomous work a place to be observed, budgeted, and replayed. How the queue is worked and swept is held at Tier 3.
WakeAn event that starts an autonomous work session under a budget cap. Wakes are how the agent works without a human present; the cap is why that is safe (see budget cap). Cadence specifics are held at Tier 3.
Budget capThe hard ceiling on what an autonomous session may spend. Our safety model for agent writes is budgets plus traceability plus reversibility, never approval gates; together they bound the blast radius mechanically, and a capability we judge genuinely risky ships read-only instead. Cap values are held at Tier 3.
House-style gateThe mechanical check agent output passes at the write door before it lands. Style enforced as a gate rather than a prompt instruction, because prose discipline drifts and mechanical gates do not.

Term group

Capability-class vocabulary

This package never names a data source or a supplier of property, market, or geographic data. Where a document would otherwise need one, it uses one of the classes below. We define them once here so their use elsewhere is unambiguous. Where a class stands in for an unnamed supplier, that supplier is not named in this package; within these documents the classes are the disclosure, and supplier identities are held at Tier 3. Two exceptions sit at the bottom of the table: the billing processor and the identity provider are named outright, because for mainstream technology the name itself is the vetting signal.

ClassWhat it stands for
Licensed property and rental data sourcesCommercial suppliers of property records, sale and listing data, and rental market data that we access under license. These feed producers behind the seam; they are inputs to our reference layer, not the asset itself.
Public government and open-data sourcesGovernment and open datasets: records, statistics, and geographic data published by public bodies. These are cached into the reference layer under the honesty doctrine, because public data arrives at many precisions and we refuse to sharpen it.
Live geographic information systemsMap and parcel services we match against when grounding zoning districts to real geography, conservatively and with honest confidence.
Municipal ordinance sourcesThe published zoning ordinances of local governments. These are the raw input of the zoning data factory; the canonical zoning record is what we make of them.
A bot challengeThe automated-abuse check at the public intake form, run at the edge before a submission reaches the platform. Named as a class because the mechanism matters and the supplier does not.
The billing processorStripe, named because it is mainstream and naming it is the vetting signal; billing internals are held at Tier 3.
The identity providerClerk, named for the same reason. It owns authentication and organization membership; the application owns roles and privileges, because entitlement decisions belong where the entitlement logic lives.

Terms not listed here are used in their ordinary engineering sense. If a document in this package appears to use a common word in an uncommon way and the word is absent from this page, that is a defect in the package, and we would want to hear about it.

Addi architecture disclosure · v1.0 · 2026-07-31
The spine · Traceability