fraimz

Frame-by-frame proof of the flow, as the end user experienced it.

Run ID: 2026-07-28T15-06-52-581Z
Mode: demo
Started: 2026-07-28T15:06:52.581Z
Finished: 2026-07-28T15:07:11.282Z
CDP: http://127.0.0.1:25043
Passed: 1 Failed: 0 Skipped: 0

dynamic-artifact-runtime - A described React artifact renders safely, stays interactive, and has a managed reusable lifecycle

User-facing flow demo

Spec: evals/voiceovers/dynamic-artifact-runtime.md

PASSED Β· 1622ms

Frame 1 β€” enable the managed builder skill

The workspace explicitly enables its injected Artifact Builder skill and manages it beside the project library
The workspace explicitly enables its injected Artifact Builder skill and manages it beside the project library
passed Visible text includes "Artifact Builder skill"
passed Visible text includes "Enabled for agents in this workspace."
passed Visible text includes "Injected"
passed Visible text includes "Launch Radar"
"I enable the managed Artifact Builder skill for this workspace. The injected instructions teach agents the bounded project workflow, while this library lets me create, list, enable, disable, and reopen every generated artifact."
The workspace explicitly enables its injected Artifact Builder skill and manages it beside the project library
dynamic-artifact-builder-skill
Claim: The workspace explicitly enables its injected Artifact Builder skill and manages it beside the project library
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 622142 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 06664f9b38a7
  • PASS Required visible text: Artifact Builder skill
  • PASS Required visible text: Injected
  • PASS Required visible text: Launch Radar
  • PASS Rejected visible text: Something went wrong
The workspace explicitly enables its injected Artifact Builder skill and manages it beside the project library
The workspace explicitly enables its injected Artifact Builder skill and manages it beside the project library
PASSED Β· 262ms

Frame 2 β€” create and attach the project

A deterministic code-mode project is built and attached as a live React artifact in chat
A deterministic code-mode project is built and attached as a live React artifact in chat
"I describe the launch radar I need. In a real task, the agent works in code mode, can delegate the bounded React implementation to a subagent, reviews the project, and attaches its immutable build directly in chat."
A deterministic code-mode project is built and attached as a live React artifact in chat
dynamic-artifact-inline
Claim: A deterministic code-mode project is built and attached as a live React artifact in chat
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 674502 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 4a23e5a2547a
  • PASS Required visible text: Launch Radar
  • PASS Required visible text: Open editor
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
A deterministic code-mode project is built and attached as a live React artifact in chat
A deterministic code-mode project is built and attached as a live React artifact in chat
PASSED Β· 222ms

Frame 3 β€” prove the isolated renderer

The generated component runs in a ready opaque iframe with network and host authority denied
The generated component runs in a ready opaque iframe with network and host authority denied
"The result is real React, but it does not inherit OpenWork's authority. Suspense and an error boundary protect the conversation while an opaque iframe denies network access, host DOM access, credentials, and arbitrary tools."
The generated component runs in a ready opaque iframe with network and host authority denied
dynamic-artifact-safe-render
Claim: The generated component runs in a ready opaque iframe with network and host authority denied
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 672876 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 21c2ce62db98
  • PASS Required visible text: Launch Radar
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
The generated component runs in a ready opaque iframe with network and host authority denied
The generated component runs in a ready opaque iframe with network and host authority denied
PASSED Β· 472ms

Frame 4 β€” interact with persisted local state

A click inside the opaque component updates its bounded persisted state
A click inside the opaque component updates its bounded persisted state
"I can still use it like a small app. Clicking Watch launch updates only this artifact's bounded local state, and OpenWork persists a new state revision outside the isolated frame."
A click inside the opaque component updates its bounded persisted state
dynamic-artifact-local-state
Claim: A click inside the opaque component updates its bounded persisted state
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 673721 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 7bea85c597fb
  • PASS Required visible text: Launch Radar
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
A click inside the opaque component updates its bounded persisted state
A click inside the opaque component updates its bounded persisted state
PASSED Β· 483ms

Frame 5 β€” open the reusable project

Open editor reveals a library and editor for the complete five-file artifact project
Open editor reveals a library and editor for the complete five-file artifact project
"Open editor takes me from the chat attachment to the artifact workspace. Library and Editor keep the reusable project together with its manifest, React source, styles, data, and JSON Schema contract."
Open editor reveals a library and editor for the complete five-file artifact project
dynamic-artifact-project-editor
Claim: Open editor reveals a library and editor for the complete five-file artifact project
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 672258 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture e326a8f3cdcc
  • PASS Required visible text: LIBRARY
  • PASS Required visible text: EDITOR
  • PASS Required visible text: src/App.tsx
  • PASS Required visible text: data.schema.json
  • PASS Rejected visible text: Something went wrong
