Skip to content

Type Console driver configuration and runtime-image diagnostics - #3156

Merged
freeqaz-openai merged 3 commits into
mainfrom
console/ui-ts-configuration
Oct 22, 2026
Merged

freeqaz-openai merged 3 commits into
mainfrom
console/ui-ts-configuration

Conversation

@freeqaz-openai

Copy link
Copy Markdown
Collaborator

Move the Console’s Driver configuration editor, schema discovery, and runtime image diagnostics into the existing strict TypeScript build. The controller still serves the same .mjs URLs, and Node tests that import Agent detail directly still load the full module graph. CI selection is unchanged.

A configuration draft stays unvalidated until its resource owner accepts it. Installation settings remain read-only. Image diagnostics still limit reads to three at a time, preserve each Agent’s result when another read fails, and show missing provenance explicitly.

Verification

At 539c7528b, the strict Console build, lint, formatting, and 12 focused Chromium tests passed. The browser tests include an actual policy rejection that retained the draft without saving or applying it, a Settings schema checked against the selected Driver, and diagnostics following a Namespace change.

After review, f8f70ce09 clarifies the scalar input selection and when to remove the temporary policy declaration. Strict TypeScript, lint, and formatting passed again. Chromium confirmed the checkbox, text, number, and integer controls retain their input and draft value types; the real policy rejection still preserved the draft. The final head 0fb4605ec has the same tree after rebasing onto landed #3154 (1605e3094).

I also rebuilt the same Storybook stories at 9fb31b7ef and 539c7528b. All four before-and-after screenshot pairs were byte-identical. These stories use fixture data. The video is slowed for readability.

Before and after: Settings / Account, Agent detail / Configuration alternate Driver, Navigation / Debug runtime images and Debug metadata unavailable

configuration-review-walkthrough.mp4

@freeqaz-openai
freeqaz-openai requested a review from a team as a code owner October 22, 2026 00:23
@clawsweeper

clawsweeper Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

ClawSweeper review complete

ClawSweeper finished reviewing this revision. The review result is being finalized.

View the workflow run.

@clawsweeper clawsweeper Bot added clawsweeper:intake:feature Preliminary submission classification; full source review pending. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed clawsweeper:intake:feature Preliminary submission classification; full source review pending. labels Oct 22, 2026
@clawsweeper

clawsweeper Bot commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge.

What this changes

This PR moves Console configuration editing, Driver discovery, and runtime-image diagnostics into the existing strict TypeScript project.

Example: An operator proposes access to outside.example.org on port 443 without a delegating policy ceiling.

  • Before: Review rejects the proposal, retains the draft, and leaves the saved policy unchanged.
  • After: The typed editor preserves the same rejection and draft-retention behavior.

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) Focused, correct conversion supported by visual parity evidence, existing production-entry browser coverage, and passing reviewed-head CI; recording inspection was locally unavailable.
Proof confidence 🐚 platinum hermit (4/6) Maintainer-authored refactor outside the ordinary contributor proof gate: inspected Storybook screenshot pairs demonstrate presentation parity at the declared revisions; existing browser coverage exercises real policy rejection and Namespace navigation. The uploaded recording could not be inspected because ffprobe was unavailable and Chromium's debugging connection timed out.
Patch quality 🦞 diamond lobster (5/6) No actionable review findings were identified.

Product

Kind: Refactor · Worth it: Yes · Fix scope: Complete
User problem: Configuration and diagnostics code remains outside the strict Console type checks.
Reason: The maintainer-authored direction continues the existing Console migration while preserving supported workflows and interfaces.

Merge readiness

✅ Ready for maintainer review

Keep open for maintainer triage: this is a useful, maintainer-authored TypeScript conversion with no actionable correctness or security findings.

Priority: P3
Reviewed head: 0fb4605eca28b9d86eb2e8aa6242834c1b41c51a

Before merge

None.

Findings

None.

Agent review details

How this fits together

