Repository navigation
Use installed OpenShell configuration for capability discovery - #3845
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs maintainer review before merge. What this changesCapability discovery now uses the OpenShell configuration copied at Driver construction, matching policy rendering. Example: Construct the Driver with middlewareName="installed", then change the caller's options to "replacement".
Review scores
ProductKind: Bug fix · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review Keep this PR open: it fixes a source-verifiable configuration mismatch still present on main, and no introduced defect was found. Priority: P2 Before mergeNone. FindingsNone. Tests
Agent review detailsHow this fits togetherInstallation composition constructs the OpenShell Credential Proxy Driver; gateway capability advertisements and admitted revision plans enter it, and availability decisions and Sandbox policy wiring leave it. flowchart LR
A[Installation configuration] --> B[Driver configuration copy]
C[Gateway advertisements] --> D[Capability discovery]
B --> D
B --> E[Policy rendering]
F[Admitted revision plan] --> E
D --> E
E --> G[Sandbox policy wiring]
Technical reviewBest possible solution: Use the existing immutable configuration copy consistently for discovery and policy generation. Do we have a high-confidence way to reproduce the issue? Source inspection establishes the trigger: mutate the original options after construction and discovery reads different names from policy rendering; no execution was performed during this review. Is this the best way to solve the issue? This is the smallest complete repair because the Driver already owns an immutable configuration copy and needs no new state, option, or abstraction. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 689860f20909. Provenance checked
TestingProof path: unit tests only. SecurityNone. EvidenceWhat I checked:
Review metrics
LabelsLabel changes:
Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment Reviewed October 27, 2026, 7:46 AM ET / 11:46 UTC. |
OpenShell capability discovery retained the caller's mutable options object, while revision policy used the configuration copied at construction. Mutating middleware names could make discovery and policy refer to different registrations. Discovery now reads the same installed configuration as policy rendering.
The regression covers mutation after construction, rejection when only a replacement registration is advertised, observed-hook preview authorization, stock repository-Git refusal, and repository-only classification.
Validation: seven focused configuration tests and the repository and test TypeScript checks passed. Gateway capability responses are fixtures; this does not qualify an installed OpenShell sender or runtime enforcement.