Open editor reveals a library and editor for the complete five-file artifact project
Open editor reveals a library and editor for the complete five-file artifact project
PASSED Β· 238ms

Frame 6 β€” inspect source, contract, revision, and preview

The editor keeps React source, its data contract, immutable revision, and live preview together
The editor keeps React source, its data contract, immutable revision, and live preview together
"I can inspect or enhance the source and data contract while a live preview stays beside the editor. The visible revision identifies the exact immutable build attached to this conversation."
The editor keeps React source, its data contract, immutable revision, and live preview together
dynamic-artifact-data-contract-preview
Claim: The editor keeps React source, its data contract, immutable revision, and live preview together
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 835326 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture f26644c7f337
  • PASS Required visible text: data.schema.json
  • PASS Required visible text: Revision
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
The editor keeps React source, its data contract, immutable revision, and live preview together
The editor keeps React source, its data contract, immutable revision, and live preview together
PASSED Β· 2295ms

Frame 7 β€” reload, reopen, and reuse

Reloading preserves the pinned build and local state, and the project reopens from the Artifacts library
Reloading preserves the pinned build and local state, and the project reopens from the Artifacts library
passed Visible text includes "Launch Radar"
passed Visible text includes "src/App.tsx"
"After a reload, the same pinned build and watched-launch state return. I reopen Launch Radar from the Artifacts library, ready to reuse as-is or evolve into a new revision later."
Reloading preserves the pinned build and local state, and the project reopens from the Artifacts library
dynamic-artifact-persisted-reopened
Claim: Reloading preserves the pinned build and local state, and the project reopens from the Artifacts library
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 666584 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture dfa6e7d2b5ae
  • PASS Required visible text: Launch Radar
  • PASS Required visible text: src/App.tsx
  • PASS Required visible text: Revision
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
Reloading preserves the pinned build and local state, and the project reopens from the Artifacts library
Reloading preserves the pinned build and local state, and the project reopens from the Artifacts library
PASSED Β· 751ms

Frame 8 β€” disable new builds without breaking pinned work

A project can be disabled from the library while its editor and immutable pinned preview remain available
A project can be disabled from the library while its editor and immutable pinned preview remain available
"The library also manages the lifecycle. I disable Launch Radar, which blocks new builds while preserving its source, editor, immutable revision, and pinned preview. Workspace-level agent authoring has its own explicit Artifact Builder skill switch."
A project can be disabled from the library while its editor and immutable pinned preview remain available
dynamic-artifact-disabled-editable
Claim: A project can be disabled from the library while its editor and immutable pinned preview remain available
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 670847 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 0c1ca52e94fb
  • PASS Required visible text: Launch Radar
  • PASS Required visible text: Disabled
  • PASS Required visible text: Rebuild
  • PASS Required visible text: Live sandbox preview
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
A project can be disabled from the library while its editor and immutable pinned preview remain available
A project can be disabled from the library while its editor and immutable pinned preview remain available
PASSED Β· 250ms

Frame 9 β€” start a human-created artifact

The same managed library gives a person a clear create flow with an explicit reusable-project identity
The same managed library gives a person a clear create flow with an explicit reusable-project identity
"The experience is not agent-only. Create artifact gives me the same bounded starting point, asks for a human-readable name and purpose, and shows the durable workspace slug before I create anything."
The same managed library gives a person a clear create flow with an explicit reusable-project identity
dynamic-artifact-create-dialog
Claim: The same managed library gives a person a clear create flow with an explicit reusable-project identity
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 663445 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 788754a26b8f
  • PASS Required visible text: Create an artifact
  • PASS Required visible text: What should it help with?
  • PASS Required visible text: incident-command-map
  • PASS Required visible text: Create and edit
  • PASS Rejected visible text: Something went wrong
The same managed library gives a person a clear create flow with an explicit reusable-project identity
The same managed library gives a person a clear create flow with an explicit reusable-project identity
PASSED Β· 705ms

Frame 10 β€” restore agent authoring and project builds

