From 871b81474dd91bcf023c459bfc256fbeca8aad7c Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 1 Jul 2026 19:05:40 -0400 Subject: [PATCH] =?UTF-8?q?feat(guide):=20coverage=20reconciler=20+=20rela?= =?UTF-8?q?bel=20customer=20tabs=20Overview=E2=86=92Customer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit scripts/coverage-reconcile.py diffs the code surface (services, agent modules, SPAs) against documented module keys and reports gaps — catches undocumented things (found 15 agent modules + qds-monitor). Also relabeled 63 customer tabs Overview→Customer for role-tab consistency with the fleet pilot. Co-Authored-By: Claude Opus 4.8 --- .../content/analytics/adoons/overview.md | 2 +- .../content/analytics/agents/overview.md | 2 +- .../content/analytics/cash/overview.md | 2 +- .../analytics/fleet-health/overview.md | 2 +- .../content/analytics/incidents/overview.md | 2 +- .../analytics/transactions/overview.md | 2 +- .../content/analytics/uptime/overview.md | 2 +- .../content/aria/dashboard/overview.md | 2 +- .../content/aria/device-posture/overview.md | 2 +- .../content/aria/ioc-feeds/overview.md | 2 +- .../content/aria/ioc-management/overview.md | 2 +- .../content/aria/precursor-alerts/overview.md | 2 +- .../content/aria/threat-events/overview.md | 2 +- .../content/claims/claim-detail/overview.md | 2 +- .../content/claims/dashboard/overview.md | 2 +- .../content/claims/settings/overview.md | 2 +- .../content/claims/vendors/overview.md | 2 +- .../content/dashboard/cash-stats/overview.md | 2 +- .../content/dashboard/overview/overview.md | 2 +- .../content/devices/agent-profile/overview.md | 2 +- .../content/devices/agent-scripts/overview.md | 2 +- .../content/devices/config-audit/overview.md | 2 +- .../content/devices/device-detail/overview.md | 2 +- .../content/devices/device-groups/overview.md | 2 +- .../content/devices/device-list/overview.md | 2 +- .../resources/content/devices/map/overview.md | 2 +- .../content/devices/sw-deploy/overview.md | 2 +- .../content/fleet/dashboard/overview.md | 2 +- .../content/fleet/modules/overview.md | 2 +- .../content/incident/dashboard/overview.md | 2 +- .../incident/incident-management/overview.md | 2 +- .../incident/incident-tracker/overview.md | 2 +- .../incident/journal-events/overview.md | 2 +- .../incident/processing-rules/overview.md | 2 +- .../content/msp/contact-groups/overview.md | 2 +- .../content/msp/institution-keys/overview.md | 2 +- .../content/msp/institutions/overview.md | 2 +- .../msp/module-allocations/overview.md | 2 +- .../resources/content/msp/users/overview.md | 2 +- .../content/profile/appearance/overview.md | 2 +- .../content/profile/display/overview.md | 2 +- .../content/profile/inbox/overview.md | 2 +- .../content/profile/notifications/overview.md | 2 +- .../content/profile/profile/overview.md | 2 +- .../content/profile/security/overview.md | 2 +- .../recon/atm-cycle-history/overview.md | 2 +- .../content/recon/cash-forecast/overview.md | 2 +- .../recon/cash-reconciliation/overview.md | 2 +- .../recon/device-cycle-mgmt/overview.md | 2 +- .../content/recon/recon-rules/overview.md | 2 +- .../content/reports/builder/overview.md | 2 +- .../content/reports/queries/overview.md | 2 +- .../content/reports/runs/overview.md | 2 +- .../content/reports/schedule/overview.md | 2 +- .../content/reports/templates/overview.md | 2 +- .../content/transactions/browser/overview.md | 2 +- .../transactions/customer-journey/overview.md | 2 +- .../transactions/journal-parsing/overview.md | 2 +- .../transactions/processing-rules/overview.md | 2 +- .../content/transactions/reparse/overview.md | 2 +- .../content/vault/cit-visits/overview.md | 2 +- .../content/vault/dashboard/overview.md | 2 +- .../content/vault/import/overview.md | 2 +- scripts/coverage-reconcile.py | 104 ++++++++++++++++++ 64 files changed, 167 insertions(+), 63 deletions(-) create mode 100644 scripts/coverage-reconcile.py diff --git a/backend/src/main/resources/content/analytics/adoons/overview.md b/backend/src/main/resources/content/analytics/adoons/overview.md index ae6418a..d70edfd 100644 --- a/backend/src/main/resources/content/analytics/adoons/overview.md +++ b/backend/src/main/resources/content/analytics/adoons/overview.md @@ -1,7 +1,7 @@ --- module: analytics.adoons title: Adoons Insights -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/analytics/agents/overview.md b/backend/src/main/resources/content/analytics/agents/overview.md index 570589b..15ef636 100644 --- a/backend/src/main/resources/content/analytics/agents/overview.md +++ b/backend/src/main/resources/content/analytics/agents/overview.md @@ -1,7 +1,7 @@ --- module: analytics.agents title: Agents -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/analytics/cash/overview.md b/backend/src/main/resources/content/analytics/cash/overview.md index 8309a74..4736eda 100644 --- a/backend/src/main/resources/content/analytics/cash/overview.md +++ b/backend/src/main/resources/content/analytics/cash/overview.md @@ -1,7 +1,7 @@ --- module: analytics.cash title: Cash Intelligence -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/analytics/fleet-health/overview.md b/backend/src/main/resources/content/analytics/fleet-health/overview.md index b46a62b..6bf99cb 100644 --- a/backend/src/main/resources/content/analytics/fleet-health/overview.md +++ b/backend/src/main/resources/content/analytics/fleet-health/overview.md @@ -1,7 +1,7 @@ --- module: analytics.fleet-health title: Fleet Health -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/analytics/incidents/overview.md b/backend/src/main/resources/content/analytics/incidents/overview.md index 7aeba0c..71884e2 100644 --- a/backend/src/main/resources/content/analytics/incidents/overview.md +++ b/backend/src/main/resources/content/analytics/incidents/overview.md @@ -1,7 +1,7 @@ --- module: analytics.incidents title: Incident Trends -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/analytics/transactions/overview.md b/backend/src/main/resources/content/analytics/transactions/overview.md index a05fd7b..cb6bf06 100644 --- a/backend/src/main/resources/content/analytics/transactions/overview.md +++ b/backend/src/main/resources/content/analytics/transactions/overview.md @@ -1,7 +1,7 @@ --- module: analytics.transactions title: Transactions -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/analytics/uptime/overview.md b/backend/src/main/resources/content/analytics/uptime/overview.md index 5b81706..a54bad3 100644 --- a/backend/src/main/resources/content/analytics/uptime/overview.md +++ b/backend/src/main/resources/content/analytics/uptime/overview.md @@ -1,7 +1,7 @@ --- module: analytics.uptime title: Uptime -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/aria/dashboard/overview.md b/backend/src/main/resources/content/aria/dashboard/overview.md index 3393678..5434b90 100644 --- a/backend/src/main/resources/content/aria/dashboard/overview.md +++ b/backend/src/main/resources/content/aria/dashboard/overview.md @@ -1,7 +1,7 @@ --- module: aria.dashboard title: Threat Dashboard -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/aria/device-posture/overview.md b/backend/src/main/resources/content/aria/device-posture/overview.md index 5a60cbc..8bf78d5 100644 --- a/backend/src/main/resources/content/aria/device-posture/overview.md +++ b/backend/src/main/resources/content/aria/device-posture/overview.md @@ -1,7 +1,7 @@ --- module: aria.device-posture title: Device Posture -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/aria/ioc-feeds/overview.md b/backend/src/main/resources/content/aria/ioc-feeds/overview.md index 9293db1..f05e45d 100644 --- a/backend/src/main/resources/content/aria/ioc-feeds/overview.md +++ b/backend/src/main/resources/content/aria/ioc-feeds/overview.md @@ -1,7 +1,7 @@ --- module: aria.ioc-feeds title: IOC Feeds -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/aria/ioc-management/overview.md b/backend/src/main/resources/content/aria/ioc-management/overview.md index ebbcc47..43dd0ca 100644 --- a/backend/src/main/resources/content/aria/ioc-management/overview.md +++ b/backend/src/main/resources/content/aria/ioc-management/overview.md @@ -1,7 +1,7 @@ --- module: aria.ioc-management title: IOC Management -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/aria/precursor-alerts/overview.md b/backend/src/main/resources/content/aria/precursor-alerts/overview.md index 6b823d5..37a984d 100644 --- a/backend/src/main/resources/content/aria/precursor-alerts/overview.md +++ b/backend/src/main/resources/content/aria/precursor-alerts/overview.md @@ -1,7 +1,7 @@ --- module: aria.precursor-alerts title: Precursor Alerts -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/aria/threat-events/overview.md b/backend/src/main/resources/content/aria/threat-events/overview.md index edc23d5..b810262 100644 --- a/backend/src/main/resources/content/aria/threat-events/overview.md +++ b/backend/src/main/resources/content/aria/threat-events/overview.md @@ -1,7 +1,7 @@ --- module: aria.threat-events title: Threat Events -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/claims/claim-detail/overview.md b/backend/src/main/resources/content/claims/claim-detail/overview.md index a8910aa..c56882b 100644 --- a/backend/src/main/resources/content/claims/claim-detail/overview.md +++ b/backend/src/main/resources/content/claims/claim-detail/overview.md @@ -1,7 +1,7 @@ --- module: claims.claim-detail title: Claim Detail -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/claims/dashboard/overview.md b/backend/src/main/resources/content/claims/dashboard/overview.md index 9c9b8f3..c6b25c7 100644 --- a/backend/src/main/resources/content/claims/dashboard/overview.md +++ b/backend/src/main/resources/content/claims/dashboard/overview.md @@ -1,7 +1,7 @@ --- module: claims.dashboard title: Claims Dashboard -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/claims/settings/overview.md b/backend/src/main/resources/content/claims/settings/overview.md index d09b037..d4acfa9 100644 --- a/backend/src/main/resources/content/claims/settings/overview.md +++ b/backend/src/main/resources/content/claims/settings/overview.md @@ -1,7 +1,7 @@ --- module: claims.settings title: Settings -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/claims/vendors/overview.md b/backend/src/main/resources/content/claims/vendors/overview.md index c5d7046..23da5c4 100644 --- a/backend/src/main/resources/content/claims/vendors/overview.md +++ b/backend/src/main/resources/content/claims/vendors/overview.md @@ -1,7 +1,7 @@ --- module: claims.vendors title: Vendors -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/dashboard/cash-stats/overview.md b/backend/src/main/resources/content/dashboard/cash-stats/overview.md index 67b7b71..a5c2202 100644 --- a/backend/src/main/resources/content/dashboard/cash-stats/overview.md +++ b/backend/src/main/resources/content/dashboard/cash-stats/overview.md @@ -1,7 +1,7 @@ --- module: dashboard.cash-stats title: Cash Stats -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/dashboard/overview/overview.md b/backend/src/main/resources/content/dashboard/overview/overview.md index f8f25bb..e5f1bc3 100644 --- a/backend/src/main/resources/content/dashboard/overview/overview.md +++ b/backend/src/main/resources/content/dashboard/overview/overview.md @@ -1,7 +1,7 @@ --- module: dashboard.overview title: Fleet Overview -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/devices/agent-profile/overview.md b/backend/src/main/resources/content/devices/agent-profile/overview.md index ad9e290..a741805 100644 --- a/backend/src/main/resources/content/devices/agent-profile/overview.md +++ b/backend/src/main/resources/content/devices/agent-profile/overview.md @@ -1,7 +1,7 @@ --- module: devices.agent-profile title: Agent Profile -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/devices/agent-scripts/overview.md b/backend/src/main/resources/content/devices/agent-scripts/overview.md index 57da766..381a43e 100644 --- a/backend/src/main/resources/content/devices/agent-scripts/overview.md +++ b/backend/src/main/resources/content/devices/agent-scripts/overview.md @@ -1,7 +1,7 @@ --- module: devices.agent-scripts title: Agent Scripts -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/devices/config-audit/overview.md b/backend/src/main/resources/content/devices/config-audit/overview.md index 38a9683..d761f0e 100644 --- a/backend/src/main/resources/content/devices/config-audit/overview.md +++ b/backend/src/main/resources/content/devices/config-audit/overview.md @@ -1,7 +1,7 @@ --- module: devices.config-audit title: Config Audit -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/devices/device-detail/overview.md b/backend/src/main/resources/content/devices/device-detail/overview.md index d999da3..71e216d 100644 --- a/backend/src/main/resources/content/devices/device-detail/overview.md +++ b/backend/src/main/resources/content/devices/device-detail/overview.md @@ -1,7 +1,7 @@ --- module: devices.device-detail title: Device Detail -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/devices/device-groups/overview.md b/backend/src/main/resources/content/devices/device-groups/overview.md index 8d10887..dc88e94 100644 --- a/backend/src/main/resources/content/devices/device-groups/overview.md +++ b/backend/src/main/resources/content/devices/device-groups/overview.md @@ -1,7 +1,7 @@ --- module: devices.device-groups title: Device Groups -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/devices/device-list/overview.md b/backend/src/main/resources/content/devices/device-list/overview.md index c2002fa..8676dc0 100644 --- a/backend/src/main/resources/content/devices/device-list/overview.md +++ b/backend/src/main/resources/content/devices/device-list/overview.md @@ -1,7 +1,7 @@ --- module: devices.device-list title: Device List -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/devices/map/overview.md b/backend/src/main/resources/content/devices/map/overview.md index 18b78f8..f2dc038 100644 --- a/backend/src/main/resources/content/devices/map/overview.md +++ b/backend/src/main/resources/content/devices/map/overview.md @@ -1,7 +1,7 @@ --- module: devices.map title: Map -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/devices/sw-deploy/overview.md b/backend/src/main/resources/content/devices/sw-deploy/overview.md index 959bde1..f52a6f8 100644 --- a/backend/src/main/resources/content/devices/sw-deploy/overview.md +++ b/backend/src/main/resources/content/devices/sw-deploy/overview.md @@ -1,7 +1,7 @@ --- module: devices.sw-deploy title: Software Deployment -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/fleet/dashboard/overview.md b/backend/src/main/resources/content/fleet/dashboard/overview.md index e38ca8b..f0e7cba 100644 --- a/backend/src/main/resources/content/fleet/dashboard/overview.md +++ b/backend/src/main/resources/content/fleet/dashboard/overview.md @@ -1,7 +1,7 @@ --- module: fleet.dashboard title: Fleet Dashboard -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/fleet/modules/overview.md b/backend/src/main/resources/content/fleet/modules/overview.md index ab3d7c3..4f4868f 100644 --- a/backend/src/main/resources/content/fleet/modules/overview.md +++ b/backend/src/main/resources/content/fleet/modules/overview.md @@ -1,7 +1,7 @@ --- module: fleet.modules title: Modules -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/incident/dashboard/overview.md b/backend/src/main/resources/content/incident/dashboard/overview.md index dbe29dd..6c31a89 100644 --- a/backend/src/main/resources/content/incident/dashboard/overview.md +++ b/backend/src/main/resources/content/incident/dashboard/overview.md @@ -1,7 +1,7 @@ --- module: incident.dashboard title: Dashboard -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/incident/incident-management/overview.md b/backend/src/main/resources/content/incident/incident-management/overview.md index 09e6acd..ed4672b 100644 --- a/backend/src/main/resources/content/incident/incident-management/overview.md +++ b/backend/src/main/resources/content/incident/incident-management/overview.md @@ -1,7 +1,7 @@ --- module: incident.incident-management title: Incident Management -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/incident/incident-tracker/overview.md b/backend/src/main/resources/content/incident/incident-tracker/overview.md index de3f22d..29f1ad9 100644 --- a/backend/src/main/resources/content/incident/incident-tracker/overview.md +++ b/backend/src/main/resources/content/incident/incident-tracker/overview.md @@ -1,7 +1,7 @@ --- module: incident.incident-tracker title: Incident Tracker -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/incident/journal-events/overview.md b/backend/src/main/resources/content/incident/journal-events/overview.md index 91f3e4f..8c77cbe 100644 --- a/backend/src/main/resources/content/incident/journal-events/overview.md +++ b/backend/src/main/resources/content/incident/journal-events/overview.md @@ -1,7 +1,7 @@ --- module: incident.journal-events title: Journal Events -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/incident/processing-rules/overview.md b/backend/src/main/resources/content/incident/processing-rules/overview.md index 7d85fe9..9e6d8ef 100644 --- a/backend/src/main/resources/content/incident/processing-rules/overview.md +++ b/backend/src/main/resources/content/incident/processing-rules/overview.md @@ -1,7 +1,7 @@ --- module: incident.processing-rules title: Processing Rules -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/msp/contact-groups/overview.md b/backend/src/main/resources/content/msp/contact-groups/overview.md index 00644bb..68ab65c 100644 --- a/backend/src/main/resources/content/msp/contact-groups/overview.md +++ b/backend/src/main/resources/content/msp/contact-groups/overview.md @@ -1,7 +1,7 @@ --- module: msp.contact-groups title: Contact Groups -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/msp/institution-keys/overview.md b/backend/src/main/resources/content/msp/institution-keys/overview.md index 7372ba7..ff380fb 100644 --- a/backend/src/main/resources/content/msp/institution-keys/overview.md +++ b/backend/src/main/resources/content/msp/institution-keys/overview.md @@ -1,7 +1,7 @@ --- module: msp.institution-keys title: Institution Keys -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/msp/institutions/overview.md b/backend/src/main/resources/content/msp/institutions/overview.md index 4650adf..9258d63 100644 --- a/backend/src/main/resources/content/msp/institutions/overview.md +++ b/backend/src/main/resources/content/msp/institutions/overview.md @@ -1,7 +1,7 @@ --- module: msp.institutions title: Institutions -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/msp/module-allocations/overview.md b/backend/src/main/resources/content/msp/module-allocations/overview.md index 011d001..0ee0a4b 100644 --- a/backend/src/main/resources/content/msp/module-allocations/overview.md +++ b/backend/src/main/resources/content/msp/module-allocations/overview.md @@ -1,7 +1,7 @@ --- module: msp.module-allocations title: Module Allocations -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/msp/users/overview.md b/backend/src/main/resources/content/msp/users/overview.md index 8a55f86..6d38ee9 100644 --- a/backend/src/main/resources/content/msp/users/overview.md +++ b/backend/src/main/resources/content/msp/users/overview.md @@ -1,7 +1,7 @@ --- module: msp.users title: Users -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/profile/appearance/overview.md b/backend/src/main/resources/content/profile/appearance/overview.md index aca4954..3105890 100644 --- a/backend/src/main/resources/content/profile/appearance/overview.md +++ b/backend/src/main/resources/content/profile/appearance/overview.md @@ -1,7 +1,7 @@ --- module: profile.appearance title: Appearance -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/profile/display/overview.md b/backend/src/main/resources/content/profile/display/overview.md index 7431d2d..2d5b12f 100644 --- a/backend/src/main/resources/content/profile/display/overview.md +++ b/backend/src/main/resources/content/profile/display/overview.md @@ -1,7 +1,7 @@ --- module: profile.display title: Display -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/profile/inbox/overview.md b/backend/src/main/resources/content/profile/inbox/overview.md index af5f625..01ea4e7 100644 --- a/backend/src/main/resources/content/profile/inbox/overview.md +++ b/backend/src/main/resources/content/profile/inbox/overview.md @@ -1,7 +1,7 @@ --- module: profile.inbox title: Inbox -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/profile/notifications/overview.md b/backend/src/main/resources/content/profile/notifications/overview.md index cf96445..22da519 100644 --- a/backend/src/main/resources/content/profile/notifications/overview.md +++ b/backend/src/main/resources/content/profile/notifications/overview.md @@ -1,7 +1,7 @@ --- module: profile.notifications title: Notifications -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/profile/profile/overview.md b/backend/src/main/resources/content/profile/profile/overview.md index 576fa39..c29241a 100644 --- a/backend/src/main/resources/content/profile/profile/overview.md +++ b/backend/src/main/resources/content/profile/profile/overview.md @@ -1,7 +1,7 @@ --- module: profile.profile title: Profile -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/profile/security/overview.md b/backend/src/main/resources/content/profile/security/overview.md index fc4c35d..3247b64 100644 --- a/backend/src/main/resources/content/profile/security/overview.md +++ b/backend/src/main/resources/content/profile/security/overview.md @@ -1,7 +1,7 @@ --- module: profile.security title: Security -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/recon/atm-cycle-history/overview.md b/backend/src/main/resources/content/recon/atm-cycle-history/overview.md index 5c4fed5..e14ef6a 100644 --- a/backend/src/main/resources/content/recon/atm-cycle-history/overview.md +++ b/backend/src/main/resources/content/recon/atm-cycle-history/overview.md @@ -1,7 +1,7 @@ --- module: recon.atm-cycle-history title: ATM Cycle History -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/recon/cash-forecast/overview.md b/backend/src/main/resources/content/recon/cash-forecast/overview.md index f00f5f3..7f2ba5c 100644 --- a/backend/src/main/resources/content/recon/cash-forecast/overview.md +++ b/backend/src/main/resources/content/recon/cash-forecast/overview.md @@ -1,7 +1,7 @@ --- module: recon.cash-forecast title: Cash Forecast -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/recon/cash-reconciliation/overview.md b/backend/src/main/resources/content/recon/cash-reconciliation/overview.md index 485e3e8..9d5ca26 100644 --- a/backend/src/main/resources/content/recon/cash-reconciliation/overview.md +++ b/backend/src/main/resources/content/recon/cash-reconciliation/overview.md @@ -1,7 +1,7 @@ --- module: recon.cash-reconciliation title: Cash Reconciliation -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/recon/device-cycle-mgmt/overview.md b/backend/src/main/resources/content/recon/device-cycle-mgmt/overview.md index 3d954db..b20a112 100644 --- a/backend/src/main/resources/content/recon/device-cycle-mgmt/overview.md +++ b/backend/src/main/resources/content/recon/device-cycle-mgmt/overview.md @@ -1,7 +1,7 @@ --- module: recon.device-cycle-mgmt title: Device Cycle Management -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/recon/recon-rules/overview.md b/backend/src/main/resources/content/recon/recon-rules/overview.md index bf8b1ca..4805718 100644 --- a/backend/src/main/resources/content/recon/recon-rules/overview.md +++ b/backend/src/main/resources/content/recon/recon-rules/overview.md @@ -1,7 +1,7 @@ --- module: recon.recon-rules title: Recon Rules -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/reports/builder/overview.md b/backend/src/main/resources/content/reports/builder/overview.md index 5f7a7c9..e4d716f 100644 --- a/backend/src/main/resources/content/reports/builder/overview.md +++ b/backend/src/main/resources/content/reports/builder/overview.md @@ -1,7 +1,7 @@ --- module: reports.builder title: Report Builder -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/reports/queries/overview.md b/backend/src/main/resources/content/reports/queries/overview.md index 97916bf..2f57cec 100644 --- a/backend/src/main/resources/content/reports/queries/overview.md +++ b/backend/src/main/resources/content/reports/queries/overview.md @@ -1,7 +1,7 @@ --- module: reports.queries title: Saved Queries -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/reports/runs/overview.md b/backend/src/main/resources/content/reports/runs/overview.md index 1885ad4..49df691 100644 --- a/backend/src/main/resources/content/reports/runs/overview.md +++ b/backend/src/main/resources/content/reports/runs/overview.md @@ -1,7 +1,7 @@ --- module: reports.runs title: Run History -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/reports/schedule/overview.md b/backend/src/main/resources/content/reports/schedule/overview.md index 0958c5a..0b4499b 100644 --- a/backend/src/main/resources/content/reports/schedule/overview.md +++ b/backend/src/main/resources/content/reports/schedule/overview.md @@ -1,7 +1,7 @@ --- module: reports.schedule title: Scheduling & Distribution -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/reports/templates/overview.md b/backend/src/main/resources/content/reports/templates/overview.md index afdac2e..876233d 100644 --- a/backend/src/main/resources/content/reports/templates/overview.md +++ b/backend/src/main/resources/content/reports/templates/overview.md @@ -1,7 +1,7 @@ --- module: reports.templates title: Report Templates -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/transactions/browser/overview.md b/backend/src/main/resources/content/transactions/browser/overview.md index 49cbf39..fba3193 100644 --- a/backend/src/main/resources/content/transactions/browser/overview.md +++ b/backend/src/main/resources/content/transactions/browser/overview.md @@ -1,7 +1,7 @@ --- module: transactions.browser title: Transactions Browser -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/transactions/customer-journey/overview.md b/backend/src/main/resources/content/transactions/customer-journey/overview.md index c927078..3139df4 100644 --- a/backend/src/main/resources/content/transactions/customer-journey/overview.md +++ b/backend/src/main/resources/content/transactions/customer-journey/overview.md @@ -1,7 +1,7 @@ --- module: transactions.customer-journey title: Customer Journey -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/transactions/journal-parsing/overview.md b/backend/src/main/resources/content/transactions/journal-parsing/overview.md index 9951aba..2e2c179 100644 --- a/backend/src/main/resources/content/transactions/journal-parsing/overview.md +++ b/backend/src/main/resources/content/transactions/journal-parsing/overview.md @@ -1,7 +1,7 @@ --- module: transactions.journal-parsing title: Journal Parsing Rules -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/transactions/processing-rules/overview.md b/backend/src/main/resources/content/transactions/processing-rules/overview.md index 24da1f0..4778c79 100644 --- a/backend/src/main/resources/content/transactions/processing-rules/overview.md +++ b/backend/src/main/resources/content/transactions/processing-rules/overview.md @@ -1,7 +1,7 @@ --- module: transactions.processing-rules title: Journal Processing Rules -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/transactions/reparse/overview.md b/backend/src/main/resources/content/transactions/reparse/overview.md index 935c26a..1a06e15 100644 --- a/backend/src/main/resources/content/transactions/reparse/overview.md +++ b/backend/src/main/resources/content/transactions/reparse/overview.md @@ -1,7 +1,7 @@ --- module: transactions.reparse title: Journal Reparse -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/vault/cit-visits/overview.md b/backend/src/main/resources/content/vault/cit-visits/overview.md index c45a04c..328ce28 100644 --- a/backend/src/main/resources/content/vault/cit-visits/overview.md +++ b/backend/src/main/resources/content/vault/cit-visits/overview.md @@ -1,7 +1,7 @@ --- module: vault.cit-visits title: CIT Visits -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/vault/dashboard/overview.md b/backend/src/main/resources/content/vault/dashboard/overview.md index 059124b..78c64cc 100644 --- a/backend/src/main/resources/content/vault/dashboard/overview.md +++ b/backend/src/main/resources/content/vault/dashboard/overview.md @@ -1,7 +1,7 @@ --- module: vault.dashboard title: Dashboard -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/backend/src/main/resources/content/vault/import/overview.md b/backend/src/main/resources/content/vault/import/overview.md index f6ad8c6..581958d 100644 --- a/backend/src/main/resources/content/vault/import/overview.md +++ b/backend/src/main/resources/content/vault/import/overview.md @@ -1,7 +1,7 @@ --- module: vault.import title: Import -tab: Overview +tab: Customer order: 10 audience: customer --- diff --git a/scripts/coverage-reconcile.py b/scripts/coverage-reconcile.py new file mode 100644 index 0000000..b1c9046 --- /dev/null +++ b/scripts/coverage-reconcile.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python3 +""" +Guide coverage reconciler — diffs the CODE surface against what the guide documents, +so nothing new (a service, an SPA module, an agent module) stays undocumented. + +Run: python3 hiveops-guide/scripts/coverage-reconcile.py +Exits 1 if any gaps are found (handy for a session-start check / hook). +""" +import os, re, sys, glob + +ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..")) # /source/hiveops-src +CONTENT = os.path.join(ROOT, "hiveops-guide", "backend", "src", "main", "resources", "content") + +# product SPAs that should have per-module role-tab guides (app prefix in the guide) +PRODUCT_APPS = { + "analytics","aria","claims","dashboard","devices","fleet","incident","msp", + "profile","recon","reports","transactions","vault", +} +# guide app-prefixes that are NOT code-derived (concept / process docs) — skip in the code diff +NON_CODE_APPS = {"platform","technical","processes"} +# the 5 role-tabs expected on a product module +PRODUCT_TABS = {"Customer","Internal","Architect","Testing","Claude"} +# dir-name (minus hiveops-) → guide app/service key, where they differ +SERVICE_ALIAS = {"ai":"ai", "recon":"recon"} # extend as needed + + +def load_guide(): + """module_key -> set(tab names). Reads frontmatter of every content/**/*.md.""" + mods = {} + for f in glob.glob(os.path.join(CONTENT, "**", "*.md"), recursive=True): + txt = open(f, encoding="utf-8").read() + m = re.match(r"^---\n(.*?)\n---", txt, re.S) + if not m: + continue + fm = dict(re.findall(r"^(\w+):\s*(.+)$", m.group(1), re.M)) + key, tab = fm.get("module"), fm.get("tab") + if key: + mods.setdefault(key, set()).add(tab) + return mods + + +def has_backend(repo): + return bool(glob.glob(os.path.join(repo, "**", "src", "main", "java", "com", "hiveops"), + recursive=True)) + + +def main(): + guide = load_guide() + apps = {k.split(".")[0] for k in guide} + gaps = [] + + # 1) backend services → expect a technical. guide + for repo in sorted(glob.glob(os.path.join(ROOT, "hiveops-*"))): + name = os.path.basename(repo) + svc = name[len("hiveops-"):] + if svc in ("agent","guide","bom","security-common","template","docs","release", + "devops","integration","smartjournal","tools","adoons"): # non-service or special + continue + if not os.path.isdir(repo) or not has_backend(repo): + continue + if f"technical.{svc}" not in guide: + gaps.append(("SERVICE", f"hiveops-{svc}", f"technical.{svc}")) + + # 2) agent modules → expect an agent. guide + for mod in sorted(glob.glob(os.path.join(ROOT, "hiveops-agent", "hiveops-module-*"))): + if not os.path.isdir(mod): + continue + slug = os.path.basename(mod)[len("hiveops-module-"):] + if f"agent.{slug}" not in guide: + gaps.append(("AGENT MODULE", os.path.basename(mod), f"agent.{slug}")) + + # 3) product modules present but missing role-tabs + incomplete = [] + for key, tabs in sorted(guide.items()): + app = key.split(".")[0] + if app in PRODUCT_APPS: + missing = PRODUCT_TABS - tabs + if missing: + incomplete.append((key, ",".join(sorted(missing)))) + + # 4) product SPAs with no guide content at all + for repo in sorted(glob.glob(os.path.join(ROOT, "hiveops-*"))): + app = os.path.basename(repo)[len("hiveops-"):] + if app in PRODUCT_APPS and app not in apps and os.path.isdir(os.path.join(repo, "frontend")): + gaps.append(("SPA", f"hiveops-{app}", f"{app}.* (no modules documented)")) + + # ---- report ---- + print(f"Guide coverage — {len(guide)} documented modules across {len(apps)} apps\n") + if gaps: + print(f"❌ {len(gaps)} MISSING (in code, not in guide):") + for kind, code, expected in gaps: + print(f" [{kind}] {code} → needs {expected}") + else: + print("✅ no missing services / agent modules / SPAs") + if incomplete: + print(f"\n⚠️ {len(incomplete)} product modules missing role-tabs:") + for key, miss in incomplete: + print(f" {key} → missing: {miss}") + print() + sys.exit(1 if (gaps or incomplete) else 0) + + +if __name__ == "__main__": + main()