Skip to content

feature - add execution observations and adapter coverage checks (#66, #67)#85

Merged
dannymeijer merged 12 commits into
mainfrom
feature/66-rfc032-execution-observations
Jul 4, 2026
Merged

feature - add execution observations and adapter coverage checks (#66, #67)#85
dannymeijer merged 12 commits into
mainfrom
feature/66-rfc032-execution-observations

Conversation

@dannymeijer

Copy link
Copy Markdown
Member

Summary

This PR adds RFC 032 execution observations for Session.execute, Session.collect, and Session.write while preserving the existing Result[...] APIs. It also adds the first RFC 033 adapter coverage surface: explicit adapter requirements, conservative coverage records, and Session.check_coverage(...) for requirements supplied by callers.

Type of change

  • Bug fix
  • New feature
  • Refactor / maintenance
  • Documentation
  • CI / tooling
  • RFC (adds/updates docs/rfcs/*)

Area(s)

Select the primary areas touched (labels sync from checked lines when the triage workflow runs):

  • Package & tests
  • Specification (RFCs)
  • Documentation
  • Automation & repo config
  • Other

Key details

  • User-facing behavior: Session now exposes execute_observed, collect_observed, and write_observed methods that return observed result carriers with data, observation, and error fields. Observations include plan and execution-attempt targets, client-session context, backend name, status, diagnostics, wall-clock and monotonic timing, optional row/byte counts, adapter/profile placeholders, trace IDs, and linked coverage records.
  • Internals: Observation construction uses the same execution path as the existing execute, collect, and write methods, so legacy callers keep the same Result[...] behavior. Prism plan IDs are centralized through prism_plan_id(...) so inspection and execution evidence do not diverge. Adapter coverage is conservative: unknown stays unknown, DataFusion only reports the capability families this slice can justify, and unsupported backend capability is not modeled as Substrait semantics.
  • Risks: This adds public evidence models and observed result carriers. The RFC 033 coverage map is intentionally narrow and explicit-requirement only; automatic requirement inference from inspection remains future work.

Testing / verification

  • make ci (or make fmt-check, make build, make test)
  • Manual verification described below

Manual verification notes:

  • make pre-commit INCAN=/Users/danny/Development/encero/tmp/incan-v03-verify/target/debug/incan passed with Incan 0.3.0: fmt-check, test-style, vocab companion tests, registry metadata, build, and all 256 InQL tests.
  • /Users/danny/Development/encero/tmp/incan-v03-verify/target/debug/incan test tests/test_execution_observations.incn passed: 7 focused tests.
  • git diff --check HEAD^..HEAD passed.
  • Local verification used a temporary ignored incan symlink to mirror CI's sibling Incan checkout required by vocab_companion; the symlink was removed afterwards.

Docs impact

  • No docs changes needed
  • Docs updated
  • Docs follow Divio intent (tutorial/how-to/reference/explanation) where applicable

If docs updated:

  • Link(s): docs/language/reference/execution_context.md, docs/language/reference/inspection.md, docs/release_notes/v0_1.md, docs/rfcs/032_execution_observations.md, docs/rfcs/033_adapter_requirements_coverage.md, docs/rfcs/README.md

Checklist

  • I kept public docs user-focused and moved internals to contributing docs when appropriate
  • I avoided duplicating canonical install/run instructions in multiple places
  • I added/updated tests where it materially reduces regressions

Refs #66
Refs #67

@incan-triage-bot incan-triage-bot Bot added documentation Improvements or additions to documentation package Library source, tests, incan.toml specification docs/rfcs/ normative RFCs labels Jul 2, 2026
@dannymeijer dannymeijer self-assigned this Jul 2, 2026
@dannymeijer dannymeijer added this to @InQL Jul 2, 2026
@dannymeijer dannymeijer added this to the InQL-v0.1 milestone Jul 2, 2026
@github-project-automation github-project-automation Bot moved this to Todo in @InQL Jul 2, 2026
@dannymeijer dannymeijer marked this pull request as ready for review July 3, 2026 22:21
@dannymeijer dannymeijer merged commit 468f623 into main Jul 4, 2026
3 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in @InQL Jul 4, 2026
@dannymeijer dannymeijer deleted the feature/66-rfc032-execution-observations branch July 4, 2026 07:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation package Library source, tests, incan.toml specification docs/rfcs/ normative RFCs

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant