🍊😺 obot
Launched
Commit8d9ba9b

changelog v4.8.1 is current with this build

What changed · full log

← All goals

Objective: Data loading and mapping — a user's own files into the portfolio, nothing leaving the browser

Goal issue #329 · slug data-loading

1/5 member issues closed

Other open members 4

no readiness label yet.

✅ Done 1

closed members.

Direction

Intent

Bring SafetyViz to parity with the old safetyGraphics app's data loader and mapping: a user drops their own files into the portfolio page, the tool recognises the domains and standard, lets them correct the column mapping, and loads the consolidated portfolio with the chart-status panel reflecting what their data supports, with nothing leaving the browser (plan, 2026-09-10, objective 4, lane A).

Definition of done

End state: on the portfolio page a user loads CSV or JSON files through the browser's file API with no upload and no server; the domain and standard are detected from column names, with plain-language errors when a file cannot be placed; a per-domain column mapping is auto-filled from the detected standard, editable by hand, validated field by field and saved into the study configuration; mapped data flows into every chart, the chart-status panel recomputes from the mapping, and the participant drill-down follows the mapped identifiers.

Proof: npm run test:e2e -- loader passes, loading a deliberately non-standard dataset from the evidence set, mapping it, and asserting that every chart renders and the status panel reads the expected count, with the test also asserting that no network request leaves the page; the dev site shows the loader on the portfolio page; every requirement below is closed with its proof comment and the release tagged.

Ships in: safety.viz v2.0.0 (proposed), milestone 2026-10-talk.

Requirements

In session order:

  1. Local file loading and standard detection: CSV and JSON through the browser, placed by domain and standard (#333).
  2. The mapping module: per-domain column mapping, auto-filled from the detected standard, editable, validated and saved (#334).
  3. Fit and load: mapped data flows into the portfolio, the chart status recomputes and the drill-down follows the mapped identifiers (#335).

Boundaries


This issue was drafted by Claude Code using Fable 5.1 from the plan of 2026-09-10, on @jwildfire's in-session approval to file it; the body is his to edit and the tree is signed off only by his comment here.


Members are generated from the objective issue's sub-issue links at build time; priority is the selecting session's judgment, not list order (#53 v2). The --auto policy binding — active/paused, grant profile, repo-level backlog feeds — lives in obot.agent/goals/registry.json. Readiness labels: auto = ready for autonomous implementation, draft = needs @jwildfire steering.