Skip to content
CAI
Software that uses CAICheck a score

nexu-io/open-design

45.8

Weak · 28 September 2026

867.1k

lines of production code

TypeScript

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

OpenDesign is a local-first AI design platform that orchestrates a daemon and web interface to generate, edit, and manage digital artifacts like websites, presentations, and code. It integrates a plugin ecosystem and multiple AI agent protocols to execute complex workflows, including automated critique, brand extraction, and media generation. The system supports team collaboration, offline Figma integration, and cross-platform deployment via Docker or Kubernetes.

Features

Add Azure deployment support for App Service and ACI

Users can now deploy OpenDesign to Microsoft Azure using two new evaluation lanes: Azure App Service for Containers (with managed HTTPS) and Azure Container Instances (ACI) for quick, pay-per-second testing. The deployment includes Bicep templates, a wrapper script, and an Azure Pipelines definition, all configured to run the single Alpine runtime image. Note that these lanes use ephemeral local disk storage for the SQLite database to avoid corruption issues with Azure Files, meaning data is reset on restart or redeploy.

deploy/azure · high confidence

Add desktop pet task center page

A new page route has been added to the web application that renders the desktop pet interface. This page dynamically loads the \DesktopPetSurface\ component on the client side, enabling users to access the desktop pet feature through a dedicated view.

apps/web/app/desktop-pet · high confidence

Added Remix Icon v4.9.1 stylesheet

The application now includes the Remix Icon v4.9.1 CSS stylesheet, providing access to the full set of icon classes (e.g., .ri-add-fill, .ri-arrow-right-line) and font-face definitions for rendering icons via the 'remixicon' font family.

apps/web/src/styles/remixicon · high confidence

Added Vela agent verification script

A new ad-hoc end-to-end verification script (verify-amr-real-vela.mjs) has been added to the daemon's scripts directory. This tool allows users to drive the real 'vela' binary through the Open Design attachAcpSession interface, enabling manual testing of the AMR (vela) stdio agent integration by sending prompts and observing the resulting text\_delta and usage events.

apps/daemon/scripts · high confidence

Chat panel component architecture and new UI elements

This change introduces a comprehensive maintenance specification (AGENTS.md) for the chat components, enforcing a strict layering strategy (primitives vs. business components), a dedicated CSS variable seam (--chat-\*) for theming, and robust degradation patterns for missing agent data. It also adds several new UI components: an AmrOwnerTopUpDialog for billing notifications, an AnchoredMenuShell to reposition menus relative to buttons, an AudioArtifact for playing audio with waveform visualization, a ChatScrollEdge for transcript blurring, a ConversationHistoryDock for session switching, and a CountingNumber for animated token counts. The ChatRoot component establishes the theme context required for these components to render correctly.

apps/web/src/components/chat · high confidence

Chat panel rebuilt with new scroll anchoring, artifact handling, and turn block logic

The chat panel has been rebuilt to align with the design specification, introducing a new scroll anchoring system that pins messages to the top using a tail spacer to prevent layout shifts, and a new turn block builder that enforces strict rules for execution shells, tool rows, and thinking groups. Artifact cards now follow a deterministic ordering based on user focus and file type, and export options are correctly gated to HTML files only. The composer draft system now persists a full payload including attachments, quotes, and context IDs with strict size limits, while attachment navigation and file name truncation logic has been extracted into pure functions for reliable testing. Additionally, fork boundaries are now calculated based on the last physical message in a task to prevent context loss, and copyable content now includes thinking text when the main answer is empty.

apps/web/src/runtime/chat · high confidence

Critique Theater playback, streaming, and settings toggle hooks

The Theater component area now includes three new React hooks to power the Critique Theater feature. \useCritiqueReplay\ allows users to scrub through a recorded critique session by fetching and parsing a transcript (supporting \.ndjson\ and \.ndjson.gz\ formats) with adjustable playback speeds (instant, live, paused). \useCritiqueStream\ subscribes the Theater to a live Server-Sent Events (SSE) bus for real-time critique updates, handling connection lifecycle and state resets when projects change. \useCritiqueTheaterEnabled\ manages the user-facing toggle for the feature, persisting the setting in \localStorage\ and syncing it across tabs and the backend project settings via a custom event and API round-trip.

apps/web/src/components/Theater/hooks · high confidence

Daemon integration layer restructured with new provider and billing clients

The daemon's integration layer has been reorganized into a set of specialized modules to support new provider integrations, billing logic, and improved error handling. A new AIHubMix BYOK provider integration has been added, handling multi-protocol routing (OpenAI, Anthropic, Gemini) and specific media generation flows. Billing operations now delegate to the Vela CLI for account and workspace balance retrieval, ensuring a single source of truth for credits and plan tiers. The daemon also introduces a Collab Cloud client for cross-daemon comment relay and member directory management, alongside a Diagnostic Relay for sending consented failure evidence. Error handling has been refined with dedicated modules for Vela command execution, structured error classification (e.g., distinguishing aborted operations from failures), and AMR account error signaling. Additionally, utility modules for ElevenLabs voice options, Google model path normalization, and telemetry relay URL normalization have been introduced to support these new capabilities.

apps/daemon/src/integrations · high confidence

Daemon now automatically collects consented failure evidence and observes health metrics

The daemon now includes a new automatic diagnostics system that captures and reports failure evidence (such as run errors, API failures, and terminal issues) and health metrics (including heap pressure, SQLite growth, and OOM exits) to help diagnose issues. This feature respects user consent, ensuring that only opted-in data is collected and transmitted, and includes safeguards to prevent backfilling of logs created before consent was granted.

apps/daemon/src/services · high confidence

Immutable chat artifact snapshots with crash recovery and storage management

The daemon now captures and stores immutable snapshots of chat artifacts (images, sketches, HTML, and other files) to preserve the exact state of a file at the time of a message, rather than relying on the live workspace file. This change introduces a content-addressed blob store, a capture pipeline that writes intents to SQLite before touching the filesystem, and a crash-reconciliation system that classifies and recovers interrupted captures. It also enforces storage quotas per blob, per project, and globally, and runs periodic garbage collection to reclaim unreferenced snapshots and orphaned files.

apps/daemon/src/chat-artifacts · high confidence

Initial contributor and event data files added

The repository now includes \data/contributors.json\ and \data/events.jsonl\ to track user contributions. The contributors file records two users, 'zoeforfun' and 'lefarcen', with their respective points, tiers (spark/signal), and activity metrics. The events file logs specific 'pr\_merged' events for these users, including PR numbers and point deltas, providing the raw data source for the contributor system.

data · high confidence

Initial skills directory structure and curated skill catalogue

The \skills/\ directory has been introduced to house functional agent skills, establishing a clear separation from design templates. This change adds a new \AGENTS.md\ and \README.md\ that define the directory's purpose, the daemon's \/api/skills\ discovery mechanism, and the protocol for adding new skills. It also populates the directory with a curated catalogue of lightweight stub skills (e.g., \ad-creative\, \agent-browser\, \article-magazine\) that point to upstream repositories, enabling the Integrations → Skills surface to display a rich, filterable list of capabilities without vendoring full workflows.

skills · high confidence

Introduce Critique Theater live debate and replay UI

The web application now includes the Critique Theater components, providing a live-debate interface for critique runs and a read-only replay surface for recorded transcripts. Users can view real-time scoring trajectories, round-by-round panelist feedback, and composite scores against thresholds via the TheaterStage and TheaterTranscript components. The feature includes an interrupt mechanism (InterruptButton) to cancel in-flight runs, handles terminal states (shipped, interrupted, failed, degraded) with appropriate summary badges, and supports playback speed controls for replaying past critique sessions.

apps/web/src/components/Theater · high confidence

Introduce Daemon-side Critique Theater (Design Jury) pipeline

The daemon now includes the backend implementation for the Critique Theater (product name: Design Jury) feature. This adds a full critique pipeline to \apps/daemon/src/critique\, including an orchestrator that drives agent sessions, a streaming parser for critique events, and persistence for runs and transcripts via SQLite. Users can now interrupt active critique runs via a new \POST /api/projects/:id/critique/:runId/interrupt\ endpoint and retrieve generated artifacts (e.g., HTML, SVG, JSON) via \GET /api/projects/:id/critique/:runId/artifact\. The system also introduces adapter conformance testing to classify adapters as shipped, degraded, or failed, with automatic degradation marking for 24 hours if an adapter fails conformance checks. Configuration is managed via \OD\CRITIQUE\\*\ environment variables, and the pipeline emits SSE events and Prometheus metrics for observability.

apps/daemon/src/critique · high confidence

Introduce OD Next strategy with automatic production and complex runtime evidence

The daemon now includes the OD Next design strategy implementation, adding core services for automatic continuation and production. This change introduces logic to handle both simple and complex execution modes, including capability gating, runtime evidence evaluation, and device frame materialization for prototype tasks. It also adds support for resolving project example skills and freezing skill packages to ensure stable, reproducible agent runs.

apps/daemon/src/strategies/od-next · high confidence

Introduce OpenDesign DeepSeek Harness profile for agent execution

The daemon now supports the DeepSeek Harness via a new 'open-design' profile, enabling users to run agents through the user-installed \dsh\ tool. This change adds a strict JSONL stdio protocol (version 1) to the daemon (\apps/daemon/src/agent-protocol/dsh-profile\) for validating runtime frames and host commands, and introduces the \@open-design/dsh-runtime\ package (\packages/dsh-runtime\) which acts as the profile adapter. The adapter supports session resumption, cancellation, and structured events (thinking, text, tool calls, usage), allowing the daemon to manage the lifecycle of DeepSeek Harness processes and map their output to the agent protocol.

apps/daemon/src/agent-protocol/dsh-profile, packages/dsh-runtime · high confidence

Introduce OpenDesign Helm chart for Kubernetes deployment

Adds a new Helm chart (version 0.1.0) for deploying OpenDesign on Kubernetes, including a mandatory NGINX authentication sidecar, strict security defaults (non-root, read-only filesystem), and configuration for Server-Sent Events. The chart enforces a single-replica limit by default due to SQLite concurrency constraints, though Horizontal Pod Autoscaling is available if an external database is used.

charts/open-design · high confidence

Introduce build metadata validation for tool packages

The metatool package now provides a mechanism to verify that a tool's distribution is fresh and consistent with its source code. It introduces a CLI (with 'write' and 'check' commands) and core library functions that compute a SHA-256 hash of specified input files and compare it against a stored metadata file in the dist directory. This ensures that downstream processes can detect stale builds or missing artifacts, enforcing that the built output matches the current source state before execution.

packages/metatool · high confidence

Introduce daemon sidecar with desktop handoff and auth gate support

The daemon sidecar entry point now initializes a dedicated sidecar runtime that manages the desktop handoff for packaged payloads and enforces a desktop authentication gate. It registers handlers for minting import tokens and registering desktop auth secrets, ensuring that import operations require a valid, time-limited token only after the desktop client has authenticated. The sidecar also coordinates with the desktop process to export PDFs, render HyperFrames, and export artifacts, while waiting for the parent monitor to release before shutting down to prevent stale state.

apps/daemon/src/sidecar · high confidence

Introduce deterministic brand extraction and self-hosted font/asset fallbacks

