Files
OmniRoute/docs/architecture/MONITORING_SECTIONS.md
Diego Rodrigues de Sa e Souza 8bd17be8aa docs: refresh every stale count to measured values + harden docs-counts gate (#10196)
* docs(reference): regenerate PROVIDER_REFERENCE from live provider modules

The catalog was hand-stale at 291 since 2026-08-05 while the live provider
modules define 338 unique IDs. The generator also omitted the NOAUTH_PROVIDERS
module entirely (10 providers) and hardcoded the executor count in its footer;
both are now sourced from the live modules.

Refs #9985

* docs: refresh stale counts across README/AGENTS/llm.txt and architecture docs

Every count updated to values measured from the live code on 2026-08-12:
providers 291/271/248/236/226/212->338, migrations 110/117/130->144, MCP tools
94/99/104->105 (base 42->43), scopes 13/32->31, strategies 17/18->19,
Auto-Combo factors 12/13->14 (sessionAvailability row added to the table),
executors 67/78/84/89->101, quality gates ~48->~80, locales 29/30/39/40+->43
(41 non-source), A2A skills 5->6 (list-capabilities), free tier 43 pools/516
models/~1.53B/~2.15B->42/495/~1.51B/~2.13B, contributors 500+->320+ (324
unique emails), llm.txt version 3.8.47->3.8.50. llm.txt i18n mirrors resynced
(headers preserved, body mirrored).

Refs #9985

* docs(diagrams): sync SVG hero/pillars/comparison/cli/tier numbers

Text nodes and aria-labels only; layout, coordinates and animation values
untouched. providers 278/290->338 (cli list footer 264->334 more), MCP tools
104->105, strategies 18->19, free tier 43 pools/460+/516 models->42/495,
headline ~1.53B/~2.15B->~1.51B/~2.13B. All six SVGs re-validated as XML.

Refs #9985

* feat(check): harden docs-counts gate - live provider source, llm.txt, migrations, SVGs

The gate trusted PROVIDER_REFERENCE.md as the provider total, so a hand-stale
doc (291 vs 338 live) kept it falsely green. New STRICT checks: doc total vs
the live provider modules (same collections the generator unions), provider
count in llm.txt and package.json description, migration count vs
README/AGENTS/llm.txt, and a canonical-number sweep (providers/MCP
tools/strategies/pools) over the six README SVG diagrams with
coordinate/attribute-safe patterns. TDD: 9 new unit tests (red first on the
missing exports, green after) in tests/unit/check-docs-counts-sync.test.ts.

Refs #9985

* docs(readme): refresh What's New range and add v3.8.50 cycle highlights

---------

Co-authored-by: backryun <bakryun0718@proton.me>
2026-08-12 14:24:56 -03:00

6.0 KiB

title, version, lastUpdated
title version lastUpdated
Monitoring & Costs — Navigation Structure 3.8.40 2026-06-28

Monitoring & Costs — Navigation Structure

Implemented in Group B (plan 16). See src/shared/constants/sidebarVisibility.ts.


High-Level Navigation

The dashboard sidebar (after Group B) has these top-level sections in order:

Home
Providers
Combos
API Keys
Settings
Analytics
Costs          ← NEW (Group B, plan 16)
Monitoring     ← REORGANIZED (Group B, plan 16)
...

Costs section (new, level 1)

Path prefix: /dashboard/costs/

Item URL Description
Overview /dashboard/costs Aggregated cost dashboard (moved from Analytics)
Pricing /dashboard/costs/pricing Per-model pricing table
Budget /dashboard/costs/budget Budget thresholds + alerts
Quota Sharing /dashboard/costs/quota-share Quota Share pools + usage
Plan Config /dashboard/costs/quota-share/plans Per-provider plan overrides

Rationale: Pricing, Budget, and Quota Sharing were previously under Monitoring > Costs Parameters. Moving them to a dedicated top-level section makes them discoverable without navigating through observability tooling.


Monitoring section (reorganized)

The Monitoring section now has Activity at the top followed by 3 subgroups:

Monitoring
├── Activity             ← Timeline feed (top-level item)
├── Logs group
│   ├── Logs (all)
│   ├── Proxy Logs
│   └── Console Logs
├── Audit group
│   ├── Audit Log
│   ├── MCP Audit
│   └── A2A Audit
└── System group
    ├── Health
    └── Runtime

What changed from the old structure

Before After
Activity = tab inside Logs that rendered the Audit Log Activity = dedicated feed (/dashboard/activity)
Costs Parameters group in Monitoring Moved to Costs section
Flat list: Logs, Activity (logs), Audit, Health, Runtime, Pricing, Budget, Quota Structured 3-group + dedicated Costs section

Activity vs Audit Log

These two are now distinct:

Dimension Activity (/dashboard/activity) Audit Log (/dashboard/audit)
Purpose User-facing event feed ("what happened recently") Compliance / security log
Data source GET /api/compliance/audit-log?level=high GET /api/compliance/audit-log?level=all
Format Timeline, grouped by day, human-readable verbs + icons Dense paginaged table, 50/page
Filters Event type category Action, severity, actor, date range
Export Not available JSON export
Actor filter Not applicable Filterable by actor
Events shown High-level actions only (allowlist) All audit events

High-Level Actions allowlist

Defined in src/lib/audit/highLevelActions.ts. Controls which events appear in the Activity feed. The allowlist includes:

  • Provider add/remove/test events
  • Combo create/update/delete
  • API key lifecycle (create, revoke, rotate)
  • Budget threshold reached
  • Auth login/logout
  • Cloud agent session creation
  • MCP tool registration
  • Webhook create/delete
  • Quota pool/plan changes (quota.* actions, Group B)
  • Platform events (update, deploy)
  • Skill install/remove

Events not in this list appear only in the Audit Log.

Adding a new high-level action

Edit src/lib/audit/highLevelActions.ts and add the action string to HIGH_LEVEL_ACTIONS. This requires a PR (the list is code, not DB-configurable). The corresponding icon can be added to src/lib/audit/activityIcons.ts.


Redirect: /dashboard/logs/activity

The old path /dashboard/logs/activity is permanently redirected (HTTP 308) to /dashboard/activity via permanentRedirect() in src/app/(dashboard)/dashboard/logs/activity/page.tsx.

The legacy sidebar ID logs-activity is preserved in HIDEABLE_SIDEBAR_ITEM_IDS (but removed from SIDEBAR_DEFINITIONS) to avoid breaking user presets that reference the old ID.


i18n

Namespaces added by Group B:

Namespace key Covers
sidebar.costsSection Costs section label
sidebar.activity Activity sidebar item
sidebar.logsGroup Logs subgroup label
sidebar.systemGroup System subgroup label
sidebar.costsOverview Costs overview item
activity.* All Activity page strings (title, verbs, filters, empty state)

Source-of-truth locales: pt-BR and en. All other 41 locales fall back to English via the next-intl fallback mechanism (configured in src/i18n/config.ts).