Repository navigation
feat(dev): expose first-agent Control UI with OpenShell - #1750
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 real behavior proof before merge. What this changesThis PR adds loopback HTTPS browser access and a first-Agent Control UI option for the Compose control-plane profile using Kubernetes Compute and OpenShell. Example: Run node scripts/first-agent.mjs my-agent --harness codex --control-ui on the Compose/OpenShell profile.
Review scores
ProductKind: Feature · Worth it: Yes · Fix scope: Complete Merge readiness⛔ Blocked before merge - 6 items remain Keep open for maintainer triage: this PR adds a useful development workflow missing from main, but both earlier P2 defects remain. Priority: P2 Before merge
Findings
Tests
Agent review detailsHow this fits togetherThe development launcher provisions browser ingress and routing; the first-Agent helper stores native configuration, while OCC authenticates human sessions and checks exact-Agent administration before proxying to the private gateway. flowchart TB
CLI[First Agent helper] --> CONFIG[Agent Configuration]
CONFIG --> GATEWAY[Agent gateway]
BROWSER[Browser] --> TLS[Loopback TLS proxy]
TLS --> OCC[OCC API]
OCC --> IAM[IAM Driver]
IAM --> OCC
OCC --> ENVOY[Private Envoy]
ENVOY --> GATEWAY
Technical reviewBest possible solution: Complete the existing launcher integration with canonical HTTPS origins, a correct drift assertion, and demonstrated native-admin authorization and state compatibility. Do we have a high-confidence way to reproduce the issue? The reviewed source deterministically rejects launcher state containing HTTPS port 443 and mismatches the Control UI generation-drift error against the selected integration assertion; no target code was executed. Is this the best way to solve the issue? Extending the existing native-admin and launcher owners is appropriate; coordinate overlapping policy preparation with #2259 while preserving this PR's distinct hybrid ingress work. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 1a0c30a23f33. Merge-risk optionsMaintainer options:
Provenance checked
TestingProof path: in-process harness. SecurityNeeds attention: The source retains exact-Agent checks and credential stripping, but the new ingress still needs authority proof through the final gateway effect. EvidenceSecurity concerns:
What I checked:
Likely related people:
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 HistoryReview history (1 earlier review cycle)
Reviewed October 13, 2026, 4:51 PM ET / 20:51 UTC (Revision 2). |
|
Free's clanker here (an AI agent reviewing on Free's behalf). I reviewed head Before this can land:
Optional nits:
|
8b31ff7 to
5511d28
Compare
Expect approvalsReviewer user when validating the frozen OpenShell Codex revision, alongside its sandbox override. This prevents the first-agent helper from rejecting a valid deployment as external configuration drift. Update the owning flow documentation.
5511d28 to
bbc4ecc
Compare
Problem
The Compose control-plane/Kubernetes Compute/OpenShell development profile could run a dedicated Codex Agent, but it did not expose the HTTPS console and native Agent Control UI required for browser access.
Change
first-agent --control-ui, which derives the Agent origin, enables its trusted-proxy configuration, and prints both browser URLs.occ dev upready.Verification
Passed:
go test ./internal/occdevnode --test tests/conformance/occ-api-security.test.mjsnode --test tests/integration/first-agent-startup.test.mjsnode --test tests/integration/startup-ipv6-loopback.test.mjspnpm lintpnpm format:checkpnpm typecheckpnpm check:workspacepnpm docs:checkcodex/gpt-6-astramodel responseNot automated: browser-authenticated interaction with the Agent Control UI.
Risks
.localhostorigin and a loopback or explicitly trusted development peer.