Skip to content

Document separate carrier and scoped parameter types - #101

Merged
robertvansteen merged 1 commit into
0.xfrom
fix/scoped-list-input-contract
Aug 21, 2026
Merged

robertvansteen merged 1 commit into
0.xfrom
fix/scoped-list-input-contract

Conversation

@robertvansteen

@robertvansteen robertvansteen commented Aug 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • add end-to-end coverage for sparse rows entering through a declared list input
  • demonstrate that a permissive carrier element type can coexist with a stricter scoped parameter type
  • document that the source compiler owns the narrower declaration passed to scope()

Context

Axiom #100 added projected admission for compiled scopes. The original quantifier test supplied its collection through a definition, so it exercised scoped admission without exercising the outer program boundary. A real host may admit a collection through a permissive input type while compiling each scoped predicate against a stricter authored parameter type.

This PR covers that public-seam composition and documents the contract. The collection crosses its own boundary honestly, then each scoped invocation admits only the parameter fields its body reads. No production behavior changes are required.

Verification

  • composer test:types
  • composer test:unit — 1,311 tests, 4,987 assertions, 100% line coverage

@robertvansteen
robertvansteen marked this pull request as ready for review August 21, 2026 09:47
@robertvansteen
robertvansteen merged commit b833ac4 into 0.x Aug 21, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant