QM has added qm secrets set for safe .env edits, made fast mode opt-in so turns don't consume unbudgeted quota, provided org-wide admin control to default fast mode, and extended the /v1/reach endpoint with threading support for Slack channels and groups.
qm secrets set was added for safe in-place .env edits.[1] ui.ts adds a default effort picker to the chat input surface, letting users set effort level directly without requiring custom field configuration. The web UI composer uses a rebuilt model picker — implemented across plugins/web-ui/src/model-options.ts, plugins/web-ui/src/composer.ts, and plugins/web-ui/src/shell.css — designed to handle large model catalogs without layout or usability degradation; model-options.ts is the canonical home for model picker logic. plugins/web-ui/src/split.ts and plugins/web-ui/src/shell.css are the authoritative references for split-pane layout and scroll behavior in the web UI. plugins/web-ui/src/shell.css keeps the message composer anchored to the transcript column in wide-pane mode, preventing it from drifting to the full pane width. plugins/web-ui/src/chat.ts and plugins/web-ui/src/split.ts scroll to the end of a conversation when it is revealed (e.g. switched to via tab), not to the top; plugins/web-ui/src/conv-types.ts provides supporting types. plugins/web-ui/src/inbox.ts surfaces draft actions inside the composer suggestions panel rather than as standalone action buttons, consolidating the draft interaction surface and reducing UI clutter. plugins/web-ui/src/split.ts and plugins/web-ui/src/shell.css stabilize tab widths on hover, preventing layout shift during interaction. plugins/web-ui/src/shell.css is the canonical layout authority for the web UI; engineers restyling or extending chat, inbox, settings, and sidebar surfaces should treat it as the source of truth for spacing, typography, and component behavior. plugins/web-ui/src/tooltip.ts uses native CSS anchor positioning for scrolling tooltips, replacing prior JavaScript-computed placement logic.
Fast mode is opt-in: a turn that never requested it is not billed against a tier the organization may have no quota for.[2] An org-wide admin toggle can default all interactive turns to fast mode; the web UI inherits this org default until the user makes an explicit picker selection.[3] Fast mode is a QM execution tier that processes turns faster than standard mode, drawing from a separate quota pool distinct from the standard execution tier.
The /v1/reach endpoint accepts a threadTs parameter on channel and participants posts so agents can reply inside a Slack thread; threadTs is rejected on person DMs, react, and delete actions.[4] src/slack/deliveries.ts and src/slack/attachments.ts bundle posts containing multiple files into a single Slack message with accompanying commentary, rather than fragmenting them across disconnected messages. test/slack-attachments.test.ts and test/slack-deliveries.test.ts cover the multi-file Slack message bundling behavior. Slack delivery messages generated by scheduled cron runs include the cron job's title and a footer deep-link to the cron settings page; changes span src/cron/scheduler.ts, src/slack/deliveries.ts, src/slack/index.ts, src/triggers/run-trigger.ts, and src/types.ts, which extends the trigger-pipeline payload shape to carry the cron job title.
context-model.ts fixes a broken value binding in the web UI's <select> component, allowing selected values to round-trip correctly through the context model. field-select-source.test.ts and context-model-source.test.ts are updated to specify the corrected <select> value-binding semantics and how select fields propagate values. src/draft-review.ts, plugins/web-ui/src/inbox.ts, and plugins/web-ui/src/shell.css fix a bug where the latest message in an inbox conversation detail view was not rendered. test/inbox-context.test.ts and test/inbox-source.test.ts cover draft action consolidation and latest-message rendering in inbox conversation details.
Playground data in QM is modeled as typed artifacts; src/core/orchestrator/types.ts and src/playgrounds/playground.ts define the canonical types that must be conformed to across the orchestrator, Slack, and web UI surfaces. Playgrounds render inline within the web thread rather than as separate navigations; plugins/web-ui/src/playground.ts owns the client-side playground component, and plugins/web-ui/src/chat.ts and miniapp.ts are updated to embed it. plugins/portal/src/index.ts and its router expose the endpoints required for inline playground rendering. A QM Playground is a sandboxed interactive surface for running and sharing artifacts; it can be embedded inline in conversational threads rather than requiring a separate navigation context.
Sources