> For the complete documentation index, see [llms.txt](https://docs.concurrence.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.concurrence.com/api-reference/change-logs/web-platform/web-platform-history-05.md).

# Web Platform History: Archive 5

Retained Web Platform history, archive 5, with original entry headings and links back to current integration guidance.

Historical entries retain their original release/source context. Use [Current Upgrade Guidance](/api-reference/change-logs/upgrade-guide.md) for current integration boundaries and [Web Platform](/api-reference/change-logs/web-platform.md) for the recent history and archive index. An older entry does not establish current availability.

<details>

<summary>v2.101.0 - Developer Console: Realtime Playground Mode Removed (July 2026)</summary>

#### Realtime Playground Mode Removed <a href="#realtime-playground-mode-removed" id="realtime-playground-mode-removed"></a>

The Realtime (stream) playground mode has been removed from the Developer Console. The playground now supports two modes: Voice and Text (simulation).

**What changed:**

* **Realtime mode removed from the playground.** The playground session page no longer offers a "Realtime" or "Stream" mode. The mode selector and service card links now show only Voice and Text options.
* **Service card links updated.** Service cards on the playground landing page no longer display a "Realtime" button. Voice services show Voice and Text buttons; text-only services show only the Text button.
* **Start button simplified.** The playground start button no longer displays authentication readiness states ("Opening", "Auth unavailable") that were specific to the realtime WebSocket transport. The start button is always enabled for text sessions.
* **Connection status banners simplified.** The playground no longer shows WebSocket-specific status banners (reconnection counts, token loading, authentication errors) since these applied only to the removed realtime mode.

**What you need to do:**

* **If you used the Realtime playground mode:** Use the Text (simulation) mode instead for interactive text-based testing. The Text mode provides the same conversation testing capabilities with the simulation transport.
* **If you bookmarked a playground URL with `?mode=stream`:** Update your bookmark to use `?mode=simulation` instead.

</details>

<details>

<summary>v2.100.0 - Developer Console: Simplified Conversation Status Badges (July 2026)</summary>

#### Simplified Conversation Status Badges <a href="#simplified-conversation-status-badges" id="simplified-conversation-status-badges"></a>

The conversation detail page now displays a single unified status badge with a tooltip, replacing the previous separate status and lifecycle badges.

**What changed:**

* **Single status badge with tooltip.** The conversation detail page now shows one status badge that combines the conversation status into a clear label (e.g. "Status: Closed", "Status: In progress"). Hovering over the badge displays a tooltip with a plain-language description of what the status means.
* **Lifecycle badge removed.** The separate lifecycle badge (Active, Dormant, Closed) that previously appeared alongside the status badge has been removed. The status badge now provides sufficient context on its own.
* **Status descriptions added.** Each status value now has a human-readable description shown in the tooltip, explaining whether the conversation is open, ended, in progress, completed, failed, or paused.

**What you need to do:**

* **No action required.** This is a visual simplification. The conversation detail page now presents status information more concisely with added context via tooltips.

</details>

<details>

<summary>v2.99.0 - Developer Console: Per-Endpoint Test Button on Integration Detail Page (July 2026)</summary>

#### Per-Endpoint Test Button on Integration Detail Page <a href="#per-endpoint-test-button-on-integration-detail-page" id="per-endpoint-test-button-on-integration-detail-page"></a>

Each endpoint listed on the integration detail page now has its own Test button, allowing you to test individual endpoints directly from the integration detail view.

**What changed:**

* **Per-endpoint Test button added.** Each endpoint card on the integration detail page now includes a Test button. Clicking the button opens the integration test dialog pre-configured for that specific endpoint, so you can invoke and verify individual endpoints without leaving the integration detail page.
* **Test dialog scoped to selected endpoint.** The test dialog opens with the selected endpoint's tool name pre-filled, so the test targets the exact endpoint you chose rather than requiring manual selection.

**What you need to do:**

* **No action required.** This is a new capability. You can now test individual integration endpoints directly from the integration detail page in the Developer Console.

</details>

<details>

<summary>v2.98.0 - Developer Console: Connection Health UI Removed from Integration Detail (July 2026)</summary>

#### Connection Health UI Removed from Integration Detail <a href="#connection-health-ui-removed-from-integration-detail" id="connection-health-ui-removed-from-integration-detail"></a>

The connection health card and test connection button have been removed from the integration detail page in the Developer Console.

**What changed:**

* **Connection health card removed.** The integration detail page no longer displays a connection health card. The card previously showed the most recent connection probe result and provided a "Test Connection" button for on-demand probing.
* **Test connection button removed.** The ability to trigger a connection probe from the integration detail page is no longer available.
* **Connection status badge removed.** The health status badge that displayed probe outcomes (healthy, auth failed, unreachable, timeout, SSL error, misconfigured) and last-tested timestamps is no longer shown on the integration detail page.

**What you need to do:**

* **If you previously used the Test Connection button:** On-demand connection probing is no longer available from the Developer Console integration detail page. Integration configuration and endpoint details remain visible and functional.

</details>

<details>

<summary>v2.97.0 - Developer Console: Developer Settings Section Removed (July 2026)</summary>

#### Developer Settings Section Removed <a href="#developer-settings-section-removed" id="developer-settings-section-removed"></a>

The Developer section has been removed from the Developer Console Settings page.

**What changed:**

* **Developer tab removed.** The Settings page no longer includes a Developer tab. This tab was previously available to internal users and allowed pinning backend traffic to a preview deployment by PR number.
* **Preview PR cookie management removed from the UI.** The ability to set or clear a preview PR cookie through the Settings interface is no longer available. Preview routing behavior for staging environments continues to function through other mechanisms.

**What you need to do:**

* **If you previously used the Developer settings tab:** This tab is no longer available in the console. Preview deployment routing is no longer configurable through the Settings page.

</details>

<details>

<summary>v2.96.0 - Developer Console: Analytics and Recordings Pages Removed (July 2026)</summary>

#### Analytics and Recordings Pages Removed <a href="#analytics-and-recordings-pages-removed" id="analytics-and-recordings-pages-removed"></a>

The Analytics and Recordings pages have been removed from the Developer Console. These pages are no longer accessible through the console interface.

**What changed:**

* **Analytics page removed.** The Analytics page - which displayed call quality, latency, tool performance, operator performance, emotion trends, event breakdowns, data quality, usage summaries, phone volume, and advanced call statistics - has been removed from the Developer Console.
* **Recordings page removed.** The Recordings page - which allowed browsing and playing back call recordings - has been removed from the Developer Console.
* **Navigation links removed.** The Analytics and Recordings entries in the workspace sidebar are no longer present.
* **Routes removed.** The `/analytics` and `/recordings` URL paths are no longer valid. Visiting these URLs will no longer load their respective pages.

**What you need to do:**

* **If you previously used the Analytics page:** Analytics dashboards are no longer available in the Developer Console. Call metrics and performance data remain available through the API.
* **If you previously used the Recordings page:** Call recording playback is no longer available in the Developer Console. Recordings remain accessible through the API.

</details>

<details>

<summary>v2.95.0 - Developer Console: Integration Updates in Maintenance Mode (July 2026)</summary>

#### Integration Updates in Maintenance Mode <a href="#integration-updates-in-maintenance-mode" id="integration-updates-in-maintenance-mode"></a>

The Developer Console integration detail page now reflects that integration endpoint updates are temporarily in maintenance mode.

**What changed:**

* **Endpoint editing disabled.** The Edit button for integration endpoints is no longer available on custom integrations while maintenance mode is active. The endpoints section displays existing endpoint configuration in read-only mode.
* **Maintenance banner.** A maintenance notice appears in the endpoints section of custom integrations, indicating that endpoint changes are temporarily paused and that existing configuration remains available.
* **Page description updated.** The integration detail page description for custom integrations now reads "Integration updates are temporarily unavailable" instead of "View and manage integration details."

**What you need to do:**

* **If you need to update integration endpoints:** Endpoint editing is temporarily unavailable. Existing endpoint configurations continue to function normally. This is a temporary maintenance state and editing will be re-enabled in a future release.

</details>

<details>

<summary>v2.94.0 - Developer Console: Updated Column on Resource List Pages (July 2026)</summary>

#### Updated Column on Resource List Pages <a href="#updated-column-on-resource-list-pages" id="updated-column-on-resource-list-pages"></a>

Resource list pages in the Developer Console now display an "Updated" column showing when each resource was last modified.

**What changed:**

* **Updated column added.** The list pages for agents, context graphs, services, integrations, and skills now include an "Updated" column. The column displays a relative timestamp (e.g. "3 hours ago", "2 days ago") indicating when the resource was last updated.
* **Applies to all resource types.** The new column appears on the Agents, Context Graphs, Services, Integrations, and Skills list pages.

**What you need to do:**

No action is required. The new column appears automatically on all resource list pages.

</details>

<details>

<summary>v2.93.0 - Developer Console: Billing Section Removed (July 2026)</summary>

#### Billing Section Removed <a href="#billing-section-removed" id="billing-section-removed"></a>

The Billing page has been removed from the Developer Console. Usage and invoice information is no longer available through the console interface.

**What changed:**

* **Billing page removed.** The Billing page - which displayed current and previous period usage summaries, meter breakdowns, usage trend charts, invoice status, and recent invoices - has been removed from the Developer Console.
* **Navigation link removed.** The Billing entry in the workspace sidebar is no longer present.
* **Billing route removed.** The `/billing` URL path is no longer valid. Visiting this URL will no longer load a billing dashboard.

**What you need to do:**

* **If you previously used the Billing page:** This page is no longer available in the Developer Console. Contact your account team for billing and usage inquiries.

</details>

<details>

<summary>v2.92.0 - Developer Console: Playground Loading Animation During Agent Initialization (July 2026)</summary>

#### Playground Loading Animation During Agent Initialization <a href="#playground-loading-animation-during-agent-initialization" id="playground-loading-animation-during-agent-initialization"></a>

The Developer Console voice playground now shows more detailed connection progress during test calls, distinguishing between agent initialization and transport connection phases.

**What changed:**

* **Phase-aware connection status.** The playground now displays "Preparing agent..." while the agent engine is initializing, then switches to "Connecting..." once initialization completes and the transport connection is being established. Previously, the playground showed a generic "Connecting..." message for the entire startup sequence.
* **Status badge reflects phase.** The header badge shows "Preparing" during agent initialization and "Connecting" during transport setup, giving a clearer picture of startup progress.
* **Cancel during initialization.** An End button is now available during the agent preparation phase, so you can cancel the test call before the agent finishes initializing. Previously, the End button only appeared after the connection was fully established.

**What you need to do:**

No action is required. The improved loading states appear automatically in the voice playground.

</details>

<details>

<summary>v2.91.0 - Developer Console: Complete Case Library Loading and Legacy Suite Tag Support (July 2026)</summary>

#### Complete Case Library Loading and Legacy Suite Tag Support <a href="#complete-case-library-loading-and-legacy-suite-tag-support" id="complete-case-library-loading-and-legacy-suite-tag-support"></a>

The Developer Console Case Library and Suites pages now load all available cases automatically, and legacy suite tags are recognized alongside the standard `suite:` prefix.

**What changed:**

* **Complete case loading.** The Case Library and Suites pages now load the entire case library automatically with built-in pagination and rate-limit handling. The previous Load more button and partial-load notices have been removed. Suite counts and filters always reflect the full case library.
* **Legacy suite tag support.** Suite tags using a legacy naming convention are now recognized in addition to the standard `suite:` prefix. Cases tagged with either format are grouped into the same suite, so suites are not duplicated when a workspace contains a mix of old and new tag formats. Filtering by suite matches cases carrying either tag format.
* **Simplified empty states.** When no cases match the selected suite filter, the empty state now directs you to clear the suite filter to inspect the full case library, rather than offering a Load more button.
* **Consistent loading indicator.** The pages display a loading state while the full case library is being fetched, replacing the previous partial-load banner.

**What you need to do:**

No action is required. Case browsing and suite execution work as before. Workspaces with legacy suite tags will see their cases grouped correctly without any tag migration.

</details>

<details>

<summary>v2.90.0 - Developer Console: Simulation Case and Suite Loading Now Explicit (July 2026)</summary>

#### Simulation Case and Suite Loading Now Explicit <a href="#simulation-case-and-suite-loading-now-explicit" id="simulation-case-and-suite-loading-now-explicit"></a>

The Developer Console Case Library and Suites pages now load cases on demand instead of auto-loading up to 1,000 cases in the background.

**What changed:**

* **Explicit case loading.** The Case Library and Suites pages load the first page of cases automatically. Additional pages are loaded explicitly using the Load more button. Previously, the console auto-fetched up to 1,000 cases in the background on page load.
* **Updated summary labels.** The Case Library summary tiles now show "Available cases" with the total count from the workspace, rather than distinguishing between loaded and total counts. Suite counts reflect the cases currently loaded into the view, with a note when additional pages are available.
* **Improved empty states.** When no cases match the current suite filter, the empty state now offers a Load more button (if additional pages exist) or a Clear suite filter button, instead of only linking to the simulation run page.
* **Suite tag prefix simplified.** Suite tags are now identified exclusively by the `suite:` prefix. Previously, an additional legacy prefix was also recognized.
* **Suite run button simplified.** The Run suite button label is now always "Run suite" regardless of case count. When running from a partial case load, the suite run targets up to 200 matching cases from the server rather than being limited to locally loaded case counts.

**What you need to do:**

No action is required. Case browsing and suite execution work as before. For large case libraries, use the Load more button to bring additional cases into the view.

</details>

<details>

<summary>v2.89.0 - Developer Console: Integration Tool Tests Routed to Dedicated Endpoint (July 2026)</summary>

#### Integration Tool Tests Routed to Dedicated Endpoint <a href="#integration-tool-tests-routed-to-dedicated-endpoint" id="integration-tool-tests-routed-to-dedicated-endpoint"></a>

The Developer Console now routes integration tool tests through a dedicated test endpoint, separate from the standard tool invocation path.

**What changed:**

* **Integration tool tests use a dedicated endpoint.** When testing integration tools from the Tools > Test page, the Developer Console now sends test requests to a purpose-built test endpoint rather than the general tool execution path. This gives more accurate test results and clearer error reporting for integration tool validation.
* **Improved test page for integration tools.** The tool test page now distinguishes between integration tools and other tool types, routing each to the appropriate backend endpoint automatically. No manual configuration is needed.

**What you need to do:**

No action is required. Integration tool tests in the Developer Console automatically use the new routing. Test behavior and results are unchanged for non-integration tools.

</details>

<details>

<summary>v2.87.1 - Developer Console: Playground Connecting State During Agent Cold Start (July 2026)</summary>

#### Playground Connecting State During Agent Cold Start <a href="#playground-connecting-state-during-agent-cold-start" id="playground-connecting-state-during-agent-cold-start"></a>

The Developer Console playground now displays a visible "Connecting" state while the voice agent is starting up, before the session is fully established.

**What changed:**

* **Connecting badge shown during cold start.** When a voice playground session is initiated, a "Connecting" badge appears next to the service name while the agent connection is being established. Previously, the playground showed no visual indicator between clicking Start and the session becoming live.
* **Pulsing icon during connection.** The voice mode icon animates with a pulse effect during the connecting phase, providing a clear visual cue that the connection is in progress.
* **Distinct color treatment.** The connecting state uses an informational color scheme (blue), distinguishing it from the neutral idle state and the green live state.

**What you need to do:**

No action is required. This is a visual improvement that provides better feedback during agent cold starts in the playground.

</details>

<details>

<summary>v2.87.0 - Developer Console: Playground Connection Status Improvements (July 2026)</summary>

#### Playground Connection Status Improvements <a href="#playground-connection-status-improvements" id="playground-connection-status-improvements"></a>

The Developer Console playground now shows improved connection status banners when observing voice calls.

**What changed:**

* **Simplified connection banners.** The playground no longer shows a separate "failed after 5 retries" error banner. Connection errors and retry states are now consolidated into clearer status indicators.
* **Reconnection banner updated.** The reconnecting banner no longer displays a retry counter or a "/5" limit. It now shows a neutral "Connecting to agent..." message with an informational style instead of a warning style.
* **Error display improved.** Error banners now display whenever there is an active error and the session is not connected or ended, rather than only on the first connection attempt.

**What you need to do:**

No action is required. These are visual improvements to the playground connection status display.

</details>

<details>

<summary>v2.86.0 - Developer Console: Protocol Selector and Category Column Removed from Integrations (July 2026)</summary>

#### Protocol Selector and Category Column Removed from Integrations <a href="#protocol-selector-and-category-column-removed-from-integrations" id="protocol-selector-and-category-column-removed-from-integrations"></a>

The Developer Console removes the protocol selector from the integration creation form and the category column from the integrations table. The protocol is now determined automatically, and integrations are no longer visually categorized.

**What changed:**

* **Protocol selector removed from integration creation.** The new integration form no longer includes a protocol dropdown. REST is set automatically. The connection step description now reads "Configure the connection details including base URL and authentication."
* **Category column removed from integrations table.** The integrations list no longer displays a Category column (Utility / Custom) or its associated filter. Integrations are listed without category classification.
* **Category filter removed.** The Category filter in the integrations table filter bar has been removed. The protocol filter remains available.

**What you need to do:**

No action is required. Existing integrations are unaffected. The protocol is set to REST automatically when creating new integrations through the Developer Console.

</details>

<details>

<summary>v2.85.0 - Developer Console: FHIR Protocol Removed from Integrations (June 2026)</summary>

#### FHIR Protocol Removed from Integrations <a href="#fhir-protocol-removed-from-integrations" id="fhir-protocol-removed-from-integrations"></a>

The Developer Console removes the FHIR protocol option from the integrations workflow. Integrations now support the REST protocol only.

**What changed:**

* **FHIR protocol option removed from integration creation.** The protocol selector on the new integration form no longer includes FHIR. Only REST is available.
* **FHIR-specific badge styling removed.** Tool call badges and integration protocol badges no longer apply FHIR-specific visual styling. All protocol badges now use the default style.
* **Healthcare category removed from integrations table.** The integrations list no longer includes a "Healthcare" category filter. Integrations previously categorized as Healthcare are now categorized as Utility or Custom.
* **FHIR filter removed from integrations table.** The protocol filter on the integrations list no longer includes FHIR as a filter option.
* **Updated descriptions.** The integrations tab tooltip now reads "Connectors to third-party systems: REST APIs" and the integration creation form description now reads "REST integrations wrap HTTP APIs."

**What you need to do:**

No action is required. Existing FHIR integrations are unaffected at the API level. The Developer Console no longer provides a UI for creating or viewing FHIR-specific configuration. If you need FHIR integration management, use the Platform API directly.

</details>

<details>

<summary>v2.84.0 - Developer Console: MCP Protocol Removed from Integrations (June 2026)</summary>

#### MCP Protocol Removed from Integrations <a href="#mcp-protocol-removed-from-integrations" id="mcp-protocol-removed-from-integrations"></a>

The Developer Console removes the MCP (Model Context Protocol) option from the integrations workflow. Integrations now support the REST protocol only.

**What changed:**

* **MCP protocol option removed from integration creation.** The protocol selector on the new integration form no longer includes MCP. Only REST is available.
* **MCP connection step removed.** The MCP-specific configuration step (transport, command, arguments, server URL, headers) has been removed from the integration creation wizard.
* **MCP details removed from integration detail page.** The MCP Server card that displayed transport, command, arguments, server URL, and headers is no longer shown on integration detail pages. The Base URL field now displays for all integrations regardless of protocol.
* **MCP filter removed from integrations table.** The protocol filter on the integrations list no longer includes MCP as a filter option.
* **Updated descriptions.** The integrations tab tooltip now reads "Connectors to third-party systems: REST APIs" and the tool picker guide no longer mentions MCP servers.

**What you need to do:**

No action is required. Existing MCP integrations are unaffected at the API level. The Developer Console no longer provides a UI for creating or viewing MCP-specific configuration. If you need MCP integration management, use the Platform API directly.

</details>

<details>

<summary>v2.83.0 - Developer Console: Create Version Button Removed from Agent Detail (June 2026)</summary>

#### Create Version Button Removed from Agent Detail <a href="#create-version-button-removed-from-agent-detail" id="create-version-button-removed-from-agent-detail"></a>

The Developer Console removes the manual "Create Version" button from the agent detail page. Agent versions should now be created through the Amigo SDK or API.

**What changed:**

* **Create Version button removed.** The agent detail page no longer includes a "Create Version" button or the associated inline form for manually creating agent versions. The versions section continues to display existing versions and supports editing via the **Edit JSON** button.
* **Updated empty state guidance.** When an agent has no versions, the empty state message now directs users to create the first version through the Amigo SDK or API, then use **Edit JSON** in the console to iterate.

**What you need to do:**

Use the Amigo SDK or Platform API to create new agent versions. Once a version exists, you can continue to edit it using the **Edit JSON** button on the agent detail page in the Developer Console.

</details>

<details>

<summary>v2.82.0 - Developer Console: Webhook Destinations Removed, Data Source Types Updated, EHR Connector Changes (June 2026)</summary>

#### Webhook Destinations Removed, Data Source Types Updated, EHR Connector Changes <a href="#webhook-destinations-removed-data-source-types-updated-ehr-connector-changes" id="webhook-destinations-removed-data-source-types-updated-ehr-connector-changes"></a>

The Developer Console removes the webhook destinations feature, updates data source type options, and refreshes the list of supported EHR connectors.

**Webhook destinations removed:**

* **Webhooks tab removed from Developer page.** The Developer page now shows only the API Keys and Personal Tokens tabs. The Webhooks tab and all associated webhook destination management UI have been removed.
* **Webhook destinations pages removed.** The webhook destinations list page, detail page, create page, and all related components (delivery history, secret rotation, edit form, event type input) have been removed from the console.
* **Webhook navigation removed.** The Webhooks entry has been removed from the sidebar navigation and command palette.
* **Trigger detail simplified.** The trigger detail page no longer shows linked webhook sources or the "Add Webhook" button. The Sources tab now displays only cron schedule information. The tab icon has been updated from a webhook icon to a calendar icon. The empty state message now refers to configuring a cron schedule instead of adding a webhook.

**Data source type changes:**

* **CRM type replaced with FHIR.** The "CRM" data source type has been replaced with "FHIR" across the data source list, filters, and creation form.
* **New data source types added.** Three new data source types are now available: Database, Custom, and Customer Intake.
* **Updated empty state text.** The data sources empty state message now reads "Connect an EHR, FHIR store, or other external system" instead of the previous "EHR, CRM, or other external system" wording.

**EHR connector changes:**

* **Revolution EHR removed.** Revolution EHR has been removed from the EHR integration options and connector type list.
* **HubSpot removed.** HubSpot has been removed from the EHR integration options and connector type list.
* **New EHR connectors added.** Three new EHR connectors are now available: CharmHealth, eClinicalWorks, and Meditab.

No configuration changes are required. Workspaces that previously used webhook destinations should transition to alternative integration patterns.

</details>

<details>

<summary>v2.81.0 - Developer Console: Warehouse Tab and Workspace Database Improvements (June 2026)</summary>

#### Warehouse Tab and Workspace Database Improvements <a href="#warehouse-tab-and-workspace-database-improvements" id="warehouse-tab-and-workspace-database-improvements"></a>

The Developer Console Tools section now includes a **Warehouse** tab and updates to the **Workspace** (Database) tab. These changes give developers clearer separation between analytic lookups over historical data and workspace-private mutable state.

**New Warehouse tab:**

* **Warehouse tab in Tools.** A new Warehouse tab appears in the Tools section alongside Workspace, Integrations, and Skills. Warehouse tools let the agent perform deterministic analytic lookups over historical data - no LLM in the loop. These are the `fn_*` tools backed by the platform's analytic data warehouse.
* **Function directory.** The Warehouse page lists all platform functions registered in the workspace, showing name, type, return kind, description, and last test status. Clicking a function opens its inspector.
* **Inspect by name.** Enter a function name directly to inspect its definition, SQL template, parameters, and metadata without scrolling through the directory.
* **Test panel.** Each function can be tested directly from the console. Provide JSON input, run the function, and see results including row count, duration, and pass/fail status. Test results are persisted server-side so the directory reflects the latest test outcome.

**Workspace (Database) tab improvements:**

* **Simplified query tool list.** The Workspace Database page now loads all query tools in a single request instead of paginated infinite scroll. The table shows parameter count and last invocation timestamp instead of the previous enabled/disabled status and target columns.
* **Typed parameter editor.** The query tool form now uses a structured parameter editor instead of raw JSON input. Each parameter has a name, type (string, integer, number, boolean), description, and optional default value. Up to 32 parameters can be declared per tool.
* **Timeout configuration.** Query tools now expose a timeout setting (100ms to 30,000ms) directly in the form.
* **Invoke replaces test.** The test panel on query tool detail pages now uses the invoke endpoint, showing results in a structured table with row count and duration.
* **Sandbox fork removed.** The Sandbox Fork card has been removed from the Workspace Database page. Fork creation and deletion are no longer available through the console.
* **Enable/disable toggle removed.** Query tools no longer have an enabled/disabled toggle. All registered query tools are active.

**Inventory changes:**

* **Single function source.** The Tools inventory page now loads functions from a single consolidated endpoint instead of merging two separate function stores. This simplifies the inventory and eliminates the legacy/registered deduplication logic.

No configuration changes are required.

</details>

<details>

<summary>v2.80.0 - Developer Console: Expanded FHIR Entity Details and Patient Insurance (May 2026)</summary>

#### Expanded FHIR Entity Details and Patient Insurance <a href="#expanded-fhir-entity-details-and-patient-insurance" id="expanded-fhir-entity-details-and-patient-insurance"></a>

The Developer Console now surfaces additional fields across FHIR resource detail views and the patient entity state panel. These changes align the console with recently expanded FHIR API views, so operators and developers can see richer entity data without leaving the console.

**Patient details:**

* **Insurance section.** Patient detail views now display insurance information when available, including payer name, member ID, policyholder name, policyholder relationship, and policyholder date of birth. This appears both in the FHIR resource detail card and in the patient entity state panel.
* **Marital status.** The patient FHIR card now shows marital status when present in the resource data.
* **Address fields.** The patient entity state panel now displays city, state, and postal code.

**Practitioner details:**

* **NPI identifier.** The practitioner FHIR card now extracts and displays the National Provider Identifier (NPI) when present in the resource's identifier list.

**Appointment details:**

* **Appointment type, duration, reason, and cancellation reason.** The appointment FHIR card now shows appointment type, duration in minutes, visit reason, and cancellation reason when available.
* **Participant roles and icons.** Appointment participants now display their role (e.g., primary performer, attender) and use role-specific icons to distinguish practitioners from other participants.
* **Improved fallback title.** Appointments without a description now fall back to the appointment type for display.

**New Slot resource card:**

* **Slot detail view.** The FHIR resource browser now renders a structured detail card for Slot resources, showing status, start/end times, schedule reference, and comments. Previously, Slot resources displayed as raw data.
* **Slot list view.** The resource list now shows formatted date and status for Slot entries.

No configuration changes are required.

</details>

<details>

<summary>v2.79.0 - Developer Console: SDK-Aligned Observer Event Types (May 2026)</summary>

#### SDK-Aligned Observer Event Types <a href="#sdk-aligned-observer-event-types" id="sdk-aligned-observer-event-types"></a>

The Developer Console playground and call observation views now use observer event type definitions from the platform SDK (v0.5.5) instead of hand-maintained local types. This aligns the console with the canonical event schema and adds support for two new real-time event types.

**What changed:**

* **Event types derived from SDK.** All observer event payloads - session lifecycle, transcripts, tool calls, emotion, empathy, latency, barge-in, participants, and voice context - are now sourced from the SDK's typed definitions. This eliminates drift between the console and the platform API when new fields are added or existing fields change.
* **New event types: forward call resolved and speaker muted.** The playground event log and call observer now handle `forward_call_resolved` and `speaker_muted` events. These appear in the event log and are categorized as session events in the event type filter.
* **State transition type field renamed.** The state transition display in the playground conversation view and call observer now reads the transition type from the updated field name in the SDK schema. No user-facing label changes - transitions continue to display the same way.
* **Null-safe field handling.** Duration, barge-in count, speaker metadata, and other optional fields are now handled with explicit null coalescing throughout the playground UI, preventing display errors when the platform omits optional fields from event payloads.

No configuration changes are required. The playground and call observation views continue to work as before, with improved reliability for events that contain optional fields.

</details>

<details>

<summary>v2.77.0 - Developer Console: Environment-Aware Analytics (May 2026)</summary>

#### Environment-Aware Analytics <a href="#environment-aware-analytics" id="environment-aware-analytics"></a>

The Developer Console now reports its environment tier - production, staging, or development - to the analytics and feature gating system. Previously, all console instances reported as the same environment, making it difficult to distinguish production usage from staging or local development in analytics dashboards and feature gate evaluations.

With this release, the console automatically detects which environment it is running in based on the deployment context and passes that information to the feature gating system. This means:

* **Feature gates** can now target specific environments - for example, enabling an experimental feature only in staging before rolling it out to production
* **Analytics data** is segmented by environment, so usage metrics from staging and development do not pollute production dashboards
* **Experiment results** reflect production behavior only, without noise from internal testing

No configuration is required. The environment is detected automatically and applied to all feature checks and analytics events.

</details>

<details>

<summary>v2.75.0 - Developer Console: Remove Cross-Workspace Team Assignments (May 2026)</summary>

#### Cross-Workspace Team Assignments Removed <a href="#cross-workspace-team-assignments-removed" id="cross-workspace-team-assignments-removed"></a>

The cross-workspace team assignments feature has been removed from both the Admin section and the Members page.

* The **Team Assignments** tab has been removed from the Admin navigation
* The **All Workspaces** tab on the Members page has been removed - the Members page now shows only the current workspace's members without tabs

Workspace member management remains available through the single-workspace Members page, which continues to support inviting, updating, and removing members within the current workspace.

</details>

<details>

<summary>v2.71.0 - Developer Console: Webhook Destination Management (May 2026)</summary>

#### Complete Webhook Destination UI <a href="#complete-webhook-destination-ui" id="complete-webhook-destination-ui"></a>

The Developer Console now provides full management of webhook destinations. Previously, webhook destinations could only be created and deleted. This release adds editing, secret rotation, delivery history, activation controls, and improved creation workflows.

**Navigation**: A new **Webhooks** item appears in the sidebar navigation under the settings section, providing direct access to the webhook destinations list.

**Create workflow improvements**:

* The trigger field is now a dropdown that lists available triggers from your workspace instead of requiring a raw ID
* Field mapping uses structured key-value pair inputs instead of raw JSON
* Accepted event types use a tag-based input with add/remove controls
* Form validation provides inline feedback before submission

**Detail page enhancements**:

* **Configuration and Delivery History tabs** - the detail page is now tabbed, with configuration details on one tab and delivery history on another
* **Inline editing** - click Edit to modify the webhook name, description, field mapping, accepted event types, and retry attempts without leaving the page
* **Active/Inactive toggle** - activate or deactivate a webhook destination directly from the detail page with a status badge showing the current state
* **Secret rotation** - a Rotate Secret button generates a new signing secret with a grace period before the old secret expires. The new secret is displayed once and must be copied immediately
* **Delivery history** - view past webhook deliveries with event type, timestamp, event ID, and expandable payload details. Results load incrementally with a Load More button

**List page improvements**:

* Client-side search filtering for webhook destinations
* Empty state now includes a Create Webhook Destination action button

</details>

<details>

<summary>v2.70.0 - Developer Console: Environment Conversion, Team Assignments, and Auto-Provisioning (May 2026)</summary>

#### Environment Conversion <a href="#environment-conversion" id="environment-conversion"></a>

Workspace settings now include an **Environment** row with a **Convert** button that lets admins convert a workspace between staging and production environments. Clicking Convert opens a dialog that checks conversion requirements, displays any warnings, and requires you to type the workspace slug to confirm. After conversion, the workspace environment badge updates immediately.

#### Team Assignments <a href="#team-assignments" id="team-assignments"></a>

A **Team Assignments** tab is available in the Admin section for users with admin access to two or more workspaces. This feature was later removed in v2.75.0.

#### Auto-Provisioning on Workspace Creation <a href="#auto-provisioning-on-workspace-creation" id="auto-provisioning-on-workspace-creation"></a>

Newly created workspaces are now automatically provisioned immediately after creation. If auto-provisioning fails, workspace creation still succeeds - you can manually provision later from workspace settings.

#### Provisioning Status in Settings <a href="#provisioning-status-in-settings" id="provisioning-status-in-settings"></a>

Workspace settings now show provisioning status. Provisioned workspaces display the provisioning date. Workspaces that have not been provisioned show a "Not provisioned" badge with a **Provision** button to trigger provisioning manually.

</details>

<details>

<summary>v2.65.0 - Developer Console: Feature Gating for Navigation Items (May 2026)</summary>

#### Release-Stage Gating in the Sidebar <a href="#release-stage-gating-in-the-sidebar" id="release-stage-gating-in-the-sidebar"></a>

Navigation items in the Developer Console sidebar are now gated by release stage using feature flags. Previously, pre-release features were shown or hidden based solely on whether the logged-in user had an internal email address. The sidebar now evaluates per-feature flags to determine visibility, giving finer-grained control over who sees what.

The release stages are:

| Stage               | Visibility                                                                                                       |
| ------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **GA**              | Visible to all users                                                                                             |
| **Beta**            | Visible only to users explicitly enrolled in the feature flag. No email-based fallback - users must be enrolled. |
| **Private Preview** | Visible to enrolled users or Amigo employees                                                                     |
| **Internal**        | Visible to enrolled users or Amigo employees                                                                     |

Sidebar badges now reflect the stage: Beta items show a "Beta" badge, and Private Preview items show a "Preview" badge. Internal items continue to show a subtle dot indicator. The command palette uses the same badge logic.

This change replaces the previous "Public Preview" stage with two more granular stages (Beta and Private Preview), giving product teams better control over feature rollout progression.

</details>

<details>

<summary>v2.64.0 - Developer Console: Simplified Calls Table (May 2026)</summary>

#### Simplified Call Log Columns <a href="#simplified-call-log-columns" id="simplified-call-log-columns"></a>

The calls table in the Developer Console now shows a more focused set of columns. The Caller and Messages columns have been removed to reduce noise and keep attention on the most actionable information - call ID, type, agent, status, and timing.

The search bar placeholder has been updated to reflect the available search scope. Search is now scoped to call ID only.

This is a visual-only change. No data has been removed - call details, caller information, and message counts are still available on the individual call detail view.

</details>

<details>

<summary>v2.63.0 - Developer Console: Analytics Stat Card Layout (May 2026)</summary>

#### Improved KPI Card Readability <a href="#improved-kpi-card-readability" id="improved-kpi-card-readability"></a>

The analytics dashboard stat cards now display the metric value and its period-over-period change side by side on the same line instead of stacking them vertically. The percentage delta appears next to the value with color-coded direction indicators - green for increases, red for decreases, and muted for unchanged values.

Each delta now includes an accessible label describing the direction and magnitude of the change compared to the previous period. Flat deltas (0%) are explicitly labeled as "Unchanged" rather than showing no indicator.

This is a visual-only change. No new data, endpoints, or configuration options are involved.

</details>

<details>

<summary>v2.62.0 - Developer Console: Idle Session Warning (May 2026)</summary>

#### Bank-Style Idle Timeout Warning <a href="#bank-style-idle-timeout-warning" id="bank-style-idle-timeout-warning"></a>

The Developer Console now displays a warning dialog when a user has been idle and their session is about to expire due to the HIPAA-mandated inactivity timeout. Previously, idle sessions were terminated without advance notice - users would be redirected to the login page with an informational banner but no opportunity to extend their session.

When the platform detects prolonged inactivity, a modal dialog appears with the title "Still there?" and a live countdown showing how much time remains before automatic sign-out. The countdown displays in mm:ss format and updates every second. Users have two options:

* **Stay signed in** - Dismisses the dialog, refreshes the session credentials on the server, and resets the idle timer. The user continues working without interruption.
* **Sign out** - Immediately ends the session and redirects to the login page.

While the warning dialog is visible, passive activity like mouse movement or scrolling does not dismiss it. The user must explicitly choose to stay signed in. This prevents accidental dismissal from a brush of the trackpad.

The idle timer is synchronized across browser tabs. Activity in any tab resets the idle timer for all tabs in the same session. If a user clicks "Stay signed in" in one tab, the warning is dismissed in all other tabs. If a user signs out from the warning dialog, all tabs are signed out.

The warning dialog only appears for authenticated sessions. Unauthenticated pages (such as the login page itself) do not run the idle timer.

</details>

<details>

<summary>v2.61.0 - Developer Console: Caller ID for Text Playground (May 2026)</summary>

#### Caller ID Support in Text Playground <a href="#caller-id-support-in-text-playground" id="caller-id-support-in-text-playground"></a>

The text playground now supports setting a simulated caller phone number before starting a session, matching the capability already available in the voice playground. A split button next to the "Start Session" and "New Session" actions lets you open a popover to enter a phone number that is sent as the caller identity when the session begins. The engine uses this to run patient resolution, so you can test caller-specific behavior without making a real phone call.

The entered number is saved to local storage and restored on your next visit, with separate storage for voice and text playgrounds so the two do not interfere with each other. Leaving the field blank omits the caller identity from the session payload, which causes the engine to use its default caller with no patient match - the same behavior as before this change.

#### Shared Caller ID Component <a href="#shared-caller-id-component" id="shared-caller-id-component"></a>

The caller ID split button used in the voice playground has been refactored into a shared component used by both voice and text playgrounds. There is no change in voice playground behavior.

</details>

<details>

<summary>v2.60.0 - Developer Console: Login Reason Banner (May 2026)</summary>

#### Context for Redirected Users <a href="#context-for-redirected-users" id="context-for-redirected-users"></a>

When users are redirected to the login page due to session expiry, inactivity timeout, or a failed token refresh, the login page now displays an informational banner explaining why they were signed out. Previously, users who were redirected saw the same bare login form as a first-time visitor, with no indication of what happened.

The banner displays a short message tailored to the reason:

* **Session expired** - The user's session ended naturally or the server rejected a token. The banner prompts them to sign in again.
* **Inactivity timeout** - The session ended due to inactivity (the HIPAA-mandated idle timeout). The banner explains the security policy and prompts sign-in.

If the login page is loaded without a recognized reason - including direct navigation or any unexpected value - no banner appears, preserving the existing login experience.

The reason indicator is separate from the existing OAuth error banner. OAuth callback failures continue to appear as destructive alerts; session-related redirects appear as neutral informational banners.

</details>

<details>

<summary>v2.59.0 - Developer Console: Voice Auth Gated by Environment Flag (May 2026)</summary>

#### Voice Authentication Disabled by Default <a href="#voice-authentication-disabled-by-default" id="voice-authentication-disabled-by-default"></a>

Voice biometric authentication in the Developer Console is now disabled by default. Previously, the console checked workspace security settings for voice authentication on every login. Now, the voice auth guard only activates when the deployment is explicitly configured to enable it.

When disabled (the default), the guard short-circuits immediately after login with no network calls and no user-facing change. When enabled, the existing behavior is preserved - the guard checks workspace-level voice auth settings and proceeds with voiceprint enrollment or verification as before.

This is a deployment-level setting. Toggling it requires a redeploy of the Developer Console - runtime environment changes have no effect. Organizations that have not explicitly opted in to voice authentication will see no change in behavior.

</details>

<details>

<summary>v2.58.0 - Developer Console: Dashboard Pre-Launch Polish (May 2026)</summary>

#### Improved Loading States <a href="#improved-loading-states" id="improved-loading-states"></a>

The workspace dashboard now displays skeleton loading indicators for all data sections - status cards, world model statistics, clinical resources, and recent activity - instead of showing placeholder dashes or empty content while data loads. This gives a smoother visual experience on initial page load and when switching between workspaces.

#### Updated Configuration Labels <a href="#updated-configuration-labels" id="updated-configuration-labels"></a>

Several labels on the dashboard configuration summary have been updated for clarity:

* **"Integrations" renamed to "Data Connections"** - Better describes the role of connected external data sources.
* **"Graphs" renamed to "Context Graphs"** - Uses the full product term consistently.
* **"Numbers" renamed to "Phone Numbers"** - Removes ambiguity.

#### Welcome State for New Workspaces <a href="#welcome-state-for-new-workspaces" id="welcome-state-for-new-workspaces"></a>

When a workspace has just been created, the Developer Setup section now displays a personalized welcome message with the workspace name and shorter setup instructions, rather than the standard "Developer Setup" heading.

#### Accessibility Improvements <a href="#accessibility-improvements" id="accessibility-improvements"></a>

The EHR Status, Active Calls, and Services status cards now include descriptive accessible labels that convey current state information to screen readers, improving navigation for assistive technology users.

#### Dashboard Error Boundary <a href="#dashboard-error-boundary" id="dashboard-error-boundary"></a>

The dashboard now catches rendering errors gracefully and displays a recovery screen with a "Try Again" button, instead of showing a generic application error page.

#### Removed Call Analytics Section <a href="#removed-call-analytics-section" id="removed-call-analytics-section"></a>

The inline call analytics summary (total calls, completion rate, average duration, average turns) has been removed from the dashboard home page. Call analytics remain available on the dedicated Analytics page.

</details>

<details>

<summary>v2.57.0 - Developer Console: Billing Dashboard - ACU Visibility and Period Metadata (May 2026)</summary>

#### Restored ACU Visibility <a href="#restored-acu-visibility" id="restored-acu-visibility"></a>

The Billing page now guarantees that key usage meters - including Amigo Consumption Units (ACU), voice minutes, call count, and token usage - always appear in the usage summary, regardless of their ranking by value. Previously, low-value meters could be pushed off the dashboard by higher-value ones, which meant customers on lighter plans might not see their primary billing unit at all.

All metered dimensions for the current billing period are now displayed in a dedicated "Usage by meter" section, ordered so that the most important billing meters appear first.

#### Period Metadata <a href="#period-metadata" id="period-metadata"></a>

The billing summary cards now show the date range for the current billing period and clarify the relationship to the previous period. The cost comparison label has been updated from a short "vs previous" to a more descriptive explanation (e.g., "higher than previous period" or "lower than previous period").

#### Invoice Status Descriptions <a href="#invoice-status-descriptions" id="invoice-status-descriptions"></a>

The invoice status chart now includes a legend with plain-language descriptions for each status (draft, sent, paid, void), making it easier to understand invoice lifecycle at a glance. The "overdue" status has been removed from the display to match the backend invoice model.

#### Usage Trend Chart Improvements <a href="#usage-trend-chart-improvements" id="usage-trend-chart-improvements"></a>

The usage trends chart now displays the billing period date range in its description and uses improved tooltip styling for better readability.

</details>

<details>

<summary>v2.56.0 - Developer Console: Call Log Naming Polish (May 2026)</summary>

#### Updated Labels and Terminology <a href="#updated-labels-and-terminology" id="updated-labels-and-terminology"></a>

The Calls section of the Developer Console now uses clearer, more consistent terminology throughout:

* **"Simulated" renamed to "Test Call"** - Calls generated from simulation runs are now labeled "Test Call" instead of "Simulated" in the call list, call detail header, sidebar metadata, and type filter. This better communicates that these are test-originated calls rather than implying a separate execution mode.
* **"Call SID" renamed to "Call ID"** - The identifier shown in the call detail debug panel and used in the copy-to-clipboard tooltip is now labeled "Call ID" for consistency with the rest of the platform.
* **"Turns" renamed to "Messages"** - The calls table column, transcript panel counters, conversation summary stats, and empty-state messages now use "Messages" instead of "Turns" to align with how users think about conversation activity.
* **Search placeholder updated** - The search bar placeholder now reads "Search by caller or call ID" instead of referencing "call SID".

No changes to underlying data or API behavior - these are display-only label updates.

</details>

<details>

<summary>v2.55.0 - Developer Console: DPoP Token Binding and Refresh Backoff (May 2026)</summary>

#### DPoP Sender-Constrained Token Support <a href="#dpop-sender-constrained-token-support" id="dpop-sender-constrained-token-support"></a>

The Developer Console now supports DPoP (Demonstration of Proof-of-Possession) sender-constrained tokens as introduced in Platform API v0.9.114. When DPoP is active, the console generates an ECDSA P-256 key pair during login and uses it to create signed DPoP proof JWTs for all token operations, including proactive token refreshes. This binds tokens to the browser session's private key, so intercepted tokens cannot be reused by a different client.

The DPoP key is stored in a secure, HTTP-only cookie with a lifetime matching the refresh token. Token refreshes automatically include a DPoP proof header when a key is present. If DPoP proof creation fails, the console logs a diagnostic and proceeds without the proof - tokens that are not DPoP-bound continue to work as before.

#### Refresh Backoff <a href="#refresh-backoff" id="refresh-backoff"></a>

When a token refresh fails, the console now enforces a short backoff period before attempting another refresh. During the backoff window, requests that require authentication return immediately with an authentication error (for API routes) or redirect to the login page (for page navigations) rather than retrying the refresh repeatedly. This prevents cascading refresh attempts when the authentication service is temporarily unavailable and reduces unnecessary load during outages.

The backoff is automatically cleared after a short interval, allowing normal refresh behavior to resume.

</details>

<details>

<summary>v2.54.0 - Developer Console: Session Expiry Handling (May 2026)</summary>

#### Automatic Redirect on Session Expiry <a href="#automatic-redirect-on-session-expiry" id="automatic-redirect-on-session-expiry"></a>

The Developer Console now detects expired sessions and redirects to the login page automatically instead of leaving pages in a broken state. Previously, if a session expired due to inactivity or a failed token refresh, API calls would fail silently and the page would stop functioning - requiring a manual browser refresh or navigation to recover.

Now, when the platform determines that a session cannot be recovered:

* **All API requests** - Both queries and mutations that receive a terminal authentication failure trigger an automatic redirect to the login page with a reason indicator, so users see a clear "session expired" message.
* **Real-time event streams** - The workspace event stream (used for live updates across the console) detects repeated connection failures and probes for authentication status. If the session is confirmed dead, the stream closes and the redirect fires.
* **Idempotent handling** - Multiple simultaneous failures (common when several components fetch data at once) result in a single redirect rather than competing navigations.

The login page displays a friendly message indicating the session expired and prompting the user to sign in again.

</details>

<details>

<summary>v2.53.0 - Developer Console: Run Simulation Page with Live Progress (May 2026)</summary>

#### Natural Language Simulation Runs <a href="#natural-language-simulation-runs" id="natural-language-simulation-runs"></a>

The Developer Console now includes a Run Simulation page that lets you describe what you want to test in plain English, review the inferred target spec, and launch simulation runs directly from the browser. The page is accessible from the Simulations section in the sidebar navigation.

You enter an objective (for example, "The scheduling flow handles insurance friction and out-of-network cases"), pick a service, and choose how many patient variations to generate. The platform interprets your objective, infers a target spec with desired states, non-desired states, ordered pathways, and completion criteria, then generates distinct patient personas and runs them against the agent.

Key capabilities:

* **Natural language objective input** - Describe the property you want to verify in prose. Example prompts are provided as quick-start suggestions. Minimum 8 characters required.
* **Plan preview and editing** - Optionally preview the inferred target spec before running. The review screen lets you add or remove desired states, non-desired states, and completion criteria using chip-based editors. Non-desired states can be toggled between hard (zeros the score) and soft (flagged in rationale). Ordered pathways can be deleted. A rationale section explains why the spec was chosen.
* **One-shot mode** - Skip the preview step and go directly from objective to running simulation in a single action.
* **Live progress dashboard** - Once a run starts, a real-time dashboard shows a stage pipeline (Interpreting, Generating, Running, Scoring, Done), per-session conversation lanes with progress bars, turn counts, and scores, plus a live activity log of session and coverage events.
* **Session lanes** - Each patient variation appears as a card showing the scenario description, persona name and communication style, turn progress, and a pass/fail score once scoring completes. Forked sessions are visually distinguished.
* **Live counters and summary** - Headline metrics update in real time: total interactions, pass rate, sessions done, state coverage percentage, and passed scenario count.
* **Activity log** - A scrollable event feed shows session starts, forks, completions, scores, and newly covered states as they happen.
* **Target spec card** - The inferred goal is displayed as chip groups for desired states, non-desired states, ordered pathways, and completion criteria, with a collapsible rationale section.
* **Stage pipeline** - A visual progress indicator shows which phase the run is in, with completed stages marked green.
* **Loading hero** - While the platform is interpreting the objective or generating scenarios, a prominent loading state keeps the user informed with estimated timing and the option to close the tab without losing the run.
* **Recent runs** - The intro form shows a list of recent simulation runs with status, session count, turn count, and relative timestamps. Clicking a run reopens its live dashboard.
* **URL persistence** - The run ID and service ID are stored in the URL, so closing the tab or sharing the link preserves access to the in-flight or completed run.
* **Advanced settings** - Configurable number of patient variations (1-50), max turns per conversation (1-40), concurrency (1-20), and optional coverage forking that spawns parallel branches at decision points for wider coverage.

</details>

<details>

<summary>v2.52.0 - Developer Console: Agent Readiness Page (May 2026)</summary>

#### Agent Readiness Dashboard <a href="#agent-readiness-dashboard" id="agent-readiness-dashboard"></a>

The Developer Console now includes an Agent Readiness page that replaces the previous Agent Performance page. Agent Readiness provides a structured, tier-based view of how ready an agent is for production deployment.

The page evaluates agents against a readiness rubric organized into tiers (basic, intermediate, advanced) across categories including Task Completion, Coverage, Safety, and Communication Quality. Each criterion shows a pass, fail, or not-yet-measured status with supporting evidence. Criteria are evaluated automatically from simulation run data, coverage graph state, and session history.

Key capabilities:

* **Readiness level indicator** - A 1-5 level score computed from tier completion. Each tier must be fully passing before the agent advances to the next level. The level bar shows partial progress within the current tier.
* **Criterion detail drawer** - Clicking any criterion card opens a detail panel showing the criterion description, pass/fail counts, failure details (such as untested states or low-empathy states), and the specific sessions contributing to the result.
* **Recent runs list** - An expandable list of recent simulation runs with per-session drill-down. Each session is rendered inside a scenario card showing the persona name, role, communication style, scenario description, session metadata, score, and a link to the full call trace.
* **Fork tree rendering** - Forked sessions are indented under their parent session with fork metadata (fork turn index, parent session ID) and a visual accent border, making branching simulation runs easy to follow.
* **Score rationale display** - Session scores include parsed rationale showing which target criteria were met or missed, including specific missed completion states, forbidden state violations, and pathway failures.
* **Run tags** - Simulation runs display user-facing tags (such as branch names) while filtering out structural bridge tags.

The readiness rubric requires minimum run counts before certain criteria are measured (for example, the sustained pass rate criterion requires at least 10 completed runs). Criteria that cannot yet be evaluated display as "not yet measured" rather than failing.

Agent Readiness is accessible from the sidebar navigation under the Simulations section.

</details>

<details>

<summary>v2.51.0 - Developer Console: Navigation Restructure and Takeover Rename (May 2026)</summary>

#### Navigation Information Architecture Overhaul <a href="#navigation-information-architecture-overhaul" id="navigation-information-architecture-overhaul"></a>

The Developer Console sidebar navigation has been reorganized for clarity. The former "Quality" section has been removed and its items redistributed into new purpose-built sections:

* **Simulations** - Groups agent performance, coverage, and metrics pages together for pre-deployment and ongoing evaluation workflows
* **Analytics** - Contains analytics dashboards and surface analytics
* **Governance** - Groups safety, compliance, and monitoring pages

Items within the Operate section have been reordered, and the Review Queue and Recordings pages now appear directly in Operate for faster access during live operations.

#### Operator Command Center Renamed to Takeover <a href="#operator-command-center-renamed-to-takeover" id="operator-command-center-renamed-to-takeover"></a>

The "Operator Command Center" has been renamed to "Takeover" throughout the console. This applies to the sidebar navigation, page titles, operator-only views, and error messages. The rename better reflects the conference-first takeover model where operators join active calls rather than managing them from a separate command center.

#### Developer Setup Section Simplified <a href="#developer-setup-section-simplified" id="developer-setup-section-simplified"></a>

The Developer Setup card on the home page no longer displays a "Do this later" link. The layout has been simplified to a single row with the title and completion counter.

</details>

<details>

<summary>v2.49.0 - Developer Console: Insights Charts Rendered via Plotly (May 2026)</summary>

#### Unified Plotly Chart Rendering for Insights <a href="#unified-plotly-chart-rendering-for-insights" id="unified-plotly-chart-rendering-for-insights"></a>

The Insights page now renders all chart blocks using a single Plotly-based chart component instead of separate chart implementations for bar, line, and pie charts. This provides richer interactivity (zoom, pan, hover tooltips) and consistent styling across all chart types.

The daily digest trend chart on the Insights overview also uses the same Plotly renderer, replacing the previous fixed line chart with an interactive scatter plot.

#### Updated Insight Block Types <a href="#updated-insight-block-types" id="updated-insight-block-types"></a>

Insight responses from the API now return chart data as a unified `plotly` block type instead of separate `bar_chart`, `line_chart`, and `pie_chart` block types. The `plotly` block includes a `figure` object containing Plotly trace data and layout configuration, giving the backend full control over chart appearance and type.

</details>

<details>

<summary>v2.48.0 - Developer Console: Intake Customer Slug Auto-Derived from Workspace (May 2026)</summary>

#### Customer Slug Automatically Derived from Workspace <a href="#customer-slug-automatically-derived-from-workspace" id="customer-slug-automatically-derived-from-workspace"></a>

The Customer File Intake page no longer requires a manual customer slug when generating upload links. The customer slug is now automatically derived from the current workspace, removing the slug input field, auto-formatting logic, and validation from the link creation dialog.

The simplified creation dialog asks only for an optional link name (e.g. "Q2 Patient Records") and an expiration period. The Create button is enabled immediately without slug validation.

Additional UI changes:

* The link table column header changed from "Customer" to "Name"
* The customer slug subtitle is no longer shown below the display name in the link table
* The dialog description now reads "Create a shareable link for customers to upload files to this workspace"

</details>

<details>

<summary>v2.44.0 - Developer Console: Intake Slug Auto-Formatting and Validation (May 2026)</summary>

#### Slug Input Improvements for Customer File Intake <a href="#slug-input-improvements-for-customer-file-intake" id="slug-input-improvements-for-customer-file-intake"></a>

The Customer File Intake page now auto-formats the customer slug as you type. Spaces, underscores, uppercase letters, and special characters are automatically converted to a valid slug format (lowercase letters, numbers, and hyphens). The input field shows real-time validation feedback:

* **Valid slug** - displays the formatted value that will be used
* **Invalid slug** - shows an inline error explaining the format requirements (lowercase letters, numbers, hyphens, 2-63 characters)
* **Empty field** - displays example slugs for guidance

The Create button is disabled until the slug passes validation, preventing submission of malformed customer identifiers.

</details>

<details>

<summary>v2.43.0 - Developer Console: Customer File Intake Management (May 2026)</summary>

#### Customer File Intake Page <a href="#customer-file-intake-page" id="customer-file-intake-page"></a>

The Developer Console now includes a dedicated File Intake page for managing shareable upload links. Operators can generate, view, copy, and revoke upload links directly from the console without using the API.

**Link management:**

* Generate new upload links with a customer slug, optional display name, and configurable expiration (1 to 30 days)
* View all links in a table showing customer, status, upload count, expiration, and available actions
* Copy the upload URL to clipboard or open the upload page in a new tab
* Revoke active links with a single click
* Filter includes expired and revoked links for full history

**Upload tracking:**

* Click the upload count on any link to view all files received through that link
* Upload details show filename, file type, size, and received timestamp

The File Intake page appears in the sidebar navigation under the Data section. Pairs with the shareable upload link endpoints shipped in Amigo API v0.9.96.

</details>

<details>

<summary>v2.41.0 - Developer Console: Entity Briefs (May 2026)</summary>

#### Entity Narrative Briefs <a href="#entity-narrative-briefs" id="entity-narrative-briefs"></a>

Patient detail pages now display AI-generated narrative briefs that synthesize the patient's world model data into a structured summary. Each brief shows evidence pointers, confidence scores, and event counts so every claim is traceable back to source data.

* **Version history** - a drawer shows previous brief versions, so you can see how the narrative evolved as new data arrived
* **Live updates** - briefs automatically refresh when the platform generates a new version, using the workspace event stream for real-time notification
* **Empty state** - patients without a generated brief show a clean placeholder instead of an error

Pairs with the entity brief endpoints shipped in Amigo API v0.9.68.

</details>

<details>

<summary>v2.40.0 - Developer Console: Platform Health Monitoring (May 2026)</summary>

#### Connector Health Strip <a href="#connector-health-strip" id="connector-health-strip"></a>

The Data Sources page now displays a health strip showing real-time status for every data source writing into the workspace. Each source chip shows freshness (fresh, stale, quiet, or never), events per minute, and last ingested time. Polls every 60 seconds.

#### Loop Latency Widget <a href="#loop-latency-widget" id="loop-latency-widget"></a>

The Pipeline page now includes a loop latency widget measuring end-to-end time from data ingestion to agent action. Shows headline median latency, pair count, and an hourly sparkline. Useful for verifying that the data-to-action loop is fast enough for real-time clinical workflows.

#### Live Pulse Panel <a href="#live-pulse-panel" id="live-pulse-panel"></a>

The Pipeline page now includes a live event feed showing the most recent workspace events as they occur. Events stream in real time via the workspace event stream, so operators see pipeline activity without refreshing.

Pairs with the platform health monitoring endpoints shipped in Amigo API v0.9.68.

</details>

<details>

<summary>v2.37.0 - Developer Console: Embeddable Dashboards (May 2026)</summary>

#### Dashboards <a href="#dashboards" id="dashboards"></a>

New Dashboards section in the Developer Console for viewing custom data dashboards configured for your workspace. The dashboards index page lists all available dashboards with their title and description. Clicking a dashboard opens a full-page embedded view scoped to the current workspace.

Dashboards are currently available to internal users. The navigation entry appears under the Analytics section alongside existing analytics and coverage pages.

Pairs with the dashboard workspace scoping and embed proxy endpoints shipped in Amigo API v0.9.79 and v0.9.80.

</details>

<details>

<summary>v2.36.0 - Developer Console: Platform Health Dashboard &#x26; Entity Briefs (April 19, 2026)</summary>

#### Platform Health Dashboard <a href="#platform-health-dashboard" id="platform-health-dashboard"></a>

Three new widgets across the Developer Console's pipeline and data source pages provide real-time visibility into platform health:

* **Live Pulse Panel** on the Pipeline page - real-time event stream showing platform activity as it happens via SSE. Events appear as they flow through the system, giving operators an at-a-glance view of whether the platform is actively processing data.
* **Connector Health Strip** on the Data Sources page - per-source health indicators showing event rates, last ingestion time, and freshness category (fresh, stale, quiet, never) for every data source in the workspace. Operators can spot a stalled connector without running a separate data query.
* **Loop Latency Widget** on the Pipeline page footer - hourly sparkline showing end-to-end latency from data ingestion to agent action. Displays the overall median latency and pair count, helping operators detect processing bottlenecks.

Pairs with the platform health monitoring endpoints shipped in Amigo API v0.9.68.

#### Entity Brief Card <a href="#entity-brief-card" id="entity-brief-card"></a>

New brief card on the patient detail page showing AI-generated narrative summaries of the patient's world model data. The card displays the latest brief with its confidence score, evidence event count, and generation timestamp. Operators can generate a fresh brief on demand, and the card auto-refreshes via SSE when a new brief is published. A version history drawer shows previous briefs for comparison.

Pairs with the entity narrative brief endpoints shipped in Amigo API v0.9.68.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.concurrence.com/api-reference/change-logs/web-platform/web-platform-history-05.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
