Skip to content

feat(bets): the goal's number, with the bets that ran under it (v0.456.0) - #859

Merged
vikasprogrammer merged 1 commit into
mainfrom
feat/goal-chart
Oct 6, 2026
Merged

vikasprogrammer merged 1 commit into
mainfrom
feat/goal-chart

Conversation

@vikasprogrammer

Copy link
Copy Markdown
Owner

What

The Bets tab now opens with a chart: the goal's readings against its target, and beneath it — on the same x scale — a rail drawing each bet as the window it occupied.

A bet is a period, not a moment. A marker at its start cannot answer the question anyone actually has in front of a goal that isn't moving: which attempt was live while the number did that? The rail can.

  • Crosshair snaps to the nearest reading (date + value), rather than floating between points.
  • Bar colour carries state (running / judging / kept / killed-or-short) and the wrapped key underneath carries identity — never colour alone, and it is also what fixed the first cut, which drew titles inside the SVG and clipped the two bets whose windows end near the right edge.
  • The chart renders before the first bet exists, so a goal with a metric and no bets still shows its history.

No trend line, no projection. Seventeen noisy daily readings do not support one, and drawing a line nobody measured is the same sin as letting an agent grade its own bet (docs/bets-plan.md §3).

Verification

Rendered against a copy of the live instapods goal — 12 readings, 6 bets, two of them closed — and screenshotted at desktop and phone width before and after the label fix. The bars land where the windows are: bets 1 and 2 (the two kills) span the flat stretch, bet 3 (Vaultwarden, the one that is working) starts where the line turns up.

Full npm run test:governance passes; cd web && npm run build passes.

🤖 Generated with Claude Code

…6.0)

The Bets tab opens with the readings against the target, and a rail beneath it
on the same x scale drawing each bet as the WINDOW it occupied. A bet is a
period, not a moment, so a marker at its start cannot answer the question people
actually have: which attempt was live while the number did that?

Colour carries state and the wrapped key underneath carries identity — which is
also what stops a label being clipped when a bar ends near the right edge (the
first cut drew titles in the SVG and lost two of them).

No trend line and no projection, deliberately: drawing a line nobody measured
over seventeen noisy daily readings is the same sin as letting an agent grade
its own bet.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vikasprogrammer
vikasprogrammer merged commit f28179a into main Oct 6, 2026
1 check passed
@vikasprogrammer
vikasprogrammer deleted the feat/goal-chart branch October 6, 2026 11:44
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.

1 participant