The daemon now includes a programmatic-first brand extraction engine that can parse a pasted DESIGN.md to generate a brand kit, and automatically harvests logos, representative imagery, and webfonts from target sites when the AI agent fails to capture them. This ensures that brand kits populate with real typefaces (self-hosted via a font manifest) and visual assets even behind anti-bot walls or when the agent omits them, providing a consistent, on-brand preview experience.

apps/daemon/src/brands · high confidence

Introduce headless mode and structured build configuration for the packaged Electron runtime

The packaged Electron runtime entry now supports a headless mode for install, start, and stop operations, accessible via a new \headless.ts\ entry point built by esbuild. This change establishes the build infrastructure (esbuild, TypeScript, and Vitest configurations) for the packaged app, which is responsible for starting the daemon and web sidecars, registering the \od://\ entry protocol, and delegating to the desktop main process, while keeping product logic separate.

apps/packaged · high confidence

Introduce live artifact refresh and rendering infrastructure

The daemon now supports refreshing live artifacts by executing defined sources (local files, daemon tools, or connector tools) and rendering the results into HTML previews. This change adds the core service layer for managing refresh lifecycles, including locking, timeout handling, and logging, alongside a secure HTML template renderer that supports data binding and loops while enforcing strict security constraints (e.g., blocking scripts and event handlers). It also introduces HTTP helpers to standardize error responses and security headers for live artifact routes, and defines the underlying data schemas and file-system store logic for persisting artifacts, templates, and refresh logs.

apps/daemon/src/live-artifacts · high confidence

Introduce manual edit mode for direct content manipulation

Adds a new manual edit mode that allows users to directly edit text, links, images, and styles on the canvas. This change introduces the core bridge and source-patching logic in \apps/web/src/edit-mode\, enabling features such as dropping a text caret into bare elements (like divs or headings), applying inline style overrides, and persisting changes back to the source HTML via a runtime patcher.

apps/web/src/edit-mode · high confidence

Introduce packaged runtime configuration, headless mode, and download attribution

This change introduces the core runtime infrastructure for the packaged desktop application. It adds a centralized configuration system (\config.ts\) that resolves settings from environment variables and bundled JSON, supporting distinct profiles for production, test, and local development. A new headless entry point (\headless.ts\ and \headless-runtime.ts\) enables server-side or background operations without a GUI, including MCP agent installation. Additionally, \download-attribution.ts\ implements tracking for macOS (whereFroms) and Windows (Zone Identifier) to attribute install sources, while \launch.ts\ and \launcher-runtime.ts\ establish the namespace path management and launcher lifecycle logic required for stable updates and single-instance enforcement.

apps/packaged/src · high confidence

Introduce plugin runtime for manifest parsing, adaptation, and context resolution

The \packages/plugin-runtime\ package is added to provide the core logic for the plugin system. It includes adapters to synthesize \PluginManifest\ objects from \SKILL.md\ files and \.claude-plugin\ JSON files, a YAML frontmatter parser for reading plugin metadata, and a manifest merger that prioritizes sidecar \open-design.json\ files over adapter outputs. The package also implements context resolution to map plugin references (skills, design systems, craft) to registry entries, pipeline fallback logic to use bundled scenarios when a plugin omits its own pipeline, and a deterministic SHA-256 digest algorithm for plugin identity. A build configuration using esbuild is included to bundle the runtime for Node 24.

packages/plugin-runtime · high confidence

Introduce plugin system with installation and management capabilities

The daemon now includes a comprehensive plugin architecture, adding core modules for plugin application pipelines, bundled plugin boot-walking, and a first-party atom catalog. This change introduces a connector capability gate to validate and manage external service integrations, a doctor module for pre-apply linting and diagnostics, and utilities for comparing plugin versions and duplicating example projects. Users gain the ability to install, manage, and validate plugins, with the system ensuring that bundled plugins are correctly registered and that connector references are valid before execution.

apps/daemon/src/plugins · high confidence

Introduce registry protocol package with backend interfaces and schema definitions

The new \packages/registry-protocol\ package establishes the core contract for plugin registry interactions. It defines the \RegistryBackend\ interface, allowing implementations to list, search, resolve, and publish plugin entries, along with a factory pattern for creating backend instances. The package includes comprehensive Zod-based schemas for validating registry entries, versions, publishers, metrics, and signatures, supporting backend kinds like GitHub, HTTP, local, and database. A build configuration using esbuild targets Node 24 and outputs ESM modules, while tests verify the stability of vendor/plugin-name IDs and the correctness of the async backend contract.

packages/registry-protocol · high confidence

Introduce renderer host-bridge package with v2 protocol and updater actions

The \packages/host\ package now provides the renderer-side contract for communicating with the desktop host. It defines a v2 wire protocol (constants, types, and the \OpenDesignHostBridge\ shape) and includes structural validation to ensure the injected host object is present and complete. Renderer-facing action wrappers are exposed for shell operations (open URL, reveal path), browser data clearing, page capture, PDF printing, pet visibility, and a full set of updater actions (check, download, install, clear-cache, status, menu labels). Project import and working-directory selection are normalized to hide internal daemon details, and a mock host is provided for testing.

packages/host · high confidence

Introduce sidecar-proto package with IPC contract and validation

The new \packages/sidecar-proto\ package establishes the canonical contract for inter-process communication between the Open Design daemon, desktop, and web clients. It defines strict message schemas for sidecar operations (such as status checks, artifact exports, and desktop updates) and enforces input validation for critical paths, including IPC path normalization, namespace formatting, and origin trust checks. This ensures that all product clients adhere to a unified protocol, preventing runtime errors from malformed messages and improving the reliability of the sidecar bootstrap and update lifecycles.

packages/sidecar-proto · high confidence

Introduce the @open-design/platform package with cross-platform primitives

The \packages/platform\ directory now contains a new, cohesive library of OS-level primitives that replaces the previous monolithic \index.ts\. This package provides a unified public surface for cross-platform command invocation (including safe Windows \.bat\/\.cmd\ shim handling), process lifecycle management (stamps, snapshots, and tree termination), filesystem operations (atomic copies and log tailing), system proxy resolution, and user-level toolchain discovery. It is built with a strict module boundary, bundling via esbuild for Node 24, and includes comprehensive test coverage for its core capabilities.

packages/platform · high confidence

Introduce the Desktop Pet companion with Codex hatch-pet integration

A new floating pet companion is now available in the web app, providing a persistent visual presence that reacts to user interactions and displays real-time project run status. The pet supports built-in sprites, custom image uploads, and Codex hatch-pet atlases, featuring ambient idle animations and interactive states (waving, running, jumping) triggered by dragging or hovering. Users can manage their pet via a new settings panel that includes a built-in catalog, community pet syncing, and customization options for glyphs, colors, and animation speed. The companion integrates with the daemon to show running, queued, and recently completed tasks, with specific handling for incomplete runs to ensure accurate status reporting.

apps/web/src/components/pet · high confidence

Introduce tools-dev CLI with improved startup, security, and diagnostics

The \tools/dev\ directory now contains a comprehensive CLI tool (\tools-dev\) for managing the OpenDesign development environment. This tool introduces a default-start behavior where running \tools-dev\ without arguments automatically starts the daemon and web apps, simplifying the initial developer experience. It enforces a supported Node.js runtime (v24) and provides detailed diagnostic recommendations for common startup failures, such as native addon ABI mismatches or missing Next.js packages. Security is hardened by ensuring the \OD\_REQUIRE\_DESKTOP\_AUTH\ gate is active before the desktop app starts, preventing unauthorized local HTTP access during split-start sequences. The CLI also supports loading local \.env\ files for telemetry configuration, resolves shared ports intelligently to avoid conflicts with running instances, and manages the lifecycle of the daemon, web, and desktop apps via the sidecar.

tools/dev · high confidence

Introduce tools-pack CLI with cross-platform packaging and runtime management

This change introduces the \tools-pack\ CLI, a new tool for building, installing, and managing packaged desktop applications on macOS, Windows, and Linux. It provides a unified interface for platform-specific actions (build, install, start, stop, uninstall) and includes a robust caching system with file locking to optimize build times. The tool handles platform-specific packaging details, such as AppImage generation for Linux, NSIS installer and portable zip targets for Windows, and DMG/ZIP artifacts for macOS, while managing runtime namespaces, sidecar processes, and launcher payloads.

tools/pack · high confidence

Introduce unified project actions and API attachment context

The web application now provides a consistent, analytics-backed workflow for managing projects from the Home and Design views, including delete, duplicate, and team-move (share/unshare) actions. A new \project-actions\ module centralizes the confirmation dialogs and state management for these operations, ensuring that failures are surfaced to the user and that all outcomes are tracked in workspace analytics. Additionally, a new \api-attachment-context\ utility automatically enriches chat messages with the text content of attached project files (such as code, HTML, and text) or structured previews of documents and presentations, allowing the AI agent to reference local project context directly within the conversation.

apps/web/src · high confidence

Introduces a structured connector catalog with safety classification and curated tool curation

The daemon now ships a formal connector catalog system that classifies tool safety (read, write, destructive) and enforces approval policies (auto, confirm, disabled) based on tool names, scopes, and descriptions. This system introduces curated tool subsets (e.g., for 'personal\_daily\_digest') and stable tool counts for UI badges, ensuring that the advertised count of tools remains consistent even when dynamic provider discovery adds more tools. It also includes specific configuration for Composio connectors, handling their API keys, auth config IDs, and logo caching with size/timeout limits to prevent resource leaks.

apps/daemon/src/connectors · high confidence

Introduces a unified design system with frosted-glass materials and entrance animations

The web application now uses a consolidated set of CSS stylesheets to define its visual language. This includes a new 'app wash' background layer that provides a frosted-glass effect in browser views and a translucent scrim in desktop (Electron) environments, with automatic fallback to solid colors for reduced-transparency modes. A new material system introduces standardized frosted surfaces (ultrathin, thin, regular, thick) and liquid glass effects for menus and popovers. Additionally, the interface now features consistent entrance animations for pages, hero sections, and UI elements, alongside updated typography (Albert Sans, JiduMono Pro) and refined button primitives.

apps/web/src/styles · high confidence

Introduces agent-ready capability contracts and v2 analytics schema

The contracts package now defines the foundational types for the new agent tool system, including descriptors for browser and API tools, a registry interface, and action request/result shapes that allow the assistant to invoke capabilities across different execution models. It also introduces durable task ownership types for cross-project work and establishes the v2 analytics event schema with typed payloads for design systems, AMR authentication, and client-side chat observability, alongside a build configuration to bundle these modules for Node 24.

packages/contracts · high confidence

Introduces granular error classification and dedicated analytics modules for AMR, BYOK, and error tracking

The analytics module has been significantly expanded to provide detailed, queryable insights into previously opaque failure modes and user journeys. New helper modules (\deploy-error-code.ts\, \export-error-code.ts\, \byok-error-code.ts\) replace generic error reporting with specific, stable codes (e.g., \NETWORK\, \TLS\_FAILED\, \HTTP\_402\) for deploy, export, and Bring-Your-Own-Key (BYOK) operations. Dedicated modules for AMR (\amr-attribution.ts\, \amr-auth.ts\) now track entry sources, campaign conversions, and sign-in stages with deduplication logic. Additionally, \agent-detect.ts\ reports CLI detection diagnostics, \byok-run.ts\ instruments client-side run lifecycles, and \error-tracking.ts\ establishes a consent-bypass safety telemetry path for exceptions.

apps/web/src/analytics · high confidence

Introduces launcher protocol and release channel definitions

This change adds the \packages/launcher-proto\ and \packages/release\ packages, establishing the foundational types and logic for the launcher's update lifecycle and release management. The launcher protocol defines the schema for runtime descriptors, desktop handoff states, and cleanup logic, while the release package centralizes the logic for parsing, validating, and comparing version strings across stable and prerelease channels. These libraries provide the shared definitions and utilities that the rest of the launcher and updater systems rely on to coordinate updates and manage installation paths.

packages/launcher-proto · high confidence

Introduces persistent task store for OD Next strategy

Adds a new \task-store.ts\ module that implements durable storage for the OD Next design strategy's execution state. This component manages the persistence of strategy tasks, including execution records, run mappings, and blocked contexts, ensuring that state such as planning intent and task blocking reasons is preserved across conversation history and clarifications.

apps/daemon/src/strategies · high confidence

Introduces state management and SSE streaming for the Critique Theater

Adds the core state logic and real-time data ingestion for the Critique Theater feature. The new \reducer.ts\ file defines the state machine for critique runs (idle, running, shipped, degraded, interrupted, failed) and handles actions like resetting state when the project or transcript changes. The \sse.ts\ file implements the connection manager for receiving critique events via Server-Sent Events, including robust reconnection with exponential backoff, handling of visibility changes (pausing when the tab is hidden), and strict validation of incoming event payloads to ensure data integrity before they reach the reducer.

apps/web/src/components/Theater/state · high confidence

Introduces structured design system contracts and a new 'Agentic' system

Design systems now require a machine-enforced \manifest.json\ and adhere to a strict token schema (A1-identity, A2, B-slot, C-extension) defined in \design-systems/\_schema/\, replacing the previous loose \DESIGN.md\-only discovery. This change adds a new 'Agentic' design system package that demonstrates the new structure, including a \components.html\ fixture, \USAGE.md\ guide, and static preview pages for colors, typography, and spacing.

design-systems · high confidence

Introduces the 'slim' system prompt variant with structured discovery and design direction library

The daemon now supports a new 'slim' system prompt variant (selected via \OD\_PROMPT\_CORE=slim\), which replaces the previous monolithic prompt with a modular, on-demand discovery flow. This variant introduces a structured \\<question-form\>\ for requirements clarification, a built-in library of five concrete design directions (Editorial, Modern Minimal, Human/Approachable, Tech/Utility, and Brutalist) that provide deterministic palettes and typography, and stricter security guardrails against prompt injection and role-marker fabrication. It also standardizes media generation handling through a dedicated contract that routes image, video, and audio requests via the \od media generate\ CLI command, ensuring consistent error reporting and user-facing messages.

apps/daemon/src/prompts · high confidence

Introducing the OpenDesign Web Clipper browser extension

A new standalone browser extension (MV3) is available for Chrome, Edge, and Firefox that captures web content directly into your OpenDesign Library without requiring login or pairing. The clipper connects to the local OpenDesign daemon (defaulting to port 7456) and supports capturing full-page high-fidelity HTML snapshots, individual page elements, specific images, and visible tab screenshots. It also includes an 'Extract design system' feature that programmatically analyzes live pages to generate reusable design-system assets (typography, palette, component kits), and produces Figma-compatible JSON node-trees for import via the OD Figma plugin. The extension is provided as an unpacked directory with no build step, includes localization for over 15 languages, and handles large captures by compressing images and adjusting fidelity to ensure successful ingestion.

clipper · high confidence

Local fixture services for collaboration, release storage, and updater testing

Developers can now run local in-memory (or optionally persisted) fixture servers to test daemon features without external infrastructure. The \tools-serve\ CLI adds a \start\ command that launches three distinct services: a \collab-cloud\ fixture that mimics the cross-daemon collaboration hub (comment relay and member directory) using a shared bearer token; a \release-storage\ fixture that emulates an S3-compatible bucket for storing release artifacts with ETag and precondition support; and an \updater\ fixture that serves update metadata and binary payloads (including byte-range requests) for testing the desktop auto-update flow on macOS and Windows.

tools/serve · high confidence

Localized skill descriptions and example prompts for Arabic, Spanish, Persian, and French

Users can now see localized descriptions and example prompts for skills in Arabic, Spanish, Persian, and French. The \apps/web/src/i18n\ directory now includes \content.ar.ts\, \content.es-ES.ts\, \content.fa.ts\, and \content.fr.ts\, providing translated text for skill metadata (such as \description\ and \examplePrompt\) to improve the experience for non-English speakers.

apps/web/src/i18n · high confidence

New 'od-contribute' skill for non-coder contributions

Adds the \od-contribute\ skill and its associated slash command (\/od-contribute\) to the \.claude\ directory, enabling non-technical users to submit contributions to the OpenDesign repository without writing code. The skill provides a guided, interactive flow for four contribution types: shipping a Skill or Design System artifact, translating documentation into new languages, fixing documentation typos or writing blog posts, and reporting bugs. It includes a self-bootstrapping installer script, prerequisite checks for GitHub CLI authentication, and automated validation scripts to ensure submissions meet structural requirements before opening a PR or issue.

.claude · high confidence

New AG-UI adapter package for event translation

The new \@open-design/agui-adapter\ package provides a translation layer that maps OpenDesign's native event stream (such as message chunks, tool calls, and GenUI surface interactions) into the canonical AG-UI wire format expected by clients like CopilotKit. This adapter exposes specific event types—including \agent.message\, \tool\_call\, \state\_update\, and \ui.surface\_requested\—and includes an encoder that handles lifecycle transitions and surface responses, ensuring compatibility with external agent-protocol consumers.

packages/agui-adapter · high confidence

New CI and build tooling scripts for design systems, plugins, and data repair

This change introduces a suite of new automation scripts to the repository. The \approve-fork-pr-workflows.ts\ script enforces a security boundary by automatically approving pull\_request workflows for fork PRs only when changes are restricted to allowed source, test, or documentation paths, while denying changes to configuration files and tooling. Several 'bake' scripts are added to pre-render static assets: \bake-community-pets.ts\ downloads and bundles curated community pets into the repo, \bake-html-ppt-examples.mjs\ inlines CSS and removes runtime dependencies to create self-contained slide previews, and \bake-plugin-previews.mjs\ generates lightweight video and image previews for the plugin gallery to improve performance. Additionally, \batch-design-system-test.ts\ allows running design briefs across multiple design systems, while \check-components-fixtures.ts\ and \check-components-manifest-extraction.ts\ provide reporting and validation for design system component selectors and manifest integrity. Finally, \backfill-failed-runs-with-artifacts.ts\ repairs historical database records where runs were incorrectly marked as failed despite producing artifacts, and \check-cross-app-imports.ts\ enforces repository boundaries by detecting unauthorized imports between application directories.

scripts · high confidence

New Docker deployment package for self-hosting OpenDesign

This change introduces a complete Docker-based deployment solution for OpenDesign, allowing users to run the application as a single Alpine-based container image. The package includes a multi-stage Dockerfile that builds the daemon and web assets, a Docker Compose configuration that exposes the service on localhost (port 7456) with security hardening (read-only filesystem, memory limits, no-new-privileges), and an environment template (.env.example) for configuring API tokens, origins, and resource limits. It also provides a Linux-specific override (docker-compose.linux.yml) that uses host networking to resolve loopback issues for browser-based authentication and mounts host-installed agent CLIs (like Claude Code or Codex) into the container. Documentation (README.md) guides users through local setup, reverse proxy integration, and CLI mounting.

deploy · high confidence

New Go plan and DeepSeek V4 Flash campaign modules added to web app

The web application now includes dedicated campaign configuration modules for the Go plan launch and the DeepSeek V4 Flash campaign. These new files define the campaign windows, localized copy (including Go plan pricing details like the $5 first-month offer), and visibility logic. The Go plan module handles locale-specific routing to the pricing page, while the DeepSeek V4 Flash module manages the dual-model (Pro and Flash) campaign window and audience resolution. React hooks are provided to sync campaign visibility with the current time, ensuring surfaces appear and disappear according to the defined launch dates.

apps/web/src/campaigns · high confidence

New Kami deck template and OTD operations brief live-artifact template

The templates area now includes a new \kami-deck.html\ presentation template featuring a warm parchment theme with ink-blue accents, designed for editorial decks with print/PDF support. Additionally, a new \otd-operations-brief\ live-artifact template has been added for On-Time Delivery and supply-chain briefs, utilizing a 'Mono Crimson' style with a white canvas, charcoal bars, and crimson accents for negative indicators. This template is built on the \html\_template\_v1\ renderer, using scalar-only \{{data.X}}\ bindings for KPIs, bar charts, and account performance data. The deck framework also received a fix to prevent double-step navigation via keyboard events.

templates · high confidence

New Prometheus metrics for Critique Theater and Workspace Authority

The daemon now exposes nine new Prometheus metrics under the \open\_design\critique\\*\ namespace to monitor Critique Theater runs, including counters for total runs and rounds, histograms for round duration and composite scores, and gauges for protocol version. Additionally, six new metrics under the \open\_design\_workspace\authority\\*\ namespace track workspace authority decision outcomes, cache invalidations, realtime health transitions, and request suppression, enabling operators to monitor the safety and performance of workspace authority caching and lease management via the \/api/metrics\ endpoint.

apps/daemon/src/metrics · high confidence

New UI interaction hooks and state management utilities

This change introduces a suite of new React hooks in the web application to enhance UI behavior and state handling. \useAnchoredPopover\ provides robust positioning logic for floating menus, handling complex clipping, scroll containers, and viewport boundaries. \useCoalescedCallback\ prevents UI jitter by batching rapid file-change events. \useDesignMdState\ tracks the staleness of project design documentation by comparing file timestamps against conversation history. \useEventStream\ manages shared Server-Sent Events connections with visibility-aware lifecycle management. \useFinalizeProject\ handles the asynchronous workflow for finalizing design packages, including error mapping and cancellation. Additional hooks include \useGlideIndicator\ for animated tab indicators, \useLiquidGlass\ for SDF refraction effects, \useModalWindowDragGuard\ to prevent accidental modal dismissal during window dragging, \useProjectDetail\ for fetching project metadata, and \useProjectRunStatuses\ for a centralized, shared feed of project run statuses across the UI.

apps/web/src/hooks · high confidence

New agent and brand assets added to the web application

The web application now includes a comprehensive set of new SVG assets in the public directory. This adds official brand icons (app-icon, brand-icon, community-empty-mark) and a large collection of agent-specific icons (amr, antigravity, claude, codex, copilot, cursor-agent, deepseek, gemini, glm, grok-build, hermes, kilo, kimi, kiro, mimo, opencode, pi, qoder, qwen, reasonix, vibe). These assets provide the visual identity and agent selection graphics used by the web interface.

apps/web/public · high confidence

New agent runtime definitions for Aider, Amp, Antigravity, AtomCode, BYOK OpenCode, Claude, Codebuddy, Codex, Copilot, Cursor, and DeepSeek Harness

The daemon now includes structured runtime definitions for a wide range of external coding agents, enabling users to select and run these tools directly from the OpenDesign interface. This change adds support for Aider (with LiteLLM model routing), Amp (using its native stream-json format), Antigravity (with settings.json model selection and lock serialization), AtomCode (via prompt files), BYOK OpenCode (with permission bypasses), Claude Code (supporting session resumption, native child behavior, and capability probing), Codebuddy (with effort-based reasoning control), Codex (with strict shell environment policies and service tier parsing), GitHub Copilot (with extended inactivity timeouts), Cursor Agent (with trust gating and model listing), and DeepSeek Harness (with profile-based model discovery). Each definition specifies the binary, argument construction, stream parsing format, and model discovery strategy required to integrate these CLIs into the platform's agent workflow.

apps/daemon/src/runtimes/defs · high confidence

New agent setup guide for CLI, HTTP, and MCP integration

The 'Use Everywhere' modal now includes a dedicated agent setup guide that provides a structured checklist and reference sections for integrating OpenDesign with coding agents like Claude Code, Codex, and Cursor. The guide explains how to use the local daemon via CLI (\od\), HTTP API, and Model Context Protocol (MCP), including specific instructions for fetching MCP install info from the daemon to ensure correct command and environment configuration.

apps/web/src/components/use-everywhere · high confidence

New artifact parsing, validation, and rendering infrastructure

The \apps/web/src/artifacts\ directory has been restructured with a new set of modules that define the artifact system's core behavior. A manifest system (\manifest.ts\, \types.ts\) now standardizes artifact kinds (such as \html\, \deck\, \react-component\, and \markdown-document\) and their export formats. A renderer registry (\renderer-registry.ts\) manages how these artifacts are displayed, including support for streaming markdown. The system introduces strict validation (\validate.ts\) to prevent non-HTML prose from being saved as HTML files, and robust parsing (\parser.ts\, \strip.ts\, \markdown-context.ts\) that correctly handles \\<artifact\>\ tags inside markdown code blocks. Additionally, it adds support for structured user input via \question-form\ blocks and recovery logic (\recover.ts\) to handle incomplete or fallback HTML documents.

apps/web/src/artifacts · high confidence

New brand engine generates themed marketing artifacts from a single design seed

The brand engine now produces complete, standalone HTML products—including landing pages, pitch decks, email announcements, posters, newsletters, and signup forms—derived deterministically from a single brand seed. These artifacts are fully themed using the brand's design tokens (colors, typography, spacing) and populated with copy pulled from the brand's voice and messaging pillars, ensuring consistent branding across all generated materials without manual intervention.

apps/daemon/src/brands/engine · high confidence

New collaboration demo and presence UI components

Added a new set of components in the collaboration module to support team-based collaboration features. This includes a \CollabDemoView\ for testing presence and sync against the daemon, a \PresenceBar\ to display online team members with avatars and roles, a \FileSyncBadge\ to indicate upload/download states, and a \CommentDriftDemo\ to visualize comment anchoring logic. These components provide the UI surface for the workspace-team and shared resource capabilities.

apps/web/src/collab · high confidence

New community plugins for high-end UI design, image generation, clone auditing, and deep reasoning

Added four new community plugins to the system: the Principal UI/UX Architect & Motion Choreographer skill, which enforces premium, agency-level design patterns and animations; the Atelier Zero Image Generation Prompt Pack, providing structured prompts for high-fidelity editorial visuals; the Clone Audit skill, which inspects website clones for fidelity gaps, tracking scripts, and brand residue; and the /deep-think Maximum Cognitive Effort Protocol, enabling a structured, multi-phase reasoning workflow for complex tasks.

plugins/community · high confidence

New daemon capabilities for design-system generation, import, and team visibility

The daemon now supports generating design systems from user input with a structured, step-based job queue (generation, revision, and token-contract rebuild workflows), importing design systems from local directories, public GitHub repositories (with symlink rejection for security), and shadcn registry items (with strict network safety and fetch budgets), and managing design-system visibility within team workspaces by enforcing \workspace\_resources\ envelope bindings as the authority for read access rather than relying solely on on-disk metadata.

apps/daemon/src/design-systems · high confidence

New daemon migration module for legacy data recovery and update telemetry

The daemon now includes a dedicated migration module that provides two key capabilities: first, it automatically migrates legacy data from the old \.od/\ directory layout (used in version 0.3.x) to the new per-namespace user-data location (introduced in 0.4.x) when the \OD\_LEGACY\_DATA\_DIR\ environment variable is set, ensuring users upgrading from older versions retain their chat history and designs; second, it tracks and reports installer update application observations to analytics, capturing details like success, failure, and elapsed time to improve update reliability insights.

apps/daemon/src/migration · high confidence

New daemon-side atom implementations for code import, design extraction, and build testing

The daemon now includes concrete implementations for several core pipeline atoms previously handled only by the agent CLI. The code-import atom walks repository trees to produce a normalized file index with framework and style-system detection. The design-extract atom scans source code for design tokens, while the figma-extract atom pulls design data from the Figma API. The build-test atom shells out to run type-checking and test commands, reporting pass/fail status. Additionally, the diff-review atom generates diff summaries and decision artifacts, and the handoff atom manages artifact provenance and promotion ladders based on build and review signals.

apps/daemon/src/plugins/atoms · high confidence

New design templates for audio, blog posts, clinical reports, and contact widgets

The design-templates directory now includes four new agent-rendered templates: an audio jingle generator that routes to models like Suno V5 and ElevenLabs, a long-form blog post layout with editorial typography, a structured clinical case report (SOAP/Conference/Brief Rounds) with medical formatting and safety disclaimers, and a self-contained floating contact widget with social links and meeting booking. A new AGENTS.md file documents the daemon plumbing, the API surface mirroring skills, and the deck preview navigation contract for slide-based templates.

design-templates · high confidence

New desktop diagnostics export and crash-dump collection

The desktop app now includes a built-in diagnostics export feature accessible via the Help menu, which bundles daemon logs, run events, and agent CLI logs into a single zip file for support requests. This replaces the previous main-process logic that had to guess the data directory, ensuring accurate log capture across dev, packaged, and custom data-dir environments. Additionally, the app now collects local Electron minidumps for renderer crashes (such as GPU/V8 aborts) and writes GPU feature status to the diagnostics bundle, enabling better root-cause analysis for opaque crashes without sending data to external servers.

apps/desktop/src/main · high confidence

New deterministic catalog snapshot tooling for release artifacts

The release pipeline now includes a new catalog subsystem that exports, validates, and packs a versioned snapshot of the product catalog (skills, templates, plugins, systems, and crafts). This tooling generates a structured catalog.json, stages runnable preview assets, renders preview images (using Playwright or a deterministic stub), and produces a signed, checksummed tar.zst bundle with provenance metadata, ensuring that release artifacts are reproducible and tamper-evident.

tools/release · high confidence

New diagnostics package for collecting and exporting agent logs and crash data

A new \packages/diagnostics\ module has been added to the codebase, providing the core logic for gathering, redacting, and packaging diagnostic data. This includes collecting per-run event logs and native CLI logs (Claude, Codex, OpenCode, AMR) with safe tail-bounding and line-alignment, scanning for macOS crash reports and Electron crash dumps, and applying strict redaction rules to sensitive keys, URLs, and authentication headers. The module supports building standard zipped diagnostic bundles via an HTTP export endpoint and generates gzipped JSONL bundles for automatic, consented failure evidence uploads, ensuring binary integrity and size limits are respected.

packages/diagnostics · high confidence

New live build-preview state and plugin folder actions in the design files pane

The design files pane now features a live build-preview state that displays the page as it is being generated, complete with a moving cursor that highlights the specific part currently being written and a status dock showing the active step. A new toggle in the topbar allows users to switch between this live preview and the standard file grid. Additionally, the pane now detects plugin folders (identified by an open-design.json manifest and SKILL.md) and provides agent-driven actions to install, publish, or contribute these plugins, with specific prompts guiding the agent to use the correct CLI workflows for each action.

apps/web/src/components/design-files · high confidence

New media generation infrastructure and provider support

The daemon's media subsystem has been significantly restructured and expanded. A new configuration system (config.ts) now manages per-provider API keys and model aliases, supporting environment variable overrides and a dedicated storage location. The dispatcher (index.ts) now routes requests to a wider array of integrated providers including OpenAI, Volcengine, xAI Grok, ImageRouter, OpenRouter, MiniMax, and others, while introducing a local HyperFrames HTML-to-video renderer. Key behavioral improvements include robust retry logic for transient image generation failures (image-generation-retry.ts), secure staging of AMR image attachments (amr-image-staging.ts), and detailed diagnostic logging for media tasks (diagnostics.ts).

apps/daemon/src/media · high confidence

New media provider infrastructure and AIHubMix live model catalogues

The media generation UI now supports a centralized model registry and dynamic provider integration. A new \models.ts\ file defines the full catalogue of supported providers (including OpenAI, Vela, Volcengine, xAI Grok, Nano Banana, OpenRouter, fal.ai, and others) and their capabilities. For the AIHubMix provider, the app now fetches live model catalogues from the daemon (via \/api/media/providers/aihubmix/models\) for image, video, and TTS surfaces, caching the results to keep pickers up-to-date without redundant network requests. A new \execution-policy.ts\ module enforces project-level constraints on which media models can be used. Additionally, \provider-readiness.ts\ ensures that model pickers only display options for providers that are properly configured, specifically hiding OpenAI models if the account is OAuth-only.

apps/web/src/media · high confidence

New observability infrastructure for web stability and chat reliability

The web application now includes a comprehensive set of new telemetry modules in the \apps/web/src/observability\ directory to monitor performance and reliability. This includes \boot-timing.ts\ for capturing page load metrics (such as DOM interactive and app mount times) independent of user consent, and a suite of chat-specific monitors (\chat-health.ts\, \chat-interaction.ts\, \chat-protocol.ts\, \chat-scroll-freeze.ts\) that track first paint, input latency, protocol anomalies, and scroll-freeze events. These modules provide correlation context and breadcrumbs to help diagnose issues like memory pressure, streaming jank, and silent UI failures without capturing user content.

apps/web/src/observability · high confidence

New observability modules for run lifecycle, delivery state, and task analytics

The daemon's observability layer now includes dedicated modules for managing run telemetry delivery state, tracking terminal lifecycle events, and aggregating task-level analytics. These additions introduce structured state management for telemetry export (including idempotency and crash-window handling), robust tracking of run termination origins and persistence errors, and comprehensive aggregation of usage, timing, and prompt boundary evidence across task runs. The changes also add support for normalized agent observations, child runtime fact adaptation, and protocol-neutral export expectations, enabling more reliable and detailed telemetry collection and delivery.

apps/daemon/src/observability · high confidence

New official plugin atoms for code and Figma migration workflows

Added a suite of official 'atom' plugins under \plugins/\_official/atoms\ that define the step-by-step logic for code-migration, Figma-migration, and tune-collab scenarios. These include \code-import\ for normalizing repository structures, \design-extract\ and \figma-extract\ for capturing design tokens, \token-map\ for crosswalking source tokens to the active design system (with semantic inference capabilities), \rewrite-plan\ and \patch-edit\ for structured, reviewable code changes, \build-test\ for verifying build and test signals, \diff-review\ for human-in-the-loop patch acceptance, \critique-theater\ for five-dimension quality reviews, \direction-picker\ for visual direction resolution, \discovery-question-form\ for structured requirement clarification, and \handoff\ for exporting artifacts to various surfaces. Each atom is defined by a \SKILL.md\ prompt fragment and an \open-design.json\ manifest, establishing the substrate for Phase 6, 7, and 8 migration and collaboration workflows.

_plugins/\official · high confidence

New portable plugin specification and authoring kit

The \plugins/spec\ folder now provides a complete specification kit for creating OpenDesign plugins. It introduces a portable structure where a \SKILL.md\ serves as the core agent contract, with an optional \open-design.json\ sidecar for OpenDesign-specific metadata like \specVersion\, plugin \version\, inputs, pipelines, and capabilities. The kit includes detailed documentation (\AGENT-DEVELOPMENT.md\, \CONTRIBUTING.md\, \PUBLISHING-REGISTRIES.md\) and a set of example plugins (e.g., \create-hyperframes-launch\, \create-image-campaign\) demonstrating various workflow lanes (import, create, export, share, deploy, refine, extend) and output modes (prototype, deck, live-artifact, image, video, etc.). This enables developers to build, validate, and publish plugins that are compatible with both OpenDesign and external Agent Skills ecosystems.

plugins/spec · high confidence

New post-completion 'Share to OpenDesign' workflow

A new 'Share to OpenDesign' button is now available after completing a project, allowing users to package their work as an OpenDesign plugin for installation and community contribution. This feature introduces a specific prompt that guides the agent to generate the necessary plugin files (SKILL.md, open-design.json) by reading existing project artifacts, while strictly avoiding unsupported CLI tools like standalone \jq\ and preventing the generation of placeholder repository owners. The workflow is designed to integrate with existing UI buttons for adding plugins to 'My plugins', publishing to a GitHub repo, or opening a PR to the OpenDesign community catalog, ensuring a seamless and authenticated sharing experience.

apps/web/src/components/share-to-community · high confidence

New registry backend implementations and version resolution logic

The daemon's registry module now includes three new backend implementations: a database-backed registry using SQLite for local plugin storage, a GitHub-backed registry that handles publishing and yanking via pull requests, and a static registry backend for reading manifests. Additionally, a new versioning module implements npm-style semantic version resolution, correctly handling caret and tilde ranges, including the specific semantics for 0.x versions and prerelease filtering.

apps/daemon/src/registry · high confidence

New shared UI primitives for buttons, dialogs, and form controls

The \packages/components\ package now provides a new set of shared UI primitives, including a \Button\ component with multiple variants (default, primary, ghost, subtle, secondary) and sizes (default, icon, sm), a \Dialog\ component with portal-based backdrop rendering and accessible layout sections (header, body, footer), and form controls (\Input\, \Textarea\, \Select\) with consistent styling. These components are built with CSS modules and global CSS fallbacks, ensuring consistent appearance across the application while maintaining accessibility features like ARIA roles and keyboard navigation.

packages/components · high confidence

New state management modules for API protocols, appearance, and data hand-offs

The application introduces a suite of new state management modules in the \apps/web/src/state\ directory to support recent feature expansions. \apiProtocols.ts\ and \config.ts\ define the metadata, suggested models, and configuration defaults for the new multi-provider API protocol system (including Anthropic, OpenAI, Azure, Google, Ollama, SenseAudio, AIHubMix, and Bedrock), replacing the previous single-provider setup. \appearance.ts\ enforces a forced light theme and introduces configurable accent colors, removing the previous dark/system theme toggle. Several new modules handle transient data hand-offs: \home-attachment-handoff.ts\ and \home-composer-stash.ts\ manage file uploads and composer state during the Home-to-project creation flow, while \libraryHandoff.ts\ seeds design system creation and project composers with assets from the Library. Additional modules include \load-conversation-transcript.ts\ for resilient conversation loading with retry logic, \maxTokens.ts\ for managing model-specific output token limits using a vendored LiteLLM catalog, \mcp.ts\ for external Model Context Protocol server management, \onboarding-profile.ts\ for persisting user survey data for analytics, and \project-display-cache.ts\ for caching and invalidating project list views.

apps/web/src/state · high confidence

New static QA checks for CTA hierarchy and brand deck layout

The daemon now includes two new static quality-assurance passes to catch common design and layout defects in generated artifacts. The CTA hierarchy check (\cta-hierarchy.ts\) analyzes HTML to detect conflicting call-to-action weights, such as multiple primary buttons or misleading prominence, ensuring clearer conversion paths. The brand deck layout check (\deck-layout.ts\) validates that generated presentation decks use the correct shrink-to-fit mechanisms and do not truncate headlines or labels, preventing content clipping in fixed-size slides.

apps/daemon/src/qa · high confidence

New storage subsystem for AMR terminal reports, S3 project storage, and diagnostic/telemetry outboxes

The daemon now includes a new storage layer in \apps/daemon/src/storage\ that introduces several new capabilities. First, it adds an AMR terminal report outbox (\amr-terminal-report-outbox.ts\) to reliably track and report the final state of billing-related AMR runs to Vela, including database migrations and retry logic. Second, it implements an S3-compatible project storage backend (\project-storage.ts\, \aws-sigv4.ts\) that allows project files to be stored in cloud object storage (AWS S3 or compatible services) using inline SigV4 signing, alongside the existing local filesystem storage. Third, it introduces dedicated outbox systems for diagnostics (\diagnostic-outbox.ts\) and telemetry (\telemetry-outbox.ts\) to collect, store, and deliver failure evidence and feedback with bounded capacity and retry mechanisms. Finally, it adds database inspection and integrity checking utilities (\db-inspect.ts\) and a maintenance pass to heal oversized message event payloads (\message-event-payload-heal.ts\) to prevent storage bloat.

apps/daemon/src/storage · high confidence

New tools-dev CLI with local env loading, port sharing, and desktop auth gate

The \tools-dev\ command-line interface is now the active local development lifecycle control plane, replacing the retired \tools-pr\ tool. It manages the daemon, web, and desktop runtime lifecycle, including a new desktop auth gate that ensures the daemon is properly gated before launching the desktop app. The CLI supports loading local environment variables from \.env.local\ and other precedence-ordered files, and it handles shared port allocation to prevent conflicts between the daemon and web services. Additionally, it includes diagnostics for detecting common startup issues like Node.js ABI mismatches and missing packages.

tools · high confidence

New utility modules for agent labels, BYOK protocols, and UI enhancements

This change introduces a suite of new utility modules in \apps/web/src/utils\ to support recent product capabilities. \agentLabels.ts\ and \visibleAgents.ts\ provide the logic for mapping agent IDs to display names, handling aliases, and filtering which local CLI agents are visible in the UI. \apiProtocol.ts\ and \byokProvider.ts\ implement the labeling and configuration logic for Bring Your Own Key (BYOK) API providers, including determining which agents require API keys and how they are identified. UI improvements include \connectorBrandColor.ts\ for generating readable brand colors for connector pills in both light and dark themes, \chatTime.ts\ for formatting message timestamps, \smoothScrollToTop.ts\ for animated scrolling, and \notifications.ts\ for handling task completion sounds and browser notifications. Additionally, \pluginInsertionTracking.ts\ and \inlineMentions.ts\ manage the tracking and parsing of \@\-mentions in the composer, \imeComposing.ts\ fixes IME input handling for the Enter key, \fileSystemErrors.ts\ standardizes file read error handling, \projectName.ts\ auto-generates project names from prompts, and \uuid.ts\ ensures reliable UUID generation in non-secure contexts (e.g., LAN deployments).

apps/web/src/utils · high confidence

New viewer component styles for code, markdown, and settings

The viewer area now includes dedicated styles for several new or enhanced components: a code viewer with line numbers and a compact dismissible empty state, a redesigned markdown renderer with theme-aware code blocks, skeleton loading states for the Composio API key settings, and UI for the Critique Theater (role-based review lanes), pet/hatch AI panels, and plugin detail modals.

apps/web/src/styles/viewer · high confidence

New web runtime libraries for performance, reliability, and UI effects

The web application now includes a suite of new utility libraries in \apps/web/src/lib\ to improve stability and user experience. These include \backoff.ts\ for jittered exponential backoff on retries, \coalesced-get.ts\ and \shared-cancellable-get.ts\ to collapse redundant network requests and prevent connection bottlenecks, and \bounded-concurrency.ts\ to limit concurrent operations. Additionally, \liquid-glass.ts\ adds a visual refraction effect for floating surfaces, \copy-to-clipboard.ts\ standardizes clipboard interactions, and \build-clipboard-prompt.ts\ generates prompts for the 'Continue in CLI' feature. Other new modules handle project cover caching, provenance parsing, pod member management, and scroll-based anchor detection.

apps/web/src/lib · high confidence

New workspace tabs for Side Chat, Terminal, and extensible launcher

The workspace now supports new tab types: a Side Chat for lightweight, context-seeded conversations, and an interactive Terminal (xterm.js) bound to a daemon PTY session with SSE streaming and theme-aware styling. A new command-palette-style launcher menu (TabLauncherMenu) anchored to the tab strip’s “+” button allows users to search project files, switch open tabs, and trigger new tab actions. The underlying tab-launcher registry (tab-launcher.ts) is extensible, allowing new tab kinds to be registered with minimal code, and the Side Chat implementation (SideChatTab, useConversationChat) reuses the primary chat’s daemon primitives while omitting heavy features like live-artifact viewers.

apps/web/src/components/workspace · high confidence

Offline .fig file import and web-to-Figma capture plugin

Users can now import native Figma binary files (.fig) directly into the system without requiring a Figma account or API token; the daemon decodes these files offline, reconstructs the design tree, extracts tokens and assets, and generates a standardized snapshot with an agent-facing context file. Additionally, a new standalone Figma plugin allows users to import web page captures (produced by the OD Clipper or Library) as editable layers within Figma, handling format normalization for images and fonts.

apps/daemon/src/figma, apps/web/src/features, figma-plugin · high confidence

One-click Docker/Podman Compose installer and lifecycle scripts for Linux and macOS

Deploy scripts now provide a unified, interactive installer (install.sh) that detects Docker or Podman, configures the OpenDesign container on port 7456, and supports Linux host-network mode and macOS Colima. The same location adds companion lifecycle scripts: update.sh for pulling new images and health-checking the service, uninstall.sh for safe removal with optional data backup, and publish-images.sh for building and pushing multi-arch images to GHCR using skopeo or buildx. Additional helpers include prepare-colima-build-swap.sh to manage swap on Apple Silicon Colima, and verify-image.sh/verify-image-manifest.sh to validate runtime images for required paths, absence of build tools, Node 24 runtime, and correct platform manifests.

deploy/scripts · high confidence

OpenDesign 0.9.0 release with AMR integration and expanded agent support

This release introduces OpenDesign AMR (vela) as a first-class ACP stdio agent, allowing users to sign in once and pick a model to start building without API-key scavenger hunts. The agent bench has expanded with new adapters for Aider, Trae CLI, Antigravity, and DeepSeek Reasonix. Key features include queue chat sends mid-stream, a rebuilt plugin ecosystem where skills graduate to first-class plugins, and improved design system management with rename, pinning, and GitHub integration. The release also brings better install experiences on Windows (portable zip) and Linux (Docker/Podman Compose), live system proxy changes without restart, and a public site community front door.

(repo-wide) · high confidence

Personalized onboarding with first-run recommendations and completion tracking

New users completing the first-run questionnaire now receive a personalized starting point in Home based on their role and use-case, replacing the generic entry. This recommendation seeds the Studio composer with a prefilled prompt and specific starter templates. The system now tracks the user's progress through the first generation loop—recording steps like sending the prompt, generating a previewable artifact, and delivering the project—and fires a completion event only when the loop closes with a delivery, ensuring accurate funnel measurement.

apps/web/src/onboarding · high confidence

Refreshed Home hero with intent-driven creation rails and animated UI

The Home hero interface has been redesigned to streamline project creation. A new intent rail replaces the previous carousel, offering a fixed set of creation types (such as Prototype, Website Clone, and Slide Deck) that dispatch directly to scenario-specific plugins, ensuring consistent output quality. The hero now features a rotating headline word animation, a typewriter-style placeholder carousel that previews scenarios in the composer, and illustrative SVG art for each creation type. Horizontal rails for scenarios and presets now include edge-driven auto-scroll zones for easier navigation on devices without trackpads. Additionally, a first-run guide provides a subtle, one-time onboarding trail for new users to discover the happy path.

apps/web/src/components/home-hero · high confidence

Replay-based mock CLIs for 14 supported agents

The \mocks/\ directory now provides a PATH-overlay harness that replays pre-recorded agent sessions for 14 supported CLI agents (opencode, codex, claude, gemini, cursor-agent, deepseek, qwen, grok, and the ACP family devin, hermes, kilo, kimi, kiro, vibe) plus the AMR vela CLI. This allows E2E tests, local development iteration, and demos to run against known agent traces without consuming LLM tokens, with recordings fetched on demand from Cloudflare R2 and validated via SHA-256 checksums.

mocks · high confidence

Stabilize runtime behavior for share/export requests, AMR billing, and brand extraction

This change introduces a suite of new runtime modules in \apps/web/src/runtime\ to harden core user flows. It prevents duplicate share/export dialogs by tracking consumed action nonces outside component lifecycles, ensuring requests are handled even if components remount. It implements the AMR (Agent Model Runtime) billing logic, including balance gates, branch resolution for owner/member audiences, and retry continuations for authorization changes. Additionally, it adds brand extraction capabilities, including a reference dataset, enrichment prompts, and a bridge for in-app browser interactions.

apps/web/src/runtime · high confidence

Unified API provider routing and proxy infrastructure

The web application now routes chat completions through a centralized provider system that supports multiple API backends (Anthropic, OpenAI-compatible, Azure, Google, Ollama, SenseAudio, AIHubMix) via a daemon proxy. This change introduces dedicated client modules for each provider, a shared proxy endpoint handler to manage streaming and error states, and a unified \streamMessage\ entry point that selects the correct protocol based on settings. It also adds connection testing utilities, project event streaming for real-time collaboration, and specific support for features like ElevenLabs voice options and DeepSeek harness installation.

apps/web/src/providers · high confidence

Removals

Removal of client-side export and rendering utilities

The client-side export helpers for PDF, HTML, and ZIP formats, the lightweight markdown renderer for chat messages, and the srcdoc builder with deck-slide bridge logic have been removed from the runtime. Users relying on these specific client-side capabilities for exporting artifacts or rendering markdown within the runtime layer will no longer have access to them in this module.

src/runtime · high confidence

Removal of legacy i18n infrastructure

The custom React-based internationalization system (including the \I18nProvider\, \useI18n\ hook, and locale dictionary files for English and Simplified Chinese) has been removed from the \src/i18n\ directory. This change eliminates the previous manual context-based translation mechanism in favor of the new tooling.

src/i18n · high confidence

Architecture

ACP protocol layer refactored into a modular, self-contained capability

The ACP (Agent Client Protocol) implementation in the daemon has been restructured from a monolithic file into a dedicated \agent-protocol/acp\ module with clear separation of concerns. This change introduces a public barrel (\index.ts\) for clean imports, extracts protocol constants and timeouts into \constants.ts\, and isolates JSON-RPC transport logic, model detection/normalization, session orchestration, and tool execution lifecycle diagnostics into their own files. It also adds a new \stdio-mcp.ts\ module to prevent incompatible agents (specifically Kimi 0.37+) from receiving stdio MCP servers that cause session failures, and introduces \emission-provenance.ts\ to track host-synthesized events without polluting persisted transcripts.

apps/daemon/src/agent-protocol/acp · high confidence

Daemon plugin routes are split into modular files

The plugin route handlers in the daemon have been refactored from a single monolithic file into separate modules for assets, marketplaces, and general plugin operations. This structural change improves code organization and maintainability without altering the external API surface or user-facing behavior.

apps/daemon/src/routes/plugins · high confidence

Daemon routes reorganized into modular files

The daemon's API endpoints have been reorganized from a monolithic structure into distinct, modular files (such as active-context, attribution, automation, browser-sessions, chat, collab-context, collab-presence, collab-sync, daemon, and deliverable-syntax-tool). This change improves code maintainability and separation of concerns by grouping related routes and their dependencies into dedicated modules, without altering the external API contract or user-facing behavior.

apps/daemon/src/routes · high confidence

Refactor agent-protocol module into a structured capability-barrel layout

The daemon's agent-protocol module has been reorganized from two large flat files into a structured directory layout with a \core/\ kernel and concern-specific subdirectories (\acp/\ and \pi-rpc/\). This change introduces a strict import topology where \acp/\ and \pi-rpc/\ no longer import each other, and all shared primitives (like the JSON-line stream transport) are centralized in \core/\. The public API surface remains unchanged, ensuring that external consumers of the daemon's agent protocol adapters see no difference in functionality.

apps/daemon/src · high confidence

Sidecar runtime refactored into cohesive modules with new build configuration

The sidecar package has been restructured to improve maintainability and build clarity. A new esbuild configuration (esbuild.config.mjs) now bundles the sidecar into ESM format targeting Node.js 24, replacing the previous build setup. The source code has been split into specialized modules: bootstrap.ts handles environment composition and runtime validation, client.ts manages IPC communication and lifecycle handoffs, generation.ts oversees process discovery and mutation, operations.ts coordinates launch/restart/stop workflows, and supporting modules (paths.ts, port.ts, json-ipc.ts, lifecycle-lock.ts, etc.) provide focused utilities for path resolution, port allocation, JSON-IPC transport, and Windows lifecycle locking. This modularization clarifies responsibilities and establishes a cleaner package boundary for sidecar clients.

packages/sidecar · high confidence

Behavioural changes

Composer input migrated to Lexical rich-text editor

The text input in the composer has been replaced with a Lexical-based rich-text editor, introducing support for atomic @mention pills that display per-connector brand colors and handle keyboard navigation. This change also adds a floating caret-positioning layer to correctly anchor popovers relative to the text cursor, a new 'ThinkingOrb' animation for the composing state, and robust serialization/deserialization logic to ensure mention entities and text round-trip correctly.

apps/web/src/components/composer · high confidence

Daemon artifact delivery now includes syntax validation, safe repair, and standalone HTML export

The daemon's artifact handling in \apps/daemon/src/artifacts\ has been expanded to ensure deliverables are syntactically valid before final delivery. A new host-owned syntax finalizer validates HTML and JavaScript artifacts, automatically applying bounded, deterministic safe-fixes (such as normalizing mismatched string quotes) when parse errors are detected, and halting if repair budgets are exceeded. The system now supports reliable standalone HTML exports by inlining external dependencies and normalizing runtime imports (e.g., correcting Framer Motion script tags). Additionally, linked prototype pages are now recognized and delivered as part of the artifact, and publication is guarded against incomplete content by blocking artifacts that still contain unresolved pitch-deck placeholders.

apps/daemon/src/artifacts · high confidence

Daemon code organization, diagnostics, and team-skill binding foundations

The daemon now includes structured documentation and configuration to guide development and testing, alongside new internal logic for team workspaces and automatic diagnostics. \AGENTS.md\ defines the source layout, route structure, and ownership rules to keep the codebase organized, while \tsconfig.json\ and \vitest\ configs establish the build and test environment. \DIAGNOSTICS.md\ outlines the new automatic fault-detection system that collects consented failure evidence for background analysis. Additionally, \workspace-team-binding.ts\ introduces the internal logic to mirror skills across team workspaces, ensuring safe activation and read access within the shared resource model.

apps/daemon · high confidence

Daemon project routes refactored for reliability, security, and workspace integration

The daemon's project route handlers have been restructured to improve stability and security. Conversation forks now reliably preserve the final status of completed runs while preventing orphaned agent processes from continuing to consume resources when a project or conversation is deleted. Chat artifact snapshots are served with stricter authorization checks and safe MIME-type handling to prevent script execution. Comment mutations are now gated by workspace identity to enforce proper team permissions, and project-level analytics are updated to accurately track project counts across different workspace views.

apps/daemon/src/routes/project · high confidence

Daemon removes legacy agent and stream-parsing modules

The daemon's internal architecture has been refactored by removing the \agents.js\, \claude-stream.js\, \cli.js\, \db.js\, \design-systems.js\, \lint-artifact.js\, \projects.js\, \server.js\, and \skills.js\ modules. This change eliminates the previous implementation that relied on spawning external CLI binaries (like Claude Code) via child processes, parsing their specific JSONL output streams, and serving a local Express-based web UI with SQLite persistence. The removal of these files indicates a shift away from the local daemon model, likely replacing it with a different execution or hosting strategy.

daemon · high confidence

Desktop updater refactored into modular components

The desktop updater logic has been reorganized into distinct modules (config, deferred-launch, feed, payload, release-lifecycle, scheduler, store, and support) to improve maintainability and separation of concerns. This change extracts configuration resolution, release feed interpretation, payload lifecycle management, deferred launch helpers, scheduling, and store management into separate files, while preserving the existing update behavior and capabilities for users.

apps/desktop/src/main/updater · high confidence

Expanded Arabic and German localization for team and billing workflows

The web application now includes comprehensive Arabic (ar) and German (de) translation files for the i18n locale directory. These updates ensure that team invitation flows, workspace seat management, and billing wallet displays are fully localized in these languages, allowing users to interact with collaborative and subscription features in their preferred language.

apps/web/src/i18n/locales · high confidence

Introduce dedicated workspace style modules

The application now uses a set of dedicated CSS files in the workspace styles directory to manage the visual presentation of key interface components. This change introduces specific styling for the live artifact strip, the design system picker (including its popover and brand flyout), the in-app design browser, the design files panel, the connector drawer, the mention popover, and the terminal integration. By isolating these styles, the workspace UI components such as the design browser, file panels, and system pickers now have consistent, scoped visual definitions that are independent of global application styles.

apps/web/src/styles/workspace · high confidence

Introduce managed download package with concurrency, locking, and OS artifact handling

The \packages/download\ module has been restructured into a cohesive set of concern-specific files (e.g., \copy.ts\, \lock.ts\, \managed-download.ts\, \store.ts\) to support a robust managed-download workflow. This change introduces reference-counted copy leases to safely handle concurrent downloads and output copying, alongside an advisory locking system that includes safeguards against PID reuse on Windows. The package now enforces strict ownership of the download base directory, explicitly ignoring benign OS-managed root artifacts (like \.DS\_Store\ and \Thumbs.db\) when claiming a base, and provides age-based garbage collection to prune stale scratch state.

