# Impressions Source Of Truth

## The Decision

`../impressions` is the sole canonical execution target. New product code, protocol work, tests, screenshots, ADRs, provider probes, and release gates land there.

The surrounding project hub exists to make prior work discoverable and reusable without creating a second competing runtime.

## Authority Map

| Surface | Authority | How it is used |
| --- | --- | --- |
| Android/Pixel application, Rust core, protocol, server, simulation, CI | [`../impressions`](../impressions) | Canonical build and verification path. |
| Canonical strategy and full-build execution intent | [`../impressions/docs/strategy`](../impressions/docs/strategy) | Product and architecture decisions. |
| Current UI and emulator evidence | [`../impressions/docs/screenshots`](../impressions/docs/screenshots) | Evidence of existing product surfaces, not a declaration of physical-device completion. |
| OpenCode web, server, iOS, macOS, Stitch, and BMAD corpus | [`imports/impressions-opencode`](./imports/impressions-opencode) and its [`ORIGINAL_SOURCE_REFERENCE`](./imports/impressions-opencode/ORIGINAL_SOURCE_REFERENCE) | Materialized visual, product, and implementation source plus a direct reference to the full original hierarchy. Review before reusing; port deliberately into canonical modules. |
| Reference OpenCode iOS prototype | [`imports/impressions-reference-opencode`](./imports/impressions-reference-opencode) and its [`ORIGINAL_SOURCE_REFERENCE`](./imports/impressions-reference-opencode/ORIGINAL_SOURCE_REFERENCE) | Early Swift/iOS design and implementation source. Partial materialization is preserved; the source reference and tree index keep the full lineage reachable. |
| External OpenCode archive | [`imports/impressions-opencode-archive`](./imports/impressions-opencode-archive) and its [`ORIGINAL_SOURCE_REFERENCE`](./imports/impressions-opencode-archive/ORIGINAL_SOURCE_REFERENCE) | Historical Xcode/project structure and archive context. Not a runtime authority. |
| Curated WIP, original deck material, source manifests, and transcript fragments | [`imports/impressions-wip`](./imports/impressions-wip) | Provenance and intent recovery. Its source policy and unreadable-file manifests remain binding evidence labels. |
| Cross-project discovery map | [`DISCOVERED_LOCATIONS.md`](./DISCOVERED_LOCATIONS.md) | Complete inventory of active source, references, duplicates, review context, and non-source environment snapshots. |
| External Blueprint Freeze copy and zip | [`provenance/EXTERNAL_BLUEPRINT_FREEZE.md`](./provenance/EXTERNAL_BLUEPRINT_FREEZE.md) | Duplicate historical snapshot; registered, not re-copied. |
| Empty Git-backed Documents/Impressions folder | [`provenance/DOCUMENTS_IMPRESSIONS.md`](./provenance/DOCUMENTS_IMPRESSIONS.md) | Recorded as a discovered location with no visible product source. |

## Evidence Labels

Use these labels in every new product, architecture, or demo claim:

- **Built**: observed code and tests in the canonical monorepo.
- **Evidenced**: screenshots, reports, or materialized artifacts demonstrate a surface or behavior.
- **Specified**: a deliberate contract, strategy, visual model, or imported design source exists, but it is not live product proof.
- **Open**: a provider, device, policy, legal, UX, or implementation decision still needs a gate.
- **Unavailable**: source is named and preserved in provenance, but APFS/iCloud placeholder behavior prevented content verification.

The OpenCode source-tree index and availability note are authoritative for import completeness: [`provenance/OPENCODE_SOURCE_TREE.txt`](./provenance/OPENCODE_SOURCE_TREE.txt) and [`provenance/OPENCODE_IMPORT_AVAILABILITY.md`](./provenance/OPENCODE_IMPORT_AVAILABILITY.md).

The smaller iOS reference and OpenCode archive have the same source-reference treatment: [`provenance/REFERENCE_OPENCODE_SOURCE_TREE.txt`](./provenance/REFERENCE_OPENCODE_SOURCE_TREE.txt) and [`provenance/OPENCODE_ARCHIVE_SOURCE_TREE.txt`](./provenance/OPENCODE_ARCHIVE_SOURCE_TREE.txt).

## Working Boundary

Google Maps, Street View, ARCore, camera, routing, mapping, or visual-positioning providers can supply bounded context when verified and permitted. They do not own Impressions identity, world objects, layer policy, consent, privacy, sync semantics, or renderer behavior. The Impressions world model remains the substrate.
