# Monorepo Layout The workspace is organized by runtime boundary rather than by task. - `services/core` owns orchestration, persistence, scheduling, and external model/service adapters. - `apps/web` owns the operator console and browser-based agent workspace. - `apps/mobile` owns the mobile and desktop Flutter surfaces. - `packages/contracts` owns schemas shared across clients and services. - `agent-ops` owns root agent routing, domain rules, and repeatable task workflows. Keep feature work scoped by domain, but land cross-boundary changes in one branch when API contracts, generated clients, and UI behavior must move together.