Skip to content

I2654 — A chart is held to its table by a gate, and the tables that are measured series are drawn

Give the chart component (site/charts.js, ADR 0152) the two checks it lacks, and declare the remaining tables whose content is a measured series as charts: the benchmark baselines, the economics pairs and segments, the claims by status.

READY wave 1 · p3 · implementation profile · parallel safe

Part of surfaces-never-disagree — Every surface projects the same state, says when it was observed, and keeps no list of its own.

Ready. Every dependency is done, so majordomus plan start I2654 will be accepted.

Objective

Give the chart component (site/charts.js, ADR 0152) the two checks it lacks, and declare the remaining tables whose content is a measured series as charts: the benchmark baselines, the economics pairs and segments, the claims by status.

Why

I2653 delivered the component and two charts. What a chart read from its table is asserted by no gate, and the interaction probe claims nothing on a chart because a chart declares no control; both were verified once, by hand, in a headless browser.

Current state

Two figures carry data-chart (/plan/, /economics/). No case builds a fixture figure and asserts the series; no behaviour spec opens a chart; ECharts is loaded only where those two pages ask for it.

Desired state

A browser check reads window.mjCharts for every figure[data-chart] of the built site and fails when a series differs from the cells of its table or the chart did not draw; site-check fails a figure[data-chart] with no table, no data-series header or no id; the further tables are declared.

Scope

  • site/charts.js
  • site/templates/registry-benchmarks.html
  • site/templates/economics.html
  • site/templates/features-matrix.html
  • scripts/site-check
  • scripts/lib/interaction-specs/chart.mjs
  • docs/DIAGRAMS.md
  • .ai/repo/project/issues/I2654.yaml

Out of scope

  • A second charting library, or a chart whose data is not a table on the same page

Dependencies

Acceptance criteria

  • A figure[data-chart] whose drawn series differs from its table fails a check that names the figure
  • A figure[data-chart] without a table, a data-series header or an id fails scripts/site-check
  • Each newly declared chart is listed in docs/DIAGRAMS.md with the dataset it reads

Validation

  • scripts/site-build && scripts/site-check
  • scripts/interaction-probe --only /plan/

Evidence required

  • chart_table_agreement_check
  • chart_markup_check

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Timeline

started
—
verified
—
completed
—

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I2654.yaml. Read it back with majordomus plan show I2654.

Searches the titles and descriptions of every page this site publishes.