Skip to content

v19: add reading builders and receipt-bearing read results #723

Description

@flyingrobots

Part of #712.

Problem

First-use reads currently expose too much optic and coordinate ceremony. v19 should let application code ask a bounded question through reading, while the runtime lowers that question to formal optics internally.

Target Shape

const result = await timeline.read(
  reading.property({
    subject: 'user:alice',
    key: 'role',
  }),
);

result.value;
result.receipt;

Scope

  • Add root reading builders for common bounded questions.
  • Add ReadingResult with value and receipt.
  • Keep Optic as the advanced execution/proof shape.
  • Add a provenance-light convenience only if it is clearly named, such as readValue().

Acceptance

  • Primary reads return receipts by default.
  • Missing basis or operational uncertainty can return obstructed/underdetermined receipts where appropriate.
  • Ordinary app docs do not require prepareOpticBasis(), coordinate(), or optic().
  • Advanced docs still explain the Reading-to-Optic lowering.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:queryPrimary work area: query.priority:nextNext in line after active work.status:availableOpen and available for prioritization; not blocked or actively in progress.type:featureNew capability or product behavior.type:goalpostRoadmap umbrella milestone issue.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions