feat(supervisor): add managed Pi admission bridge - #1
Conversation
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
023824b to
30dda21
Compare
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Review Record — Phase 0Frozen target: Panel:
Skipped Review-Standard lenses: user UI experience — no UI behavior changed; performance/concurrency — removal of one environment alias has no meaningful hot-path or concurrency surface. Accepted findings fixed:
Rejected findings:
Validation after fixes:
Final status: rerun reviewer clean at |
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Phase 2 Review RecordFrozen range: Scope: the single bridge behavior required by Phase 2—an admission Independent review returned clean. It confirmed provider-port validation and handle issuance remain on the nonempty path, deny/unspecified behavior is unchanged, Scope remained one Rust file and one focused regression. No protobuf, caller identity, provider, compatibility, documentation, or framework changes. Validation:
|
Make the static credential binding the sandbox's single source of truth for proxy-delivered credentials. The gateway copies the delivery mode, auth style, and header name onto the binding, and the proxy resolves matching proxy-delivered bindings through the request-scoped resolver instead of consulting the dynamic token grant map, which returns to carrying token grants only. Validate proxy-delivered credential values against their declared placement when a provider is created or updated, so a non-token68 bearer value fails with a message that names the credential rather than as a 502 on every request. Emit OCSF HTTP activity events for every successful and failed injection, treat a poisoned credential registry as an error instead of "no credential", and end any open middleware session when forward-proxy injection fails. Add request-level tests through relay_rest, the passthrough relay, and a real handle_forward_proxy round trip, profile validation tests for every proxy-delivery rejection, gateway tests for create/update value validation and binding metadata, and a Docker e2e test that verifies the variable is absent from the sandbox and the upstream receives the injected credential. Document the ambiguity rule, value constraints, and failure modes, and update the sandbox and gateway architecture docs. Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Phase 3 Review RecordFrozen range: Scope reviewed: strict base64 bridge JSON boundary, empty-vs-absent replacement semantics, encoded/logical size limits, malformed/legacy input rejection, workload metadata removal, and focused middleware/sandbox/reference documentation. Independent findings and fixes:
Scope audit:
Validation:
|
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Phase 4 Review RecordReviewed head: Scope remained POC-bounded: a private per-exec token registry, inherited-FD delivery through the existing SSH exec paths, bridge bearer validation, a default-on supervisor debug flag, focused tests, and two documentation bullets. No gateway, protobuf, middleware-schema, identity-service, TTL, audit, or generalized-auth changes were added. Independent security and maintainability reviews found and verified fixes for:
Final independent verdict: clean; no remaining blocker/high/medium findings. Validation:
|
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
|
I have read the DCO document and I hereby sign off on the commits contained in this PR. |
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Final Review RecordReviewed head: Independent security, lifecycle, upstream-merge, SDK, and integration reviews are clean: no remaining blocker, high, or medium findings. Accepted findings were fixed narrowly: atomic close-on-exec capability delivery, immediate post-exit revocation, macOS-safe child-only descriptor installation, and complete Go SDK round-tripping for proxy credential delivery. Validation:
The standard non-rewrite DCO declaration is posted on this PR for the two older unsigned commits. The PR remains draft; no merge/readiness change was made. |
Signed-off-by: Johnny Greco <jogreco@nvidia.com>
Proxy credential delivery integrationUpdated head: The merge adopts the branch’s binding-driven proxy credential delivery and preserves this PR’s agent-admission bridge changes. Generated Go protobuf code was regenerated from the combined schema. Validation:
The PR remains draft. |
What changed
Why
This allows a Pi extension to submit rendered user input to OpenShell middleware before Pi appends it to conversation history. A denial prevents persistence, while an allowed replacement supports redaction.
Validation