# Reflections ## Docs - [Boundary matrix](https://docs.reflections.ai/architecture/boundaries.md): What each execution plane and application layer is allowed and forbidden to do in the Reflections platform. - [System invariants](https://docs.reflections.ai/architecture/invariants.md): Non-negotiable rules, complexity budgets, and release blockers that govern the Reflections platform. - [Knowledge graph](https://docs.reflections.ai/architecture/knowledge-graph.md): How the Reflections knowledge graph stores temporal facts, manages the patch lifecycle, and organizes knowledge through the aspect taxonomy. - [System overview](https://docs.reflections.ai/architecture/overview.md): High-level architecture of the Reflections platform — a voice-first AI agent that retrieves and reasons over a personal knowledge graph. - [Package map](https://docs.reflections.ai/architecture/package-map.md): Every app and package in the Reflections monorepo — what it does, what it depends on, and how Turborepo orchestrates builds. - [Two-plane architecture](https://docs.reflections.ai/architecture/two-plane-architecture.md): How Reflections separates low-latency voice inference from asynchronous background learning for safety and reliability. - [ADR-0001: Monorepo and package boundaries](https://docs.reflections.ai/decisions/adr-0001.md): Enforce clear dependency direction and reduce cross-package coupling in a multi-app system. - [ADR-0002: Runtime and build standards](https://docs.reflections.ai/decisions/adr-0002.md): Standardize runtime and build behavior to minimize environment drift and packaging surprises. - [ADR-0003: Two-plane system architecture](https://docs.reflections.ai/decisions/adr-0003.md): Separate low-latency inference from asynchronous learning to preserve reliability and control risk. - [ADR-0004: Primary data platform: Supabase Postgres](https://docs.reflections.ai/decisions/adr-0004.md): Use a relational core with vector and text-search extensions to support transactional learning and retrieval workloads. - [ADR-0005: Temporal fact and patch lifecycle](https://docs.reflections.ai/decisions/adr-0005.md): Preserve auditable memory evolution through temporal facts and gated patch promotion. - [ADR-0006: DB query surface segregation](https://docs.reflections.ai/decisions/adr-0006.md): Constrain data mutation capabilities by design-time import boundaries. - [ADR-0007: Retrieval pipeline design](https://docs.reflections.ai/decisions/adr-0007.md): Build evidence retrieval that combines semantic recall with graph context while remaining low-latency. - [ADR-0008: Authentication and RBAC model](https://docs.reflections.ai/decisions/adr-0008.md): Support both service-to-service and end-user auth while enforcing server-derived reflection roles. - [ADR-0009: API architecture and authorization enforcement](https://docs.reflections.ai/decisions/adr-0009.md): Keep API boundaries explicit with consistent route-level authn/authz and error semantics. - [ADR-0010: Ingestion orchestration, idempotency, and recovery](https://docs.reflections.ai/decisions/adr-0010.md): Make source ingest retry-safe and recoverable while preserving evaluation-gated learning. - [ADR-0011: Observability and tracing strategy](https://docs.reflections.ai/decisions/adr-0011.md): Provide actionable diagnostics without making core flows brittle. - [ADR-0012: CI/CD quality and release gates](https://docs.reflections.ai/decisions/adr-0012.md): Keep release quality high through automated, ordered validation gates. - [ADR-0013: Migration governance and drift control](https://docs.reflections.ai/decisions/adr-0013.md): Keep database schema evolution deterministic and verifiable across local and CI/CD environments. - [ADR-0014: Frontend state and realtime architecture](https://docs.reflections.ai/decisions/adr-0014.md): Balance server-state correctness, local UI responsiveness, and realtime ingest visibility in the web client. - [ADR-0015: Tenant isolation and database RLS boundary](https://docs.reflections.ai/decisions/adr-0015.md): Define defense-in-depth tenant isolation across API authorization and database row-level policy boundaries. - [ADR-0016: AI vendor and model strategy](https://docs.reflections.ai/decisions/adr-0016.md): Separate inference, embedding, and voice-runtime vendor responsibilities while keeping model and provider selection configurable through validated environment contracts. - [ADR-0017: Public share-link and anonymous session boundary](https://docs.reflections.ai/decisions/adr-0017.md): Allow public reflection access via constrained anonymous sessions without exposing privileged reflection data surfaces. - [ADR-0018: Ingestion source security and content safety](https://docs.reflections.ai/decisions/adr-0018.md): Protect ingestion from hostile or oversized source inputs while preserving deterministic pipeline behavior. - [ADR-0019: Voice runtime provider strategy](https://docs.reflections.ai/decisions/adr-0019.md): Replace self-hosted voice agent with a managed conversation provider while preserving knowledge-graph authority and the two-plane read-only invariant. - [ADR-0020: Expo mobile app in pnpm monorepo](https://docs.reflections.ai/decisions/adr-0020.md): Treat Expo mobile configuration as a contract and enforce it in-repo via tests and minimal explicit configuration. - [ADR-0021: Mobile API contracts via shared Zod schemas](https://docs.reflections.ai/decisions/adr-0021.md): Centralize mobile-facing DTO schemas in a shared package and validate API responses at the boundary in the mobile app. - [ADR-0022: Lint policy and enforcement layer strategy](https://docs.reflections.ai/decisions/adr-0022.md): Mechanically enforce architectural invariants through layered, defense-in-depth tooling that prevents bypass without sacrificing developer feedback speed. - [ADR-0023: API rate-limit store and keying strategy](https://docs.reflections.ai/decisions/adr-0023.md): Keep the current in-process limiter for now, make key derivation explicit and tested, and define a clear trigger for distributed migration. - [ADR-0024: Loti content-monitoring feed integration](https://docs.reflections.ai/decisions/adr-0024.md): Ingest daily Loti content-monitoring results into Postgres for downstream talent protection workflows. - [ADR-0025: Aspect taxonomy and scoring architecture](https://docs.reflections.ai/decisions/adr-0025.md): Provide user-facing domain structure over the knowledge graph so users can see how their knowledge distributes across life domains and where depth exists vs. gaps. - [ADR-0026: Voice clone pipeline architecture](https://docs.reflections.ai/decisions/adr-0026.md): Enable personalized voice output by cloning a user voice from conversation audio, manual uploads, or dedicated sample sessions, with quality gating, metrics tracking, and reliable async processing via an outbox pattern. - [ADR-0027: Three-mode agent routing and session orchestration](https://docs.reflections.ai/decisions/adr-0027.md): Introduce explicit session mode routing (interview, reflection, share) so the voice agent adapts its behavior, tool access, and dynamic context per session type. - [ADR-0028: Clerk free-plan organization canonicalization](https://docs.reflections.ai/decisions/adr-0028.md): Canonicalize reflection team-sharing onto Clerk Organizations using free-plan-compatible roles only while preserving creator-private access semantics. - [ADR-0029: Voice clone attempt lifecycle authority and readiness gate](https://docs.reflections.ai/decisions/adr-0029.md): Make voice_clone_attempts the durable lifecycle authority and demote outbox/conversation-audio paths to compatibility-only status. - [ADR-0030: Knowledge graph relational overview and shell truth](https://docs.reflections.ai/decisions/adr-0030.md): Redesign the dashboard knowledge graph into a truth-first relational atlas that stays visually premium without overstating completeness or mixing overview and inspection semantics. - [ADR-0031: Reflection voice prompt-pack runtime and public freshness](https://docs.reflections.ai/decisions/adr-0031.md): Replace the legacy reflection voice wrapper model with persisted prompt-pack authority, audience-scoped public runtime behavior, gated artifact promotion, and freshness-aware public agent selection. - [Architecture decision records](https://docs.reflections.ai/decisions/index.md): Index of all architecture decisions in the Reflections platform. - [Reflections platform](https://docs.reflections.ai/index.md): Voice-first AI agent that retrieves and reasons over a personal knowledge graph. ## OpenAPI Specs - [openapi](https://docs.reflections.ai/api-reference/openapi.json)