Workspace skill and per-project switches are independent, visible controls rather than hidden agent configuration
Workspace skill and per-project switches are independent, visible controls rather than hidden agent configuration
passed Visible text includes "Artifact Builder skill"
passed Visible text includes "Injected"
passed Visible text includes "Launch Radar"
"The workspace skill and each project have independent controls. I can restore injected agent authoring and re-enable Launch Radar for new builds without affecting any already-pinned conversation artifact."
Workspace skill and per-project switches are independent, visible controls rather than hidden agent configuration
dynamic-artifact-managed-controls
Claim: Workspace skill and per-project switches are independent, visible controls rather than hidden agent configuration
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 614964 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 8e1b057be671
  • PASS Required visible text: Artifact Builder skill
  • PASS Required visible text: Injected
  • PASS Required visible text: Launch Radar
  • PASS Required visible text: Enabled
  • PASS Rejected visible text: Something went wrong
Workspace skill and per-project switches are independent, visible controls rather than hidden agent configuration
Workspace skill and per-project switches are independent, visible controls rather than hidden agent configuration
PASSED Β· 592ms

Frame 11 β€” stage a bounded agent intent

A component can request in-context help, but the bridge only stages a declared prompt and never executes tools or effects itself
A component can request in-context help, but the bridge only stages a declared prompt and never executes tools or effects itself
"Inside the artifact, Ask agent about launch risk crosses a deliberately narrow bridge. It stages the declared launch.explain intent in my composer, including its effect and confirmation contract, but does not send it or execute a tool."
A component can request in-context help, but the bridge only stages a declared prompt and never executes tools or effects itself
dynamic-artifact-agent-intent
Claim: A component can request in-context help, but the bridge only stages a declared prompt and never executes tools or effects itself
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 672230 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture ed4f200cb4c4
  • PASS Required visible text: Stage this OpenWork artifact intent for the agent
  • PASS Required visible text: Intent: Explain launch risk
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
A component can request in-context help, but the bridge only stages a declared prompt and never executes tools or effects itself
A component can request in-context help, but the bridge only stages a declared prompt and never executes tools or effects itself
PASSED Β· 1526ms

Frame 12 β€” inspect the versioned manifest

artifact.json is the explicit contract for protocol version, React entrypoint, data, presentation, declared intents, and effects
artifact.json is the explicit contract for protocol version, React entrypoint, data, presentation, declared intents, and effects
"artifact.json makes the runtime contract inspectable: protocol and API versions, React entrypoint, data and schema paths, chat and tab presentation, plus every declared intent, argument, effect, and confirmation policy."
artifact.json is the explicit contract for protocol version, React entrypoint, data, presentation, declared intents, and effects
dynamic-artifact-manifest-contract
Claim: artifact.json is the explicit contract for protocol version, React entrypoint, data, presentation, declared intents, and effects
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 662196 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 77fc9179b952
  • PASS Required visible text: artifact.json
  • PASS Required visible text: Revision
  • PASS Required visible text: Live sandbox preview
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
artifact.json is the explicit contract for protocol version, React entrypoint, data, presentation, declared intents, and effects
artifact.json is the explicit contract for protocol version, React entrypoint, data, presentation, declared intents, and effects
PASSED Β· 245ms

Frame 13 β€” inspect the generated React component

The primary file is ordinary typed JSX with injected data, bounded state, and a narrow runtime adapter
The primary file is ordinary typed JSX with injected data, bounded state, and a narrow runtime adapter
"src/App.tsx is ordinary typed JSX. Data and state arrive as props, while the injected runtime exposes only replaceState and invokeβ€”enough for a rich app without granting browser, filesystem, credential, or tool authority."
The primary file is ordinary typed JSX with injected data, bounded state, and a narrow runtime adapter
dynamic-artifact-react-source
Claim: The primary file is ordinary typed JSX with injected data, bounded state, and a narrow runtime adapter
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 854530 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 0d37e0f72fe7
  • PASS Required visible text: src/App.tsx
  • PASS Required visible text: Revision
  • PASS Required visible text: Live sandbox preview
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
The primary file is ordinary typed JSX with injected data, bounded state, and a narrow runtime adapter
The primary file is ordinary typed JSX with injected data, bounded state, and a narrow runtime adapter
PASSED Β· 243ms

Frame 14 β€” inspect presentation as a separate file

