docs: add boundary violation fixture and document rule in COLLABORATING.md
Some checks failed
CI / Unit & Component Tests (push) Failing after 3m36s
CI / OCR Service Tests (push) Successful in 35s
CI / Backend Unit Tests (push) Failing after 3m15s
CI / Unit & Component Tests (pull_request) Failing after 3m41s
CI / OCR Service Tests (pull_request) Successful in 32s
CI / Backend Unit Tests (pull_request) Failing after 3m10s

Adds src/lib/tag/__fixtures__/cross-domain.fixture.ts — a permanent fixture
that demonstrates the boundaries rule firing on a tag → person import. The
fixture is excluded from npm run lint via --ignore-pattern; run
npm run lint:boundary-demo to see it produce an error (exit 1).

Documents the full allow-list, the escape hatches ($lib/shared/ move, explicit
rule entry, eslint-disable-next-line), and the verify command in COLLABORATING.md.

Refs #410
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-05 17:39:13 +02:00
parent 09e0fd8fa2
commit ef55ad7e73
2 changed files with 44 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
// Deliberate boundary violation: tag domain importing from person domain.
// This file exists to prove the boundaries/dependencies rule fires.
// It is excluded from `npm run lint` via --ignore-pattern and must NEVER be imported by production code.
// Run `npm run lint:boundary-demo` to see ESLint report the violation (exit 1).
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import { getInitials } from '$lib/person/personFormat';