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
claude/v0-27-0-planning-sgq68k View source

Criteria completion

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

Tracking started Jun 25 — check back for trends.

Branches 3
claude/v0-27-0-planning-sgq68k current ready
claude/spec-103-data-rune donemain donechangeset-release/main ready
History 1
  1. 4eab338
    Created (ready)by bjornolofandersson

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.