fix(observability): clarify manual/commented/ignored panel semantics - #4134
Conversation
The Manual review, Commented (advisory), and Ignored stat panels on the maintainer Reviews & PRs dashboard count review_targets rows by their most-recent status within the selected window, not lifetime occurrences. A PR that entered manual review and was later resolved in the same window disappears from these panels entirely, reading lower than a maintainer's felt sense of activity. Add plain-language panel descriptions explaining this latest-update-in-window semantics and bump the dashboard version. A true additive event-count metric sourced from audit_events is a separate, larger follow-up (part 2 of #3717) pending investigation of where review_targets.status is set to commented/ignored. Advances #3717
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4134 +/- ##
=======================================
Coverage 93.71% 93.71%
=======================================
Files 385 385
Lines 36197 36197
Branches 13264 13264
=======================================
Hits 33921 33921
Misses 1618 1618
Partials 658 658 🚀 New features to boost your workflow:
|
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-08 07:19:39 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 5 non-blocking
Concerns raised — review before merging
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Summary
Manual review,Commented (advisory), andIgnoredstat panels (id 5/6/7) queryreview_targetsfiltered byunixepoch(updated_at)falling inside the dashboard's selected time window. This makes them "latest-update-in-window" counts, not lifetime/cumulative counts: a PR that enteredmanualand was latermerged/closedwithin the same window shows only under Merged/Closed, never under Manual — it disappears rather than accumulating. This under-reports real activity for anyone who actively resolves their manual-review queue, matching the reported symptom in fix(observability): clarify manual/commented/ignored panel semantics on the Reviews & PRs dashboard #3717.descriptionfield to panels 5/6/7 explaining this latest-update-in-window semantics, and bump the dashboardversion.audit_events(or a newly-added emission point), which needs a real investigation of wherereview_targets.status/.verdictactually gets set tocommented/manual/ignoredfor gittensory-native PRs — not yet located as of the issue filing, and too large to bundle here. Not forgotten.Advances #3717
Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Advances #3717, notCloses, since only part 1 of 2 is shipped here).Validation
git diff --checknpm run actionlint— not run locally (no workflow files touched); left to CI.npm run typecheck(npx tsc --noEmit -p .)npx vitest run test/unit/selfhost-grafana-dashboard.test.ts(targeted; 12/12 passing including the new assertion) — full unshardedtest:coveragenot run locally per this session's noted contention (spurious.tmpmerge races under concurrent load); nosrc/**lines changed socodecov/patchhas nothing to measure.npm run test:workers— not run; no worker code touched.npm run build:mcp/npm run test:mcp-pack— not run; no MCP code touched.npm run ui:openapi:check— N/A, no API/schema changes; not run.npm run ui:lint/npm run ui:typecheck/npm run ui:build— not run; noapps/gittensory-ui/**changes.npm audit --audit-level=moderate— not run this session (dependency review unaffected; nopackage.json/lockfile changes).node scripts/validate-observability-configs.mjs(theselfhost:validate-observabilitycheck) — passes against the edited dashboard.test/unit/selfhost-grafana-dashboard.test.tsasserts panels 5/6/7 carry a non-empty description mentioning the windowed semantics.If any required check was skipped, explain why:
grafana/dashboards/**+test/**change (nosrc/**, no workflow, no UI, no MCP, no dependency changes), so the skipped checks above are inapplicable to the diff; CI runs the full authoritative gate regardless.Safety
apps/gittensory-ui/**changes; this is a Grafana dashboard JSON config, not app UI, so no screenshot evidence applies.UI Evidence
N/A — this changes a self-hosted Grafana dashboard's panel metadata (JSON config consumed by an operator's own Grafana instance), not
apps/gittensory-ui/**or any in-repo rendered UI, so there is no screenshot surface to capture.Notes
audit_events-backed event-count panel) is a deliberate, separate follow-up — it requires locating the actual call site(s) that setreview_targets.status/.verdicttomanual/commented/ignoredfor gittensory-native PRs, which is not yet confirmed, and is a larger change than this narrow clarity fix.