The controller serves Console modules at existing JavaScript URLs; those modules render Driver schemas and image metadata returned by authorized API operations.

flowchart LR
  Browser[Console browser] --> Assets[Controller asset allowlist]
  Assets --> Modules[Typed Console modules]
  Modules --> API[Controller API]
  API --> IAM[Exact-resource authorization]
  API --> Drivers[Selected Drivers]
  Drivers --> Modules
Loading

Technical review

Best possible solution:

Land the focused conversion with the existing resource owners, browser URLs, and authorization boundaries preserved.

Do we have a high-confidence way to reproduce the issue?

This is a refactor rather than a reported product bug; source inspection confirms that current main still contains the untyped implementations.

Is this the best way to solve the issue?

The conversion uses the existing Console build, asset reader, contracts, and resource owners without introducing another runtime implementation.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning medium; reviewed against 8316ff9031a7.

Provenance checked

  • Configuration editing and Driver discovery keeps the original intent (774b3d6: Share discoverable schemas while leaving validation, save/apply lifecycle, and Installation startup settings with their existing owners.)
  • Runtime-image diagnostics keeps the original intent (24e3d62: Expose observed image provenance for readable Agents with bounded concurrency and explicit unknown metadata; later navigation work preserves loaded views.)
  • Console asset allowlist keeps the original intent (09a392c: Declare each local asset once while preserving the closed allowlist and served URLs.)

Testing

Proof path: shipped entry point.

Security

None.

Evidence

What I checked:

  • Pinned patch: The introduced diff converts three existing modules, retains two source-import bridges, adds a temporary policy declaration, and updates the owning flow reference. (0fb4605eca28)
  • Browser asset compatibility: The allowlist selects the new TypeScript sources while its existing extension mapping preserves the public .mjs URLs and type erasure removes type-only imports. (apps/controller/src/console-assets.ts:38, 0fb4605eca28)
  • Policy workflow coverage: Existing browser coverage uses the real OCC admission path to reject outside.example.org:443, retain the proposed fields, and verify that no save or apply occurred; this review did not execute tests. (tests/browser/console-agent-draft-guards.test.mjs:99, 0fb4605eca28)
  • Original feature intent: feat: share discoverable Driver configuration definitions #2980 establishes resource-owned validation and operator-managed Installation settings; feat(console): show runtime image provenance in debug sidebar #379 establishes bounded diagnostic reads and explicit missing provenance, all preserved here. (apps/controller/src/console/runtime-images.mts:35, 0fb4605eca28)
  • Visual evidence and inspection limit: Inspected the downloaded before-and-after screenshot showing matching Settings schemas, alternate-Driver editing, image provenance, and unavailable metadata. Video preparation failed with 'ffprobe failed: spawnSync ffprobe ENOENT'; the Chromium fallback failed with 'CDP timeout Target.createTarget' and ECONNRESET. These are reviewer infrastructure limits, not missing contributor evidence.
  • Reviewed-head CI: CI Required and both Console Browser checks pass for the reviewed head; the refreshed check listing reports no pending or failed checks. (0fb4605eca28)

Likely related people:

  • Free Wortley: Raw commit 1605e30 adds apps/controller/src/console/agents/list.mts:1 relative to its recorded parents. This identifies author metadata, not feature responsibility or a PR merger. (role: source-line author; confidence: high; commits: 1605e3094366; files: apps/controller/src/console/agents/list.mts)

Labels

Label changes:

  • add P3: This is a scoped maintainability improvement that preserves existing user behavior.
  • add proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence.
  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🦞 diamond lobster.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR.

Label justifications:

  • P3: This is a scoped maintainability improvement that preserves existing user behavior.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🦞 diamond lobster.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence.

Rating scale

6/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.

Workflow

ClawSweeper edits this one comment on every review. Comment @clawsweeper re-review for a fresh review only. Repair and merge execution lanes are retired.

Reviewed October 21, 2026, 8:37 PM ET / October 22, 2026, 00:37 UTC.

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

Labels

P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant