38j.5 — Provision the Akh and Seshat Grafana dashboard #635

Open
toasterson wants to merge 2 commits from anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d into main
Owner

Proposed changes for work item 01a0297c-b49b-75f3-a7bf-d7015fdae67d.

Anima tracks the implementation, review and validation for this work item.

<!-- anima-work-item:01a0297c-b49b-75f3-a7bf-d7015fdae67d --> Proposed changes for work item `01a0297c-b49b-75f3-a7bf-d7015fdae67d`. Anima tracks the implementation, review and validation for this work item.
feat(chart): WI-327 (38j.5) provision Akh & Seshat Grafana dashboard
Some checks failed
CI / check-akh-medu (pull_request) Successful in 28m34s
CI / check-seshat (pull_request) Successful in 5m30s
CI / platform-images-home (pull_request) Has been skipped
CI / platform-images-fleet (pull_request) Has been cancelled
CI / platform-images-collect (pull_request) Has been cancelled
CI / docker-seshd (pull_request) Has been cancelled
CI / test-akh-medu (pull_request) Successful in 22m25s
CI / platform-images-core (pull_request) Has been skipped
CI / test-sokar (pull_request) Successful in 12m46s
CI / publish-chart (pull_request) Successful in 7m51s
CI / docker-sokard (pull_request) Successful in 21m18s
CI / platform-images-daemons (pull_request) Has been skipped
CI / docker-akh-transcripts (pull_request) Successful in 28m52s
CI / test-session-platform (pull_request) Failing after 30m23s
8690d26522
Provision the operator dashboard for the 38j.2-38j.4 OTLP metrics through
the chart's GitOps convention: templates/grafana-dashboard-configmap.yaml
renders a ConfigMap labelled grafana_dashboard=1 embedding
dashboards/akh-seshat-health.json (15 panels, 6 groups: OODA health,
cognitive subsystems, KG latency, ACP turn/request/tool timing, Seshat
request & embedding health, process baseline). The cluster Grafana sidecar
loads it with the rest of the Flux-managed release; no orphan JSON, no
second exporter/collector, no datasource UIDs (DS_PROMETHEUS variable of
type datasource), no pod identities, no templating query variables.

- values: grafanaDashboard.{enabled,extraLabels,annotations} (folder hint)
- Chart.yaml 0.1.18 -> 0.1.19 (manual chart versioning convention)
- tests/grafana-dashboard_test.yaml covers render-on/off + label/annotation merge
- docs/ops/akh-seshat-dashboard.md carries the full query-name audit:
  every paneled metric has a recording call site at base 840d804e;
  emitted-but-unpaneled and registered-but-unrecorded instruments each
  carry an explicit rationale. No runtime Rust changes.

Validated: python json.tool; helm lint; helm template (+ disabled +
extraLabels + grafana_folder cases); ConfigMap-embedded dashboard JSON
parses back out of the rendered manifest; expr metric-name cross-check
against src/metrics.rs and crates/seshat/src/metrics.rs.
fix(chart): WI-327 (38j.5) query collector-normalized exported metric names
Some checks failed
CI / test-session-platform (pull_request) Failing after 24m2s
CI / test-sokar (pull_request) Failing after 12m1s
CI / check-seshat (pull_request) Successful in 13m6s
CI / check-akh-medu (pull_request) Successful in 13m27s
CI / docker-seshd (pull_request) Successful in 18m12s
CI / test-akh-medu (pull_request) Successful in 21m54s
CI / platform-images-home (pull_request) Has been skipped
CI / platform-images-core (pull_request) Has been skipped
CI / platform-images-daemons (pull_request) Has been skipped
CI / docker-sokard (pull_request) Successful in 19m3s
CI / docker-akh-transcripts (pull_request) Successful in 25m59s
CI / platform-images-fleet (pull_request) Has been skipped
CI / platform-images-collect (pull_request) Has been skipped
CI / publish-chart (pull_request) Successful in 38m41s
a93318e5fd
Review round 1 (correctness) rejected the dashboard queries: they assumed
unmapped OTel units leave Prometheus names unchanged. The Collector's
normalizeName (pkg/translator/prometheus, reviewed at v0.120.0) appends
unknown units verbatim as a final name token (unitMapGetOrDefault) and moves
'total' to the end for monotonic sums -- the 10 unit-bearing selectors in
panels 1,3,4,7,9,11,13 rendered empty series. Deployed-path evidence stays
consistent with the rule set: the live-verified akhrtd series show
_total type-suffix and s->seconds unit appending active (observability/
dashboard-query-verification-20260917.json).

- dashboard JSON: rewrite the 10 selectors to exported names
  (akh_ooda_cycles_cycle_total, akh_active_goals_goal,
  akh_working_memory_size_symbol, akh_subsystem_runs_run_total,
  akh_acp_turns_turn_total, akh_tool_invocations_invocation_total,
  akh_tool_failures_failure_total, seshat_mcp_requests_request_total,
  seshat_pending_embedding_chunks_chunk,
  seshat_embed_chunks_processed_chunk_total); unit 's' histograms unchanged.
- scripts/observability/check-akh-seshat-dashboard-names.py: focused
  exported-name check -- parses src/metrics.rs + crates/seshat/src/metrics.rs,
  applies normalizeName (50 instruments -> 50 unique exported names, no
  collisions), asserts all 18 dashboard selectors match an exported family
  (cAdvisor baseline allow-listed). Author run: OK.
- helm-unittest golden needles pin the exported names in the rendered
  ConfigMap (incl. negative guards for the superstring gauge names).
- docs/ops/akh-seshat-dashboard.md: corrected translation section with the
  source-derived rules and deployed-path evidence; audit tables now list
  exported names; validation runs the new check.
- Chart version 0.1.19 -> 0.1.20 (chart payload changed).

No runtime Rust instrumentation changes; no new collector/exporter wiring.
Some checks failed
CI / test-session-platform (pull_request) Failing after 24m2s
CI / test-sokar (pull_request) Failing after 12m1s
CI / check-seshat (pull_request) Successful in 13m6s
CI / check-akh-medu (pull_request) Successful in 13m27s
CI / docker-seshd (pull_request) Successful in 18m12s
CI / test-akh-medu (pull_request) Successful in 21m54s
CI / platform-images-home (pull_request) Has been skipped
CI / platform-images-core (pull_request) Has been skipped
CI / platform-images-daemons (pull_request) Has been skipped
CI / docker-sokard (pull_request) Successful in 19m3s
CI / docker-akh-transcripts (pull_request) Successful in 25m59s
CI / platform-images-fleet (pull_request) Has been skipped
CI / platform-images-collect (pull_request) Has been skipped
CI / publish-chart (pull_request) Successful in 38m41s
This pull request has changes conflicting with the target branch.
  • charts/akh-medu/Chart.yaml
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d:anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d
git switch anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d
git switch anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d
git rebase main
git switch main
git merge --ff-only anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d
git switch anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d
git rebase main
git switch main
git merge --no-ff anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d
git switch main
git merge --squash anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d
git switch main
git merge --ff-only anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d
git switch main
git merge anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d
git push origin main
Sign in to join this conversation.
No reviewers
No labels
follow-up
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
toasterson/akh-medu!635
No description provided.