Modular-monolith packaging + import-boundary lint #47

Open
opened 2026-04-13 14:35:36 +00:00 by alvis · 1 comment
Owner

Implement ADR-0003. Bundle services/* as a single Node process with a serve.ts per module that can be mounted in-process or booted standalone. Add eslint-plugin-boundaries (or equivalent) to forbid cross-module imports except through each module's public contract.nnDone when: attempting to import services/recommender/internal/* from services/integrations/ fails CI.

Implement ADR-0003. Bundle `services/*` as a single Node process with a `serve.ts` per module that can be mounted in-process or booted standalone. Add `eslint-plugin-boundaries` (or equivalent) to forbid cross-module imports except through each module's public contract.nn**Done when:** attempting to import `services/recommender/internal/*` from `services/integrations/` fails CI.
alvis added this to the M0 — Prototype milestone 2026-04-13 14:35:36 +00:00
alvis added the platformbackend labels 2026-04-13 14:35:36 +00:00
Author
Owner

Moving to M4: import-boundary lint (eslint-plugin-boundaries) becomes important at scale. Low risk for now with single developer.

Moving to M4: import-boundary lint (eslint-plugin-boundaries) becomes important at scale. Low risk for now with single developer.
alvis modified the milestone from M0 — Prototype to M4 — MLOps at scale 2026-04-16 15:23:27 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alvis/oO#47