Skip to content

feat: Cluster C — decision/site legibility (analysed count, decision icons, stacked site chart) - #37

Merged
martinemnoble1 merged 3 commits into
mainfrom
feat/c-per-site-analysed-count
Jun 10, 2026
Merged

feat: Cluster C — decision/site legibility (analysed count, decision icons, stacked site chart)#37
martinemnoble1 merged 3 commits into
mainfrom
feat/c-per-site-analysed-count

Conversation

@martinemnoble1

Copy link
Copy Markdown
Owner

Erin/crystallographer feedback, Cluster C (decision & site legibility). Three small, related changes.

C1 — per-site "analysed N/total" count (the screenshot ask)

A built/hit badge alone made a partly-reviewed site look fully analysed. Group headers now carry an N/total analysed chip next to the event count — amber while events remain unreviewed, green when the site is fully decided, with a "K still to analyse" tooltip. Reuses the existing decision !== "unreviewed" definition.

C2 — distinct decision icons on event chips

no_hit and ambiguous shared the generic view icon, so they read as unreviewed. The icon now carries the decision: hit = check, no-hit = ✕ (Cancel), ambiguous = ? (Help), unreviewed = cube. Build status stays on the chip border — no new chips.

C3 — per-site chart stacked by decision

The "events per site" chart overlaid only Events + Hits, so no-hit/ambiguous never showed. It's now a stacked bar per site (hit / no-hit / ambiguous / unreviewed summing to the event count) — surfaces the full decision mix and curation progress on one axis, and is less busy than overlaid bars.

  • Backend: per-site rollup emits n_no_hit/n_ambiguous (additive; 119 tests pass).
  • Client: SiteSummary type + stacked chart.

Not done (deliberately)

Chip density on the dtag card was noted but left alone — declutter waits for the crystallographer to name what's noise rather than guessing.

Verification

tsc clean; backend tests pass (119, 4 skipped). Verified in-app: analysed counts tick/colour correctly, decision icons distinct, stacked chart updates as events are decided.

🤖 Generated with Claude Code

martinemnoble1 and others added 3 commits June 10, 2026 18:50
A built/hit badge alone made a partly-reviewed site look fully analysed
(Erin: 'it makes it look like I've analysed all the events at the site...
could you list the number analysed'). Add an analysed-count chip beside the
event count: amber while events remain unreviewed (decision==unreviewed),
green when the whole site is decided, with a 'N still to analyse' tooltip.
Reuses the existing decision!=unreviewed definition (grouping.decisionTally).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
no_hit and ambiguous events shared the generic view icon, so they read as
unreviewed (Erin: 'no hit and ambiguous didn't always show status'). Make
the icon carry the decision: hit=check, no_hit=cancel (X), ambiguous=help
(?), unreviewed=cube. Build status stays on the chip border, so no new
chips — the icon just becomes legible per decision.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The 'events per site' chart overlaid only Events + Hits, so no-hit and
ambiguous never showed (Erin: 'no hits/ambiguous don't show up on the
dashboard graphs'). Make it a STACKED bar per site — hit/no-hit/ambiguous/
unreviewed segments summing to the event count — so the full decision mix
and curation progress read off one axis (and it's less busy than overlaid
bars). Backend per-site rollup now emits n_no_hit/n_ambiguous (additive);
client SiteSummary + chart consume them. Colours mirror the event-chip
decision semantics.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@martinemnoble1
martinemnoble1 merged commit 155b0fb into main Jun 10, 2026
4 checks passed
@martinemnoble1
martinemnoble1 deleted the feat/c-per-site-analysed-count branch June 10, 2026 18:45
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