diff --git a/apps/app/src/components-v2/shared/X.vue b/apps/app/src/components-v2/shared/X.vue
deleted file mode 100644
index 6640e9ed..00000000
--- a/apps/app/src/components-v2/shared/X.vue
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
diff --git a/apps/app/tests/unit/boundaries-v2.spec.ts b/apps/app/tests/unit/boundaries-v2.spec.ts
index d0baead9..18e470eb 100644
--- a/apps/app/tests/unit/boundaries-v2.spec.ts
+++ b/apps/app/tests/unit/boundaries-v2.spec.ts
@@ -32,7 +32,7 @@ describe('boundaries — v2 zones', () => {
it('allows pages-v2 → components-v2', async () => {
const errs = await boundaryErrors(
'src/pages-v2/dashboard.vue',
- '',
+ '',
)
expect(errs).toHaveLength(0)
@@ -62,7 +62,7 @@ describe('boundaries — v2 zones', () => {
it('forbids v1 components → components-v2 (no back-porting)', async () => {
const errs = await boundaryErrors(
'src/components/organizer/Legacy.vue',
- '',
+ '',
)
expect(errs.length).toBeGreaterThan(0)
@@ -101,4 +101,38 @@ describe('boundaries — v2 zones', () => {
expect(errs.length).toBeGreaterThan(0)
})
+
+ // -------------------------------------------------------------------------
+ // shared/* regression-lock cases: lock the allowed/forbidden edges for
+ // components-v2/shared so future drift is caught by CI (constraint #7
+ // intent served by regression tests instead of a redundant sub-zone —
+ // Bert-approved plan decision, Phase C gate).
+ // -------------------------------------------------------------------------
+
+ it('allows components-v2/shared → types (statusSeverity consumes enums)', async () => {
+ const errs = await boundaryErrors(
+ 'src/components-v2/shared/StatusTag.vue',
+ '{{ ShiftAssignmentStatus.APPROVED }}',
+ )
+
+ expect(errs).toHaveLength(0)
+ })
+
+ it('forbids components-v2/shared → pages-v2 (no upward import)', async () => {
+ const errs = await boundaryErrors(
+ 'src/components-v2/shared/StatusTag.vue',
+ '',
+ )
+
+ expect(errs.length).toBeGreaterThan(0)
+ })
+
+ it('forbids components-v2/shared → layouts (no upward import)', async () => {
+ const errs = await boundaryErrors(
+ 'src/components-v2/shared/StatusTag.vue',
+ '',
+ )
+
+ expect(errs.length).toBeGreaterThan(0)
+ })
})