From 1a66ac6e6461abbe243f946908530793cd8fbef7 Mon Sep 17 00:00:00 2001 From: "bert.hausmans" Date: Mon, 18 May 2026 13:48:21 +0200 Subject: [PATCH] refactor(gui-v2): delete X.vue stub, repoint 2 boundary refs to StatusTag, add shared/* regression locks Co-Authored-By: Claude Sonnet 4.6 --- apps/app/src/components-v2/shared/X.vue | 10 ------ apps/app/tests/unit/boundaries-v2.spec.ts | 38 +++++++++++++++++++++-- 2 files changed, 36 insertions(+), 12 deletions(-) delete mode 100644 apps/app/src/components-v2/shared/X.vue 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', + '', + ) + + 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) + }) })