Module unit
A property as a folder of versioned artifacts, every value carrying provenance and confidence.
What it is
Reports is the unit that turns a verified address into evidence. Every property is a folder of versioned artifacts. An analysis run produces four structured report types, comparable-sales valuation, market read, zoning, and property snapshot, and alongside them the agent may author a synthesis. The structured reports are deterministic renders over data, not generated prose. We drew that line deliberately: a language model never sits inside a data producer, because a report an investor stakes money on must be reproducible and arguable line by line. Interpretation is deterministic code; the agent owns synthesis and grading, and its synthesis is labeled as its own artifact, never blended into the structured reports.
Every value in a report carries its provenance and its confidence, stated in words. The reader always knows where a number came from and how much weight it will bear.
The questions it answers
Scope and boundaries
The unit owns report artifacts and their lifecycle: creation through analysis runs, versioning, the corrections mechanism, and the projection of structured findings toward downstream consumers. It is the first link in the one-way evidence chain: versioned artifacts produce structured findings, findings project into editable system fields, and fields feed underwriting assumptions. Traffic never flows backward, and underwriting consumes the findings snapshot, never report internals.
Artifacts are never silently rewritten. A re-run creates a new version; the old version stays readable. When a public record is wrong, which happens in the real world, an authoritative human correction short-circuits downstream reads, and the correction itself is recorded. We chose corrections over edits because an edited artifact destroys the audit trail that makes the evidence chain trustworthy.
Analysis runs reach reference data through the platform's single warehouse boundary; Reports receives their output through the compute seam. It never reaches into another module's tables, and no other module reaches into its.
Withheld by design Tier 2
Report field-level composition and the interface detail behind the rendered reports are held at Tier 2.Withheld by design Tier 3
Comparable matching and interpretation internals are held at Tier 3.The contract
What it is responsible for, the one door writes go through, the facts it announces, what it guarantees, and what it refuses. Shape only. Field lists, schemas, and payloads are held at Tier 2.
Like every module, Reports owns its tables by convention, exposes a strict public API, and shares identity with its neighbors, never models. The address that intake verified is the same identity here, but the concept differs: to this unit a property is a folder of evidence, which is not what it is to intake, to valuation, or to the pipeline.
One door. Every write, whether a human, the agent, or the compute engine is behind it, passes through the same small set of business-named commands, covering the running of analysis, the recording of corrections, and the landing of the agent's synthesis.
There is no command that edits an existing artifact version, deliberately. The absence is the contract: re-running is the only way to change the evidence, and it changes it by adding a version, not by rewriting one.
Agent writes arrive through this same door under the write law: freely into empty or machine-sourced values, never over a human-confirmed value, where they queue as proposals instead.
Withheld by design Tier 2
The command roster is held at Tier 2.Events announce business facts and carry identity plus the fact, never a data dump. In plain words, the unit announces that an analysis completed, that a new report version exists, and that a correction was recorded. Downstream modules act on these announcements; none of them reads this unit's tables.
What done means
Done for this unit is not "the report renders." Done means the live surface holds up against the real backend in all four states: loading, empty, error, and content. It means every load-bearing rule from the spec exists as code, a validator, a typed contract, a server-side check, or a failing test, never as prose someone is trusted to remember. And it means the two review passes have both run: the program review, which asks whether the code keeps every promise in the cases that would break it, proven by real tests, and the code review, which asks about security, understandability, and consistency with the codebase. The writer of a change is never its auditor.
Withheld by design Tier 2
The specific test suites and their contents are held at Tier 2; this page describes the bar.The unit is built for the world where data is late, wrong, or missing:
Where it connects