Visual expression lives in styles.css, independently editable from the component, contract, and data
Visual expression lives in styles.css, independently editable from the component, contract, and data
"styles.css is its own expressive layer. The agent or user can evolve layout, motion, color, and component states without mixing presentation into the manifest, data, or React contract."
Visual expression lives in styles.css, independently editable from the component, contract, and data
dynamic-artifact-styles
Claim: Visual expression lives in styles.css, independently editable from the component, contract, and data
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 845630 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture f5b8d534c3bb
  • PASS Required visible text: styles.css
  • PASS Required visible text: Revision
  • PASS Required visible text: Live sandbox preview
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
Visual expression lives in styles.css, independently editable from the component, contract, and data
Visual expression lives in styles.css, independently editable from the component, contract, and data
PASSED Β· 235ms

Frame 15 β€” inspect portable artifact data

data.json makes the rendered values portable, inspectable, and separately enhanceable without rewriting JSX
data.json makes the rendered values portable, inspectable, and separately enhanceable without rewriting JSX
"data.json keeps the current artifact values portable and understandable. A later enhancement can update the mission data without reconstructing the component or weakening its schema boundary."
data.json makes the rendered values portable, inspectable, and separately enhanceable without rewriting JSX
dynamic-artifact-data
Claim: data.json makes the rendered values portable, inspectable, and separately enhanceable without rewriting JSX
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 828774 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture beafebc934aa
  • PASS Required visible text: data.json
  • PASS Required visible text: Revision
  • PASS Required visible text: Live sandbox preview
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
data.json makes the rendered values portable, inspectable, and separately enhanceable without rewriting JSX
data.json makes the rendered values portable, inspectable, and separately enhanceable without rewriting JSX
PASSED Β· 235ms

Frame 16 β€” inspect the JSON Schema boundary

data.schema.json is the build-time data contract, keeping generated components honest before they ever reach the iframe
data.schema.json is the build-time data contract, keeping generated components honest before they ever reach the iframe
"data.schema.json is the build-time contract for those values. Required fields, types, bounds, and additional-property rules are validated before a generated component can become a pinned build."
data.schema.json is the build-time data contract, keeping generated components honest before they ever reach the iframe
dynamic-artifact-json-schema
Claim: data.schema.json is the build-time data contract, keeping generated components honest before they ever reach the iframe
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 827966 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture fc06369f1c3c
  • PASS Required visible text: data.schema.json
  • PASS Required visible text: Revision
  • PASS Required visible text: Live sandbox preview
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
data.schema.json is the build-time data contract, keeping generated components honest before they ever reach the iframe
data.schema.json is the build-time data contract, keeping generated components honest before they ever reach the iframe
PASSED Β· 464ms

Frame 17 β€” reject unsafe generated code

The code-mode compiler returns a structured diagnostic instead of publishing an obviously unbounded component
The code-mode compiler returns a structured diagnostic instead of publishing an obviously unbounded component
passed Visible text includes "Artifact component could not be compiled"
passed Visible text includes "Potentially unbounded loops are not supported inside artifact components"
"Now I try an unsafe source change with an unbounded loop. The compiler refuses to publish it, keeps src/App.tsx selected with a structured line-and-column diagnostic, and preserves the last known-good isolated preview."
The code-mode compiler returns a structured diagnostic instead of publishing an obviously unbounded component
dynamic-artifact-compiler-diagnostic
Claim: The code-mode compiler returns a structured diagnostic instead of publishing an obviously unbounded component
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 681180 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 0545e1a24e4f
  • PASS Required visible text: Artifact component could not be compiled
  • PASS Required visible text: Potentially unbounded loops
  • PASS Required visible text: Live sandbox preview
  • PASS Rejected visible text: Something went wrong
The code-mode compiler returns a structured diagnostic instead of publishing an obviously unbounded component
The code-mode compiler returns a structured diagnostic instead of publishing an obviously unbounded component
PASSED Β· 469ms

Frame 18 β€” publish an enhanced immutable revision

Restoring safe source and changing only data publishes a new immutable build while keeping its compiler receipt visible
Restoring safe source and changing only data publishes a new immutable build while keeping its compiler receipt visible
"I restore the safe component, raise Apollo readiness in data.json, and rebuild. OpenWork produces a new immutable revision and a visible compiler receipt instead of mutating the original artifact in place."
Restoring safe source and changing only data publishes a new immutable build while keeping its compiler receipt visible
dynamic-artifact-enhanced-revision
Claim: Restoring safe source and changing only data publishes a new immutable build while keeping its compiler receipt visible
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 659186 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 4a7d498c19cd
  • PASS Required visible text: Build ready:
  • PASS Required visible text: data.json
  • PASS Required visible text: Revision
  • PASS Required visible text: Live sandbox preview
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
Restoring safe source and changing only data publishes a new immutable build while keeping its compiler receipt visible
Restoring safe source and changing only data publishes a new immutable build while keeping its compiler receipt visible
PASSED Β· 262ms

