Problem
Architecture boundaries are documented in `.agents/rules/` but not mechanically enforced. Recent violations slipped in despite clear written rules:
Suggested fix
Add oxlint custom rules (similar to `tools/oxlint/node-import-style.mjs`) for:
- `apps/app/src/features/*` must not call `useMatch` (route identity belongs in composition roots)
- `apps/app/src/features/` must not import from `@/features/`
- `apps/app` must not import `@vibest/server`
- `packages/contract` must not import other `@vibest/*` packages
Defer until panel ownership is settled (#270):
- Blocking `@/components/layout/content-panel/*` imports from features
Severity
P2
Problem
Architecture boundaries are documented in `.agents/rules/` but not mechanically enforced. Recent violations slipped in despite clear written rules:
Suggested fix
Add oxlint custom rules (similar to `tools/oxlint/node-import-style.mjs`) for:
Defer until panel ownership is settled (#270):
Severity
P2