Skip to content

✨ dashboard: Evidence panel 4 — boundary enforcement (attempted vs blocked writes per tier; sentinel hits/week) - #12388

Merged
hivecommons-hive[bot] merged 1 commit into
v5from
feat/evidence-panel4-12368
Oct 16, 2026
Merged

hivecommons-hive[bot] merged 1 commit into
v5from
feat/evidence-panel4-12368

Conversation

@clubanderson

@clubanderson clubanderson commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Closes #12368 — RFC #12062, proposal B (API + dashboard), panel 4 — Boundary enforcement (the N behind "nothing bad happened").

What

  • New evPanel card Boundary enforcement in the Throughput section's Evidence sub-panel, between panels 3 and 8. Same ev-panel chrome, inline SVG, no new deps, no inline style=.
  • Attempted vs blocked bars per intent tier (0 ADVISORY … 3 ISSUES_PRS_MERGE, unknown tier keys after), scaled against the busiest tier, blocked % on the row, and the top 3 blocked_by_reason codes in the row <title> tooltip.
  • Sentinel hits per ISO week sparkline from sentinel_hits_per_week, first/last week labels and total / peak in the legend.
  • n= is total attempted writes across tiers.
  • "What this does not show" note: counters are proxy-side observations (all-time totals from the durable file; reset semantics follow the weekly file; they do not follow the Throughput window), direct writes that bypass the proxy are invisible, and intent-verification would-block counts are not part of these bars (kept generic so it stays accurate whether or not ✨ intent: per-tier evaluated / would-block counters in the audit log + durable counter file #12362 has landed).
  • Graceful empty state when write_counters is omitted (counter file absent) and when no sentinel weeks exist.
  • API: EvidenceWriteCount in GET /api/evidence/summary now passes through blocked_by_reason (omitempty) from the counter file so the tooltip has data; api-reference.md and review-evidence.md updated. Changelog fragment added.
  • Tests: evidence_card_ui_test.go pins the helpers, panel key, tier list, reason handling, empty states, note text, CSS and panel order; evWriteCountersSvg / evSentinelSparkline added to the ReferenceError guard; TestLoadEvidenceWriteCounters checks blocked_by_reason.

Guardrail (RFC #12062 Non-goals)

Record/read-path only. Nothing in this PR reads into or alters merge eligibility or auto-merge; the proxy counters are read from the file, never written, and tests touch only the summary loader and index.html markup.

cc @mrbobbytables


Update (rebase onto v5 after #12416):

  • Rebased onto origin/v5; panel order is now 1 · 2 · 3 · 4 · 5 · 8.
  • Added the EV_EXPLAINERS['boundary-enforcement'] ⓘ explainer (Why it matters · What is measured · How it is measured · What good looks like · What ours shows). Graded on proxy-blocked ÷ attempted agent writes via new named constants EV_BLOCKED_STRONG = 0.05 / EV_BLOCKED_FAIR = 0.15; row added to the grade table in review-evidence.md.
  • Window behaviour: sentinel_hits_per_week is built from the bundles selected by the 24h/7d/30d/custom window (hours/from/to) so it follows the selector. write_counters come from the proxy's durable counter file which only stores all-time totals (no per-time data), so they cannot follow the window — this is disclosed in the panel note and the explainer rather than hidden.
  • SVG helpers size from EV_SVG_W; fixed a v5 test comparison (EvidenceWriteCount is no longer comparable once blocked_by_reason is a map).

@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 16, 2026
@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign clubanderson for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubestellar-prow kubestellar-prow Bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Oct 16, 2026
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Open PR overlap check

Base branch: v5

Conflicts are checked with every PR merged onto the current tip of v5, so a PR that only needs a rebase is not reported as conflicting with its siblings.

PR Title Relation Files
#12434 ✨ labels: stage/N state-machine labels for issues and PRs same files src/pkg/dashboard/static/index.html
#12421 ✨ nous: deliver opt-in Hive-self feature flags over heartbeat same files src/docs/api-reference.md
#12415 ✨ feat(dashboard): add evidence maintainability trend panel CONFLICT src/pkg/dashboard/static/index.html
#12428 ✨ evidence: emit revert rates by author kind for the hub drill-down same files src/docs/review-evidence.md
#12332 ✨ feature: Add cadence templates for quickly setting cadence for all agents (#12300) same files src/pkg/dashboard/static/index.html

@github-actions github-actions Bot added the conflicts-with-open-pr Open PR has a merge conflict with another open PR label Oct 16, 2026
@github-actions github-actions Bot removed the conflicts-with-open-pr Open PR has a merge conflict with another open PR label Oct 16, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor

hive: this PR now conflicts with v5 (mergeable_state=dirty) in: src/docs/api-reference.md, src/docs/review-evidence.md, src/pkg/dashboard/evidence_card_ui_test.go, src/pkg/dashboard/static/index.html (the evidence panels 5/#12386 and maintainability work landed on v5 in the same regions). Hive does not rewrite human-authored branches, so it is deferred until rebased; CI re-runs on push and the sweep merges when green.


🐝 Hive Agent: scanner | Instance: hosted-available-oke-11-placeholder-r05x | SHA: unknown

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive hivecommons-hive Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 16, 2026
@clubanderson
clubanderson force-pushed the feat/evidence-panel4-12368 branch from 0b70f62 to d7a3409 Compare October 16, 2026 15:10
@kubestellar-prow kubestellar-prow Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 16, 2026
@github-actions github-actions Bot added the conflicts-with-open-pr Open PR has a merge conflict with another open PR label Oct 16, 2026
@github-actions github-actions Bot removed the conflicts-with-open-pr Open PR has a merge conflict with another open PR label Oct 16, 2026
Adds the Boundary enforcement evPanel card to the Throughput Evidence
sub-panel: attempted-vs-blocked agent writes per intent tier (top block
reasons in the tooltip) from write_counters, and a sentinel hits per ISO
week sparkline from sentinel_hits_per_week. write_counters in
GET /api/evidence/summary now passes through blocked_by_reason. Empty
state when the counter file is absent. Reporting only; nothing reads or
alters merge eligibility.

Rebased onto v5 after #12416: adds the EV_EXPLAINERS entry (graded on
proxy-blocked ÷ attempted writes via EV_BLOCKED_STRONG/FAIR), sizes the
SVG helpers from EV_SVG_W, and discloses that write_counters are all-time
proxy totals while sentinel_hits_per_week follows the selected window.

Closes #12368

Signed-off-by: Andy Anderson <andy@clubanderson.com>
@clubanderson
clubanderson force-pushed the feat/evidence-panel4-12368 branch from d7a3409 to 4d6a517 Compare October 16, 2026 15:23
@github-actions github-actions Bot added the conflicts-with-open-pr Open PR has a merge conflict with another open PR label Oct 16, 2026
@hivecommons-hive
hivecommons-hive Bot merged commit dfe7ec9 into v5 Oct 16, 2026
70 of 71 checks passed
@hivecommons-hive

Copy link
Copy Markdown
Contributor

merged by Hive trusted-author auto-merge: author @clubanderson holds role owner and GitHub permission admin on repo; CI green at 4d6a517.

@kubestellar-prow
kubestellar-prow Bot deleted the feat/evidence-panel4-12368 branch October 16, 2026 15:34
@github-actions

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

We'd love to hear how your experience was: share feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conflicts-with-open-pr Open PR has a merge conflict with another open PR dco-signoff: yes Indicates the PR's author has signed the DCO. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ dashboard: Evidence panel 4 — boundary enforcement (attempted vs blocked writes per tier; sentinel hits/week)

1 participant