--- project_key: emi status: active factory_maturity: discovery updated: 2026-08-17 --- # EMI — Project Definition ## Purpose EMI is the cross-server ministry application and web/services collection: mobile/client work, website work, backend/API operations, ministry integrations, and the related human approval/deployment process. ## Execution map | Host | Repository / service | Paseo-project role | Status | |---|---|---|---| | Mac mini `.102` | `~/Projects/EMI/expoApp` | `EMI · Expo App` | Registered local workspace `wks_f013c2c89410419b`; local changes exist | | Mac mini `.102` | `~/Projects/EMI/website` | `EMI · Website` | Registered local workspace `wks_baf03fce83b6b3b7` | | Mac mini `.102` | `~/Projects/EMI/EMI-Backend` | `EMI · Backend (Mac mini)` for local/reproduction work | Registered local workspace `wks_740a1fe0494b5cc9`; local changes exist and no `origin` is configured | | EMI server `.119` | `~/EMI-Backend`, production API documented at `:3001` | `EMI · Backend Production` | Registered local workspace `wks_fc39b6c9d2ebc9e0`; daemon healthy on loopback; OpenCode detected; runtime, health command, deployment procedure, and Ollama Cloud provider setup remain to be discovered | The parent `~/Projects/EMI` directory is a collection, not a source-changing Paseo project. ## External infrastructure boundary - `api.emmint.com` is routed by the **FamReynaServer `.110` Caddy** instance to the EMI backend service on `.119`. - This EMI project may document the dependency and verify its observed behavior, but it does **not** own or modify the FamReynaServer Caddy route, Authentik, DNS, firewall, or shared reverse-proxy policy. - Any Caddy/proxy change belongs to the shared FamReyna infrastructure owner and requires a separately scoped, explicitly approved infrastructure task. EMI release work must treat that route as an external dependency and coordinate through evidence, not mutate it. ## Personas - Planner: read-only repo/service discovery and task plan. - Expo / web / backend implementer: isolated worktree only. - Verifier: repo-specific scripts and integration evidence. - Reviewer: independent diff, security, API/migration, and scope review. - Release steward: prepare rollout/rollback evidence. - Deployment executor: one named, explicitly approved production action only. - Health monitor: read-only, change-only reporting. ## Safety boundaries - Preserve existing local modifications before creating worktrees. - No merge, deploy, restart, credential change, or public publishing without explicit human approval. - Do not dispatch production backend tasks until `.119` checkout path, service manager, health command, and rollback procedure are verified. - A cross-server change has separate Mac mini and `.119` workspaces; it is never one shared workspace. ## Active factory coordination - **Feature / incident:** production reconciliation and release-branch convergence — **completed through push, then deployed manually by explicit approval**. - **Coordinator session:** Factory profile session `20260818_102513_1346d3`, titled `emi: production reconciliation` and pinned for continuity. It exposed a follow-through gap: its interactive process exited after worker dispatch. The factory policy now requires interactive/resumable dispatch-and-follow-through, explicit agent IDs, and terminal-state monitoring. - **Reconciled repository revision:** production `master` and `origin/master` are `4c1afea` (`chore(prod): preserve production compose settings`), following rebased translation commit `c257fd1` and backup-script commit `44988df`. - **Deployment:** app and translation Compose services were rebuilt/recreated from `4c1afea`; a pre-update rollback image is retained as `emi-backend-app:pre-4c1afea-20260818T190206Z`. No Caddy, Authentik, DNS, or firewall changes were made. - **Next active feature:** `emi: local translation production readiness`. **Execution owner: factory profile only.** The default/personal Hermes conversation may relay your instructions and report evidence, but it must not perform direct repository, server, Docker, Git, or Paseo actions for this project. Treat the current MarianMT service as WIP until its internal network path, health/readiness, functional translations, model-cache behavior, failure handling, and resource limits are verified. ## Factory readiness next actions 1. Read-only discovery of each Mac mini repository's scripts, tests, build commands, and current worktree state. 2. Read-only discovery on `.119` of the deployed checkout, runtime, service manager, health endpoint, and release procedure. 3. Register repo-specific local Paseo workspaces only after discovery review. 4. Add repo-specific `paseo.json` contracts; do not copy a generic template. ## Related records - `emi-read-only-discovery-2026-08-18.md` — completed first factory experiment; commands and release-path unknowns - `../paseo_software_factory_working_model_2026-08-17.md` - `../latin_america_emi_collaboration_2026.md` - `../../areas/operations/services_inventory.md`