diff --git a/docs/architecture/vertical-feature-spec.md b/docs/architecture/vertical-feature-spec.md index 4f2fa9c..0df1fa2 100644 --- a/docs/architecture/vertical-feature-spec.md +++ b/docs/architecture/vertical-feature-spec.md @@ -449,7 +449,7 @@ Note: `core-trpc` is `core-composition` (not plain `core`) because it transitive ### 9.4 Four enforcement layers 1. **`package.json` dependencies** — only allowed deps declared. -2. **`exports` maps** — feature packages expose `.`, `./cms`, `./api` only (no deep source paths). +2. **`exports` maps** — feature packages expose `.`, `./ui`, `./cms`, `./api`, `./di/bind-production` only (no deep source paths). `./ui` was added in Plan 9; `./di/bind-production` was added in Plan 5. 3. **ESLint `eslint-plugin-boundaries`** (lint-time) — configured in `packages/core-eslint/` flat config: - Enforces the five-tag rules (same rules as Turbo boundaries) - File-specific exemptions via `// @boundaries-ignore` comments