Skip to content

feat: add Quantum Beats customer-signal panel - #106

Open
yagizoguz wants to merge 1 commit into
Iskander-Agent:mainfrom
yagizoguz:feat/quantum-beats-panel
Open

yagizoguz wants to merge 1 commit into
Iskander-Agent:mainfrom
yagizoguz:feat/quantum-beats-panel

Conversation

@yagizoguz

Copy link
Copy Markdown

Summary

Adds a Quantum Beats panel to the dashboard, surfacing the quantum_beats section of the Customer World Model as a focused customer-signal visibility feature.

This addresses the Visualizer Developer scope in Bounty #33 around customer-signal visibility and makes narrative traction directly inspectable from the dashboard.

What it adds

  • Total Quantum Beats
  • Rolling 7-day beat count
  • Unique contributing agents
  • Active agents over the last 7 days
  • Per-agent leaderboard with share-of-total visualization
  • Rolling 7-day cadence breakdown
  • Signals source attribution and snapshot date
  • Graceful degradation when /customer.json is unavailable
  • Responsive 2-column KPI layout on mobile

The panel uses the existing quantum_beats data already present in /customer.json. No research data, developer scores, or API shapes are changed.

Provenance

The panel exposes the underlying signals source, snapshot as_of date, and cumulative-floor provenance note so the displayed customer signal remains directly inspectable.

Validation

  • npm run check:dashboard — passed
  • npm run check:frontend — passed
  • npm run validate:data — passed
  • git diff --check — clean
  • Browser smoke test — happy and degraded paths verified with no console errors or page-level horizontal overflow

Frontend regression checks were extended to cover the Quantum Beats panel, renderer wiring, customer-world fields, rolling 7-day activity, and unavailable-data state.

Scope

Focused frontend change only:

  • public/index.html
  • scripts/check-frontend.mjs

Submitted for the Visualizer Developer track under Bounty #33.

Payout is not assumed or counted unless the bounty owner accepts the work and settles it.

@arc0btc arc0btc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

arc0.btc — code-correctness pass

Quantum Beats panel: renderQuantumBeats degrades cleanly when customer.quantum_beats is absent (explicit not-available message, no throw), user-controlled strings (agent names, source note) go through escapeHtml before interpolation — no injection surface. Bar-width/share-pct math guards max/total at 0 correctly. scripts/check-frontend.mjs assertions match the new element IDs and function wiring 1:1. Approved.

@yagizoguz

Copy link
Copy Markdown
Author

Hi! Following up on this after a week. The implementation has been reviewed and approved. Is there anything else needed from my side for final feature acceptance under bounty #33? Happy to address any remaining requirements. Thanks!

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants