v1.18.23 — April 17, 2026
Flow versioning, presentation and blueprint quality guardrails, Context Graph lineage expansion, and broader reliability and access-control improvements
Genesis Flows and Blueprints
Flow authoring gained version control and safer secret handling, and blueprint workflows are now more predictable across working copies and production snapshots.- Flows now support full version history with production pinning: every definition change creates an immutable snapshot, any prior version can be restored, and scheduled or API-triggered runs execute the pinned production version while manual runs can target any version.
- Flow Python steps can now resolve Genesis vault secrets at runtime through a dedicated secrets primitive — credentials are never exposed in environment variables, preamble code, or on disk.
- Git commit and GitHub file-creation actions now scan for accidental credentials (API keys, tokens, private keys) before executing; the operation is blocked if a potential secret is detected, with an explicit override available when the detection is a false positive.
- Blueprints now use a stable identity for every operation — edit, start, import, version, access — so repeated blueprint names across different sources no longer cause the wrong blueprint to be acted on.
- Blueprint detail pages can switch between the working copy, the promoted production snapshot, and the default release, with access and edit permissions evaluated per source.
- The synthetic-data blueprint now defaults to Genesis Datasets storage and the local Python executor so users without a Snowflake connection can run it immediately; Snowflake and Snowpark remain available as opt-in choices.
- A new suite of Genesis migration blueprints and an expanded Flows UI bring blueprint and flow navigation into a consistent, unified experience.
Presentations and Agent-Built Apps
Agent-built decks now publish with visual coverage guardrails, and blank or incorrectly structured slides are caught before users see them.- Presentation validation now blocks slides that would render blank because of unsupported long-form field names or missing visible content, with explicit error codes and remediation hints.
- The presentation runtime distinguishes empty slides from loading slides, so automated review no longer accepts splash screens as successful captures.
- A new visual-coverage check audits every deck for missing visuals, duplicate image references, and unused workspace images, surfacing gaps before publication.
- Narrated audio in presentation decks now persists reliably when platform authentication is enabled, surviving server restarts.
- Versioned apps that have not yet been promoted to production are now served through the working-copy path so embeds no longer return 404 until promotion.
- The file preview and git browser gained a “Download as DOCX” action, matching the existing PDF export flow; exports now wait for file content to finish loading before running, eliminating a misleading “no content” error.
Agent Knowledge, Wiki Learnings, and Skills
Agents can now capture, recall, and share domain knowledge across threads, and knowledge-base administration is available directly as agent tool calls.- Agents can save user-contributed domain knowledge as authored learnings; saved statements are retrieved automatically when related entities are mentioned in any future thread, bringing persistent memory to the entire team rather than just a single conversation.
- Entity search results now include a learnings summary when saved knowledge exists for a matching data asset, prompting the agent to read and cite that context before responding.
- Admins can create, list, and delete named knowledge bases through agent tool calls — no REST API or UI step required — with hardened locking so concurrent operations on the same bundle cannot corrupt state.
- Agent-built apps can now be navigated and tested by the agent through interactive browser tools, letting the agent click, type, and screenshot running apps during iterative development.
Chat, Threads, and Conversation Reliability
Thread handling and chat interactions were hardened across high-concurrency and cross-user scenarios, with clearer streaming behavior and several UI polish fixes.- Stopping your own active response no longer affects another user’s concurrent conversation with the same agent; per-conversation isolation is now enforced consistently across all LLM adapters and both synchronous and streaming paths.
- Thread messages are now written through a centralized, durable service boundary with optimistic versioning and idempotency, preventing lost or reordered messages under load.
- Rapid back-to-back reads of the same thread are now coalesced so large teams reading the same conversation do not multiply storage traffic.
- Reconstructed chat prompts are now placed in the correct position in conversation history, preserving the true sequence of user and agent messages even when the stream-stop or thread-restore paths are used.
- Streaming responses now animate only the last in-progress line; completed lines no longer re-animate when new content arrives, removing visible flicker on long outputs.
- The copy-to-clipboard button on chat messages is now available on agent responses as well as user messages, through the same hover interaction.
- Avatar tooltips in chat now render above sticky containers and automatically flip below the avatar when space above is insufficient, so tooltips are never clipped by the viewport.
- The chat input remains responsive during agent processing, and a new Get Started button appears on the chat welcome screen for users who have not yet completed onboarding.
- The desktop sidebar is now resizable, and a mobile entry point for guided journeys was added to the navigation drawer.
Launchpad and Getting Started
The onboarding experience evolved into a dual-role landing page that welcomes new users and surfaces relevant activity for returning users.- The “Get Started” feature is now called “Launchpad” across the Genesis UI, better reflecting its role as a hub for guided journeys and exploration.
- Returning users see a two-column layout with recent threads, recent missions and apps, and suggested workflows alongside the journey cards; new users keep the single-column onboarding flow.
- The “Connect your tools & data” journey now includes an inline connector-type picker, so users choose their integration visually inside the wizard before being handed off to the connections page.
- Wizard state is now preserved when users leave mid-journey to configure a connection and return — answers and step position are restored automatically.
- A preview banner on the template picker step sets clear expectations for the evolving template library.
Context Graph, Lineage, and Data Browser
Lineage coverage expanded across Genesis Apps, SQLite, and Iceberg, and the Data Browser behavior now matches what agents can see.- Agent-built apps (“Genesis Apps”) that query Snowflake or other data sources directly from app code — without a dataset binding — now receive full lineage coverage automatically on the next scan, exposing the data sources they read from as connected edges in the Context Graph.
- Iceberg data assets now use a stable catalog-derived identifier in their qualified names, enabling cross-scanner lineage to resolve correctly between references discovered in git and the assets registered from the Iceberg catalog.
- SQLite connections created through the new managed-storage default are correctly scanned, indexed, and linked from the Context Graph; the Data Browser now opens the same database file the agent sees, fixing a path-resolution mismatch that previously produced empty table lists.
- The Context Graph database picker continues to let you exclude databases added after a selection point, with the opt-in checkbox now clearly labeled and its state preserved across re-opens.
- Authored learnings saved via the wiki are kept out of the lineage graph (stored in a dedicated annotation layer), so graph traversal stays clean while search still surfaces the learnings.
Connections, AI Providers, and OAuth
Enterprise authentication, AI provider onboarding, and connection creation were hardened, with new options for Bedrock proxies and clearer SQLite setup.- AWS Bedrock custom endpoints now work correctly with API Gateway deployments: connections use SigV4-compliant signing, and administrators can choose between Bearer,
x-api-key, and custom auth headers, between Invoke and Converse API modes, and optionally strip AWS regional prefixes from model IDs for proxies that reject them. - AI provider model-selection dropdowns are now searchable by display name or technical identifier, with auto-focused search on open and a clear “No matches” empty state.
- The LiteLLM Proxy OAuth integration was hardened: session creation no longer crashes in OAuth-only deployments, the caller’s user identity now flows through the auth chain so per-user OAuth resolves correctly for interactive chat, and a rejected token triggers a single automatic retry with a fresh token instead of surfacing a validation error.
- The SQLite connection dialog defaults to a managed-storage mode that requires only a database name and shows the exact storage path inline; the advanced free-form path field remains available for existing workflows.
- The OAuth popup flow on SPCS deployments no longer shows a false “Connection was not completed” error caused by browser cross-origin isolation; completion is resolved exclusively from callback signals with a 120-second safety timeout.
- A session-drift detection layer now surfaces a blocking reload prompt when a user’s identity changes mid-session (for example, by signing in as a different user in another tab), preventing stale data from being served.
Access Control and RBAC
Role-based access control was simplified and made more consistent across system permissions and object-scoped grants.- The per-agent credential-profile system (admin / user-facing / autonomous) was removed: connection access is now driven exclusively by RBAC role assignment, connection assignment, secret-access rules, double-key requirements, and user OAuth grants — a simpler, single source of truth.
- Updating a role’s system permissions through the Roles UI now preserves unrelated object-scoped grants (per-dashboard, per-app, per-flow, per-blueprint), fixing a case where these could be silently dropped.
- The Agent Center automatically hides the LLM Settings, Access, and Knowledge tabs for users without the corresponding backend permissions, replacing “Failed to load” errors with a clean UI.
- Tab and route guards across Agent Center and the main navigation are now consistently aligned so users see only the areas they are permitted to use.
- Documentation for shared and service-style credentials (PAT, username/password, key-pair) was corrected across connector setup guides: these modes are available to any agent when RBAC and secret-access settings permit.
Platform Operations, Snowflake, and Deployment
Core platform operations gained self-healing controls and safer deployment defaults.- A new bot-storage mount-health watchdog detects when the durable storage mount has become permanently unavailable and triggers a graceful automatic restart, converting a previously silent multi-hour outage into a roughly one-minute recovery event. Diagnostic snapshots are written to Snowflake as a durable audit record, along with ephemeral local copies for on-host debugging.
- Startup race conditions that produced transient “Connection refused” errors in Snowflake deployments were eliminated: internal registrations now wait for the HTTP server to be ready, and callers retry transient failures.
- Snowflake connections to external accounts no longer fail because of an SPCS session token being injected automatically by the Snowflake Python connector — auto-injection is now explicitly disabled at container launch and reset inside the connector.
- Snowflake deployment specs reverted to the compatible legacy stage-mount syntax after the newer verbose format caused deployment failures; deployments on mature app packages no longer fail with “Argument list too long” on
SHOW VERSIONS. - The Snowflake metadata cache now lives in local container storage — where SQLite WAL semantics are reliable — while durable invalidation markers remain on stage storage; this lets the cache be enabled again for standard SPCS deployments.
- New scheduled cleanup jobs reclaim expired dataset snapshots, old API-call archive files, and stale coding-agent session artifacts at configurable intervals; a startup dry-run audit produces a sortable reclaim report without deleting anything.
Slack and Integrations
Slack-backed conversations were hardened against edge cases seen in high-traffic deployments.- New Slack-backed threads no longer fail to materialize on object-backed storage: the runtime reuses the already-open thread handle instead of reopening a freshly written file that is not yet visible.
- Silent message drops on Slack dispatch paths are now surfaced as structured errors with bot and thread context, making production diagnostics visible for the first time.
- The Slack log-file path now creates its parent directory on first write, and the Slack Apps link in the Genesis UI was polished for clarity.
Genesis UI Polish and Stability
Many focused fixes across the Genesis UI improve day-to-day usability.- The Scheduler page no longer goes blank when a cron expression omits the minute (or any other optional field); partial cron expressions are interpreted defensively.
- The “Server Offline” overlay remains stable when the backend is stopped, no longer flickering between “Loading Genesis” and “Server Offline” on every health-check cycle.
- The profile settings modal now renders above sticky page toolbars and carries correct ARIA attributes for assistive technology.
- Dataset listing is purely read-only again — opening the Datasets tab no longer triggers background snapshot cleanup as a side effect.
- Query results in the Data Explorer no longer get corrupted when a user re-runs a query after a paginated run; the original SQL is always preserved and stale results from abandoned queries are discarded.
- The Agent Center Threads tab correctly shows its active/selected style when navigated to, and the Deployments/Sandboxes navigation entry highlights consistently across all deployment-related pages.
Performance and Observability
Agents respond faster on repeated questions, and administrators have better insight into server health.- Follow-up questions in an active conversation return more quickly — the agent reuses its understanding of the current context instead of rebuilding it from scratch on every turn.
- Per-turn timing breakdowns are richer, so administrators can see exactly which phase of agent preparation spent time on any given turn.
- The server-monitoring view now shows clearer attribution of background activity, including the longest-running background tasks and which areas of the system are growing over time — making unexpected load easier to spot.
- The chat interface handles high-frequency polling more efficiently, lowering background load without changing user-visible behavior.
- First-time sign-in is now safe under concurrent requests — no duplicate user accounts are created, and Slack bot identities are no longer mistaken for human users.

