Skip to content

✨ evidence: panel 6 — work balance (issues opened by kind vs closed) - #12389

Merged
hivecommons-hive[bot] merged 1 commit into
v5from
ev-work-balance
Oct 16, 2026
Merged

hivecommons-hive[bot] merged 1 commit into
v5from
ev-work-balance

Conversation

@clubanderson

@clubanderson clubanderson commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Closes #12366 — RFC #12062, proposal B panel 6 — Work balance (Tamar's F3: work amplification).

Rebased onto v5 after #12386 and #12416 landed: adds an EV_EXPLAINERS entry (work-balance, graded on closed ÷ opened via EV_BALANCE_*) and honours the 24h/7d/30d/custom window (evidenceWindow from/to, end-exclusive) in the aggregation.

What

  • GET /api/evidence/summary gains work_balance[]: per ISO week over the same hours/repo contract as /api/pr-throughput, built from the same audit entries (prThroughputEntries) as the Throughput actor matrix:
    • opened by actor kind {human, agent, bot} — agent_issue_created → agent, hive_issue_created (advisory / ACMM-gap issues) → bot
    • closed — agent_issue_closed
    • n, throttled (reserved; always false)
  • Disclosed under missing: issues_human_opens_unobserved: true (the audit log only records hive-mediated issue writes, so issues humans or third-party bots open directly on GitHub are not observed) and throttle_windows_unavailable: true.
  • Throttle shading omitted, as the loosened AC allows. I grepped api_governor_watchdog.go, pkg/governor and issue_request_watcher.go: the only throttle is the per-agent resume-kick interval_throttle; there is no issue-creation throttle window signal. The panel note says "Throttle windows not reported by this hive, so no weeks are shaded." The SVG already shades weeks flagged throttled, so a future signal only needs the API side.
  • UI: evPanel('work-balance', …) appended to the Evidence card — inline SVG with opened stacked by kind + closed line, n=, and a "what this does not show" note (issues only; not weighted by size; agent-opened issues count whether or not acted on; human column caveat; throttle note). New CSS classes only.
  • Tests: TestBuildEvidenceWorkBalance (kind split, window/repo filters, PR actions ignored, bad/future timestamps dropped, empty non-null slice) and TestHandleEvidenceSummaryWorkBalanceFromRing (handler reads the audit ring and emits both missing flags); UI snippets + callee guard in evidence_card_ui_test.go.
  • Docs: api-reference.md, review-evidence.md, changelog fragment.

Guardrail (RFC #12062 Non-goals)

Record/read-path only. Nothing here reads into or alters merge eligibility or auto-merge; tests touch only the aggregation, the summary handler and the static page, not gate logic.

cc @mrbobbytables

@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 danathar 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

@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
#12388 ✨ dashboard: Evidence panel 4 — boundary enforcement (attempted vs blocked writes per tier; sentinel hits/week) CONFLICT src/docs/api-reference.md
src/pkg/dashboard/evidence_card_ui_test.go
src/pkg/dashboard/static/index.html
#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 same files src/pkg/dashboard/api_evidence_summary.go
src/pkg/dashboard/evidence_card_ui_test.go
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
@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 removed the conflicts-with-open-pr Open PR has a merge conflict with another open PR 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
@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/api_evidence_summary.go, src/pkg/dashboard/evidence_card_ui_test.go, src/pkg/dashboard/static/index.html (overlaps #12388 too — land one, then rebase the other). 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
Add work_balance[] weekly rows to GET /api/evidence/summary, built from
the same audit entries as /api/pr-throughput (same hours/repo contract):
issues opened split by human/agent/bot against issues closed. Only
hive-mediated issue writes are audited and no governor issue-creation
throttle signal exists, so both gaps are disclosed under missing and the
panel note says throttle windows are not reported; no shading is drawn.

Read-only reporting; nothing here reads into or alters merge eligibility.

Closes #12366

Signed-off-by: Andy Anderson <andy@clubanderson.com>
@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
@hivecommons-hive
hivecommons-hive Bot merged commit e0b3428 into v5 Oct 16, 2026
74 of 75 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 b1e32da.

@kubestellar-prow
kubestellar-prow Bot deleted the ev-work-balance branch October 16, 2026 15:16
@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.

✨ evidence: panel 6 — work balance (issues opened human/agent/bot vs closed; throttle shading)

1 participant