Skip to content

Use the Artifacts product UI in Codex extension surfaces - #45

Merged
nicosuave merged 6 commits into
mainfrom
codex-product-integration
Oct 4, 2026
Merged

nicosuave merged 6 commits into
mainfrom
codex-product-integration

Conversation

@nicosuave

@nicosuave nicosuave commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

Artifacts' Codex entrypoints opened a minimal standalone shell instead of the existing product's gallery and source editor. Reuse the gallery's styling, folder navigation, project editor, draft handling, Share and Remix forms, with MCP transport for authorized complete-project reads and writes. Conversation panels start from an explicit selection; inline results continue to display the authored artifact immediately.

Project editing preserves client/server/helper files, dependencies, revision conflicts, diagnostics, and drafts across navigation. Saved revisions stay pinned. Authored previews run in a separate sandbox so their CSS and React root cannot replace the gallery. Mentions carry artifact/script identity and complete source, settings expose a real connection check, and owned file editing keeps its ETag contract.

The embedded layout uses host theme tokens and transparent outer chrome, one compact toolbar, and a collapsible library. Secondary actions are in the menu, while source and revision selection stay visible. The preview owns its spacing. Moving focus between its frame and the toolbar no longer triggers a reload; the browser regression verifies collapse/reopen preserves the preview without another request. Narrow panels use compact revision labels.

Closing an expanded native tab can resize the view after its mode notification. Reassert the bounded inline height on viewport resize or visibility return, even when content height is unchanged. Keep older saved-card resource URIs readable after deployment, while advertising the new v6 shell. Worker selection uses the catalog item's key, and gallery assertions cover the shared creation menu.

Validation: all 45 browser tests passed (536 assertions), including a regression that fails before the sizing fix and verifies bounded height, scrolling, preserved state, and no resize loop. Six MCP tests passed (58 assertions), including legacy resource reads through the official stdio client. The real Worker HTTP MCP integration passed (28 assertions), along with root and Cloudflare typechecks and the deployment build. The deployed v6 shell was loaded through the official AppBridge in Codex's in-app browser: the existing runner artifact rendered live data, expanded, and returned to 600px while preserving its filter. Current and legacy resources load from nicmini; stored artifact identity is unchanged. Native inline sizing is not exposed to automation, so this browser-host check is distinct from native desktop acceptance.

The docs explicitly retain the native rich-form limitation: current stateless transports do not route server-initiated elicitation replies. The existing product Remix form remains available. No sampling or PIP support is claimed.

Both push and pull-request CI passed at 93daa41.

@nicosuave
nicosuave merged commit 8550274 into main Oct 4, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant