Architecture to Code Mapping
Intent
Section titled “Intent”Map architecture concerns to repository packages so implementation work lands in the right place.
Mapping Table
Section titled “Mapping Table”| Concern | Primary location | Notes |
|---|---|---|
| Person identity and roles contracts | packages/domain |
Shared type and validation surface |
| Shared browser auth clients and session primitives | packages/domain |
Supabase browser env, cached client bindings, snapshots |
| Shared auth providers and screen composition | packages/ui |
Cross-app React auth providers, login, and reset UI |
| Core relational entities and constraints | packages/db |
Drizzle schema and migrations |
| Competency framework entities and inference contracts | packages/domain and packages/db |
Versioned framework, evidence, and derived state model |
| Sync collections and conflict logic | packages/offline-data |
PGlite/Electric integration layer |
| Append-only sync operation log engine | external pgxsinkit npm package |
External project under team control, major-versioned |
| Authorization and mutation orchestration | apps/api |
Enforces policy and emits side effects |
| Learner experience UI state | apps/learner-web |
Role-specific frontend behavior |
| Teacher workflow UI state | apps/teacher-portal |
Class orchestration and grading UX |
| Platform administration UI state | apps/admin-console |
Invite-only administrative operations and access checks |
Data Model Execution Guidance
Section titled “Data Model Execution Guidance”When adding a new core model capability:
- Update architecture docs if semantics change
- Add or update domain contracts in
packages/domain - Add or update schema in
packages/db - Add sync behavior in
packages/offline-data - Add API orchestration in
apps/api - Add app-specific consumption in learner/teacher apps
Extension Execution Guidance
Section titled “Extension Execution Guidance”For extension features:
- Define extension namespace and ownership
- Add typed contracts
- Add typed extension schema
- Add sync and conflict policy
- Add integration mapping implications
Anti-Pattern Guardrails
Section titled “Anti-Pattern Guardrails”- Do not put cross-app domain semantics directly in frontend apps
- Do not bypass
packages/domainfor cross-surface validation - Do not scatter sync logic outside
packages/offline-data - Do not encode standards-specific semantics directly into core identity entities
- Do not use per-route CRUD write paths for syncable domain tables; use pgxsinkit batch ingress in artifact mode