packages/download · high confidence

Introduce web sidecar for standalone and daemon-proxy runtime management

The web application now runs through a new sidecar process (apps/web/sidecar) that manages the web server lifecycle and proxy behavior. This sidecar handles serving the web distribution, supports standalone mode with configurable startup timeouts and parent-process monitoring, and normalizes daemon proxy origins. Crucially, it now returns a specific connection-failure response for /api paths when no daemon origin is configured, allowing the client to recognize the outage as a proxy failure rather than a generic error.

apps/web/sidecar · high confidence

Introduces standalone shell lifecycle and cold-start fixture

This change establishes the exact lifecycle and cold-start behavior for the standalone distribution. The \apps/closure\ app now provides a shell-neutral cold-start fixture and a \prepareClosureShellUpdate\ function that checks shell compatibility and drives the shell's updater to download updates when the current shell version is below the required floor. The \packages/standalone\ package implements the core lifecycle boundary, including a \VersionedLauncher\ and \FossilBootloader\ to manage generation binding, shell version validation, and runtime status, alongside a \StandaloneFeedbackEmitter\ to expose lifecycle phases (such as blob resolution and materialization) without granting lifecycle authority to observers.

apps/closure, packages/standalone, shells · high confidence

Plugins Home section receives a complete UI and ordering overhaul

The Plugins Home section has been rebuilt to improve discoverability and visual consistency. A new \PluginCard\ component introduces a responsive gallery layout with hover overlays, localized metadata, and trust badges. Template ordering now blends editorial curation with real-world usage popularity (based on distinct users and runs over the last 28 days), ensuring that frequently used templates lead their respective categories while keeping the Prototype facet under editorial control. The grid now supports faceted filtering by artifact type (e.g., Slides, Document, WebGL) and commercial category, with localized labels and starter prompts for each facet. Curated templates are pinned to the front of their respective chips, and generic mode-seeds are sunk to the bottom to keep the showcase clean.

apps/web/src/components/plugins-home · high confidence

Rebuilt chat execution records with new atomic components and design-spec styling

The chat panel's execution records have been rebuilt from scratch using a new set of atomic components in the \primitives\ directory, aligning the interface with the latest design specification. This update introduces a \Foldable\ component for nested, collapsible sections (such as tool outputs and TODOs) that correctly distinguishes between user-initiated and lifecycle-driven state changes, and a \StatusMark\ component that now explicitly handles 'stopped' (unfinished) states with a solid grey ring to differentiate them from pending items. File interactions are now managed by a \FileButton\ that only renders as a clickable button when a valid open action is available, preventing confusing non-functional button states. Additionally, the \ToolRow\ now displays a live, incrementing elapsed time for running operations to provide better feedback during long-running tasks, and the \ImageRow\ component has been enhanced to support audio and video generation surfaces with appropriate icons and preview glyphs. Terminal output is now rendered in a dedicated \TerminalOutput\ component with improved scroll-following logic that respects user navigation, and all text content within execution records now supports Markdown rendering.

apps/web/src/components/chat/primitives · high confidence

Recent projects in the entry rail now show run status and hover previews

The entry navigation rail now displays recent projects with their current run status and a hover preview card. Each row in the recent projects list shows a run status icon if a project is actively running, and an unread dot for finished runs that haven't been opened yet. Hovering over a project row reveals a preview card that shares the same cover logic as the main projects grid, ensuring consistent visual representation across surfaces. The preview handles various project types including images, videos, HTML documents, and decks, with proper caching to avoid duplicate network requests.

apps/web/src/components/entry-nav-rail · high confidence

Redesigned Home entry layout and composer visuals

The Home view has been restyled with a new entry layout featuring a collapsible, icon-only navigation rail and a header-less shell. The home hero now displays a centered prompt input with a new animated 'border beam' effect that highlights the composer card on focus. Additionally, the Plugins Home section, Marketplace, Integrations, and New Project modal have been updated with new card layouts, faceted filtering, and consistent styling to match the refreshed design system.

apps/web/src/styles/home · high confidence

Redesigned plugin detail modals with unified preview surfaces

The plugin detail modals have been completely redesigned to provide a consistent, unified experience across all plugin types. The new implementation introduces specialized detail surfaces for different plugin content: \PluginScenarioDetail\ for text-based scenarios, \PluginExampleDetail\ for HTML previews, \PluginMediaDetail\ for images, video, and audio, and \PluginDesignSystemDetail\ for design system specifications. All variants now share a common \PreviewModal\ shell that includes a standardized header, a split "Use plugin" action menu (offering options to use with or without a prompt), and a consistent sidebar for manifest metadata via \PluginMetaSections\. This change ensures that users see a uniform interface regardless of the plugin's content type, with improved handling of unavailable previews and better support for sharing and installing plugins.

apps/web/src/components/plugin-details · high confidence

The plugin home gallery now features a complete visual overhaul with distinct card types for different plugin content: live HTML previews (sandboxed iframes with reachability probes), design-system showcases (iframe or brand-patch fallbacks), and media previews (video clips with baked hover-pan animations and poster fallbacks). To ensure smooth scrolling and performance, these expensive elements are lazy-loaded using multiple visibility thresholds (mounting, fetching, keeping, and playing) so off-screen tiles do not consume resources. The gallery also includes robust fallbacks, such as typographic patches for missing or unreachable previews, and handles visual stability by preserving aspect ratios and preventing black flashes during video decoding.

apps/web/src/components/plugins-home/cards · high confidence

Refactored Bring Your Own Key (BYOK) settings into modular components with improved validation

The BYOK settings interface has been restructured into dedicated, reusable components (ByokConnectionTestControl, ByokKeyField, ByokModelField, ByokProviderBaseUrl, ByokProviderPicker) to simplify the configuration flow. This change introduces a new preflight check system that validates API keys, base URLs, and model selections in real-time, providing specific error messages and hints to users before they attempt to save or activate their configuration.

apps/web/src/components/byok · high confidence

Refactored HTTP server into modular, typed route adapter

The daemon's HTTP layer has been restructured to use a typed route adapter pattern, introducing a new \JsonRouteSpec\ interface and an \adapter.ts\ module that mounts routes on Express while keeping parsing and handling logic unit-testable. This change adds strict origin validation via \origin-guard.ts\ and \local-daemon-request.ts\ (enforcing loopback and same-origin checks), standardizes error responses through \api-errors.ts\ and \response.ts\, and introduces an in-memory \api-failure-journal.ts\ to record recent API failures for diagnostics. Additionally, new modules handle OAuth result page rendering (\oauth-result-page.ts\) and tool-specific request authentication (\tool-request-auth.ts\).

apps/daemon/src/http · high confidence

Removal of legacy UI components

The \src/components\ directory has been refactored to remove a suite of legacy UI components, including \AgentIcon\, \AgentPicker\, \AssistantMessage\, \AvatarMenu\, \ChatComposer\, \ChatPane\, \ConversationsMenu\, \DesignFilesPanel\, \DesignSystemPreviewModal\, \DesignSystemsTab\, \DesignsTab\, and \EntryView\. This change eliminates the previous implementation of the agent selection interface, chat conversation layout, design file management, and design system browsing surfaces.

src/components · high confidence

Removal of legacy frontend application code

The previous React application implementation has been completely removed from the source tree. This deletion includes the main application component (App.tsx), the custom URL router (router.ts), the global stylesheet (index.css), the entry point (main.tsx), and all supporting modules for state management, API providers, and type definitions. This cleanup eliminates the old Vite-based architecture and its associated UI logic, preparing the codebase for the migration to the Next.js 16 App Router.

src · high confidence

Removed deck framework and discovery prompt files

The \src/prompts/deck-framework.ts\, \src/prompts/discovery.ts\, and \src/prompts/system.ts\ files have been deleted. This removes the previously injected deck-specific HTML/CSS framework (including the 1920x1080 canvas, scaling logic, and print styles) and the structured discovery workflow (turn-based question forms, brand-spec extraction, and TodoWrite planning) from the system prompt composition.

src/prompts · high confidence

Root layout migration to Next.js App Router with explicit light-theme enforcement

The application root layout has been migrated to the Next.js App Router (\layout.tsx\), introducing \I18nProvider\ and \AnalyticsProvider\ wrappers around the body content. To prevent flash-of-unstyled-content and ensure consistent appearance, an inline script explicitly sets the \data-theme\ attribute to \light\ on the document element before React hydration, effectively removing support for user-selected dark or system themes while preserving accent color configuration. The layout also includes specific CSS imports for Excalidraw, home styles, and several UI components, and applies \suppressHydrationWarning\ to both the html and body tags to mitigate hydration mismatches.

apps/web/app · high confidence

SPA shell restructured with early client-side observability and chat scroll controls

The application shell in the catch-all route has been restructured to initialize browser-side telemetry and chat-specific behaviors before the main application mounts. This change installs exception handlers, web observability (including white-screen detection and boot timing), and chat scroll takeover/experiment controls at module load time, ensuring that errors occurring during the dynamic import of the main app are captured. The main application component is now loaded dynamically with server-side rendering disabled, providing a loading shell that supports static export while allowing the client router to handle all navigation and state.

apps/web/app/\[\[...slug\]\] · high confidence

Shared JSON-line stream parser for ACP and pi-rpc protocols

The daemon now uses a centralized streaming JSON-line parser in the agent-protocol core module, replacing duplicated logic in the ACP and pi-rpc adapters. This parser handles chunked input, reassembles multiline JSON-RPC messages, and includes a fix to replay absorbed lines when a line aggregate fails, preventing session stalls caused by pretty-printed JSON during subprocess startup.

apps/daemon/src/agent-protocol/core · high confidence

Web app migration to Next.js App Router with Tailwind CSS and new build configurations

The web application has been restructured to use the Next.js App Router, introducing a new \next.config.ts\ that supports static exports, server-side rendering, and standalone builds via the \OD\_WEB\_OUTPUT\_MODE\ environment variable. The project now uses TypeScript 5 with a dedicated \tsconfig.json\ for the app and a separate \tsconfig.sidecar.json\ for the sidecar service, while adopting Tailwind CSS via \postcss.config.mjs\. Additionally, a new \vitest.config.ts\ has been added to configure unit testing with specific mocks for Excalidraw and motion, and a \next-env.d.ts\ file has been created to support Next.js type generation.

apps/web · high confidence

Fixes

Add OpenDesign daemon CLI entry point with bootstrap validation

A new executable script (od.mjs) has been added to the daemon's bin directory to serve as the entry point for the OpenDesign CLI. This script validates that the compiled distribution files exist before launching; if the dist entry is missing, it throws a clear error instructing the user to run 'pnpm bootstrap' or build the daemon, ensuring a smoother experience after fresh installation or when scripts are ignored during package installation.

apps/daemon/bin · high confidence

Archives owned Codex threads after terminal completion

The daemon now automatically archives Codex threads once a run finishes, ensuring that owned thread history is persisted and cleaned up. This change introduces a dedicated cleanup owner and session logic to handle the archival process, preventing orphaned thread data and maintaining a tidy workspace after the terminal interaction ends.

apps/daemon/src/agent-protocol/codex-app-server · high confidence

Fix blank preview when exiting Edit mode

The preview pane no longer displays a blank screen after leaving Edit mode. The underlying srcDoc transport is now correctly re-activated upon exit, ensuring the live preview remains visible and functional.

