From f21c783d8c86c4417233071e4378169bc4042f7a Mon Sep 17 00:00:00 2001 From: Johannes Date: Tue, 14 Jul 2026 17:55:07 -0400 Subject: [PATCH] fix(guide): gate Architect + Claude tabs to BCOS_ADMIN only (#16) The 162 Architect/Claude docs were tagged 'audience: dev'. The 'dev' tier resolves to isInternal() = ROLE_MSP_ADMIN || ROLE_BCOS_ADMIN, so every MSP_ADMIN could read full internal architecture: source paths, DB tables, service ports, NGINX routes. Verified live on bcos.dev as msp_a@msp1.bcos.dev. Retag them to 'audience: bcos' (isBcos, BCOS_ADMIN only). Content-only change; the 'dev' tier mapping is deliberately left alone so the 15 Internal, 35 Overview and 66 Testing docs stay MSP-visible. Also add platform.guide-access documenting the audience tiers and the per-role visibility matrix, so the access model is queryable from the Guide instead of re-derived from source each time. Verified: MSP module count unchanged (116 across 17 apps); no module loses all its tabs. Guide is bcos.dev only, not deployed to production. Closes #16 Co-Authored-By: Claude Opus 4.8 --- .../content/agent/activeteller/architect.md | 2 +- .../content/agent/activeteller/claude.md | 2 +- .../content/agent/aria-signals/architect.md | 2 +- .../content/agent/aria-signals/claude.md | 2 +- .../agent/atec-tcr-events/architect.md | 2 +- .../content/agent/atec-tcr-events/claude.md | 2 +- .../agent/atm-config-sync/architect.md | 2 +- .../content/agent/atm-config-sync/claude.md | 2 +- .../agent/ejournal-db-monitor/architect.md | 2 +- .../agent/ejournal-db-monitor/claude.md | 2 +- .../content/agent/hw-inventory/architect.md | 2 +- .../content/agent/hw-inventory/claude.md | 2 +- .../content/agent/log-collect/architect.md | 2 +- .../content/agent/log-collect/claude.md | 2 +- .../resources/content/agent/log/architect.md | 2 +- .../resources/content/agent/log/claude.md | 2 +- .../content/agent/nh-tcr-events/architect.md | 2 +- .../content/agent/nh-tcr-events/claude.md | 2 +- .../content/agent/nh-tcr-journal/architect.md | 2 +- .../content/agent/nh-tcr-journal/claude.md | 2 +- .../content/agent/packet-capture/architect.md | 2 +- .../content/agent/packet-capture/claude.md | 2 +- .../content/agent/remote/architect.md | 2 +- .../resources/content/agent/remote/claude.md | 2 +- .../content/agent/srv-monitor/architect.md | 2 +- .../content/agent/srv-monitor/claude.md | 2 +- .../content/agent/tcr-events/architect.md | 2 +- .../content/agent/tcr-events/claude.md | 2 +- .../content/agent/win-app-events/architect.md | 2 +- .../content/agent/win-app-events/claude.md | 2 +- .../content/analytics/adoons/architect.md | 2 +- .../content/analytics/adoons/claude.md | 2 +- .../content/analytics/agents/architect.md | 2 +- .../content/analytics/agents/claude.md | 2 +- .../content/analytics/cash/architect.md | 2 +- .../content/analytics/cash/claude.md | 2 +- .../analytics/fleet-health/architect.md | 2 +- .../content/analytics/fleet-health/claude.md | 2 +- .../content/analytics/incidents/architect.md | 2 +- .../content/analytics/incidents/claude.md | 2 +- .../analytics/transactions/architect.md | 2 +- .../content/analytics/transactions/claude.md | 2 +- .../content/analytics/uptime/architect.md | 2 +- .../content/analytics/uptime/claude.md | 2 +- .../content/aria/dashboard/architect.md | 2 +- .../content/aria/dashboard/claude.md | 2 +- .../content/aria/device-posture/architect.md | 2 +- .../content/aria/device-posture/claude.md | 2 +- .../content/aria/ioc-feeds/architect.md | 2 +- .../content/aria/ioc-feeds/claude.md | 2 +- .../content/aria/ioc-management/architect.md | 2 +- .../content/aria/ioc-management/claude.md | 2 +- .../aria/precursor-alerts/architect.md | 2 +- .../content/aria/precursor-alerts/claude.md | 2 +- .../content/aria/threat-events/architect.md | 2 +- .../content/aria/threat-events/claude.md | 2 +- .../content/claims/claim-detail/architect.md | 2 +- .../content/claims/claim-detail/claude.md | 2 +- .../content/claims/dashboard/architect.md | 2 +- .../content/claims/dashboard/claude.md | 2 +- .../content/claims/settings/architect.md | 2 +- .../content/claims/settings/claude.md | 2 +- .../content/claims/vendors/architect.md | 2 +- .../content/claims/vendors/claude.md | 2 +- .../content/dashboard/cash-stats/architect.md | 2 +- .../content/dashboard/cash-stats/claude.md | 2 +- .../content/dashboard/overview/architect.md | 2 +- .../content/dashboard/overview/claude.md | 2 +- .../devices/agent-profile/architect.md | 2 +- .../content/devices/agent-profile/claude.md | 2 +- .../devices/agent-scripts/architect.md | 2 +- .../content/devices/agent-scripts/claude.md | 2 +- .../content/devices/config-audit/architect.md | 2 +- .../content/devices/config-audit/claude.md | 2 +- .../devices/device-detail/architect.md | 2 +- .../content/devices/device-detail/claude.md | 2 +- .../devices/device-groups/architect.md | 2 +- .../content/devices/device-groups/claude.md | 2 +- .../content/devices/device-list/architect.md | 2 +- .../content/devices/device-list/claude.md | 2 +- .../content/devices/map/architect.md | 2 +- .../resources/content/devices/map/claude.md | 2 +- .../content/devices/sw-deploy/architect.md | 2 +- .../content/devices/sw-deploy/claude.md | 2 +- .../content/fleet/artifacts/architect.md | 2 +- .../content/fleet/artifacts/claude.md | 2 +- .../content/fleet/dashboard/architect.md | 2 +- .../content/fleet/dashboard/claude.md | 2 +- .../content/fleet/modules/architect.md | 2 +- .../resources/content/fleet/modules/claude.md | 2 +- .../content/fleet/patch-windows/architect.md | 2 +- .../content/fleet/patch-windows/claude.md | 2 +- .../content/fleet/tasks/architect.md | 2 +- .../resources/content/fleet/tasks/claude.md | 2 +- .../content/incident/dashboard/architect.md | 2 +- .../content/incident/dashboard/claude.md | 2 +- .../incident/incident-management/architect.md | 2 +- .../incident/incident-management/claude.md | 2 +- .../incident/incident-tracker/architect.md | 2 +- .../incident/incident-tracker/claude.md | 2 +- .../incident/journal-events/architect.md | 2 +- .../content/incident/journal-events/claude.md | 2 +- .../incident/processing-rules/architect.md | 2 +- .../incident/processing-rules/claude.md | 2 +- .../content/msp/contact-groups/architect.md | 2 +- .../content/msp/contact-groups/claude.md | 2 +- .../content/msp/institution-keys/architect.md | 2 +- .../content/msp/institution-keys/claude.md | 2 +- .../content/msp/institutions/architect.md | 2 +- .../content/msp/institutions/claude.md | 2 +- .../msp/module-allocations/architect.md | 2 +- .../content/msp/module-allocations/claude.md | 2 +- .../resources/content/msp/users/architect.md | 2 +- .../resources/content/msp/users/claude.md | 2 +- .../content/platform/guide-access/overview.md | 97 +++++++++++++++++++ .../content/profile/appearance/architect.md | 2 +- .../content/profile/appearance/claude.md | 2 +- .../content/profile/display/architect.md | 2 +- .../content/profile/display/claude.md | 2 +- .../content/profile/inbox/architect.md | 2 +- .../resources/content/profile/inbox/claude.md | 2 +- .../profile/notifications/architect.md | 2 +- .../content/profile/notifications/claude.md | 2 +- .../content/profile/profile/architect.md | 2 +- .../content/profile/profile/claude.md | 2 +- .../content/profile/security/architect.md | 2 +- .../content/profile/security/claude.md | 2 +- .../recon/atm-cycle-history/architect.md | 2 +- .../content/recon/atm-cycle-history/claude.md | 2 +- .../content/recon/cash-forecast/architect.md | 2 +- .../content/recon/cash-forecast/claude.md | 2 +- .../recon/cash-reconciliation/architect.md | 2 +- .../recon/cash-reconciliation/claude.md | 2 +- .../recon/device-cycle-mgmt/architect.md | 2 +- .../content/recon/device-cycle-mgmt/claude.md | 2 +- .../content/recon/recon-rules/architect.md | 2 +- .../content/recon/recon-rules/claude.md | 2 +- .../content/reports/builder/architect.md | 2 +- .../content/reports/builder/claude.md | 2 +- .../content/reports/queries/architect.md | 2 +- .../content/reports/queries/claude.md | 2 +- .../content/reports/runs/architect.md | 2 +- .../resources/content/reports/runs/claude.md | 2 +- .../content/reports/schedule/architect.md | 2 +- .../content/reports/schedule/claude.md | 2 +- .../content/reports/templates/architect.md | 2 +- .../content/reports/templates/claude.md | 2 +- .../content/transactions/browser/architect.md | 2 +- .../content/transactions/browser/claude.md | 2 +- .../customer-journey/architect.md | 2 +- .../transactions/customer-journey/claude.md | 2 +- .../transactions/journal-parsing/architect.md | 2 +- .../transactions/journal-parsing/claude.md | 2 +- .../processing-rules/architect.md | 2 +- .../transactions/processing-rules/claude.md | 2 +- .../content/transactions/reparse/architect.md | 2 +- .../content/transactions/reparse/claude.md | 2 +- .../content/vault/cit-visits/architect.md | 2 +- .../content/vault/cit-visits/claude.md | 2 +- .../content/vault/dashboard/architect.md | 2 +- .../content/vault/dashboard/claude.md | 2 +- .../content/vault/import/architect.md | 2 +- .../resources/content/vault/import/claude.md | 2 +- 163 files changed, 259 insertions(+), 162 deletions(-) create mode 100644 backend/src/main/resources/content/platform/guide-access/overview.md diff --git a/backend/src/main/resources/content/agent/activeteller/architect.md b/backend/src/main/resources/content/agent/activeteller/architect.md index 16571ab..a453adb 100644 --- a/backend/src/main/resources/content/agent/activeteller/architect.md +++ b/backend/src/main/resources/content/agent/activeteller/architect.md @@ -3,7 +3,7 @@ module: agent.activeteller title: Active Teller (IAT) — teller-session, core-banking & Check21 monitoring for Nautilus Hyosung ITMs tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Written 2026-07-01 from `hiveops-module-activeteller` source. Verify against code before relying on specifics. diff --git a/backend/src/main/resources/content/agent/activeteller/claude.md b/backend/src/main/resources/content/agent/activeteller/claude.md index 84b65ec..898c44e 100644 --- a/backend/src/main/resources/content/agent/activeteller/claude.md +++ b/backend/src/main/resources/content/agent/activeteller/claude.md @@ -3,7 +3,7 @@ module: agent.activeteller title: Active Teller (IAT) — teller-session, core-banking & Check21 monitoring for Nautilus Hyosung ITMs tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-module-activeteller` source 2026-07-01. diff --git a/backend/src/main/resources/content/agent/aria-signals/architect.md b/backend/src/main/resources/content/agent/aria-signals/architect.md index 63868da..bcc7928 100644 --- a/backend/src/main/resources/content/agent/aria-signals/architect.md +++ b/backend/src/main/resources/content/agent/aria-signals/architect.md @@ -3,7 +3,7 @@ module: agent.aria-signals title: ARIA Security Signals — ATM threat-signal collector tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · how it's built.** Confirmed against `hiveops-module-aria-signals` source (`com.hiveops.aria`) 2026-07-01. See [technical.agent] for agent-wide module-system context. diff --git a/backend/src/main/resources/content/agent/aria-signals/claude.md b/backend/src/main/resources/content/agent/aria-signals/claude.md index 715dcdc..5dd0677 100644 --- a/backend/src/main/resources/content/agent/aria-signals/claude.md +++ b/backend/src/main/resources/content/agent/aria-signals/claude.md @@ -3,7 +3,7 @@ module: agent.aria-signals title: ARIA Security Signals — ATM threat-signal collector tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-module-aria-signals` source (`com.hiveops.aria`) 2026-07-01. diff --git a/backend/src/main/resources/content/agent/atec-tcr-events/architect.md b/backend/src/main/resources/content/agent/atec-tcr-events/architect.md index a60e23c..3094d54 100644 --- a/backend/src/main/resources/content/agent/atec-tcr-events/architect.md +++ b/backend/src/main/resources/content/agent/atec-tcr-events/architect.md @@ -3,7 +3,7 @@ module: agent.atec-tcr-events title: ATEC TCR Events — cassette + process monitoring for LG Teller Cash Recyclers tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Written 2026-07-01 from `hiveops-module-atec-tcr-events` source. Verify against code before relying on specifics. diff --git a/backend/src/main/resources/content/agent/atec-tcr-events/claude.md b/backend/src/main/resources/content/agent/atec-tcr-events/claude.md index 7017b72..4e7ca57 100644 --- a/backend/src/main/resources/content/agent/atec-tcr-events/claude.md +++ b/backend/src/main/resources/content/agent/atec-tcr-events/claude.md @@ -3,7 +3,7 @@ module: agent.atec-tcr-events title: ATEC TCR Events — cassette + process monitoring for LG Teller Cash Recyclers tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-module-atec-tcr-events` source 2026-07-01. diff --git a/backend/src/main/resources/content/agent/atm-config-sync/architect.md b/backend/src/main/resources/content/agent/atm-config-sync/architect.md index f486381..f7a500d 100644 --- a/backend/src/main/resources/content/agent/atm-config-sync/architect.md +++ b/backend/src/main/resources/content/agent/atm-config-sync/architect.md @@ -3,7 +3,7 @@ module: agent.atm-config-sync title: ATM Config Sync — pushes ATM hardware/software/cassette config to the platform tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Written 2026-07-01 from `hiveops-module-atm-config-sync` source. Verify against code before relying on specifics. diff --git a/backend/src/main/resources/content/agent/atm-config-sync/claude.md b/backend/src/main/resources/content/agent/atm-config-sync/claude.md index 21e7a57..7f17f1c 100644 --- a/backend/src/main/resources/content/agent/atm-config-sync/claude.md +++ b/backend/src/main/resources/content/agent/atm-config-sync/claude.md @@ -3,7 +3,7 @@ module: agent.atm-config-sync title: ATM Config Sync — pushes ATM hardware/software/cassette config to the platform tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-module-atm-config-sync` source 2026-07-01. diff --git a/backend/src/main/resources/content/agent/ejournal-db-monitor/architect.md b/backend/src/main/resources/content/agent/ejournal-db-monitor/architect.md index f9f599b..f83564d 100644 --- a/backend/src/main/resources/content/agent/ejournal-db-monitor/architect.md +++ b/backend/src/main/resources/content/agent/ejournal-db-monitor/architect.md @@ -3,7 +3,7 @@ module: agent.ejournal-db-monitor title: EJournal DB Monitor — how it's built tab: Architect order: 30 -audience: dev +audience: bcos --- # EJournal DB Monitor (Architecture) diff --git a/backend/src/main/resources/content/agent/ejournal-db-monitor/claude.md b/backend/src/main/resources/content/agent/ejournal-db-monitor/claude.md index eb3a63c..db79476 100644 --- a/backend/src/main/resources/content/agent/ejournal-db-monitor/claude.md +++ b/backend/src/main/resources/content/agent/ejournal-db-monitor/claude.md @@ -3,7 +3,7 @@ module: agent.ejournal-db-monitor title: EJournal DB Monitor — act-without-guessing reference tab: Claude order: 40 -audience: dev +audience: bcos --- # EJournal DB Monitor (Claude quick-reference) diff --git a/backend/src/main/resources/content/agent/hw-inventory/architect.md b/backend/src/main/resources/content/agent/hw-inventory/architect.md index 3df1f88..05a3eda 100644 --- a/backend/src/main/resources/content/agent/hw-inventory/architect.md +++ b/backend/src/main/resources/content/agent/hw-inventory/architect.md @@ -3,7 +3,7 @@ module: agent.hw-inventory title: Hardware Inventory — ATM hardware/OS inventory sync + CDN bandwidth probe tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture view.** Confirmed against `hiveops-module-hw-inventory` source 2026-07-01. See [technical.agent] for the module system as a whole. diff --git a/backend/src/main/resources/content/agent/hw-inventory/claude.md b/backend/src/main/resources/content/agent/hw-inventory/claude.md index 8e14d0c..fe22759 100644 --- a/backend/src/main/resources/content/agent/hw-inventory/claude.md +++ b/backend/src/main/resources/content/agent/hw-inventory/claude.md @@ -3,7 +3,7 @@ module: agent.hw-inventory title: Hardware Inventory — ATM hardware/OS inventory sync + CDN bandwidth probe tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-module-hw-inventory` source 2026-07-01. diff --git a/backend/src/main/resources/content/agent/log-collect/architect.md b/backend/src/main/resources/content/agent/log-collect/architect.md index cf2d404..107b211 100644 --- a/backend/src/main/resources/content/agent/log-collect/architect.md +++ b/backend/src/main/resources/content/agent/log-collect/architect.md @@ -3,7 +3,7 @@ module: agent.log-collect title: Log Collect Path — on-demand file/log pull from an arbitrary ATM path tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · how it's built.** Confirmed against `hiveops-module-log-collect` source (`com.hiveops.logcollect`) 2026-07-01. See [technical.agent] for agent-wide context (module system, HTTP layer, platform abstraction). diff --git a/backend/src/main/resources/content/agent/log-collect/claude.md b/backend/src/main/resources/content/agent/log-collect/claude.md index fec50ae..c0d8184 100644 --- a/backend/src/main/resources/content/agent/log-collect/claude.md +++ b/backend/src/main/resources/content/agent/log-collect/claude.md @@ -3,7 +3,7 @@ module: agent.log-collect title: Log Collect Path — on-demand file/log pull from an arbitrary ATM path tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-module-log-collect` source 2026-07-01. Every key/string below is from code; nothing invented. diff --git a/backend/src/main/resources/content/agent/log/architect.md b/backend/src/main/resources/content/agent/log/architect.md index 4a3beaf..d7c51f3 100644 --- a/backend/src/main/resources/content/agent/log/architect.md +++ b/backend/src/main/resources/content/agent/log/architect.md @@ -3,7 +3,7 @@ module: agent.log title: Agent Log — self-log upload & error-to-incident monitoring tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · how it's built.** Confirmed against `hiveops-module-log` source (`com.hiveops.logs`) 2026-07-01. See [technical.agent] for agent-wide module/lifecycle context. diff --git a/backend/src/main/resources/content/agent/log/claude.md b/backend/src/main/resources/content/agent/log/claude.md index cc0d34d..efe370b 100644 --- a/backend/src/main/resources/content/agent/log/claude.md +++ b/backend/src/main/resources/content/agent/log/claude.md @@ -3,7 +3,7 @@ module: agent.log title: Agent Log — self-log upload & error-to-incident monitoring tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-module-log` source (`com.hiveops.logs`) 2026-07-01. diff --git a/backend/src/main/resources/content/agent/nh-tcr-events/architect.md b/backend/src/main/resources/content/agent/nh-tcr-events/architect.md index 564883c..325136d 100644 --- a/backend/src/main/resources/content/agent/nh-tcr-events/architect.md +++ b/backend/src/main/resources/content/agent/nh-tcr-events/architect.md @@ -3,7 +3,7 @@ module: agent.nh-tcr-events title: NH TCR Events — cassette + firmware monitoring for Nautilus Hyosung / Glory BRM30 recyclers tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Written 2026-07-01 from `hiveops-module-nh-tcr-events` source. Verify against code before relying on specifics. diff --git a/backend/src/main/resources/content/agent/nh-tcr-events/claude.md b/backend/src/main/resources/content/agent/nh-tcr-events/claude.md index 2c5241e..c3b26a4 100644 --- a/backend/src/main/resources/content/agent/nh-tcr-events/claude.md +++ b/backend/src/main/resources/content/agent/nh-tcr-events/claude.md @@ -3,7 +3,7 @@ module: agent.nh-tcr-events title: NH TCR Events — cassette + firmware monitoring for Nautilus Hyosung / Glory BRM30 recyclers tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-module-nh-tcr-events` source 2026-07-01. diff --git a/backend/src/main/resources/content/agent/nh-tcr-journal/architect.md b/backend/src/main/resources/content/agent/nh-tcr-journal/architect.md index ce47c6f..615a995 100644 --- a/backend/src/main/resources/content/agent/nh-tcr-journal/architect.md +++ b/backend/src/main/resources/content/agent/nh-tcr-journal/architect.md @@ -3,7 +3,7 @@ module: agent.nh-tcr-journal title: NH TCR Journal — transaction + fault events from Nautilus Hyosung Teller Cash Recyclers tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Written 2026-07-01 from `hiveops-module-nh-tcr-journal` source. Verify against code before relying on specifics. diff --git a/backend/src/main/resources/content/agent/nh-tcr-journal/claude.md b/backend/src/main/resources/content/agent/nh-tcr-journal/claude.md index 7c309de..12ad54d 100644 --- a/backend/src/main/resources/content/agent/nh-tcr-journal/claude.md +++ b/backend/src/main/resources/content/agent/nh-tcr-journal/claude.md @@ -3,7 +3,7 @@ module: agent.nh-tcr-journal title: NH TCR Journal — transaction + fault events from Nautilus Hyosung Teller Cash Recyclers tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-module-nh-tcr-journal` source 2026-07-01. diff --git a/backend/src/main/resources/content/agent/packet-capture/architect.md b/backend/src/main/resources/content/agent/packet-capture/architect.md index 82e1b0d..226f66d 100644 --- a/backend/src/main/resources/content/agent/packet-capture/architect.md +++ b/backend/src/main/resources/content/agent/packet-capture/architect.md @@ -3,7 +3,7 @@ module: agent.packet-capture title: Packet Capture — on-demand network capture for ATM diagnostics tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · how it's built.** Confirmed against `hiveops-module-packet-capture` source (`com.hiveops.packetcapture`) 2026-07-01. See [technical.agent] for agent-wide context. diff --git a/backend/src/main/resources/content/agent/packet-capture/claude.md b/backend/src/main/resources/content/agent/packet-capture/claude.md index d56e4b8..dab8d47 100644 --- a/backend/src/main/resources/content/agent/packet-capture/claude.md +++ b/backend/src/main/resources/content/agent/packet-capture/claude.md @@ -3,7 +3,7 @@ module: agent.packet-capture title: Packet Capture — on-demand network capture for ATM diagnostics tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-module-packet-capture` source 2026-07-01. diff --git a/backend/src/main/resources/content/agent/remote/architect.md b/backend/src/main/resources/content/agent/remote/architect.md index 9b7c8eb..95e01ac 100644 --- a/backend/src/main/resources/content/agent/remote/architect.md +++ b/backend/src/main/resources/content/agent/remote/architect.md @@ -3,7 +3,7 @@ module: agent.remote title: Remote Control Module — how it's built tab: Architect order: 30 -audience: dev +audience: bcos --- > **Architect · dev view.** Grounded in `hiveops-module-remote` source (parent v4.4.3, module `pom` version 1.0.0) on 2026-07-01. See [technical.agent] for the shared module system this plugs into. diff --git a/backend/src/main/resources/content/agent/remote/claude.md b/backend/src/main/resources/content/agent/remote/claude.md index 8337c2d..ff42d19 100644 --- a/backend/src/main/resources/content/agent/remote/claude.md +++ b/backend/src/main/resources/content/agent/remote/claude.md @@ -3,7 +3,7 @@ module: agent.remote title: Remote Control Module — Claude quick reference tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse, act-without-guessing reference. Everything below is confirmed in `hiveops-module-remote` source (parent v4.4.3) unless marked `(unverified)`. diff --git a/backend/src/main/resources/content/agent/srv-monitor/architect.md b/backend/src/main/resources/content/agent/srv-monitor/architect.md index de0406e..9ca89a7 100644 --- a/backend/src/main/resources/content/agent/srv-monitor/architect.md +++ b/backend/src/main/resources/content/agent/srv-monitor/architect.md @@ -3,7 +3,7 @@ module: agent.srv-monitor title: Server Monitor — CPU/memory/disk/service health watcher for SRV devices tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · how it's built.** Confirmed against `hiveops-module-srv-monitor` source (`com.hiveops.srvmonitor`) 2026-07-01. See [technical.agent] for agent-wide module-system and event-pipeline context. diff --git a/backend/src/main/resources/content/agent/srv-monitor/claude.md b/backend/src/main/resources/content/agent/srv-monitor/claude.md index 9129ba6..6cb88d5 100644 --- a/backend/src/main/resources/content/agent/srv-monitor/claude.md +++ b/backend/src/main/resources/content/agent/srv-monitor/claude.md @@ -3,7 +3,7 @@ module: agent.srv-monitor title: Server Monitor — CPU/memory/disk/service health watcher for SRV devices tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse, act-without-guessing. Confirmed against `hiveops-module-srv-monitor` source 2026-07-01. diff --git a/backend/src/main/resources/content/agent/tcr-events/architect.md b/backend/src/main/resources/content/agent/tcr-events/architect.md index cd7a9be..5e8c2f4 100644 --- a/backend/src/main/resources/content/agent/tcr-events/architect.md +++ b/backend/src/main/resources/content/agent/tcr-events/architect.md @@ -3,7 +3,7 @@ module: agent.tcr-events title: TCR Events — cassette + sensor + process monitoring for Teller Cash Recyclers tab: Architect order: 30 -audience: dev +audience: bcos --- > **Architect · dev.** Written 2026-07-01 from the compiled `hiveops-module-tcr-events` artifact (v4.3.5); `.java` sources are absent from the working tree, so class/method flow below is reconstructed from bytecode in `target/classes`. Cross-reference [technical.agent] for the module system and event pipeline. diff --git a/backend/src/main/resources/content/agent/tcr-events/claude.md b/backend/src/main/resources/content/agent/tcr-events/claude.md index 640ce75..889206c 100644 --- a/backend/src/main/resources/content/agent/tcr-events/claude.md +++ b/backend/src/main/resources/content/agent/tcr-events/claude.md @@ -3,7 +3,7 @@ module: agent.tcr-events title: TCR Events — cassette + sensor + process monitoring for Teller Cash Recyclers tab: Claude order: 40 -audience: dev +audience: bcos --- > **Claude · terse act-without-guessing reference.** From compiled `hiveops-module-tcr-events` v4.3.5 (`.java` not in tree; read from bytecode + core `IncidentEventClient`/`HttpClientHelper`). diff --git a/backend/src/main/resources/content/agent/win-app-events/architect.md b/backend/src/main/resources/content/agent/win-app-events/architect.md index f786cf8..8e2a531 100644 --- a/backend/src/main/resources/content/agent/win-app-events/architect.md +++ b/backend/src/main/resources/content/agent/win-app-events/architect.md @@ -3,7 +3,7 @@ module: agent.win-app-events title: Windows App Event Log Monitor — forwards Windows Application-log errors as HiveIQ incidents tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · how it's built.** Confirmed against `hiveops-module-win-app-events` source (`com.hiveops.winevents`) 2026-07-01. See [technical.agent] for agent-wide module/event context. diff --git a/backend/src/main/resources/content/agent/win-app-events/claude.md b/backend/src/main/resources/content/agent/win-app-events/claude.md index 1027549..1a418cd 100644 --- a/backend/src/main/resources/content/agent/win-app-events/claude.md +++ b/backend/src/main/resources/content/agent/win-app-events/claude.md @@ -3,7 +3,7 @@ module: agent.win-app-events title: Windows App Event Log Monitor — forwards Windows Application-log errors as HiveIQ incidents tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-module-win-app-events` source (`com.hiveops.winevents`) 2026-07-01. diff --git a/backend/src/main/resources/content/analytics/adoons/architect.md b/backend/src/main/resources/content/analytics/adoons/architect.md index 028091c..ee87d94 100644 --- a/backend/src/main/resources/content/analytics/adoons/architect.md +++ b/backend/src/main/resources/content/analytics/adoons/architect.md @@ -3,7 +3,7 @@ module: analytics.adoons title: Adoons Insights tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Written 2026-07-01 from `hiveops-analytics` source. Verify against code before relying on specifics. diff --git a/backend/src/main/resources/content/analytics/adoons/claude.md b/backend/src/main/resources/content/analytics/adoons/claude.md index 60cf4a3..5c6347c 100644 --- a/backend/src/main/resources/content/analytics/adoons/claude.md +++ b/backend/src/main/resources/content/analytics/adoons/claude.md @@ -3,7 +3,7 @@ module: analytics.adoons title: Adoons Insights tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Grounded in `hiveops-analytics` @ 2026-07-01. Only confirmed facts below. diff --git a/backend/src/main/resources/content/analytics/agents/architect.md b/backend/src/main/resources/content/analytics/agents/architect.md index 39d90f7..3656310 100644 --- a/backend/src/main/resources/content/analytics/agents/architect.md +++ b/backend/src/main/resources/content/analytics/agents/architect.md @@ -3,7 +3,7 @@ module: analytics.agents title: Agents tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Grounded in hiveops-analytics + hiveops-devices source (2026-07-01). Cross-link [platform.data-architecture], [platform.kafka], [platform.service-ownership], [technical.analytics]. diff --git a/backend/src/main/resources/content/analytics/agents/claude.md b/backend/src/main/resources/content/analytics/agents/claude.md index 0fdeab1..4f0a482 100644 --- a/backend/src/main/resources/content/analytics/agents/claude.md +++ b/backend/src/main/resources/content/analytics/agents/claude.md @@ -3,7 +3,7 @@ module: analytics.agents title: Agents tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · AI agent quick-ref.** Confirmed against source 2026-07-01. Act on confirmed facts only. diff --git a/backend/src/main/resources/content/analytics/cash/architect.md b/backend/src/main/resources/content/analytics/cash/architect.md index 92b7c1a..3786d82 100644 --- a/backend/src/main/resources/content/analytics/cash/architect.md +++ b/backend/src/main/resources/content/analytics/cash/architect.md @@ -3,7 +3,7 @@ module: analytics.cash title: Cash Intelligence tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Grounded in `hiveops-analytics` + `hiveops-recon` source, 2026-07-01. Key point: Cash Intelligence is a **synchronous fan-out**, not the usual executor→Kafka→record-store pattern. Analytics stores nothing for this feature and consumes no Kafka topic to build it. diff --git a/backend/src/main/resources/content/analytics/cash/claude.md b/backend/src/main/resources/content/analytics/cash/claude.md index 3891c05..068650c 100644 --- a/backend/src/main/resources/content/analytics/cash/claude.md +++ b/backend/src/main/resources/content/analytics/cash/claude.md @@ -3,7 +3,7 @@ module: analytics.cash title: Cash Intelligence tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse agent reference. Cash Intelligence = **read-only pass-through**: analytics re-shapes one recon call. Analytics owns NO cash data. diff --git a/backend/src/main/resources/content/analytics/fleet-health/architect.md b/backend/src/main/resources/content/analytics/fleet-health/architect.md index 8607749..9c397dd 100644 --- a/backend/src/main/resources/content/analytics/fleet-health/architect.md +++ b/backend/src/main/resources/content/analytics/fleet-health/architect.md @@ -3,7 +3,7 @@ module: analytics.fleet-health title: Fleet Health tab: Architect order: 30 -audience: dev +audience: bcos --- > **How it's built.** Fleet Health is a **synchronous fan-out aggregation** — not a snapshot/Kafka read. Grounded in `FleetHealthController` + `FleetHealthService` (hiveops-analytics) and the frontend `FleetHealthTab.svelte`. Cross-link [platform.data-architecture], [platform.kafka], [platform.service-ownership]. diff --git a/backend/src/main/resources/content/analytics/fleet-health/claude.md b/backend/src/main/resources/content/analytics/fleet-health/claude.md index 5835dbc..6d68a7d 100644 --- a/backend/src/main/resources/content/analytics/fleet-health/claude.md +++ b/backend/src/main/resources/content/analytics/fleet-health/claude.md @@ -3,7 +3,7 @@ module: analytics.fleet-health title: Fleet Health tab: Claude order: 40 -audience: dev +audience: bcos --- > Act-without-guessing reference. All facts from `FleetHealthController`/`FleetHealthService`/`SecurityConfig` (hiveops-analytics) + `FleetHealthTab.svelte`/`api.ts`. diff --git a/backend/src/main/resources/content/analytics/incidents/architect.md b/backend/src/main/resources/content/analytics/incidents/architect.md index 9ffad7e..e761ae6 100644 --- a/backend/src/main/resources/content/analytics/incidents/architect.md +++ b/backend/src/main/resources/content/analytics/incidents/architect.md @@ -3,7 +3,7 @@ module: analytics.incidents title: Incident Trends tab: Architect order: 30 -audience: dev +audience: bcos --- > How the **Incident Trends** tab is built. Grounded in `hiveops-analytics` + `hiveops-incident` source, 2026-07-01. Cross-link [platform.data-architecture], [platform.kafka], [platform.service-ownership]. diff --git a/backend/src/main/resources/content/analytics/incidents/claude.md b/backend/src/main/resources/content/analytics/incidents/claude.md index 629483e..2c17679 100644 --- a/backend/src/main/resources/content/analytics/incidents/claude.md +++ b/backend/src/main/resources/content/analytics/incidents/claude.md @@ -3,7 +3,7 @@ module: analytics.incidents title: Incident Trends tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse agent reference. All facts confirmed in source 2026-07-01. `hiveops-ai` = "Adoons". diff --git a/backend/src/main/resources/content/analytics/transactions/architect.md b/backend/src/main/resources/content/analytics/transactions/architect.md index e943ee1..3fa768a 100644 --- a/backend/src/main/resources/content/analytics/transactions/architect.md +++ b/backend/src/main/resources/content/analytics/transactions/architect.md @@ -3,7 +3,7 @@ module: analytics.transactions title: Transactions tab: Architect order: 30 -audience: dev +audience: bcos --- > How the **Transactions** tab is built. It is a **synchronous pull-through aggregation**, not an event-driven or snapshot-backed view. Cross-link [platform.service-ownership], [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/analytics/transactions/claude.md b/backend/src/main/resources/content/analytics/transactions/claude.md index d0a181c..f094f56 100644 --- a/backend/src/main/resources/content/analytics/transactions/claude.md +++ b/backend/src/main/resources/content/analytics/transactions/claude.md @@ -3,7 +3,7 @@ module: analytics.transactions title: Transactions tab: Claude order: 40 -audience: dev +audience: bcos --- > Act-without-guessing reference. Transactions tab = analytics UI tab `id: 'journal', label: 'Transactions'` → `JournalCoverageTab.svelte` → `GET /api/analytics/journal-coverage`. Data source of truth is **hiveops-journal**, not analytics. diff --git a/backend/src/main/resources/content/analytics/uptime/architect.md b/backend/src/main/resources/content/analytics/uptime/architect.md index 10758b1..8753295 100644 --- a/backend/src/main/resources/content/analytics/uptime/architect.md +++ b/backend/src/main/resources/content/analytics/uptime/architect.md @@ -3,7 +3,7 @@ module: analytics.uptime title: Uptime tab: Architect order: 30 -audience: dev +audience: bcos --- > **How Uptime is built.** Grounded in `hiveops-analytics` source (2026-07-01). Cross-link [platform.data-architecture], [platform.kafka], [platform.service-ownership]. diff --git a/backend/src/main/resources/content/analytics/uptime/claude.md b/backend/src/main/resources/content/analytics/uptime/claude.md index f1fcefb..62d0076 100644 --- a/backend/src/main/resources/content/analytics/uptime/claude.md +++ b/backend/src/main/resources/content/analytics/uptime/claude.md @@ -3,7 +3,7 @@ module: analytics.uptime title: Uptime tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse agent reference for `analytics.uptime`. Only confirmed facts. Act, don't guess. diff --git a/backend/src/main/resources/content/aria/dashboard/architect.md b/backend/src/main/resources/content/aria/dashboard/architect.md index 5535910..5ad1f7b 100644 --- a/backend/src/main/resources/content/aria/dashboard/architect.md +++ b/backend/src/main/resources/content/aria/dashboard/architect.md @@ -3,7 +3,7 @@ module: aria.dashboard title: Threat Dashboard tab: Architect order: 30 -audience: dev +audience: bcos --- How the ARIA Threat Dashboard is built. The dashboard is a **thin read-only aggregation view** — it does not own data, run detection, or consume Kafka. It renders one snapshot from `hiveops-aria`'s tables. All the interesting machinery (ingestion, IOC matching, sequence detection) runs upstream and only *populates* the tables this view reads. diff --git a/backend/src/main/resources/content/aria/dashboard/claude.md b/backend/src/main/resources/content/aria/dashboard/claude.md index 2402454..6014456 100644 --- a/backend/src/main/resources/content/aria/dashboard/claude.md +++ b/backend/src/main/resources/content/aria/dashboard/claude.md @@ -3,7 +3,7 @@ module: aria.dashboard title: Threat Dashboard tab: Claude order: 40 -audience: dev +audience: bcos --- Terse act-without-guessing reference. Owner service: **`hiveops-aria`** (port **8095**, DB **`hiveiq_aria`**). Frontend: `hiveops-aria/frontend/src/components/Dashboard.svelte`. diff --git a/backend/src/main/resources/content/aria/device-posture/architect.md b/backend/src/main/resources/content/aria/device-posture/architect.md index 31a6c54..9514834 100644 --- a/backend/src/main/resources/content/aria/device-posture/architect.md +++ b/backend/src/main/resources/content/aria/device-posture/architect.md @@ -3,7 +3,7 @@ module: aria.device-posture title: Device Posture tab: Architect order: 30 -audience: dev +audience: bcos --- > **How Device Posture is built.** Grounded in `hiveops-aria` backend + `hiveops-agent/hiveops-module-aria-signals`. See also [technical.aria] for the wider ARIA service. Cross-links: [platform.data-architecture], [platform.kafka], [platform.service-ownership]. diff --git a/backend/src/main/resources/content/aria/device-posture/claude.md b/backend/src/main/resources/content/aria/device-posture/claude.md index 8929b5f..79ba615 100644 --- a/backend/src/main/resources/content/aria/device-posture/claude.md +++ b/backend/src/main/resources/content/aria/device-posture/claude.md @@ -3,7 +3,7 @@ module: aria.device-posture title: Device Posture tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse agent reference. Every item below confirmed in `hiveops-aria` + `hiveops-agent/hiveops-module-aria-signals`. Act without guessing. diff --git a/backend/src/main/resources/content/aria/ioc-feeds/architect.md b/backend/src/main/resources/content/aria/ioc-feeds/architect.md index 8d762bb..8fa62d0 100644 --- a/backend/src/main/resources/content/aria/ioc-feeds/architect.md +++ b/backend/src/main/resources/content/aria/ioc-feeds/architect.md @@ -3,7 +3,7 @@ module: aria.ioc-feeds title: IOC Feeds tab: Architect order: 30 -audience: dev +audience: bcos --- How the **IOC Feeds** feature is built. Everything for this feature lives inside **`hiveops-aria`** — it does not call any other HiveIQ service. Cross-link [platform.service-ownership]. diff --git a/backend/src/main/resources/content/aria/ioc-feeds/claude.md b/backend/src/main/resources/content/aria/ioc-feeds/claude.md index 6aad59e..98f53e8 100644 --- a/backend/src/main/resources/content/aria/ioc-feeds/claude.md +++ b/backend/src/main/resources/content/aria/ioc-feeds/claude.md @@ -3,7 +3,7 @@ module: aria.ioc-feeds title: IOC Feeds tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference. Everything below is confirmed in `hiveops-aria` source. diff --git a/backend/src/main/resources/content/aria/ioc-management/architect.md b/backend/src/main/resources/content/aria/ioc-management/architect.md index 9f3e71d..30831eb 100644 --- a/backend/src/main/resources/content/aria/ioc-management/architect.md +++ b/backend/src/main/resources/content/aria/ioc-management/architect.md @@ -3,7 +3,7 @@ module: aria.ioc-management title: IOC Management tab: Architect order: 30 -audience: dev +audience: bcos --- How the IOC watchlist is built and how it plugs into ARIA's threat pipeline. Cross-link [platform.service-ownership], [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/aria/ioc-management/claude.md b/backend/src/main/resources/content/aria/ioc-management/claude.md index ed19e2a..d6e9ee1 100644 --- a/backend/src/main/resources/content/aria/ioc-management/claude.md +++ b/backend/src/main/resources/content/aria/ioc-management/claude.md @@ -3,7 +3,7 @@ module: aria.ioc-management title: IOC Management tab: Claude order: 40 -audience: dev +audience: bcos --- Terse act-without-guessing reference. Owning service: **`hiveops-aria`** (port 8095, DB `hiveiq_aria`). Frontend: `hiveops-aria/frontend/src/components/IocManagement.svelte` via `ariaApi` → base `/api/aria`. diff --git a/backend/src/main/resources/content/aria/precursor-alerts/architect.md b/backend/src/main/resources/content/aria/precursor-alerts/architect.md index 20ee493..30c9d89 100644 --- a/backend/src/main/resources/content/aria/precursor-alerts/architect.md +++ b/backend/src/main/resources/content/aria/precursor-alerts/architect.md @@ -3,7 +3,7 @@ module: aria.precursor-alerts title: Precursor Alerts tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Precursor Alerts** feature is built. Everything lives in **hiveops-aria** (port 8095, DB `hiveiq_aria`). ARIA owns detection end-to-end — it does not read another service's tables to build alerts. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/aria/precursor-alerts/claude.md b/backend/src/main/resources/content/aria/precursor-alerts/claude.md index 1012347..3a02415 100644 --- a/backend/src/main/resources/content/aria/precursor-alerts/claude.md +++ b/backend/src/main/resources/content/aria/precursor-alerts/claude.md @@ -3,7 +3,7 @@ module: aria.precursor-alerts title: Precursor Alerts tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference. Owned by **hiveops-aria** (port 8095, DB `hiveiq_aria`). All facts below confirmed in code. diff --git a/backend/src/main/resources/content/aria/threat-events/architect.md b/backend/src/main/resources/content/aria/threat-events/architect.md index 4508517..6e87a88 100644 --- a/backend/src/main/resources/content/aria/threat-events/architect.md +++ b/backend/src/main/resources/content/aria/threat-events/architect.md @@ -3,7 +3,7 @@ module: aria.threat-events title: Threat Events tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Threat Events** feature is built. It is owned end-to-end by **`hiveops-aria`** (the threat-intelligence service, `spring.application.name=hiveops-aria`, DB `hiveiq_aria`). The screen is a thin read view; the interesting work happens in the ingest → classify → store → (optionally) publish pipeline. Cross-link [platform.service-ownership], [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/aria/threat-events/claude.md b/backend/src/main/resources/content/aria/threat-events/claude.md index fdb9f48..87af36b 100644 --- a/backend/src/main/resources/content/aria/threat-events/claude.md +++ b/backend/src/main/resources/content/aria/threat-events/claude.md @@ -3,7 +3,7 @@ module: aria.threat-events title: Threat Events tab: Claude order: 40 -audience: dev +audience: bcos --- Terse act-without-guessing reference. Owner service: **`hiveops-aria`** (`hiveiq_aria` DB, port 8095). All facts below confirmed in `hiveops-aria` source. diff --git a/backend/src/main/resources/content/claims/claim-detail/architect.md b/backend/src/main/resources/content/claims/claim-detail/architect.md index 215bd49..e10f11e 100644 --- a/backend/src/main/resources/content/claims/claim-detail/architect.md +++ b/backend/src/main/resources/content/claims/claim-detail/architect.md @@ -3,7 +3,7 @@ module: claims.claim-detail title: Claim Detail tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Claim Detail** panel is built end-to-end. See [platform.service-ownership] — this feature is owned entirely by **hiveops-claims**; no other HiveOps service is called for claim, message, note, attachment, or payment data. The only external dependency is the device mirror (below). diff --git a/backend/src/main/resources/content/claims/claim-detail/claude.md b/backend/src/main/resources/content/claims/claim-detail/claude.md index 01a5c26..61ce9a9 100644 --- a/backend/src/main/resources/content/claims/claim-detail/claude.md +++ b/backend/src/main/resources/content/claims/claim-detail/claude.md @@ -3,7 +3,7 @@ module: claims.claim-detail title: Claim Detail tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference for the **Claim Detail** panel (`ClaimPanel.svelte`). diff --git a/backend/src/main/resources/content/claims/dashboard/architect.md b/backend/src/main/resources/content/claims/dashboard/architect.md index 0c56f2e..93fd6d1 100644 --- a/backend/src/main/resources/content/claims/dashboard/architect.md +++ b/backend/src/main/resources/content/claims/dashboard/architect.md @@ -3,7 +3,7 @@ module: claims.dashboard title: Claims Dashboard tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Claims Dashboard** is built. It is a thin read view over one service — **hiveops-claims** owns all the data it shows. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/claims/dashboard/claude.md b/backend/src/main/resources/content/claims/dashboard/claude.md index 09b22b5..156d1e6 100644 --- a/backend/src/main/resources/content/claims/dashboard/claude.md +++ b/backend/src/main/resources/content/claims/dashboard/claude.md @@ -3,7 +3,7 @@ module: claims.dashboard title: Claims Dashboard tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference for the Claims Dashboard view. Owner service: **hiveops-claims** (`hiveiq-claims`, port 8092, image `hiveiq-claims`). Frontend: `Dashboard.svelte` in `hiveops-claims/frontend`. diff --git a/backend/src/main/resources/content/claims/settings/architect.md b/backend/src/main/resources/content/claims/settings/architect.md index 4c2fa95..a6b69e4 100644 --- a/backend/src/main/resources/content/claims/settings/architect.md +++ b/backend/src/main/resources/content/claims/settings/architect.md @@ -3,7 +3,7 @@ module: claims.settings title: Settings tab: Architect order: 30 -audience: dev +audience: bcos --- How the Claims **Settings** (vendor email templates) feature is built. Single-service, synchronous, DB-backed — **no Kafka, no executor/record-store pattern** in this feature. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/claims/settings/claude.md b/backend/src/main/resources/content/claims/settings/claude.md index cbbd138..19b7a3c 100644 --- a/backend/src/main/resources/content/claims/settings/claude.md +++ b/backend/src/main/resources/content/claims/settings/claude.md @@ -3,7 +3,7 @@ module: claims.settings title: Settings tab: Claude order: 40 -audience: dev +audience: bcos --- Terse reference. Feature = **vendor email templates** shown on the Claims Settings screen (read-only display of the *effective* template). diff --git a/backend/src/main/resources/content/claims/vendors/architect.md b/backend/src/main/resources/content/claims/vendors/architect.md index e6ef5dc..7d41a33 100644 --- a/backend/src/main/resources/content/claims/vendors/architect.md +++ b/backend/src/main/resources/content/claims/vendors/architect.md @@ -3,7 +3,7 @@ module: claims.vendors title: Vendors tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** How the Vendor Registry feature is built. All facts grounded in hiveops-claims source (2026-07-01). See [platform.service-ownership], [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/claims/vendors/claude.md b/backend/src/main/resources/content/claims/vendors/claude.md index 4e16f3e..06fba82 100644 --- a/backend/src/main/resources/content/claims/vendors/claude.md +++ b/backend/src/main/resources/content/claims/vendors/claude.md @@ -3,7 +3,7 @@ module: claims.vendors title: Vendors tab: Claude order: 40 -audience: dev +audience: bcos --- > Act-without-guessing reference. All items code-confirmed in hiveops-claims (2026-07-01) unless marked (unverified). diff --git a/backend/src/main/resources/content/dashboard/cash-stats/architect.md b/backend/src/main/resources/content/dashboard/cash-stats/architect.md index 6497600..60ac264 100644 --- a/backend/src/main/resources/content/dashboard/cash-stats/architect.md +++ b/backend/src/main/resources/content/dashboard/cash-stats/architect.md @@ -3,7 +3,7 @@ module: dashboard.cash-stats title: Cash Stats tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Cash Stats** page is built end-to-end. It is a thin read view over data that another service derives — the interesting work happens in `hiveops-journal`, not in the dashboard. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/dashboard/cash-stats/claude.md b/backend/src/main/resources/content/dashboard/cash-stats/claude.md index 2642914..995b65d 100644 --- a/backend/src/main/resources/content/dashboard/cash-stats/claude.md +++ b/backend/src/main/resources/content/dashboard/cash-stats/claude.md @@ -3,7 +3,7 @@ module: dashboard.cash-stats title: Cash Stats tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference for `dashboard.cash-stats`. Read view over cassette bill counts. diff --git a/backend/src/main/resources/content/dashboard/overview/architect.md b/backend/src/main/resources/content/dashboard/overview/architect.md index a100e79..be60757 100644 --- a/backend/src/main/resources/content/dashboard/overview/architect.md +++ b/backend/src/main/resources/content/dashboard/overview/architect.md @@ -3,7 +3,7 @@ module: dashboard.overview title: Fleet Overview tab: Architect order: 30 -audience: dev +audience: bcos --- ## Shape of the feature diff --git a/backend/src/main/resources/content/dashboard/overview/claude.md b/backend/src/main/resources/content/dashboard/overview/claude.md index 28041a2..52d713e 100644 --- a/backend/src/main/resources/content/dashboard/overview/claude.md +++ b/backend/src/main/resources/content/dashboard/overview/claude.md @@ -3,7 +3,7 @@ module: dashboard.overview title: Fleet Overview tab: Claude order: 40 -audience: dev +audience: bcos --- ## Identity diff --git a/backend/src/main/resources/content/devices/agent-profile/architect.md b/backend/src/main/resources/content/devices/agent-profile/architect.md index 929e623..5868a70 100644 --- a/backend/src/main/resources/content/devices/agent-profile/architect.md +++ b/backend/src/main/resources/content/devices/agent-profile/architect.md @@ -3,7 +3,7 @@ module: devices.agent-profile title: Agent Profile tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Agent Profile** feature is built end to end. Profiles are lightweight hardware-grouping records; the "which modules" logic is resolved at render time by joining profile records against a CDN-hosted module manifest. See [platform.service-ownership], [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/devices/agent-profile/claude.md b/backend/src/main/resources/content/devices/agent-profile/claude.md index 95513e8..dd077ad 100644 --- a/backend/src/main/resources/content/devices/agent-profile/claude.md +++ b/backend/src/main/resources/content/devices/agent-profile/claude.md @@ -3,7 +3,7 @@ module: devices.agent-profile title: Agent Profile tab: Claude order: 40 -audience: dev +audience: bcos --- Terse act-without-guessing reference. Feature = hardware profiles controlling agent module provisioning. diff --git a/backend/src/main/resources/content/devices/agent-scripts/architect.md b/backend/src/main/resources/content/devices/agent-scripts/architect.md index 4c1e700..8f0c78a 100644 --- a/backend/src/main/resources/content/devices/agent-scripts/architect.md +++ b/backend/src/main/resources/content/devices/agent-scripts/architect.md @@ -3,7 +3,7 @@ module: devices.agent-scripts title: Agent Scripts tab: Architect order: 30 -audience: dev +audience: bcos --- > **Architect · internal.** Written 2026-07-01 from source. Describes both what is **built** (a devices-owned CRUD store) and the **intended** signed-delivery pipeline that partly exists in hiveops-fleet + the agent but is **not yet connected** to this module's Push action. diff --git a/backend/src/main/resources/content/devices/agent-scripts/claude.md b/backend/src/main/resources/content/devices/agent-scripts/claude.md index 8f0a85a..6e70377 100644 --- a/backend/src/main/resources/content/devices/agent-scripts/claude.md +++ b/backend/src/main/resources/content/devices/agent-scripts/claude.md @@ -3,7 +3,7 @@ module: devices.agent-scripts title: Agent Scripts tab: Claude order: 40 -audience: dev +audience: bcos --- > Act-without-guessing reference. Only confirmed facts (hiveops-devices source, 2026-07-01). diff --git a/backend/src/main/resources/content/devices/config-audit/architect.md b/backend/src/main/resources/content/devices/config-audit/architect.md index 833f576..1f2101b 100644 --- a/backend/src/main/resources/content/devices/config-audit/architect.md +++ b/backend/src/main/resources/content/devices/config-audit/architect.md @@ -3,7 +3,7 @@ module: devices.config-audit title: Config Audit tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture view.** How Config Audit is built inside `hiveops-devices`. Grounded in source 2026-07-01. diff --git a/backend/src/main/resources/content/devices/config-audit/claude.md b/backend/src/main/resources/content/devices/config-audit/claude.md index b63e207..d88e0ff 100644 --- a/backend/src/main/resources/content/devices/config-audit/claude.md +++ b/backend/src/main/resources/content/devices/config-audit/claude.md @@ -3,7 +3,7 @@ module: devices.config-audit title: Config Audit tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse agent reference. All facts below verified in `hiveops-devices` source (2026-07-01). diff --git a/backend/src/main/resources/content/devices/device-detail/architect.md b/backend/src/main/resources/content/devices/device-detail/architect.md index f41f490..6c68c0c 100644 --- a/backend/src/main/resources/content/devices/device-detail/architect.md +++ b/backend/src/main/resources/content/devices/device-detail/architect.md @@ -3,7 +3,7 @@ module: devices.device-detail title: Device Detail tab: Architect order: 30 -audience: dev +audience: bcos --- How the single-device page is built. Component `AtmDetail.svelte` (~4.2k lines) is a tabbed shell; the "Details" surface is owned by **hiveops-devices**, but the page is a **multi-service aggregator** — most tabs fan out to other backends. See [platform.service-ownership] and [technical.devices]. diff --git a/backend/src/main/resources/content/devices/device-detail/claude.md b/backend/src/main/resources/content/devices/device-detail/claude.md index 578755d..652d406 100644 --- a/backend/src/main/resources/content/devices/device-detail/claude.md +++ b/backend/src/main/resources/content/devices/device-detail/claude.md @@ -3,7 +3,7 @@ module: devices.device-detail title: Device Detail tab: Claude order: 40 -audience: dev +audience: bcos --- Act-without-guessing reference for `devices.device-detail` (`AtmDetail.svelte`). diff --git a/backend/src/main/resources/content/devices/device-groups/architect.md b/backend/src/main/resources/content/devices/device-groups/architect.md index c0dafaa..be7bfbc 100644 --- a/backend/src/main/resources/content/devices/device-groups/architect.md +++ b/backend/src/main/resources/content/devices/device-groups/architect.md @@ -3,7 +3,7 @@ module: devices.device-groups title: Device Groups tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Grounded in `hiveops-devices` backend + `AtmGroups.svelte` + `api.ts` (2026-07-01). diff --git a/backend/src/main/resources/content/devices/device-groups/claude.md b/backend/src/main/resources/content/devices/device-groups/claude.md index 8f0f6f8..26623b6 100644 --- a/backend/src/main/resources/content/devices/device-groups/claude.md +++ b/backend/src/main/resources/content/devices/device-groups/claude.md @@ -3,7 +3,7 @@ module: devices.device-groups title: Device Groups tab: Claude order: 40 -audience: dev +audience: bcos --- ## Owner diff --git a/backend/src/main/resources/content/devices/device-list/architect.md b/backend/src/main/resources/content/devices/device-list/architect.md index f567da4..d0a7831 100644 --- a/backend/src/main/resources/content/devices/device-list/architect.md +++ b/backend/src/main/resources/content/devices/device-list/architect.md @@ -3,7 +3,7 @@ module: devices.device-list title: Device List tab: Architect order: 30 -audience: dev +audience: bcos --- How the Device List is built. Frontend: `hiveops-devices/frontend/src/components/AtmManagement/AtmList.svelte`. Backend of record: **hiveops-devices** (Spring Boot, port **8096**, DB `hiveiq_devices`). See [platform.service-ownership], [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/devices/device-list/claude.md b/backend/src/main/resources/content/devices/device-list/claude.md index cf9c28a..13a1c6d 100644 --- a/backend/src/main/resources/content/devices/device-list/claude.md +++ b/backend/src/main/resources/content/devices/device-list/claude.md @@ -3,7 +3,7 @@ module: devices.device-list title: Device List tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference. Frontend: `hiveops-devices/frontend/src/components/AtmManagement/AtmList.svelte`. diff --git a/backend/src/main/resources/content/devices/map/architect.md b/backend/src/main/resources/content/devices/map/architect.md index ab2859f..d5706f5 100644 --- a/backend/src/main/resources/content/devices/map/architect.md +++ b/backend/src/main/resources/content/devices/map/architect.md @@ -3,7 +3,7 @@ module: devices.map title: Map tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Grounded in `AtmMap.svelte`, `frontend/src/lib/{api,stores}.ts`, and the devices/incident controllers, 2026-07-01. diff --git a/backend/src/main/resources/content/devices/map/claude.md b/backend/src/main/resources/content/devices/map/claude.md index 282b759..9a08ef1 100644 --- a/backend/src/main/resources/content/devices/map/claude.md +++ b/backend/src/main/resources/content/devices/map/claude.md @@ -3,7 +3,7 @@ module: devices.map title: Map tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse agent reference. Grounded in `AtmMap.svelte`, `lib/api.ts`, `lib/stores.ts`, `AtmController`, `AtmGroupController`, `IncidentController` (2026-07-01). Read-only view — no writes, no dedicated backend. diff --git a/backend/src/main/resources/content/devices/sw-deploy/architect.md b/backend/src/main/resources/content/devices/sw-deploy/architect.md index 822edfd..d52bf5b 100644 --- a/backend/src/main/resources/content/devices/sw-deploy/architect.md +++ b/backend/src/main/resources/content/devices/sw-deploy/architect.md @@ -3,7 +3,7 @@ module: devices.sw-deploy title: Software Deployment tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Written 2026-07-01 from `hiveops-devices/frontend` + `hiveops-fleet/backend`. Verify against code before relying on specifics. diff --git a/backend/src/main/resources/content/devices/sw-deploy/claude.md b/backend/src/main/resources/content/devices/sw-deploy/claude.md index 00b8768..9b18f85 100644 --- a/backend/src/main/resources/content/devices/sw-deploy/claude.md +++ b/backend/src/main/resources/content/devices/sw-deploy/claude.md @@ -3,7 +3,7 @@ module: devices.sw-deploy title: Software Deployment tab: Claude order: 40 -audience: dev +audience: bcos --- **Owner service:** `hiveops-fleet` (port **8097**, DB **`hiveiq_fleet`**). Frontend `DeviceSoftwareTab.svelte` lives in `hiveops-devices` but calls fleet only. NOT owned by devices/incident. diff --git a/backend/src/main/resources/content/fleet/artifacts/architect.md b/backend/src/main/resources/content/fleet/artifacts/architect.md index a73b0cf..4752ce7 100644 --- a/backend/src/main/resources/content/fleet/artifacts/architect.md +++ b/backend/src/main/resources/content/fleet/artifacts/architect.md @@ -3,7 +3,7 @@ module: fleet.artifacts title: Artifact Import Guide tab: Architect order: 30 -audience: dev +audience: bcos --- > How artifact import is built inside **hiveops-fleet**. Scope: the `fleet_artifacts` lifecycle — CDN import, multipart upload, and how an agent ultimately gets the bytes. Cross-link [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/fleet/artifacts/claude.md b/backend/src/main/resources/content/fleet/artifacts/claude.md index dca591c..f156f8e 100644 --- a/backend/src/main/resources/content/fleet/artifacts/claude.md +++ b/backend/src/main/resources/content/fleet/artifacts/claude.md @@ -3,7 +3,7 @@ module: fleet.artifacts title: Artifact Import Guide tab: Claude order: 40 -audience: dev +audience: bcos --- > Act-without-guessing cheat-sheet. Owner service: **hiveops-fleet** (`com.hiveops.fleet`, port 8097, DB `hiveiq_fleet`). Never write artifact data anywhere else. diff --git a/backend/src/main/resources/content/fleet/dashboard/architect.md b/backend/src/main/resources/content/fleet/dashboard/architect.md index 04fcfc4..460ee39 100644 --- a/backend/src/main/resources/content/fleet/dashboard/architect.md +++ b/backend/src/main/resources/content/fleet/dashboard/architect.md @@ -3,7 +3,7 @@ module: fleet.dashboard title: Fleet Dashboard tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Fleet Stats** dashboard is built. It is a thin read-only view over hiveops-fleet's own database — no cross-service HTTP at request time. Cross-link [platform.service-ownership], [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/fleet/dashboard/claude.md b/backend/src/main/resources/content/fleet/dashboard/claude.md index 2c51a07..88aed70 100644 --- a/backend/src/main/resources/content/fleet/dashboard/claude.md +++ b/backend/src/main/resources/content/fleet/dashboard/claude.md @@ -3,7 +3,7 @@ module: fleet.dashboard title: Fleet Dashboard tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference for the **Fleet Stats** dashboard (`FleetDashboard.svelte`). diff --git a/backend/src/main/resources/content/fleet/modules/architect.md b/backend/src/main/resources/content/fleet/modules/architect.md index a6d8d1b..dd8ebda 100644 --- a/backend/src/main/resources/content/fleet/modules/architect.md +++ b/backend/src/main/resources/content/fleet/modules/architect.md @@ -3,7 +3,7 @@ module: fleet.modules title: Modules tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Written 2026-07-01 from `hiveops-fleet` source. Verify against code before relying on specifics. diff --git a/backend/src/main/resources/content/fleet/modules/claude.md b/backend/src/main/resources/content/fleet/modules/claude.md index 866c70c..1f79e3a 100644 --- a/backend/src/main/resources/content/fleet/modules/claude.md +++ b/backend/src/main/resources/content/fleet/modules/claude.md @@ -3,7 +3,7 @@ module: fleet.modules title: Modules tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Terse. Confirmed against `hiveops-fleet` source 2026-07-01. diff --git a/backend/src/main/resources/content/fleet/patch-windows/architect.md b/backend/src/main/resources/content/fleet/patch-windows/architect.md index 83e7f2d..1f3ea14 100644 --- a/backend/src/main/resources/content/fleet/patch-windows/architect.md +++ b/backend/src/main/resources/content/fleet/patch-windows/architect.md @@ -3,7 +3,7 @@ module: fleet.patch-windows title: Patch Window Guide tab: Architect order: 30 -audience: dev +audience: bcos --- How HiveIQ Patch Windows are built. Everything lives inside **hiveops-fleet** (`com.hiveops.fleet`, Spring Boot 3.4, port 8097, DB `hiveiq_fleet`). Patch windows are a scheduling overlay on the existing fleet-task pipeline — no dedicated microservice. Cross-link [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/fleet/patch-windows/claude.md b/backend/src/main/resources/content/fleet/patch-windows/claude.md index 430be15..e4b5bb9 100644 --- a/backend/src/main/resources/content/fleet/patch-windows/claude.md +++ b/backend/src/main/resources/content/fleet/patch-windows/claude.md @@ -3,7 +3,7 @@ module: fleet.patch-windows title: Patch Window Guide tab: Claude order: 40 -audience: dev +audience: bcos --- Act-without-guessing cheat-sheet. Everything confirmed in `hiveops-fleet` source. diff --git a/backend/src/main/resources/content/fleet/tasks/architect.md b/backend/src/main/resources/content/fleet/tasks/architect.md index c916943..673adcf 100644 --- a/backend/src/main/resources/content/fleet/tasks/architect.md +++ b/backend/src/main/resources/content/fleet/tasks/architect.md @@ -3,7 +3,7 @@ module: fleet.tasks title: Fleet Task Workflow tab: Architect order: 30 -audience: dev +audience: bcos --- How Fleet Task Workflow is built. Owner service: **hiveops-fleet** (`com.hiveops.fleet`, Spring Boot 3.4, port 8097, DB `hiveiq_fleet`). Frontend: `FleetManagement/FleetTasks.svelte` → `lib/api.ts` (`fleetAPI`, base `…/api/fleet`). See also [platform.data-architecture] and [platform.kafka]; service-level scope in the technical `fleet/overview` doc. diff --git a/backend/src/main/resources/content/fleet/tasks/claude.md b/backend/src/main/resources/content/fleet/tasks/claude.md index d0f9557..c9d06e5 100644 --- a/backend/src/main/resources/content/fleet/tasks/claude.md +++ b/backend/src/main/resources/content/fleet/tasks/claude.md @@ -3,7 +3,7 @@ module: fleet.tasks title: Fleet Task Workflow tab: Claude order: 40 -audience: dev +audience: bcos --- Act-without-guessing cheat-sheet. Owner service: **hiveops-fleet** ONLY. diff --git a/backend/src/main/resources/content/incident/dashboard/architect.md b/backend/src/main/resources/content/incident/dashboard/architect.md index d082f33..4692cc9 100644 --- a/backend/src/main/resources/content/incident/dashboard/architect.md +++ b/backend/src/main/resources/content/incident/dashboard/architect.md @@ -3,7 +3,7 @@ module: incident.dashboard title: Dashboard tab: Architect order: 30 -audience: dev +audience: bcos --- > **How it's built.** The Dashboard is a thin read-only aggregation view: one Svelte component, three GET endpoints, all served by **hiveops-incident**. There is no dedicated dashboard aggregation service — most of the "analytics" (trend chart, incidents-by-type, device/agent status breakdowns) is computed **client-side** in the component from two data stores. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/incident/dashboard/claude.md b/backend/src/main/resources/content/incident/dashboard/claude.md index e7da2a2..ebdb417 100644 --- a/backend/src/main/resources/content/incident/dashboard/claude.md +++ b/backend/src/main/resources/content/incident/dashboard/claude.md @@ -3,7 +3,7 @@ module: incident.dashboard title: Dashboard tab: Claude order: 40 -audience: dev +audience: bcos --- ## Owner diff --git a/backend/src/main/resources/content/incident/incident-management/architect.md b/backend/src/main/resources/content/incident/incident-management/architect.md index 8283e4b..b1a0745 100644 --- a/backend/src/main/resources/content/incident/incident-management/architect.md +++ b/backend/src/main/resources/content/incident/incident-management/architect.md @@ -3,7 +3,7 @@ module: incident.incident-management title: Incident Management tab: Architect order: 30 -audience: dev +audience: bcos --- > How the Incident Management screen is built. Owner service: **hiveops-incident**. See [platform.service-ownership], [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/incident/incident-management/claude.md b/backend/src/main/resources/content/incident/incident-management/claude.md index e6fbc30..1b1a0a5 100644 --- a/backend/src/main/resources/content/incident/incident-management/claude.md +++ b/backend/src/main/resources/content/incident/incident-management/claude.md @@ -3,7 +3,7 @@ module: incident.incident-management title: Incident Management tab: Claude order: 40 -audience: dev +audience: bcos --- ## Ownership diff --git a/backend/src/main/resources/content/incident/incident-tracker/architect.md b/backend/src/main/resources/content/incident/incident-tracker/architect.md index 1ca5831..503c293 100644 --- a/backend/src/main/resources/content/incident/incident-tracker/architect.md +++ b/backend/src/main/resources/content/incident/incident-tracker/architect.md @@ -3,7 +3,7 @@ module: incident.incident-tracker title: Incident Tracker tab: Architect order: 30 -audience: dev +audience: bcos --- > How the Incident Tracker is built. Grounded in `hiveops-incident` frontend + backend as of 2026-07-01. See [platform.data-architecture], [platform.kafka], [platform.service-ownership]. diff --git a/backend/src/main/resources/content/incident/incident-tracker/claude.md b/backend/src/main/resources/content/incident/incident-tracker/claude.md index 124ffb1..932fbe7 100644 --- a/backend/src/main/resources/content/incident/incident-tracker/claude.md +++ b/backend/src/main/resources/content/incident/incident-tracker/claude.md @@ -3,7 +3,7 @@ module: incident.incident-tracker title: Incident Tracker tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse act-without-guessing reference. Confirmed against `hiveops-incident` code 2026-07-01. diff --git a/backend/src/main/resources/content/incident/journal-events/architect.md b/backend/src/main/resources/content/incident/journal-events/architect.md index bea53d7..b2e345a 100644 --- a/backend/src/main/resources/content/incident/journal-events/architect.md +++ b/backend/src/main/resources/content/incident/journal-events/architect.md @@ -3,7 +3,7 @@ module: incident.journal-events title: Journal Events tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Event Journal** feature is built. This module is a thin read view over the journal-event store that **hiveops-incident** owns; the write side is agent ingestion routed through **hiveops-agent-proxy**. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/incident/journal-events/claude.md b/backend/src/main/resources/content/incident/journal-events/claude.md index 3ecd404..a897ee2 100644 --- a/backend/src/main/resources/content/incident/journal-events/claude.md +++ b/backend/src/main/resources/content/incident/journal-events/claude.md @@ -3,7 +3,7 @@ module: incident.journal-events title: Journal Events tab: Claude order: 40 -audience: dev +audience: bcos --- Act-without-guessing reference. Everything below is confirmed in code. diff --git a/backend/src/main/resources/content/incident/processing-rules/architect.md b/backend/src/main/resources/content/incident/processing-rules/architect.md index b301e3e..0f7fdf5 100644 --- a/backend/src/main/resources/content/incident/processing-rules/architect.md +++ b/backend/src/main/resources/content/incident/processing-rules/architect.md @@ -3,7 +3,7 @@ module: incident.processing-rules title: Processing Rules tab: Architect order: 30 -audience: dev +audience: bcos --- > **Architecture view.** How Processing Rules are built and how events flow through them. All rule storage + evaluation is owned by **hiveops-incident**; Adoons suggestions are delegated to **hiveops-ai** over Kafka + a sync proxy. Grounded in code 2026-07-01. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/incident/processing-rules/claude.md b/backend/src/main/resources/content/incident/processing-rules/claude.md index ce112af..964bb97 100644 --- a/backend/src/main/resources/content/incident/processing-rules/claude.md +++ b/backend/src/main/resources/content/incident/processing-rules/claude.md @@ -3,7 +3,7 @@ module: incident.processing-rules title: Processing Rules tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse agent reference. Every endpoint/table/topic/role below is confirmed in hiveops-incident source (2026-07-01). Controller paths are as mapped in code; externally reached via NGINX `/api/incident/` (incident, port 8080). diff --git a/backend/src/main/resources/content/msp/contact-groups/architect.md b/backend/src/main/resources/content/msp/contact-groups/architect.md index cb5eb9d..50012c6 100644 --- a/backend/src/main/resources/content/msp/contact-groups/architect.md +++ b/backend/src/main/resources/content/msp/contact-groups/architect.md @@ -3,7 +3,7 @@ module: msp.contact-groups title: Contact Groups tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Contact Groups** feature is built and wired. See also [platform.data-architecture], [platform.kafka], [platform.service-ownership]. diff --git a/backend/src/main/resources/content/msp/contact-groups/claude.md b/backend/src/main/resources/content/msp/contact-groups/claude.md index a418bad..1d47246 100644 --- a/backend/src/main/resources/content/msp/contact-groups/claude.md +++ b/backend/src/main/resources/content/msp/contact-groups/claude.md @@ -3,7 +3,7 @@ module: msp.contact-groups title: Contact Groups tab: Claude order: 40 -audience: dev +audience: bcos --- Act-without-guessing reference. All facts confirmed in `hiveops-messaging` + `hiveops-msp` source. diff --git a/backend/src/main/resources/content/msp/institution-keys/architect.md b/backend/src/main/resources/content/msp/institution-keys/architect.md index c3a2ff8..8364814 100644 --- a/backend/src/main/resources/content/msp/institution-keys/architect.md +++ b/backend/src/main/resources/content/msp/institution-keys/architect.md @@ -3,7 +3,7 @@ module: msp.institution-keys title: Institution Keys tab: Architect order: 30 -audience: dev +audience: bcos --- > How it's built. Grounded in `hiveops-devices` + `hiveops-msp` code, 2026-07-01. Cross-links: [platform.data-architecture], [platform.kafka], [platform.service-ownership]. diff --git a/backend/src/main/resources/content/msp/institution-keys/claude.md b/backend/src/main/resources/content/msp/institution-keys/claude.md index 7e69dfa..f543b7c 100644 --- a/backend/src/main/resources/content/msp/institution-keys/claude.md +++ b/backend/src/main/resources/content/msp/institution-keys/claude.md @@ -3,7 +3,7 @@ module: msp.institution-keys title: Institution Keys tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse act-without-guessing reference. Confirmed against `hiveops-devices` + `hiveops-msp` code 2026-07-01. diff --git a/backend/src/main/resources/content/msp/institutions/architect.md b/backend/src/main/resources/content/msp/institutions/architect.md index 9ba0409..2a3489e 100644 --- a/backend/src/main/resources/content/msp/institutions/architect.md +++ b/backend/src/main/resources/content/msp/institutions/architect.md @@ -3,7 +3,7 @@ module: msp.institutions title: Institutions tab: Architect order: 30 -audience: dev +audience: bcos --- How the MSP **Institutions** feature is built. It is a thin Svelte SPA that composes data from **two independently-owned backends** — no aggregation layer, no message bus in the read/write path. diff --git a/backend/src/main/resources/content/msp/institutions/claude.md b/backend/src/main/resources/content/msp/institutions/claude.md index c232622..8dcfb1f 100644 --- a/backend/src/main/resources/content/msp/institutions/claude.md +++ b/backend/src/main/resources/content/msp/institutions/claude.md @@ -3,7 +3,7 @@ module: msp.institutions title: Institutions tab: Claude order: 40 -audience: dev +audience: bcos --- Act-without-guessing reference. Frontend = `hiveops-msp/frontend` `Institutions/InstitutionsView.svelte` (port 5186, `msp.bcos.cloud`, image `hiveiq-msp-frontend`, no own backend). diff --git a/backend/src/main/resources/content/msp/module-allocations/architect.md b/backend/src/main/resources/content/msp/module-allocations/architect.md index 5b64631..c83961f 100644 --- a/backend/src/main/resources/content/msp/module-allocations/architect.md +++ b/backend/src/main/resources/content/msp/module-allocations/architect.md @@ -3,7 +3,7 @@ module: msp.module-allocations title: Module Allocations tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Module Allocations** feature is built. See also [platform.data-architecture], [platform.kafka], [platform.service-ownership]. diff --git a/backend/src/main/resources/content/msp/module-allocations/claude.md b/backend/src/main/resources/content/msp/module-allocations/claude.md index 5d02564..87bb468 100644 --- a/backend/src/main/resources/content/msp/module-allocations/claude.md +++ b/backend/src/main/resources/content/msp/module-allocations/claude.md @@ -3,7 +3,7 @@ module: msp.module-allocations title: Module Allocations tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference. Frontend: `hiveops-msp/frontend` (`AllocationsView.svelte`). No dedicated backend. diff --git a/backend/src/main/resources/content/msp/users/architect.md b/backend/src/main/resources/content/msp/users/architect.md index b68f892..f910f85 100644 --- a/backend/src/main/resources/content/msp/users/architect.md +++ b/backend/src/main/resources/content/msp/users/architect.md @@ -3,7 +3,7 @@ module: msp.users title: Users tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Users** screen is built. It is a two-service read/write feature: user records are owned by **hiveops-auth**; the institution dropdown/scoping data is owned by **hiveops-mgmt**. The `msp` SPA has **no backend of its own** — it calls both services directly. There is **no Kafka** and no executor→record-store pattern in this feature; every mutation is a synchronous REST call. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/msp/users/claude.md b/backend/src/main/resources/content/msp/users/claude.md index d1fb475..5f87920 100644 --- a/backend/src/main/resources/content/msp/users/claude.md +++ b/backend/src/main/resources/content/msp/users/claude.md @@ -3,7 +3,7 @@ module: msp.users title: Users tab: Claude order: 40 -audience: dev +audience: bcos --- Act-without-guessing reference. Everything below is confirmed in code. diff --git a/backend/src/main/resources/content/platform/guide-access/overview.md b/backend/src/main/resources/content/platform/guide-access/overview.md new file mode 100644 index 0000000..4212646 --- /dev/null +++ b/backend/src/main/resources/content/platform/guide-access/overview.md @@ -0,0 +1,97 @@ +--- +module: platform.guide-access +title: Guide Access Control — Audience Tiers & Role Visibility +tab: Overview +order: 15 +audience: bcos +--- + +> **BCOS admin only.** This is the authoritative answer to "who can see what in the Guide". +> Verified against the live API on **2026-07-14** by querying `/guide/api/v1/guide/nav` as each +> role. Do not re-derive this from source; if you change a tier, update this page. + +## Where the Guide actually runs + +The Guide is deployed to **bcos.dev only** (`guide.bcos.dev`, API `api.bcos.dev/guide/...`). + +- It is **not** in production. `api.bcos.cloud/guide/*` hits the NGINX catch-all and returns + `HTTP 200` + the "HiveIQ API Gateway" page for **any** path, including paths that do not exist. + A `200` from there is not a health check; do not read it as "the Guide is up in prod". +- **`guide.bcos.cloud` does not exist** (no DNS record on 1.1.1.1 or 8.8.8.8). + +## The four audience tiers + +Every doc carries an `audience:` field in its frontmatter. That single field is the whole access +model. `MarkdownGuideService.visible()` resolves it against the caller's role: + +| tier | who sees it | gate | +|---|---|---| +| `customer` | everyone signed in | (default) | +| `internal` | MSP_ADMIN + BCOS_ADMIN | `isInternal()` | +| `dev` | MSP_ADMIN + BCOS_ADMIN | `isInternal()` | +| `bcos` | **BCOS_ADMIN only** | `isBcos()` | + +**Anonymous callers get nothing:** `/nav` returns `401` with no token. + +⚠️ **`dev` is a footgun.** It is named for developers but it gates at **MSP_ADMIN**, identically to +`internal`. There is no role between MSP and BCOS. Anything you tag `audience: dev` is visible to +customers' MSP admins. If a doc must stay in-house, tag it **`bcos`**, never `dev`. + +## Role visibility matrix + +| audience | tab | CUSTOMER | MSP_ADMIN | BCOS_ADMIN | +|---|---|---|---|---| +| `customer` | Customer | 66 | 66 | 66 | +| `customer` | The Data | 1 | 1 | 1 | +| `internal` | Internal | – | 66 | 66 | +| `internal` | Technical | – | 1 | 1 | +| `dev` | Internal | – | 15 | 15 | +| `dev` | Overview | – | 35 | 35 | +| `dev` | Testing | – | 66 | 66 | +| `bcos` | **Architect** | – | – | **81** | +| `bcos` | **Claude** | – | – | **81** | +| `bcos` | Overview | – | – | **8** | +| | **modules visible** | **66** | **116** | **124** | +| | **apps visible** | **13** | **17** | **19** | + +### What each role gets + +- **CUSTOMER** — the `Customer` tab only. No Internal, Testing, Architect or Claude, and none of + the `agent`, `platform`, `technical`, `devops`, `processes`, `milestone` apps. +- **MSP_ADMIN** — the above plus `Internal`, `Testing` and `Overview`, and the `agent`, `platform`, + `technical` and `devops` apps (50 extra modules). **Not** Architect, **not** Claude. +- **BCOS_ADMIN** — everything, including the two internal tabs (`Architect`, `Claude`) and the 8 + BCOS-only modules: `processes.*` (5), `devops.dev`, `devops.prod`, `milestone.2026-07`. + +## Architect + Claude are BCOS-only (fixed 2026-07-14) + +Until issue **#16**, all 162 `Architect` and `Claude` docs were tagged `audience: dev`, so **every +MSP_ADMIN could read them in full** — internal architecture, source paths, DB tables, service +ports, NGINX routes. They are now `audience: bcos`. + +The fix was a content retag, **not** a code change. Remapping the `dev` tier itself would also have +stripped the 15 `Internal`, 35 `Overview` and 66 `Testing` docs from MSP, which is not intended. + +## For a Claude session + +Read the Guide as **BCOS_ADMIN** (`bcos_a@bcos.dev`) or the `Architect`/`Claude` tabs will be +absent from the response — and their absence looks identical to "this module has no Claude tab". +An MSP_ADMIN token silently returns a truncated tab list, with **no error**. + +```bash +TOKEN=$(curl -s https://api.bcos.dev/auth/api/login -H 'Content-Type: application/json' \ + -d '{"email":"bcos_a@bcos.dev","password":""}' | python3 -c 'import sys,json;print(json.load(sys.stdin)["token"])') +curl -s https://api.bcos.dev/guide/api/v1/guide/nav -H "Authorization: Bearer $TOKEN" +curl -s https://api.bcos.dev/guide/api/v1/guide/modules/technical.incident -H "Authorization: Bearer $TOKEN" +``` + +Module keys: `technical.` · `.` · `agent.` · `platform.*` · +`processes.*` and `devops.*` (BCOS-only). There is **no** `technical.guide` module; the Guide does +not document itself apart from this page. + +## Environment cap + +`guide.served-audiences` (env `GUIDE_SERVED_AUDIENCES`, `application.properties`) caps which tiers +an instance serves at all, *before* the role check. It currently defaults to **all four tiers** +(`customer,internal,dev,bcos`). If the Guide is ever deployed to production, set this explicitly — +the default serves everything. diff --git a/backend/src/main/resources/content/profile/appearance/architect.md b/backend/src/main/resources/content/profile/appearance/architect.md index c9f2f5d..109ff1f 100644 --- a/backend/src/main/resources/content/profile/appearance/architect.md +++ b/backend/src/main/resources/content/profile/appearance/architect.md @@ -3,7 +3,7 @@ module: profile.appearance title: Appearance tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Appearance** feature is built. It is a thin CRUD over a JSONB column — **no Kafka, no executor→record-store pattern, no cross-service events**. Theme rendering is entirely client-side. diff --git a/backend/src/main/resources/content/profile/appearance/claude.md b/backend/src/main/resources/content/profile/appearance/claude.md index dc9f27a..39829ca 100644 --- a/backend/src/main/resources/content/profile/appearance/claude.md +++ b/backend/src/main/resources/content/profile/appearance/claude.md @@ -3,7 +3,7 @@ module: profile.appearance title: Appearance tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference. **Owner: hiveops-auth.** Self-service per-user preference. No Kafka, no admin gate. diff --git a/backend/src/main/resources/content/profile/display/architect.md b/backend/src/main/resources/content/profile/display/architect.md index 9a78913..a11b496 100644 --- a/backend/src/main/resources/content/profile/display/architect.md +++ b/backend/src/main/resources/content/profile/display/architect.md @@ -3,7 +3,7 @@ module: profile.display title: Display tab: Architect order: 30 -audience: dev +audience: bcos --- How **Profile → Display** is built. Two moving parts: a thin Svelte view in `hiveops-profile` and a preferences store owned entirely by `hiveops-auth`. There is **no Kafka, no executor/record-store pipeline, and no dedicated table** for this feature — it is a synchronous read/write of a JSONB blob. diff --git a/backend/src/main/resources/content/profile/display/claude.md b/backend/src/main/resources/content/profile/display/claude.md index 3d71d18..d6b77db 100644 --- a/backend/src/main/resources/content/profile/display/claude.md +++ b/backend/src/main/resources/content/profile/display/claude.md @@ -3,7 +3,7 @@ module: profile.display title: Display tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference for **Profile → Display** (items-per-page, date/time format, timezone). diff --git a/backend/src/main/resources/content/profile/inbox/architect.md b/backend/src/main/resources/content/profile/inbox/architect.md index 4b03c21..58e2949 100644 --- a/backend/src/main/resources/content/profile/inbox/architect.md +++ b/backend/src/main/resources/content/profile/inbox/architect.md @@ -3,7 +3,7 @@ module: profile.inbox title: Inbox tab: Architect order: 30 -audience: dev +audience: bcos --- How the Profile **Inbox** is built and how data flows. The feature spans three services: the SPA (`hiveops-profile`), the message store (`hiveops-messaging`), plus two read-only lookups (`hiveops-auth`, `hiveops-mgmt`). See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/profile/inbox/claude.md b/backend/src/main/resources/content/profile/inbox/claude.md index e9829d6..097e6a1 100644 --- a/backend/src/main/resources/content/profile/inbox/claude.md +++ b/backend/src/main/resources/content/profile/inbox/claude.md @@ -3,7 +3,7 @@ module: profile.inbox title: Inbox tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference. Owner service: **`hiveops-messaging`** (port 8086, DB `hiveiq_messaging`). UI: `hiveops-profile/frontend/src/components/Profile/Inbox.svelte`. diff --git a/backend/src/main/resources/content/profile/notifications/architect.md b/backend/src/main/resources/content/profile/notifications/architect.md index d44c497..f8d5e4f 100644 --- a/backend/src/main/resources/content/profile/notifications/architect.md +++ b/backend/src/main/resources/content/profile/notifications/architect.md @@ -3,7 +3,7 @@ module: profile.notifications title: Notifications tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Notifications** preference feature is built. It is a thin, self-scoped CRUD over a JSON column — no async pipeline, no Kafka, no executor→topic→record-store pattern. diff --git a/backend/src/main/resources/content/profile/notifications/claude.md b/backend/src/main/resources/content/profile/notifications/claude.md index 7801c88..a522845 100644 --- a/backend/src/main/resources/content/profile/notifications/claude.md +++ b/backend/src/main/resources/content/profile/notifications/claude.md @@ -3,7 +3,7 @@ module: profile.notifications title: Notifications tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference. Act from this; do not infer beyond it. diff --git a/backend/src/main/resources/content/profile/profile/architect.md b/backend/src/main/resources/content/profile/profile/architect.md index 5299a02..2339937 100644 --- a/backend/src/main/resources/content/profile/profile/architect.md +++ b/backend/src/main/resources/content/profile/profile/architect.md @@ -3,7 +3,7 @@ module: profile.profile title: Profile tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Profile** tab is built. It is a self-service editor over a single `users` row, served entirely by **hiveops-auth**, with one synchronous cross-service call to **hiveops-mgmt** to resolve the display institution. There is **no Kafka, no executor, and no record-store** in this feature — it is a plain request/response CRUD over a relational table plus a jsonb column. diff --git a/backend/src/main/resources/content/profile/profile/claude.md b/backend/src/main/resources/content/profile/profile/claude.md index d09b2c1..345ab11 100644 --- a/backend/src/main/resources/content/profile/profile/claude.md +++ b/backend/src/main/resources/content/profile/profile/claude.md @@ -3,7 +3,7 @@ module: profile.profile title: Profile tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference for the **Profile** tab (`ProfileInfo.svelte`). Self-service edit of the caller's own `users` row. diff --git a/backend/src/main/resources/content/profile/security/architect.md b/backend/src/main/resources/content/profile/security/architect.md index 0c7ab1c..3eb588d 100644 --- a/backend/src/main/resources/content/profile/security/architect.md +++ b/backend/src/main/resources/content/profile/security/architect.md @@ -3,7 +3,7 @@ module: profile.security title: Security tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** Written 2026-07-01 from `hiveops-profile` frontend + `hiveops-auth` source. Verify against code before relying on specifics. diff --git a/backend/src/main/resources/content/profile/security/claude.md b/backend/src/main/resources/content/profile/security/claude.md index 2f81d59..ad32a54 100644 --- a/backend/src/main/resources/content/profile/security/claude.md +++ b/backend/src/main/resources/content/profile/security/claude.md @@ -3,7 +3,7 @@ module: profile.security title: Security tab: Claude order: 40 -audience: dev +audience: bcos --- > **Internal · agent reference.** Confirmed against `hiveops-profile` frontend + `hiveops-auth` source 2026-07-01. diff --git a/backend/src/main/resources/content/recon/atm-cycle-history/architect.md b/backend/src/main/resources/content/recon/atm-cycle-history/architect.md index 57b191f..816827b 100644 --- a/backend/src/main/resources/content/recon/atm-cycle-history/architect.md +++ b/backend/src/main/resources/content/recon/atm-cycle-history/architect.md @@ -3,7 +3,7 @@ module: recon.atm-cycle-history title: ATM Cycle History tab: Architect order: 30 -audience: dev +audience: bcos --- How the ATM Cycle History feature is built. Owned end-to-end by **hiveops-recon** — see [platform.service-ownership]. Recon does its own reconciliation math and only reaches out to hiveops-journal and hiveops-incident for raw inputs. diff --git a/backend/src/main/resources/content/recon/atm-cycle-history/claude.md b/backend/src/main/resources/content/recon/atm-cycle-history/claude.md index 5362148..43abfe1 100644 --- a/backend/src/main/resources/content/recon/atm-cycle-history/claude.md +++ b/backend/src/main/resources/content/recon/atm-cycle-history/claude.md @@ -3,7 +3,7 @@ module: recon.atm-cycle-history title: ATM Cycle History tab: Claude order: 40 -audience: dev +audience: bcos --- Terse act-without-guessing reference. Owner: **hiveops-recon** (port 8091, NGINX `/api/recon/`, prod external 8013). DB `hiveiq_recon`. diff --git a/backend/src/main/resources/content/recon/cash-forecast/architect.md b/backend/src/main/resources/content/recon/cash-forecast/architect.md index 9bbd379..adc63fc 100644 --- a/backend/src/main/resources/content/recon/cash-forecast/architect.md +++ b/backend/src/main/resources/content/recon/cash-forecast/architect.md @@ -3,7 +3,7 @@ module: recon.cash-forecast title: Cash Forecast tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal — architecture.** Grounded in `hiveops-recon` source. Cross-links: [platform.data-architecture], [platform.kafka], [platform.service-ownership]. diff --git a/backend/src/main/resources/content/recon/cash-forecast/claude.md b/backend/src/main/resources/content/recon/cash-forecast/claude.md index 6eae01d..95acd1c 100644 --- a/backend/src/main/resources/content/recon/cash-forecast/claude.md +++ b/backend/src/main/resources/content/recon/cash-forecast/claude.md @@ -3,7 +3,7 @@ module: recon.cash-forecast title: Cash Forecast tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse agent reference. Every path/table/topic below is confirmed in `hiveops-recon` source. diff --git a/backend/src/main/resources/content/recon/cash-reconciliation/architect.md b/backend/src/main/resources/content/recon/cash-reconciliation/architect.md index 242a13b..983d40a 100644 --- a/backend/src/main/resources/content/recon/cash-reconciliation/architect.md +++ b/backend/src/main/resources/content/recon/cash-reconciliation/architect.md @@ -3,7 +3,7 @@ module: recon.cash-reconciliation title: Cash Reconciliation tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · Architecture.** How the Cash Reconciliation fleet grid is built. Owned end-to-end by **hiveops-recon** (`hiveiq_recon` DB). See [platform.service-ownership], [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/recon/cash-reconciliation/claude.md b/backend/src/main/resources/content/recon/cash-reconciliation/claude.md index 56c9993..bfcdfee 100644 --- a/backend/src/main/resources/content/recon/cash-reconciliation/claude.md +++ b/backend/src/main/resources/content/recon/cash-reconciliation/claude.md @@ -3,7 +3,7 @@ module: recon.cash-reconciliation title: Cash Reconciliation tab: Claude order: 40 -audience: dev +audience: bcos --- > Act-without-guessing reference for the Cash Reconciliation fleet grid ("ATM Cash Positions"). diff --git a/backend/src/main/resources/content/recon/device-cycle-mgmt/architect.md b/backend/src/main/resources/content/recon/device-cycle-mgmt/architect.md index 6cd0df9..74481a4 100644 --- a/backend/src/main/resources/content/recon/device-cycle-mgmt/architect.md +++ b/backend/src/main/resources/content/recon/device-cycle-mgmt/architect.md @@ -3,7 +3,7 @@ module: recon.device-cycle-mgmt title: Device Cycle Management tab: Architect order: 30 -audience: dev +audience: bcos --- > **Architecture.** How the device-selection feature is built and wired. Grounded in `hiveops-recon` source (2026-07-01). Cross-links: [platform.data-architecture], [platform.kafka], [platform.service-ownership]. diff --git a/backend/src/main/resources/content/recon/device-cycle-mgmt/claude.md b/backend/src/main/resources/content/recon/device-cycle-mgmt/claude.md index 67a514f..88117ba 100644 --- a/backend/src/main/resources/content/recon/device-cycle-mgmt/claude.md +++ b/backend/src/main/resources/content/recon/device-cycle-mgmt/claude.md @@ -3,7 +3,7 @@ module: recon.device-cycle-mgmt title: Device Cycle Management tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse agent reference. Only confirmed facts. Owner service: **`hiveops-recon`**. diff --git a/backend/src/main/resources/content/recon/recon-rules/architect.md b/backend/src/main/resources/content/recon/recon-rules/architect.md index 8c557ed..83622f0 100644 --- a/backend/src/main/resources/content/recon/recon-rules/architect.md +++ b/backend/src/main/resources/content/recon/recon-rules/architect.md @@ -3,7 +3,7 @@ module: recon.recon-rules title: Recon Rules tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal · architecture.** How the Recon Rules feature is built, grounded in `hiveops-recon` source (2026-07-01). See [platform.service-ownership], [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/recon/recon-rules/claude.md b/backend/src/main/resources/content/recon/recon-rules/claude.md index 5d7a3be..94d780d 100644 --- a/backend/src/main/resources/content/recon/recon-rules/claude.md +++ b/backend/src/main/resources/content/recon/recon-rules/claude.md @@ -3,7 +3,7 @@ module: recon.recon-rules title: Recon Rules tab: Claude order: 40 -audience: dev +audience: bcos --- > Act-without-guessing reference. All facts confirmed in `hiveops-recon` source (2026-07-01). diff --git a/backend/src/main/resources/content/reports/builder/architect.md b/backend/src/main/resources/content/reports/builder/architect.md index 2a1052d..8181f0d 100644 --- a/backend/src/main/resources/content/reports/builder/architect.md +++ b/backend/src/main/resources/content/reports/builder/architect.md @@ -3,7 +3,7 @@ module: reports.builder title: Report Builder tab: Architect order: 30 -audience: dev +audience: bcos --- How the Report Builder is actually wired. It is owned end-to-end by **hiveops-reports**, which stores definitions/runs and orchestrates async execution against *other* services' live APIs. See [platform.service-ownership], [platform.data-architecture], [platform.kafka]. diff --git a/backend/src/main/resources/content/reports/builder/claude.md b/backend/src/main/resources/content/reports/builder/claude.md index de85867..a230fdd 100644 --- a/backend/src/main/resources/content/reports/builder/claude.md +++ b/backend/src/main/resources/content/reports/builder/claude.md @@ -3,7 +3,7 @@ module: reports.builder title: Report Builder tab: Claude order: 40 -audience: dev +audience: bcos --- Terse act-without-guessing reference. **Owner service: `hiveops-reports`** (`hiveiq-reports`, internal `:8088`, external `:8011`). Route `api.bcos.cloud/reports/` → `hiveiq-reports:8088/api/reports/`. DB `hiveiq_reports` (split `DB_HOST/DB_PORT/DB_NAME/DB_USERNAME/DB_PASSWORD`, NOT `DB_URL`). diff --git a/backend/src/main/resources/content/reports/queries/architect.md b/backend/src/main/resources/content/reports/queries/architect.md index c1e7ad2..21eaa57 100644 --- a/backend/src/main/resources/content/reports/queries/architect.md +++ b/backend/src/main/resources/content/reports/queries/architect.md @@ -3,7 +3,7 @@ module: reports.queries title: Saved Queries tab: Architect order: 30 -audience: dev +audience: bcos --- > **Architect view.** Grounded in `hiveops-reports` source. Cross-links: [platform.data-architecture], [platform.kafka], [platform.service-ownership], [technical.reports]. diff --git a/backend/src/main/resources/content/reports/queries/claude.md b/backend/src/main/resources/content/reports/queries/claude.md index 515ce86..f61e146 100644 --- a/backend/src/main/resources/content/reports/queries/claude.md +++ b/backend/src/main/resources/content/reports/queries/claude.md @@ -3,7 +3,7 @@ module: reports.queries title: Saved Queries tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse agent reference. Only confirmed facts. Owner service: **hiveops-reports** (all query CRUD is self-contained; no other service, no Kafka topic in this path). diff --git a/backend/src/main/resources/content/reports/runs/architect.md b/backend/src/main/resources/content/reports/runs/architect.md index 360ecad..0bedd4d 100644 --- a/backend/src/main/resources/content/reports/runs/architect.md +++ b/backend/src/main/resources/content/reports/runs/architect.md @@ -3,7 +3,7 @@ module: reports.runs title: Run History tab: Architect order: 30 -audience: dev +audience: bcos --- How **Run History** is built. It is a thin CRUD/list surface over the `report_runs` table, backed by an **async executor → live downstream fetch → store → Kafka distribute** pipeline. hiveops-reports owns the run lifecycle end to end; it holds no fleet data of its own. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/reports/runs/claude.md b/backend/src/main/resources/content/reports/runs/claude.md index b6f8984..e6a740b 100644 --- a/backend/src/main/resources/content/reports/runs/claude.md +++ b/backend/src/main/resources/content/reports/runs/claude.md @@ -3,7 +3,7 @@ module: reports.runs title: Run History tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference for **reports.runs**. Act only on what's below. diff --git a/backend/src/main/resources/content/reports/schedule/architect.md b/backend/src/main/resources/content/reports/schedule/architect.md index 6c2095e..f6177af 100644 --- a/backend/src/main/resources/content/reports/schedule/architect.md +++ b/backend/src/main/resources/content/reports/schedule/architect.md @@ -3,7 +3,7 @@ module: reports.schedule title: Scheduling & Distribution tab: Architect order: 30 -audience: dev +audience: bcos --- How the **schedule + distribution** feature is built. Owner: **hiveops-reports**. Two collaborators at runtime: whichever data-source service the template targets (incident/journal/fleet) and **hiveops-messaging** for delivery. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/reports/schedule/claude.md b/backend/src/main/resources/content/reports/schedule/claude.md index cb57397..24900fe 100644 --- a/backend/src/main/resources/content/reports/schedule/claude.md +++ b/backend/src/main/resources/content/reports/schedule/claude.md @@ -3,7 +3,7 @@ module: reports.schedule title: Scheduling & Distribution tab: Claude order: 40 -audience: dev +audience: bcos --- Act-without-guessing reference. Owner service: **hiveops-reports**. Delivery: **hiveops-messaging**. All facts below confirmed in code. diff --git a/backend/src/main/resources/content/reports/templates/architect.md b/backend/src/main/resources/content/reports/templates/architect.md index 21952e2..f7193c0 100644 --- a/backend/src/main/resources/content/reports/templates/architect.md +++ b/backend/src/main/resources/content/reports/templates/architect.md @@ -3,7 +3,7 @@ module: reports.templates title: Report Templates tab: Architect order: 30 -audience: dev +audience: bcos --- > **Internal — architecture.** How the Report Templates feature is built. Owner: **hiveops-reports** (see [platform.service-ownership]). diff --git a/backend/src/main/resources/content/reports/templates/claude.md b/backend/src/main/resources/content/reports/templates/claude.md index 928f02f..454a2ec 100644 --- a/backend/src/main/resources/content/reports/templates/claude.md +++ b/backend/src/main/resources/content/reports/templates/claude.md @@ -3,7 +3,7 @@ module: reports.templates title: Report Templates tab: Claude order: 40 -audience: dev +audience: bcos --- > Terse act-without-guessing reference. Owner service: **hiveops-reports**. Nothing here is guessed — all confirmed in source. diff --git a/backend/src/main/resources/content/transactions/browser/architect.md b/backend/src/main/resources/content/transactions/browser/architect.md index 1a7874a..3d6bb6a 100644 --- a/backend/src/main/resources/content/transactions/browser/architect.md +++ b/backend/src/main/resources/content/transactions/browser/architect.md @@ -3,7 +3,7 @@ module: transactions.browser title: Transactions Browser tab: Architect order: 30 -audience: dev +audience: bcos --- How the transaction browser is built end to end. Three services participate; **only journal owns data**. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/transactions/browser/claude.md b/backend/src/main/resources/content/transactions/browser/claude.md index 6024b0d..8b3549a 100644 --- a/backend/src/main/resources/content/transactions/browser/claude.md +++ b/backend/src/main/resources/content/transactions/browser/claude.md @@ -3,7 +3,7 @@ module: transactions.browser title: Transactions Browser tab: Claude order: 40 -audience: dev +audience: bcos --- Act-without-guessing reference. Confirmed from source unless marked `(unverified)`. diff --git a/backend/src/main/resources/content/transactions/customer-journey/architect.md b/backend/src/main/resources/content/transactions/customer-journey/architect.md index c3d942c..1440476 100644 --- a/backend/src/main/resources/content/transactions/customer-journey/architect.md +++ b/backend/src/main/resources/content/transactions/customer-journey/architect.md @@ -3,7 +3,7 @@ module: transactions.customer-journey title: Customer Journey tab: Architect order: 30 -audience: dev +audience: bcos --- How the Customer Journey drawer is built. It is a **read-mostly composition across four services**, orchestrated entirely by the Svelte component `CustomerJourney.svelte` — there is no single "journey" backend endpoint. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/transactions/customer-journey/claude.md b/backend/src/main/resources/content/transactions/customer-journey/claude.md index 6cd1afe..eebcc00 100644 --- a/backend/src/main/resources/content/transactions/customer-journey/claude.md +++ b/backend/src/main/resources/content/transactions/customer-journey/claude.md @@ -3,7 +3,7 @@ module: transactions.customer-journey title: Customer Journey tab: Claude order: 40 -audience: dev +audience: bcos --- Terse act-without-guessing reference. Component: `hiveops-transactions/frontend/src/components/Transactions/CustomerJourney.svelte`. diff --git a/backend/src/main/resources/content/transactions/journal-parsing/architect.md b/backend/src/main/resources/content/transactions/journal-parsing/architect.md index 80f9dd0..4a3c7a1 100644 --- a/backend/src/main/resources/content/transactions/journal-parsing/architect.md +++ b/backend/src/main/resources/content/transactions/journal-parsing/architect.md @@ -3,7 +3,7 @@ module: transactions.journal-parsing title: Journal Parsing Rules tab: Architect order: 30 -audience: dev +audience: bcos --- How the Journal Parsing feature is actually built. The UI lives in the Transactions SPA, but the entire domain — rules, files, transactions, parsing — is owned by **hiveops-journal**. See [platform.service-ownership] and [platform.data-architecture]. diff --git a/backend/src/main/resources/content/transactions/journal-parsing/claude.md b/backend/src/main/resources/content/transactions/journal-parsing/claude.md index 1f631a4..0cb7421 100644 --- a/backend/src/main/resources/content/transactions/journal-parsing/claude.md +++ b/backend/src/main/resources/content/transactions/journal-parsing/claude.md @@ -3,7 +3,7 @@ module: transactions.journal-parsing title: Journal Parsing Rules tab: Claude order: 40 -audience: dev +audience: bcos --- ## Ownership diff --git a/backend/src/main/resources/content/transactions/processing-rules/architect.md b/backend/src/main/resources/content/transactions/processing-rules/architect.md index 5602524..55dd9aa 100644 --- a/backend/src/main/resources/content/transactions/processing-rules/architect.md +++ b/backend/src/main/resources/content/transactions/processing-rules/architect.md @@ -3,7 +3,7 @@ module: transactions.processing-rules title: Journal Processing Rules tab: Architect order: 30 -audience: dev +audience: bcos --- How the **Journal Processing Rules** feature is built. The screen is served by the Transactions SPA, but the feature is **owned end-to-end by hiveops-journal**. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/transactions/processing-rules/claude.md b/backend/src/main/resources/content/transactions/processing-rules/claude.md index 166f066..909bd2a 100644 --- a/backend/src/main/resources/content/transactions/processing-rules/claude.md +++ b/backend/src/main/resources/content/transactions/processing-rules/claude.md @@ -3,7 +3,7 @@ module: transactions.processing-rules title: Journal Processing Rules tab: Claude order: 40 -audience: dev +audience: bcos --- Terse act-without-guessing reference. Owned by **hiveops-journal** (upload role). Transactions app is only the UI + proxy. diff --git a/backend/src/main/resources/content/transactions/reparse/architect.md b/backend/src/main/resources/content/transactions/reparse/architect.md index 51ee731..363a13a 100644 --- a/backend/src/main/resources/content/transactions/reparse/architect.md +++ b/backend/src/main/resources/content/transactions/reparse/architect.md @@ -3,7 +3,7 @@ module: transactions.reparse title: Journal Reparse tab: Architect order: 30 -audience: dev +audience: bcos --- How **Journal Reparse** is built end to end. The feature spans two services: the **transactions** SPA/proxy (UI + auth pass-through) and **hiveops-journal** (the actual owner of files, transactions, and the reparse action). See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/transactions/reparse/claude.md b/backend/src/main/resources/content/transactions/reparse/claude.md index 8cd5cff..f670d28 100644 --- a/backend/src/main/resources/content/transactions/reparse/claude.md +++ b/backend/src/main/resources/content/transactions/reparse/claude.md @@ -3,7 +3,7 @@ module: transactions.reparse title: Journal Reparse tab: Claude order: 40 -audience: dev +audience: bcos --- ## Ownership diff --git a/backend/src/main/resources/content/vault/cit-visits/architect.md b/backend/src/main/resources/content/vault/cit-visits/architect.md index 9ad59b6..c4650a8 100644 --- a/backend/src/main/resources/content/vault/cit-visits/architect.md +++ b/backend/src/main/resources/content/vault/cit-visits/architect.md @@ -3,7 +3,7 @@ module: vault.cit-visits title: CIT Visits tab: Architect order: 30 -audience: dev +audience: bcos --- How the CIT Visits feature is built. See [platform.service-ownership] — **hiveops-vault owns CIT visit data end to end**; it holds only a read-only mirror of device metadata. diff --git a/backend/src/main/resources/content/vault/cit-visits/claude.md b/backend/src/main/resources/content/vault/cit-visits/claude.md index 31b93c4..e8f9394 100644 --- a/backend/src/main/resources/content/vault/cit-visits/claude.md +++ b/backend/src/main/resources/content/vault/cit-visits/claude.md @@ -3,7 +3,7 @@ module: vault.cit-visits title: CIT Visits tab: Claude order: 40 -audience: dev +audience: bcos --- Terse act-without-guessing reference. All facts grounded in `hiveops-vault` source. diff --git a/backend/src/main/resources/content/vault/dashboard/architect.md b/backend/src/main/resources/content/vault/dashboard/architect.md index 63e1710..40d84ed 100644 --- a/backend/src/main/resources/content/vault/dashboard/architect.md +++ b/backend/src/main/resources/content/vault/dashboard/architect.md @@ -3,7 +3,7 @@ module: vault.dashboard title: Dashboard tab: Architect order: 30 -audience: dev +audience: bcos --- How the Vault Dashboard is built. It is a thin read view over `hiveops-vault` — no cross-service calls at request time, no executor/Kafka on the read path. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/vault/dashboard/claude.md b/backend/src/main/resources/content/vault/dashboard/claude.md index 78c9c49..4b0af11 100644 --- a/backend/src/main/resources/content/vault/dashboard/claude.md +++ b/backend/src/main/resources/content/vault/dashboard/claude.md @@ -3,7 +3,7 @@ module: vault.dashboard title: Dashboard tab: Claude order: 40 -audience: dev +audience: bcos --- Terse act-without-guessing reference. Owner: **`hiveops-vault`** (port 8094, DB `hiveiq_vault`). Frontend view `hiveops-vault/frontend/src/components/Dashboard/DashboardView.svelte`. diff --git a/backend/src/main/resources/content/vault/import/architect.md b/backend/src/main/resources/content/vault/import/architect.md index 4e9f2d8..a0b9818 100644 --- a/backend/src/main/resources/content/vault/import/architect.md +++ b/backend/src/main/resources/content/vault/import/architect.md @@ -3,7 +3,7 @@ module: vault.import title: Import tab: Architect order: 30 -audience: dev +audience: bcos --- How the CIT CSV import feature is built. Single owning service — no cross-service or event fan-out on this path. See [platform.service-ownership]. diff --git a/backend/src/main/resources/content/vault/import/claude.md b/backend/src/main/resources/content/vault/import/claude.md index a6ffa07..20437fe 100644 --- a/backend/src/main/resources/content/vault/import/claude.md +++ b/backend/src/main/resources/content/vault/import/claude.md @@ -3,7 +3,7 @@ module: vault.import title: Import tab: Claude order: 40 -audience: dev +audience: bcos --- Terse agent reference for CIT CSV import. **Owner: `hiveops-vault`** (port 8094, image `hiveiq-vault`, DB `hiveiq_vault`). Frontend: `hiveops-vault/frontend` `components/Import/ImportView.svelte`.