Skip to content

feature - modernize InQL for v0.3 showcase (#25)#29

Draft
dannymeijer wants to merge 1 commit into
mainfrom
feature/25-v03-showcase-ralph
Draft

feature - modernize InQL for v0.3 showcase (#25)#29
dannymeijer wants to merge 1 commit into
mainfrom
feature/25-v03-showcase-ralph

Conversation

@dannymeijer
Copy link
Copy Markdown
Collaborator

@dannymeijer dannymeijer commented May 21, 2026

Summary

This PR modernizes InQL #25 for the Incan v0.3 RC2 toolchain and turns the branch into a stronger InQL showcase. It updates the scalar expression surface around union-backed literals and structured lowering errors, adopts additional v0.3 language features where they improve the package shape, refreshes tests/docs/examples for the current API shape, regenerates the lockfile, and adds an ignore rule so local agent state under .agents/state/ stays out of public PRs.

The branch now passes end-to-end with the local Incan main-worker fix for incan#617, including the pub::inql consumer smoke check for alias-backed public helper exports.

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: InQL examples and docs now show the v0.3-native API shape, including lit(...), builder-backed filters/projections/aggregates, Session execution paths, and current DataFusion-backed behavior.
  • v0.3 showcase usage: The branch now uses union-backed lit(...), match over union values, structured Result[..., SubstraitLoweringError] fallible lowering paths, Result.map_err(...), tuple-target comprehensions, if let for optional proto unwrapping, value enums for stable string-backed categories, native u32 Substrait anchors, and public symbol aliases for helper forwarding.
  • Risks: This is a broad package/docs/test refresh across the InQL surface. The main risks are API expectation drift in downstream examples and subtle Substrait output-shape regressions.

Testing / verification

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

Manual verification notes:

  • /Users/danny/Development/encero/incan/target/debug/incan --version reports incan 0.3.0-rc2 after rebuilding the main Incan worker at 8003bdad.
  • make ci INCAN=/Users/danny/Development/encero/incan/target/debug/incan passes fmt-check, test-style, library build, all 88 InQL tests, and the pub::inql consumer smoke check.
  • The minimized dependency repro from incan#617 also passes with the same compiler build.
  • Before the final public-alias adoption, make build-locked INCAN=/Users/danny/Development/encero/incan/target/debug/incan and make test-locked INCAN=/Users/danny/Development/encero/incan/target/debug/incan passed after regenerating incan.lock with RC2.
  • git diff --check HEAD passed.

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/architecture.md, docs/language/explanation/*, docs/language/reference/*, docs/rfcs/*, docs/release_notes/v0_1.md, examples/*

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

Closes #25

@incan-triage-bot incan-triage-bot Bot added automation CI, Makefile, .github/, repo config documentation Improvements or additions to documentation package Library source, tests, incan.toml specification docs/rfcs/ normative RFCs labels May 21, 2026
@dannymeijer dannymeijer self-assigned this May 21, 2026
@dannymeijer dannymeijer added this to the InQL-v0.1 milestone May 21, 2026
@dannymeijer dannymeijer force-pushed the feature/25-v03-showcase-ralph branch 3 times, most recently from d8d941b to 370d02a Compare May 21, 2026 12:45
@dannymeijer dannymeijer force-pushed the feature/25-v03-showcase-ralph branch 2 times, most recently from c1aa774 to ddd1e97 Compare May 21, 2026 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automation CI, Makefile, .github/, repo config documentation Improvements or additions to documentation package Library source, tests, incan.toml specification docs/rfcs/ normative RFCs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RFC 012: Unified scalar expression surface

1 participant