diff --git a/frontend/scripts/verify-ui-contract.mjs b/frontend/scripts/verify-ui-contract.mjs
index 52d3c5fa..b96a301f 100644
--- a/frontend/scripts/verify-ui-contract.mjs
+++ b/frontend/scripts/verify-ui-contract.mjs
@@ -54,6 +54,19 @@ for (const file of pageContractChecks) {
}
}
+const overview = readFileSync("src/views/ia/ProjectOverview.vue", "utf8");
+const requiredOverviewClasses = [
+ "ctms-page-shell",
+ "kpi",
+ "unified-section"
+];
+
+for (const className of requiredOverviewClasses) {
+ if (!overview.includes(className)) {
+ missing.push(`src/views/ia/ProjectOverview.vue:${className}`);
+ }
+}
+
if (missing.length) {
console.error("UI contract check failed. Missing:", missing.join(", "));
process.exit(1);
diff --git a/frontend/src/components/KpiCard.vue b/frontend/src/components/KpiCard.vue
index 9f6c8dfa..21cf3559 100644
--- a/frontend/src/components/KpiCard.vue
+++ b/frontend/src/components/KpiCard.vue
@@ -1,5 +1,5 @@
-
+