| auth-start.md | A user initiates sign-in by submitting their email address; the server generates a magic link and delivers it via email so no password is ever required. |
| auth-verify.md | A user clicks the magic link delivered to their email; the app extracts the token and session, submits them to the verify endpoint, and receives a short-lived handoff code in return. |
| auth-handoff.md | After magic-link verification the mobile app holds only a short-lived handoff code; this endpoint consumes that code and returns the full set of Cognito tokens so the app can authenticate all future requests. |
| start-session.md | A user begins a new capture session from the wearable or mobile app; the server allocates a session record and returns a session ID that is used for all subsequent frame and audio uploads. |
| upload-audio.md | The wearable or mobile app streams audio to the server in 30-second windowed chunks during an active session; the Lambda stores each chunk in S3 and triggers downstream ingest when both audio and frames are ready for a window. |
| upload-frame.md | The wearable streams individual JPEG frames to the server during a session; the Lambda maintains a rolling frame counter, writes each frame to S3 inside its window directory, and triggers ingest when 60 frames have been received and the matching audio chunk is also ready. |
| end-session.md | When the user stops recording, the app signals session end; the server marks the session as ended and triggers ingest for any windows that have accumulated data but have not yet been processed. |
| ingest-session.md | After a recording session ends, the ingest pipeline transforms raw audio and video frames into a structured knowledge graph stored in PostgreSQL, enabling semantic and episodic memory retrieval. |
| ingest-window.md | Cloud Lambda that processes one 30-second recording window: loads frames and audio from S3, captions via GPU, extracts NER and RDF triples, stores a visual embedding, and writes a WorldMMSegment row. When the GPU is unavailable, raises GpuUnavailableError so the invocation routes to IngestDLQ; IngestDLQConsumer retries with visibility extension and marks the segment failed after six attempts. |
| discord-ops.md | Discord alert delivery and slash-command handling: DiscordAlertsFunction forwards SNS and EC2 events to a webhook with a mute gate backed by SSM; DiscordInteractionFunction handles /cost, /status, /mute-alerts, and /unmute-alerts; a CloudWatch alarm fires on IngestDLQ depth exceeding 100 messages for 10 minutes. |
| memories-feed.md | An authenticated user opens the app's home screen and sees a paginated feed of their captured memory segments, each with a thumbnail, timestamp, type label, and processing status. |
| memories-chat.md | An authenticated user asks a natural-language question about their past experiences; the system retrieves relevant memory segments from the WorldMM knowledge graph and uses a GPU-hosted LLM to compose a grounded answer. |
| list-chats.md | An authenticated user opens the side menu and sees a paginated list of their past AI chat conversations, ordered by most recently updated. |
| waitlist-signup.md | A prospective user visits the Encache landing page and submits their email address and optional metadata to join the product waitlist; the server deduplicates the entry and sends an internal notification to the team. |
| recording-control-notifications.md | A platform-forked notification system that shows a persistent, high-importance recording-controls notification while a capture session is active; iOS uses expo-notifications and Android uses a native foreground service with IMPORTANCE_HIGH. |
| android-config-plugin.md | Expo config plugin that patches AndroidManifest.xml at build time: injects Meta wearables permissions, SDK meta-data, URL-scheme intent filter, and sets windowSoftInputMode=adjustResize on the main activity so the soft keyboard resizes the layout rather than covering the chat input. |
| capture-session.md | Client-side orchestrator that opens a server session, routes audio/frame chunks into a PersistentUploadQueue via the glasses or phone capture path, and tears everything down when the user stops recording. |
| phone-audio-capture.md | Captures audio from the phone's built-in microphone in 30-second WAV chunks using expo-av; delivers each completed chunk via a callback for upload through the PersistentUploadQueue. |
| settings-screen.md | The settings screen lets authenticated users register or unregister Meta View smart glasses, sign out, and toggle debug mode; device registration coordinates a native iOS module, the Meta View companion app, and an AppState listener to keep UI state consistent across OS-level app transitions. |