Skip to content

fix(policy): align request authorization with route protocol - #5274

Open
johntmyers wants to merge 1 commit into
mainfrom
fix/protocol-policy/johntmyers
Open

johntmyers wants to merge 1 commit into
mainfrom
fix/protocol-policy/johntmyers

Conversation

@johntmyers

Copy link
Copy Markdown
Collaborator

Use the same route-selected protocol for request inspection and authorization. Preserve additive allow rules within that protocol, deny precedence, and credential ownership checks.

Share endpoint path selection across runtime and policy evaluation. Add regression coverage for overlapping routes, RPC/MCP requests, and credential admission. Update documentation and policy-generation guidance.

Validation:

  • Network suite: 1,545 passed, two ignored
  • Sandbox E2E: both tests passed
  • Prover runtime parity: 11 passed
  • Route-selector tests, Clippy, formatting, and docs checks passed

@johntmyers johntmyers added topic:l7 Application-layer policy and inspection work area:policy Policy engine and policy lifecycle work topic:security Security issues labels Nov 4, 2026
@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown

Compatibility review (advisory)

New or updated breaking changes; see the full report for all findings.

1. policy — No explicit risk acceptance found

Matching HTTP endpoints previously combined allows across protocols; now only endpoints using the most-specific path-selected protocol contribute allows.

  • Impact: Existing policies combining REST access: read-write with a narrower enforced JSON-RPC route now return HTTP 403 for previously allowed calls absent from that route's allow rules.
  • Action: Preserve cross-protocol allow union in v0.1.8, or defer the restriction to a minor release with notice and migration instructions for expressing required allows in the selected protocol.
  • PR: fix(policy): align request authorization with route protocol #5274
Review details
  • Execution: complete
  • Candidate: PR #5274 (a4aeba08ea97bbc94c0ce91eef94afb9f6bc5ece)
  • Baseline: dbc0517a3103a1361194262a70800cf30c8fc939 (dbc0517a3103a1361194262a70800cf30c8fc939)
  • Reviewed: rust-sdk, python-sdk, go-sdk, typescript-sdk, api-behavior, cli, configuration, policy, helm, state

Advisory review; publication gates are unchanged.

Branch check run

@johntmyers
johntmyers requested a review from alangou November 4, 2026 20:31
@johntmyers johntmyers added the test:e2e Requires end-to-end coverage label Nov 4, 2026
@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown

Label test:e2e applied for 1797fb9. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute the standard E2E suite after building the required gateway, sandbox, and supervisor images once. The matching required CI gate status on this PR will flip green automatically once the run finishes.

@johntmyers johntmyers left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gator-agent

PR Review Status

The independent review found no blocking defects in the route-protocol authorization fix. The change preserves additive allows within the selected protocol, deny precedence, and credential ownership checks, with regression coverage and updated policy documentation.

The standard E2E suite is queued on the current head after applying test:e2e and rerunning all jobs as instructed by E2E Label Help. Gator will check the results next cycle. The Review Readiness workflow also needs a successful reviewer-request reconciliation before handoff.

Gator metadata
  • Validation: Focused policy-enforcement fix from a verified repository administrator; no duplicate found in targeted open searches.
  • Blocking findings: None.
  • Carried findings: None.
  • Docs: Fern network policy documentation and policy-generation skill updated; no navigation change needed.
  • Checks: Branch Checks, Helm Lint, Trivy Changes, DCO, and Vouch passed. Review Readiness previously failed during reviewer-request reconciliation; label-triggered reconciliation is being checked.
  • E2E: test:e2e applied; current-head Branch E2E Checks run 41901845703 rerun accepted and queued. Earlier skipped E2E is not treated as runtime verification.
  • Head SHA: 1797fb917ff06bb145196701b66b4a9ea001b90e
  • Base SHA: dbc0517a3103a1361194262a70800cf30c8fc939
  • Merge base SHA: dbc0517a3103a1361194262a70800cf30c8fc939
  • Patch ID: 7ffe5c51c19d1cbb2c19424ee1bb31e9c8e74a0e
  • Gator payload: 13
  • Review mode: initial
  • Previous reviewed SHA: None.
  • Review budget exhausted: No.
  • Maintainer decision required: No.
  • Next state: gator:watch-pipeline

@johntmyers johntmyers added gator:watch-pipeline Gator is monitoring PR CI/CD status gator:blocked Gator is blocked by process or repository gates area:runtime topic:networking and removed gator:watch-pipeline Gator is monitoring PR CI/CD status area:policy Policy engine and policy lifecycle work topic:l7 Application-layer policy and inspection work gator:blocked Gator is blocked by process or repository gates labels Nov 4, 2026
Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
@johntmyers
johntmyers force-pushed the fix/protocol-policy/johntmyers branch from 1797fb9 to dfb0605 Compare November 6, 2026 15:15
@johntmyers johntmyers added gator:watch-pipeline Gator is monitoring PR CI/CD status and removed gator:blocked Gator is blocked by process or repository gates labels Nov 6, 2026
@johntmyers

Copy link
Copy Markdown
Collaborator Author

gator-agent

Maintainer Approval Needed

Gator's prior independent review remains applicable: the current head has the same effective patch, with no open Gator findings. Current-head Branch Checks, Helm Lint, Trivy Changes, DCO, and the standard E2E suite have passed. The requested maintainer reviewer is assigned.

Action required: A maintainer must review and approve this PR.

Gator metadata
  • Validation: Focused route-protocol policy-enforcement fix from a verified repository administrator.
  • Review: Preserved the existing independent review; patch-equivalent rebase requires no repeat review.
  • Docs: Fern network policy documentation and policy-generation guidance updated.
  • Checks: Required branch, Helm, Trivy, and E2E gates passed; latest Review Readiness jobs skipped, with reviewer alangou already requested.
  • E2E: test:e2e; current-head Branch E2E Checks run 42241321463, attempt 2, completed successfully.
  • Head SHA: dfb06053e237e26121443be1e386454044eca129
  • Base SHA: e9ba8d9e3568f7ca1a6320914d0b17e0572fac2d
  • Merge base SHA: e9ba8d9e3568f7ca1a6320914d0b17e0572fac2d
  • Patch ID: 7ffe5c51c19d1cbb2c19424ee1bb31e9c8e74a0e
  • Gator payload: 13
  • Review mode: already_reviewed
  • Previous reviewed SHA: 1797fb917ff06bb145196701b66b4a9ea001b90e
  • Blocking findings: None.
  • Carried findings: None.
  • Next state: gator:approval-needed

@johntmyers johntmyers added gator:approval-needed Gator completed review; maintainer approval needed and removed gator:watch-pipeline Gator is monitoring PR CI/CD status labels Nov 6, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:runtime gator:approval-needed Gator completed review; maintainer approval needed test:e2e Requires end-to-end coverage topic:networking topic:security Security issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant