WORK-486
ID:WORK-486Status:ready

data rune — JSON + NDJSON adapters

The JSON-family adapters for SPEC-103, on top of the WORK-417 adapter contract + projection core. JSON is not inherently tabular, so its adapter owns the three knobs CSV doesn't; NDJSON is line-delimited records. Both reduce to the shared { headers, rows } shape and are indistinguishable downstream.

Priority:highComplexity:moderateMilestone:v0.27.0Source:SPEC-103
changeset-release/main View source

Criteria completion

Criteria completion: 0 of 4 (0%) checked; tracking started on Jun 26, no incremental history yet0%25%50%75%100%Jun 26Jul 11

Tracking started Jun 26 — check back for trends.

Branches 3
History 2
  1. 340475d
    Created (ready)by github-actions[bot]
  2. 4eab338
    Content editedby Claude
    plan: accept SPEC-103 + SPEC-113, break into v0.27.0 work items

Scope

  • JSON adapterroot (dotted path / JSON Pointer to the array or map; defaults to the document when already an array); orient (records default + values, auto-detected via element[0] object-vs-array; index explicit, with key-column naming the synthesized key column); dotted column paths in columns to pluck nested fields.
  • NDJSON adapter — parse line-delimited JSON records into { headers, rows } (union of record keys → headers).
  • Reuse — both feed the same projection + typing + data-value emission + table emitter from WORK-417; no new downstream code.
  • Testsroot/orient/key-column/dotted-path cases; NDJSON parsing; a nested-JSON → datatable and an object-map JSON → chart composition.

Acceptance Criteria

  • JSON adapter supports root, orient (records/values auto-detected, index + key-column), and dotted column paths, reducing to { headers, rows }.
  • NDJSON adapter parses line-delimited records to the same shape.
  • Shared projection/typing/data-value/emitter from WORK-417 run unchanged over JSON/NDJSON output; chart + datatable composition covered by tests.
  • format inference recognizes .json / .ndjson, overridable.

Dependencies

  • WORK-417 — the adapter contract, projection/typing core, table emitter, and preprocess wiring.

References

  • SPEC-103 — JSON adapter specifics + the { headers, rows } contract.