Frame 19 β€” keep chat pinned to its original build

Evolving the reusable project never silently mutates an artifact already attached to a conversation
Evolving the reusable project never silently mutates an artifact already attached to a conversation
"Back in chat, the existing Launch Radar card remains pinned to the exact revision and interaction state it started with. Project evolution never silently rewrites the history of a conversation."
Evolving the reusable project never silently mutates an artifact already attached to a conversation
dynamic-artifact-chat-stays-pinned
Claim: Evolving the reusable project never silently mutates an artifact already attached to a conversation
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 666142 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 6a8a1d8e232c
  • PASS Required visible text: Launch Radar
  • PASS Required visible text: Open editor
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
Evolving the reusable project never silently mutates an artifact already attached to a conversation
Evolving the reusable project never silently mutates an artifact already attached to a conversation
PASSED Β· 1072ms

Frame 20 β€” disable the enhanced project safely

Disabling a project blocks future publication but preserves the enhanced source, exact revision, and last known-good preview
Disabling a project blocks future publication but preserves the enhanced source, exact revision, and last known-good preview
passed Visible text includes "Disabled Β· editing only"
passed Visible text includes "Live sandbox preview"
"I disable the enhanced project. New publication is blocked, but its source, new revision, editor, and last known-good preview remain available so governance does not become accidental data loss."
Disabling a project blocks future publication but preserves the enhanced source, exact revision, and last known-good preview
dynamic-artifact-enhanced-disabled
Claim: Disabling a project blocks future publication but preserves the enhanced source, exact revision, and last known-good preview
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 672597 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 9fa760934817
  • PASS Required visible text: Launch Radar
  • PASS Required visible text: Disabled
  • PASS Required visible text: Rebuild
  • PASS Required visible text: Live sandbox preview
  • PASS Rejected visible text: Artifact unavailable
  • PASS Rejected visible text: Something went wrong
Disabling a project blocks future publication but preserves the enhanced source, exact revision, and last known-good preview
Disabling a project blocks future publication but preserves the enhanced source, exact revision, and last known-good preview
PASSED Β· 460ms

Frame 21 β€” disable injected authoring without deleting work

The workspace can remove injected builder instructions while its reusable projects remain listed and pinned artifacts keep working
The workspace can remove injected builder instructions while its reusable projects remain listed and pinned artifacts keep working
passed Visible text includes "Disabled. Existing pinned artifacts still work"
passed Visible text includes "Managed"
passed Visible text includes "Launch Radar"
"I also disable the workspace Artifact Builder skill. The injected instructions disappear from future agent context, while Launch Radar stays listed and existing pinned artifacts continue to render and interact."
The workspace can remove injected builder instructions while its reusable projects remain listed and pinned artifacts keep working
dynamic-artifact-builder-disabled-retained
Claim: The workspace can remove injected builder instructions while its reusable projects remain listed and pinned artifacts keep working
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 630565 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 284e3e69577b
  • PASS Required visible text: Artifact Builder skill
  • PASS Required visible text: Managed
  • PASS Required visible text: Launch Radar
  • PASS Required visible text: Disabled
  • PASS Rejected visible text: Something went wrong
The workspace can remove injected builder instructions while its reusable projects remain listed and pinned artifacts keep working
The workspace can remove injected builder instructions while its reusable projects remain listed and pinned artifacts keep working
PASSED Β· 204ms

Frame 22 β€” coexist with standard native artifacts

Generated React projects and validated standard answer cards remain separate catalogs with independent lifecycle controls
Generated React projects and validated standard answer cards remain separate catalogs with independent lifecycle controls
"Generated React projects coexist with OpenWork's standard native answer artifacts as separate catalogs. Workspace brief, calendars, widgets, communication, inbox, attention, and approval cards keep their own validated lifecycle."
Generated React projects and validated standard answer cards remain separate catalogs with independent lifecycle controls
dynamic-artifact-standard-coexistence
Claim: Generated React projects and validated standard answer cards remain separate catalogs with independent lifecycle controls
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/session/ses_056bc5274ffewjyqOfs6hlOdTl
  • PASS PNG exists and is non-empty 711487 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture f6df820d99f3
  • PASS Required visible text: Native answer prototypes
  • PASS Required visible text: Workspace brief
  • PASS Required visible text: Calendar
  • PASS Required visible text: Widgets
  • PASS Rejected visible text: Something went wrong
