Skip to content

fix(policy): compose advisor proposals with provider endpoints - #2935

Open
johntmyers wants to merge 1 commit into
mainfrom
fix/2921-provider-advisor-proposals/johntmyers
Open

fix(policy): compose advisor proposals with provider endpoints#2935
johntmyers wants to merge 1 commit into
mainfrom
fix/2921-provider-advisor-proposals/johntmyers

Conversation

@johntmyers

Copy link
Copy Markdown
Collaborator

Summary

Allow policy-advisor proposals to extend provider-covered endpoints when the only difference is internal advisor provenance. Preserve explicit endpoint and binary identity during merges so the change does not weaken exact-host SSRF treatment or leave proposal reload waits stuck.

Related Issue

Fixes #2921

Changes

  • treat advisor_proposed as provenance rather than endpoint connection metadata during ambiguity validation
  • make explicit endpoint provenance dominate advisor provenance in either merge order and ignore provenance for proposal coverage
  • add a Providers v2 regression using the real policy.local proposal shape through pending review and approval, while verifying provider rules remain immutable
  • retain batch-conflict coverage with a real TLS contract conflict
  • document endpoint ambiguity, SSRF exact-host trust, and binary identity semantics with concrete examples

Testing

  • mise run pre-commit passes
  • Unit tests added/updated
  • E2E tests added/updated (existing relevant E2E lane run; no E2E file change required)

Commands run:

  • cargo test -p openshell-policy — 235 passed
  • cargo test -p openshell-supervisor-network proposal_chunks_from_body — 2 passed
  • cargo test -p openshell-server --features test-support — 1,421 passed, 7 ignored
  • mise run e2e:mechanistic-existing-endpoint — passed against a Docker-backed gateway and sandbox
  • mise run pre-commit — passed

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

Signed-off-by: John Myers <9696606+johntmyers@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown

@johntmyers

Copy link
Copy Markdown
Collaborator Author

🏗️ build-from-issue-agent

E2E Test Attestation

Local E2E tests passed. CI does not currently run E2E tests, so this comment serves as the verification record.

Field Value
Commit 4de0192abf5b530ad48e15fa231b9ddc5f715598
Command mise run e2e:mechanistic-existing-endpoint
Gateway mode Docker
Result ✅ Passed — proposal approved, policy reloaded, and existing-endpoint coverage converged

@johntmyers johntmyers added gator:in-review Gator is reviewing or awaiting PR review feedback test:e2e Requires end-to-end coverage labels Aug 25, 2026
@github-actions

Copy link
Copy Markdown

Label test:e2e applied for 4de0192. 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 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

This focused fix implements accepted issue #2921, updates the relevant architecture and Fern documentation, and the independent full-diff review found no blocking findings. Required E2E dispatch is blocked because the E2E Label Help bot requires Re-run all jobs on current-head run 32878657519, while this gator sandbox cannot call that rerun endpoint.

Action required: A maintainer must open run 32878657519 and click Re-run all jobs, or the operator must allow this sandbox to POST the exact rerun endpoint.

Blocking findings:

  • No blocking findings remain

Carried findings:

  • None

Non-blocking suggestions:

  • None
Gator metadata
  • Validation: Project-valid focused policy fix linked to accepted issue #2921
  • Docs: Architecture and Fern policy documentation updated; navigation change not needed
  • Checks: Current-head Branch Checks and required Helm gate are green
  • E2E: test:e2e applied; current-head run 32878657519 requires rerun, but dispatch is blocked by sandbox L7 policy. The narrow policy proposal was rejected because the deployed gateway still treats advisor provenance as conflicting endpoint metadata.
  • Head SHA: 4de0192abf5b530ad48e15fa231b9ddc5f715598
  • Base SHA: 38a94931ffa52f85b493094bcd46ab988016293b
  • Merge base SHA: fb6610df3926e5f86ae40e1306bbc5847775e786
  • Patch ID: a13d47d65895c9764297433054a2b2d2fbc5f6e9
  • Gator payload: 7
  • Review mode: initial
  • Previous reviewed SHA: none
  • Review budget exhausted: no
  • Maintainer decision required: no
  • Next state: gator:blocked
  • Blocked reason: test_dispatch_required

@johntmyers johntmyers added gator:blocked Gator is blocked by process or repository gates gator:watch-pipeline Gator is monitoring PR CI/CD status gator:approval-needed Gator completed review; maintainer approval needed and removed gator:in-review Gator is reviewing or awaiting PR review feedback gator:blocked Gator is blocked by process or repository gates gator:watch-pipeline Gator is monitoring PR CI/CD status labels Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gator:approval-needed Gator completed review; maintainer approval needed test:e2e Requires end-to-end coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provider-covered endpoints cannot be extended through agent policy proposals

1 participant