Skip to content

feat(core): add aperture resolution v0 boundary#352

Merged
flyingrobots merged 1 commit into
mainfrom
stack/aperture-resolution-v0-boundary
May 17, 2026
Merged

feat(core): add aperture resolution v0 boundary#352
flyingrobots merged 1 commit into
mainfrom
stack/aperture-resolution-v0-boundary

Conversation

@flyingrobots
Copy link
Copy Markdown
Owner

@flyingrobots flyingrobots commented May 17, 2026

Adds the narrowest ApertureResolution v0 boundary for optic invocation admission.

Exact fixture aperture bytes can resolve only after exact fixture basis bytes resolve, but resolved aperture still does not admit invocation; it obstructs before budget resolution. Unsupported aperture shapes still obstruct at UnsupportedApertureResolution, and aperture resolution remains unreachable when basis resolution fails.

Scope:

  • no AdmissionTicket
  • no LawWitness
  • no budget evaluation
  • no runtime support check
  • no successful grant validation
  • no execution
  • no scheduler
  • no storage
  • no WASM
  • no Continuum behavior

Summary by CodeRabbit

  • New Features

    • Added aperture resolution capability to improve invocation admission validation.
  • Tests

    • Added comprehensive regression tests validating aperture resolution and obstruction handling across multiple scenarios.
  • Documentation

    • Updated architectural documentation detailing aperture resolution boundaries and execution flow.
    • Updated changelog documenting new aperture resolution admission behavior.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 17, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7b14acb9-e5bc-42bb-858a-8700a1568605

📥 Commits

Reviewing files that changed from the base of the PR and between 4802e06 and ceba21e.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • crates/warp-core/src/optic_artifact.rs
  • crates/warp-core/tests/optic_invocation_admission_tests.rs
  • docs/design/optic-admission-ladder-checkpoint.md

📝 Walkthrough

Walkthrough

This PR implements ApertureResolution v0 as a deterministic fixture resolution stage within the optic invocation admission pipeline. After basis resolution succeeds, aperture resolution validates whether the aperture request matches the single supported fixture shape; unsupported apertures obstruct before budget resolution. Four regression tests validate obstruction ordering and reachability across resolution stages.

Changes

Aperture Resolution v0 Boundary

Layer / File(s) Summary
Aperture v0 fixture constant and obstruction documentation
crates/warp-core/src/optic_artifact.rs
Module-level constant OPTIC_APERTURE_RESOLUTION_V0_FIXTURE_BYTES defined; OpticInvocationObstruction enum documentation updated for UnsupportedApertureResolution and UnsupportedBudgetResolution variants.
Aperture resolution implementation in admission registry
crates/warp-core/src/optic_artifact.rs
resolve_aperture_v0 helper introduced to validate aperture request bytes against the fixture constant, returning UnsupportedApertureResolution on mismatch. admit_optic_invocation_with_capability_validator integrated to chain basis resolution → aperture resolution → UnsupportedBudgetResolution fallback when identity coverage is reported.
Aperture resolution test fixture and regression tests
crates/warp-core/tests/optic_invocation_admission_tests.rs
fixture_invocation_with_resolved_basis_aperture_and_presentation helper added. Four regression tests validate obstruction stages: unsupported aperture halts even after resolved basis, aperture remains unreachable when basis resolution fails, resolved aperture blocks progression to budget resolution. Tests verify both obstruction kind and published OpticInvocationObstructed GraphFact digests.
Admission ladder checkpoint design documentation
docs/design/optic-admission-ladder-checkpoint.md, CHANGELOG.md
Checkpoint boundary reframed from basis-resolution to aperture-resolution. Doctrine constraints tightened around aperture/basis matching. Execution-order steps extended to include aperture-fixture resolution and obstruction publication. Obstruction-reachability table updated: UnsupportedApertureResolution reachable only after BasisResolution v0 succeeds; UnsupportedBudgetResolution reachable only after ApertureResolution v0 succeeds; RuntimeSupportUnavailable marked as not lawfully reachable. ApertureResolution v0 section added with deterministic fixture definition and next transition to BudgetResolution v0. Tripwire conditions revised. CHANGELOG documents the new narrow boundary behavior and guaranteed absence of tickets/witnesses/scheduler/execution/budget evaluation in obstructed cases.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • flyingrobots/echo#351: Implemented BasisResolution v0 fixture→obstruction mapping in the same admit_optic_invocation_with_capability_validator flow; main PR extends that with ApertureResolution v0 fallback and corresponding test coverage.
  • flyingrobots/echo#331: Established the skeleton admission flow in admit_optic_invocation; main PR extends it with v0 basis/aperture resolution handling and new obstruction outcomes.
  • flyingrobots/echo#347: Modified the same capability validation → obstruction resolution pipeline; main PR refines it with aperture-resolution v0 boundary and fallback logic.

Poem

🎯 Basis resolved, but aperture calls—
A narrow gateway through the halls,
Fixture bytes must match precisely,
Else obstruction stops us nicely,
Budget waits, but not today.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat(core): add aperture resolution v0 boundary' directly and accurately summarizes the main change across all modified files—introduction of aperture resolution v0 with its fixture, obstruction semantics, and checkpoint specification.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch stack/aperture-resolution-v0-boundary

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@flyingrobots flyingrobots merged commit b83038c into main May 17, 2026
32 checks passed
@flyingrobots flyingrobots deleted the stack/aperture-resolution-v0-boundary branch May 17, 2026 16:22
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