apps/web/src/components · high confidence

Fix relative URL resolution for screen parameter in device frames

The device frame assets (android-pixel, browser-chrome, ipad-pro, iphone-15-pro, macbook) now correctly resolve relative URLs provided via the \screen\ query parameter. Previously, relative paths were passed directly to the iframe, which could cause navigation errors; the frames now detect if the URL is absolute or relative, and if relative, they resolve it against the current page's location or referrer before setting the iframe source.

assets/frames · high confidence

Improved ACP agent failure classification and process resilience

The daemon now provides clearer, structured error messages when ACP-based agent CLIs fail during the handshake or service phase, replacing generic errors with specific codes (e.g., \AGENT\_CLI\_SESSION\_REFUSED\, \AGENT\_AUTH\_REQUIRED\) so the client can display actionable guidance. Additionally, agent processes are now durably recorded to disk, ensuring that if the daemon restarts or crashes, any lingering agent processes are correctly identified and terminated by the next daemon instance.

apps/daemon/src/runtimes · high confidence

Improved stability and performance for team collaboration features

This update introduces several backend improvements to the collaboration layer to enhance reliability and resource management. A new concurrency gate limits concurrent Vela child processes to eight, preventing resource exhaustion during large workspace operations. Background content pulls now include a size guard that defers large projects to the foreground lane, preventing excessive disk usage. Additionally, a new cache for account billing summaries improves performance, while robust error classification ensures that upstream cloud failures are handled gracefully without exposing sensitive internal details to the client. The system also now persists active workspace selections and manages team project pulls with stricter authorization and receipt validation.

apps/daemon/src/collab · high confidence

Test coverage

Added comprehensive i18n test coverage for web app localization; Added daemon test coverage for error classification and ACP handshake failures; Added integration tests for AMR (Vela) daemon features; Added performance regression gate and unit tests for the Critique Theater reducer; Added real-world Claude CLI v2.1.259 test fixtures for daemon parsing; Added runtime chat tests for UI state, layout, and data handling; Added synthetic adapter fixtures for critique conformance testing; Added test coverage for ACP protocol boundaries, DeepSeek Harness profiles, and tool lifecycle diagnostics; Added test coverage for Critique Theater components; Added test coverage for daemon collaboration subsystems; Added test coverage for media daemon subsystems; Added test coverage for packaged desktop runtime and configuration logic; Added test coverage for web analytics diagnostics, attribution, and error classification; Added test fixture for DeepSeek Harness profile validation; Added test fixtures for AMR and ACP integration scenarios; Added test fixtures for demo atom and plugin catalog entries; Added tests for Azure Bicep templates and deployment scripts; Added tests for ChatPane, AnchoredMenuShell, and AmrOwnerTopUpDialog behavior; Added tests for Critique Theater metrics and logging, and workspace authority metrics; Added tests for DeepSeek V4 Flash and Go plan campaign behaviors; Added tests for Home Hero component behaviors; Added tests for OD Next strategy components; Added tests for OD Next task input snapshot cleanup and strategy task store; Added tests for artifact parsing, rendering, and recovery logic; Added tests for chat artifact cover renderer failure handling; Added tests for chat observability wiring and forensics; Added tests for daemon artifact creation and syntax finalization; Added tests for daemon diagnostics, run lifecycle, and plugin installation services; Added tests for daemon observability and telemetry delivery logic; Added tests for daemon prompt stability and correctness; Added tests for design-system asset synchronization and workspace visibility; Added tests for desktop handoff and origin validation logic; Added tests for desktop main-process export, diagnostics, and environment profile logic; Added tests for desktop updater configuration, feed resolution, payload retention, and scheduling; Added tests for registry version resolution logic; Added tests for web application hooks; Added tests for web provider integration and daemon stream handling; Added tests for web utility libraries; Added unit tests for critique v1 parser and scoreboard logic; Added unit tests for the manual edit bridge and source patching logic; Added unit tests for web app core logic and analytics infrastructure; Added unit tests for web components; Added unit tests for web state management modules; Added unit tests for web utility functions; Added visual regression tests for web styles; Expanded runtime test coverage for AMR billing, guidance, and export logic; Expanded test coverage for daemon agent runtimes; Introduces e2e test framework documentation and shared runtime fixtures; New test helpers for CSS cascade validation, Lexical editors, and workspace fixtures; Snapshot tests added for system prompt composition scenarios; Specs for Live Artifacts and TypeScript Maintainability Roadmap; Test coverage for daemon conversation fork, design system, and deliverable routes.

Dependencies

Monorepo restructuring and dependency modernization

The project has migrated from a flat structure to a pnpm monorepo, replacing the root package.json and package-lock.json with a pnpm-lock.yaml and introducing over 20 new workspace packages (including @open-design/daemon, @open-design/web, @open-design/desktop, and @open-design/contracts). This shift upgrades the runtime to Node 24, bumps the web framework from Vite to Next.js 16, and updates core dependencies such as Express (4 to 5), Electron (to 41.3.0), and TypeScript (to 5.9.3/6.0.3). Additionally, security patches are applied via pnpm overrides for transitive dependencies like qs, tmp, and tar.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 34 → 46 (+12.1)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.16) — scores are not directly comparable.

Lenses

  • Code Health 57 → 54 (-2.6)
  • Architecture 34 → 52 (+17.2)
  • Maturity 78 → 78 (-0.4)
  • Readiness 24 → 40 (+16.2)
  • Security 38 → 67 (+29.2)
  • Accessibility 44 (new)
  • Performance 60 (new)

Resolved (184)

  • (anonymous) (cognitive 16) (design-templates/html-ppt/assets/animations/fx/constellation.js)
  • (anonymous) (cognitive 16) (design-templates/html-ppt/assets/animations/fx/neural-net.js)
  • (anonymous) (cognitive 18) (clipper/capture.js)
  • (anonymous) (cognitive 22) (design-templates/html-ppt/assets/runtime.js)
  • (anonymous) (cognitive 27) (clipper/content.js)
  • (anonymous) (cyclomatic 18) (design-templates/html-ppt/assets/runtime.js)
  • (anonymous) (cyclomatic 21) (clipper/content.js)
  • Coverage not measured — test suite did not build
  • Critical CVE: [GHSA redacted] (bun.lock)
  • Dimension evaluation failed
  • FileTooLong: clipper/background.js (clipper/background.js)
  • FileTooLong: fixtures/fake-vela.mjs (apps/daemon/tests/fixtures/fake-vela.mjs)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • High CVE: [GHSA redacted] (bun.lock)
  • …and 164 more

New (4117)

  • (anonymous) (cognitive 39) (clipper/i18n.js)
  • (anonymous) (cyclomatic 37) (clipper/i18n.js)
  • (anonymous)::buildFigmaIr::elementNode (cognitive 50) (clipper/capture.js)
  • (anonymous)::buildFigmaIr::elementNode (cyclomatic 38) (clipper/capture.js)
  • (anonymous)::collectImageAssets (cognitive 44) (clipper/brand-capture.js)
  • (anonymous)::collectImageAssets (cyclomatic 49) (clipper/brand-capture.js)
  • (anonymous)::collectImagesInPage (cognitive 25) (clipper/content.js)
  • (anonymous)::collectImagesInPage (cyclomatic 20) (clipper/content.js)
  • (anonymous)::collectPalette (cognitive 18) (clipper/brand-capture.js)
  • (anonymous)::deriveBrandColors (cognitive 19) (clipper/brand-capture.js)
  • (anonymous)::deriveBrandColors (cyclomatic 18) (clipper/brand-capture.js)
  • (anonymous)::pickButton (cognitive 17) (clipper/brand-capture.js)
  • (anonymous)::pickCard (cognitive 20) (clipper/brand-capture.js)
  • (anonymous)::pickCard (cyclomatic 18) (clipper/brand-capture.js)
  • (anonymous)::renderHtml (cognitive 54) (clipper/brand-capture.js)
  • (anonymous)::renderHtml (cyclomatic 58) (clipper/brand-capture.js)
  • AmrArtifactUpgradeDialog.AmrArtifactUpgradeDialog (cognitive 23) (apps/web/src/components/AmrArtifactUpgradeDialog.tsx)
  • AmrArtifactUpgradeDialog.AmrArtifactUpgradeDialog (cyclomatic 23) (apps/web/src/components/AmrArtifactUpgradeDialog.tsx)
  • AmrArtifactUpgradeGate.AmrArtifactUpgradeGate (cognitive 26) (apps/web/src/components/AmrArtifactUpgradeGate.tsx)
  • AmrArtifactUpgradeGate.AmrArtifactUpgradeGate (cyclomatic 43) (apps/web/src/components/AmrArtifactUpgradeGate.tsx)
  • …and 4097 more

Changes since last survey

  • 300 commits — 93 feature/other, 207 fixes

By area

  • apps/web — 122 commits
  • apps/daemon — 90 commits
  • (root) — 15 commits
  • apps/landing-page — 9 commits
  • tools/release — 8 commits
  • e2e/ui — 6 commits
  • apps/desktop — 5 commits
  • tools/pack — 5 commits
  • docs/CHANGELOG — 4 commits
  • docs/i18n — 4 commits
  • e2e/lib — 4 commits
  • packages/contracts — 4 commits
  • .github/scripts — 3 commits
  • .github/workflows — 3 commits
  • apps/packaged — 3 commits
  • e2e/tests — 3 commits
  • docs/whats-new.json — 2 commits
  • e2e/specs — 2 commits
  • packages/download — 2 commits
  • deploy/README.md — 1 commit

Notable commits

  • fix: fix OpenRouter retired model diagnostics (#7627)
  • fix: fix daemon AMR media model chat guard (#7695)
  • fix: fix daemon anonymous Langfuse registration shells (#7510)
  • fix: fix media HyperFrames rendering in packaged desktop (#7633)
  • fix: fix packaged mac Home readiness race (#7688)
  • fix: fix web campaign provider logos (#7326)
  • fix: fix(acp): send session cancellation as a notification (#7959)
  • fix: fix(amr): align client links with Cloud dashboard routes (#8126)
  • fix: fix(amr): classify membership concurrency limits (#7429)
  • fix: fix(amr): continue committed compaction work without replay (#7958)
  • fix: fix(amr): follow vela's test Cloud domain cutover (#7880)
  • fix: fix(amr): reset workspace subscriptions on profile switch (#8020)
  • fix: fix(amr): retire unlimited model badges (#7544)
  • fix: fix(analytics): separate admission phase from failure attribution (#7648)
  • fix: fix(chat): ChatPanel post-merge follow-up batch — failed turns, codex tool rows, Home mode chip, and six ticket fixes (#7863)
  • fix: fix(chat): automatically retry transient conversation reads (#7954)
  • fix: fix(chat): drop the rounded clip above the chat log so the compositor can hit-test it (#8228)
  • fix: fix(chat): fall back when artifact cover image fails (#8045)
  • fix: fix(chat): hide OpenCode compaction lifecycle (#7682)
  • fix: fix(chat): hide undesigned cards and auxiliary message panels (#7956)
  • …and 280 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

nexu-io/open-design was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 28 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 1b47e60bd46641469fcd8b69c496c4e3a548bc28 — the exact code this score is about.
  • Scored under rubric-2026.09.16 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-eb9197011364.