Generated React projects and validated standard answer cards remain separate catalogs with independent lifecycle controls
Generated React projects and validated standard answer cards remain separate catalogs with independent lifecycle controls
PASSED Β· 5375ms

Frame 23 β€” keep artifact preferences usable without cloud

The master artifact switch persists locally when signed out and continues to synchronize with an organization when signed in
The master artifact switch persists locally when signed out and continues to synchronize with an organization when signed in
passed Visible text includes "saved on this device otherwise"
passed Visible text includes "Workspace brief"
"The master UI artifacts switch also works without a cloud account. Signed-out workspaces save the choice on this device and restore it after reload, while signed-in workspaces keep the same control synchronized to their active organization."
The master artifact switch persists locally when signed out and continues to synchronize with an organization when signed in
dynamic-artifact-local-preference
Claim: The master artifact switch persists locally when signed out and continues to synchronize with an organization when signed in
URL: http://localhost:25040/#/workspace/ws_84ad5d6002da/settings/preferences
  • PASS PNG exists and is non-empty 402286 bytes
  • PASS PNG dimensions are sane 2360x1640
  • PASS Frame is not a duplicate of the previous capture 8c210033c42a
  • PASS Required visible text: UI artifacts (Alpha)
  • PASS Required visible text: saved on this device otherwise
  • PASS Required visible text: Workspace brief
  • PASS Rejected visible text: Something went wrong
  • PASS Rejected visible text: Failed to fetch
  • PASS Rejected visible text: Preparing workspace
  • PASS URL hash includes /settings/preferences http://localhost:25040/#/workspace/ws_84ad5d6002da/settings/preferences
The master artifact switch persists locally when signed out and continues to synchronize with an organization when signed in
The master artifact switch persists locally when signed out and continues to synchronize with an organization when signed in
PASSED Β· 0ms

Voice-over script coverage

passed Script frame 1 narrated: "\"I enable the managed Artifact Builder skill for this workspace. The injected instructio"
passed Script frame 2 narrated: "\"I describe the launch radar I need. In a real task, the agent works in code mode, can d"
passed Script frame 3 narrated: "\"The result is real React, but it does not inherit OpenWork's authority. Suspense and an"
passed Script frame 4 narrated: "\"I can still use it like a small app. Clicking Watch launch updates only this artifact's"
passed Script frame 5 narrated: "\"Open editor takes me from the chat attachment to the artifact workspace. Library and Ed"
passed Script frame 6 narrated: "\"I can inspect or enhance the source and data contract while a live preview stays beside"
passed Script frame 7 narrated: "\"After a reload, the same pinned build and watched-launch state return. I reopen Launch "
passed Script frame 8 narrated: "\"The library also manages the lifecycle. I disable Launch Radar, which blocks new builds"
passed Script frame 9 narrated: "\"The experience is not agent-only. Create artifact gives me the same bounded starting po"
passed Script frame 10 narrated: "\"The workspace skill and each project have independent controls. I can restore injected "
passed Script frame 11 narrated: "\"Inside the artifact, Ask agent about launch risk crosses a deliberately narrow bridge. "
passed Script frame 12 narrated: "\"artifact.json makes the runtime contract inspectable: protocol and API versions, React "
passed Script frame 13 narrated: "\"src/App.tsx is ordinary typed JSX. Data and state arrive as props, while the injected r"
passed Script frame 14 narrated: "\"styles.css is its own expressive layer. The agent or user can evolve layout, motion, co"
passed Script frame 15 narrated: "\"data.json keeps the current artifact values portable and understandable. A later enhanc"
passed Script frame 16 narrated: "\"data.schema.json is the build-time contract for those values. Required fields, types, b"
passed Script frame 17 narrated: "\"Now I try an unsafe source change with an unbounded loop. The compiler refuses to publi"
passed Script frame 18 narrated: "\"I restore the safe component, raise Apollo readiness in data.json, and rebuild. OpenWor"
passed Script frame 19 narrated: "\"Back in chat, the existing Launch Radar card remains pinned to the exact revision and i"
passed Script frame 20 narrated: "\"I disable the enhanced project. New publication is blocked, but its source, new revisio"
passed Script frame 21 narrated: "\"I also disable the workspace Artifact Builder skill. The injected instructions disappea"
passed Script frame 22 narrated: "\"Generated React projects coexist with OpenWork's standard native answer artifacts as se"
passed Script frame 23 narrated: "\"The master UI artifacts switch also works without a cloud account. Signed-out workspace"