Release
qm v0.1.18
Move agent-run turn helpers into focused modules in Turn on ALB access logs in the AWS scaffold in Keep HTTP keep-alive sockets open longer than the ALB idle timeout in Remove model and timezone…
What's Changed
- Move agent-run turn helpers into focused modules by @ReganBell in https://github.com/yc-software/qm/pull/3307
- Turn on ALB access logs in the AWS scaffold by @ReganBell in https://github.com/yc-software/qm/pull/3311
- Keep HTTP keep-alive sockets open longer than the ALB idle timeout by @ReganBell in https://github.com/yc-software/qm/pull/3154
- Remove model and timezone limits nobody chose by @ReganBell in https://github.com/yc-software/qm/pull/3317
- Keep the transcript still while reading backscroll by @ReganBell in https://github.com/yc-software/qm/pull/3290
- Move subagent return and delivery-state bookkeeping out of the run store factory by @ReganBell in https://github.com/yc-software/qm/pull/3319
- Proxy WebSocket upgrades to published apps by @ReganBell in https://github.com/yc-software/qm/pull/3137
- Keep error evidence in gateway discovery, ChatGPT auth files and command failures by @ReganBell in https://github.com/yc-software/qm/pull/3308
- Make always-wired orchestrator deps required and drop their dead guards by @ReganBell in https://github.com/yc-software/qm/pull/3313
- Move runTurn stream, request-record and settle helpers into modules by @ReganBell in https://github.com/yc-software/qm/pull/3327
- Keep one provider list and one tool-output retention period by @ReganBell in https://github.com/yc-software/qm/pull/3315
- Move run lookups out of the run store factory into their own module by @ReganBell in https://github.com/yc-software/qm/pull/3329
- Move turn skill materialisation out of the turn sandbox pool by @ReganBell in https://github.com/yc-software/qm/pull/3310
- Find delegated sandbox execution in the live Slack provider scenarios by @ReganBell in https://github.com/yc-software/qm/pull/3328
- Move turn credential catalog registration into orchestrator/credential-catalog.ts by @ReganBell in https://github.com/yc-software/qm/pull/3331
- Keep later messages centered when side chats are in backscroll by @ReganBell in https://github.com/yc-software/qm/pull/3332
- Refuse private network addresses for custom model provider calls by @garrytan in https://github.com/yc-software/qm/pull/3293
- Keep a Slack bot out of a person's swarm work by @garrytan in https://github.com/yc-software/qm/pull/3298
- Move turn sandbox access planning into sandbox-resources by @ReganBell in https://github.com/yc-software/qm/pull/3320
- Move runTurn opening steps into turn-open.ts by @ReganBell in https://github.com/yc-software/qm/pull/3333
- Drop the session_leases table on live databases by @ReganBell in https://github.com/yc-software/qm/pull/3025
- Keep the Slack twin's runtime files out of git by @garrytan in https://github.com/yc-software/qm/pull/3330
- Bind tenants and isolate failures in the event bus, not in each subscriber by @ReganBell in https://github.com/yc-software/qm/pull/3309
- Send each turn only its own documents by @ReganBell in https://github.com/yc-software/qm/pull/3318
- Refuse a memory brain link's form once its owner loses access by @garrytan in https://github.com/yc-software/qm/pull/3314
- Retire subagents after their final answer unless opened persistent by @ReganBell in https://github.com/yc-software/qm/pull/3295
- Move turn capability-token minting into orchestrator/capability-tokens.ts by @ReganBell in https://github.com/yc-software/qm/pull/3334
- Drop items.target_seq on live databases by @ReganBell in https://github.com/yc-software/qm/pull/2816
- Move turn effort and reasoning-mode helpers into turn-effort.ts by @ReganBell in https://github.com/yc-software/qm/pull/3343
- Move stale turn-file cleanup into the attachments module by @ReganBell in https://github.com/yc-software/qm/pull/3321
- [Draft, pending prod-data evals] Ambient judge reads the same recent messages as its worker by @ReganBell in https://github.com/yc-software/qm/pull/3118
- Move the turn sandbox pool's release out of createTurnSandboxes by @ReganBell in https://github.com/yc-software/qm/pull/3322
- Stop a restarted run from re-posting a surface-tool reply or dropping a stop by @ReganBell in https://github.com/yc-software/qm/pull/3288
- Drop the always-true session.agent guard around the pi hook install by @ReganBell in https://github.com/yc-software/qm/pull/3352
- Move inbound security screening into orchestrator/security-screen.ts by @ReganBell in https://github.com/yc-software/qm/pull/3347
- Drop the participant window columns on live databases by @ReganBell in https://github.com/yc-software/qm/pull/3032
- Move the turn sandbox openers out of createTurnSandboxes by @ReganBell in https://github.com/yc-software/qm/pull/3323
- Move turn approval ledger and decisions into orchestrator/approvals.ts by @ReganBell in https://github.com/yc-software/qm/pull/3355
- Make the verdict pass the owner of Inbox reply state and delete the agent sync by @ReganBell in https://github.com/yc-software/qm/pull/3250
- Show app edits live and publish a version once edits pause by @ReganBell in https://github.com/yc-software/qm/pull/3344
- Start app edit chats on Sol Ultrafast via an org app edit runtime by @ReganBell in https://github.com/yc-software/qm/pull/3340
- Keep a Slack bot's turn off a person's swarm computers by @garrytan in https://github.com/yc-software/qm/pull/3335
- Exempt graceful shutdown handbacks from the crash-loop claim cap by @ReganBell in https://github.com/yc-software/qm/pull/3345
- Defer Slack Bolt initialization so an inactive bot token fails only its account by @ReganBell in https://github.com/yc-software/qm/pull/3341
- Move turn runtime-auth setup into orchestrator/turn-runtime.ts by @ReganBell in https://github.com/yc-software/qm/pull/3356
- Move turn admission checks into orchestrator/admit.ts by @ReganBell in https://github.com/yc-software/qm/pull/3360
- Mint tenant tokens at withTenant and query admin grants through them by @ReganBell in https://github.com/yc-software/qm/pull/3357
- Hold no Postgres connection across sandbox commands by @ReganBell in https://github.com/yc-software/qm/pull/3354
- Keep a Slack bot's limits on the crons and loops it schedules and the jobs it watches by @garrytan in https://github.com/yc-software/qm/pull/3359
- Move service-credential grant loading and skill screening out of handleTurn by @ReganBell in https://github.com/yc-software/qm/pull/3362
- Move turn delivery-destination setup out of handleTurn into turn-helpers.ts by @ReganBell in https://github.com/yc-software/qm/pull/3365
- Move mid-turn steer preparation and tool-result screening out of handleTurn by @ReganBell in https://github.com/yc-software/qm/pull/3366
- Move per-segment environment and goal setup out of runAgentSegment into run-segment.ts by @ReganBell in https://github.com/yc-software/qm/pull/3367
- Keep a Slack bot's limits on turns resumed by its credential requests, secret drops and older triggers by @garrytan in https://github.com/yc-software/qm/pull/3364
- Move addressed-turn reply delivery out of handleTurn into reply-check.ts by @ReganBell in https://github.com/yc-software/qm/pull/3369
- Keep each person's watch of a background job their own by @garrytan in https://github.com/yc-software/qm/pull/3361
- Keep a Slack bot's turn off background jobs on swarm computers it may not use by @garrytan in https://github.com/yc-software/qm/pull/3363
- Move turn memory capture and final result selection out of handleTurn into settle.ts by @ReganBell in https://github.com/yc-software/qm/pull/3372
- Carry the tenant token from request and job boundaries into admin checks by @ReganBell in https://github.com/yc-software/qm/pull/3368
- web-ui: compact Slack edit notes; fix 'Waiting on for' label by @ReganBell in https://github.com/yc-software/qm/pull/3300
- Move turn brokers, file registration and artifact access out of handleTurn into turn-tools.ts by @ReganBell in https://github.com/yc-software/qm/pull/3374
- Predict the next message after each web reply; Tab fills it in (flagged, off by default) by @ReganBell in https://github.com/yc-software/qm/pull/3358
- Log HTTP connections that close before their request is answered by @ReganBell in https://github.com/yc-software/qm/pull/3346
- Count only the Inbox items a view lists and drop the Sync hint from views without a Sync action by @ReganBell in https://github.com/yc-software/qm/pull/3378
- Don't show planned requeues as "Interrupted, resuming…" by @ReganBell in https://github.com/yc-software/qm/pull/3342
- Keep a Slack bot's turn from changing crons, webhooks, apps, skills and channel instructions it doesn't own by @garrytan in https://github.com/yc-software/qm/pull/3371
- Let only the person who armed a job watch remove it by @garrytan in https://github.com/yc-software/qm/pull/3370
- Skip Inbox items whose source conversation is gone and read the item's own Gmail mailbox by @ReganBell in https://github.com/yc-software/qm/pull/3104
- Keep cached chat transcripts current from the delivery stream by @ReganBell in https://github.com/yc-software/qm/pull/3353
- Keep the system prompt byte-identical across a conversation until compaction by @ReganBell in https://github.com/yc-software/qm/pull/3240
- Drop upgrade-test databases without FORCE so a closing pool connection is not killed by @ReganBell in https://github.com/yc-software/qm/pull/3384
- Reload a web UI tab onto a newly deployed release when it regains focus idle by @ReganBell in https://github.com/yc-software/qm/pull/3106
- Throttle failed sandbox snapshots and report each failure run once by @ReganBell in https://github.com/yc-software/qm/pull/3105
- Merge concurrent credential file saves per file so refreshes and logins are not discarded by @ReganBell in https://github.com/yc-software/qm/pull/3305
- Use the model's output limit for compaction summaries and report token usage on length stops by @ReganBell in https://github.com/yc-software/qm/pull/3302
- Never route approvals to a bot requester; settle undeliverable bot approvals as declined by @ReganBell in https://github.com/yc-software/qm/pull/3312
- Stop offering a person's approved credentials to a Slack bot's turns by @garrytan in https://github.com/yc-software/qm/pull/3383
- Keep a Slack bot off a swarm's computers once a person's turn has used them by @garrytan in https://github.com/yc-software/qm/pull/3375
- Check the migration ledger in one read and warm readiness before listening by @ReganBell in https://github.com/yc-software/qm/pull/3294
- web-ui: finished thinking rows read "Thought" by @ReganBell in https://github.com/yc-software/qm/pull/3387
- Stop matching a three-letter word against random ciphertext in the browser session store test by @ReganBell in https://github.com/yc-software/qm/pull/3392
- Align and compact side chats around selected passages by @ReganBell in https://github.com/yc-software/qm/pull/3393
- Slack loading card with live steps and subagent rows, backed by a core session-work record by @ReganBell in https://github.com/yc-software/qm/pull/3325
- Stop the idle worker claim test from failing when its listener connects late by @garrytan in https://github.com/yc-software/qm/pull/3390
- Let gateway models the gateway flags use fast mode, priced by the speed served by @ReganBell in https://github.com/yc-software/qm/pull/3399
- Keep a disabled MCP server disabled when an edit omits enabled by @ReganBell in https://github.com/yc-software/qm/pull/3267
- Keep a legacy scope model by stamping it, not rewriting it by @ReganBell in https://github.com/yc-software/qm/pull/3251
- Consume a secret drop only after its credential is saved by @ReganBell in https://github.com/yc-software/qm/pull/3242
- Keep a cron's mid-fire reschedule when its fire ends by @ReganBell in https://github.com/yc-software/qm/pull/3268
- Keep a finished cron fire finished when the same attempt writes again by @ReganBell in https://github.com/yc-software/qm/pull/3282
- Hold a swarm delivery when a pause lands while its run is enqueued by @ReganBell in https://github.com/yc-software/qm/pull/3244
- Keep an archive that lands mid-edit from being overwritten by the edit by @ReganBell in https://github.com/yc-software/qm/pull/3249
- Write identity records to the store before the in-process copy by @ReganBell in https://github.com/yc-software/qm/pull/3256
- Never reclaim a dev lease that is still booting under a live owner by @ReganBell in https://github.com/yc-software/qm/pull/3248
- Derive the dev supervisor's sandbox resolution from the committed spec inputs by @ReganBell in https://github.com/yc-software/qm/pull/3247
- Report a card as withdrawn only when the withdraw took it by @ReganBell in https://github.com/yc-software/qm/pull/3291
- Close the run delivery when an unprompted Slack turn stays quiet by @ReganBell in https://github.com/yc-software/qm/pull/3287
- Serve a Render golden base only once its snapshot is available by @ReganBell in https://github.com/yc-software/qm/pull/3280
- Record a new Render computer before releasing its cleanup hold by @ReganBell in https://github.com/yc-software/qm/pull/3284
- Let the web goal bar resume a paused goal by @ReganBell in https://github.com/yc-software/qm/pull/3388
- Keep a Slack bot's credential request separate from a person's in the same thread by @garrytan in https://github.com/yc-software/qm/pull/3373
- Never recall a memory fact back into the session that captured it by @ReganBell in https://github.com/yc-software/qm/pull/2695
- Move desk macOS CI job to macos-15 (macOS 14 runners retired) by @ReganBell in https://github.com/yc-software/qm/pull/3397
- Move late system-prompt sections and conversation context blocks out of handleTurn into turn-prompt.ts by @ReganBell in https://github.com/yc-software/qm/pull/3389
- Skip background claims for tenants that are not serving by @ReganBell in https://github.com/yc-software/qm/pull/3348
- Stop the nested advisory lock tests from failing when Postgres answers slowly by @garrytan in https://github.com/yc-software/qm/pull/3394
- Stop the background job list from inventing an exit code by @ReganBell in https://github.com/yc-software/qm/pull/3289
- Match the concurrent-second-message answer as a whole number, not inside the run id by @ReganBell in https://github.com/yc-software/qm/pull/3405
- Next-prompt suggestions skip hidden wake messages by @ReganBell in https://github.com/yc-software/qm/pull/3404
- Stop the process-session, snapshot-deadline and paused-batch tests from failing at random in the merge queue by @ReganBell in https://github.com/yc-software/qm/pull/3400
- Ignore stale loop detail responses after the selection changes by @ReganBell in https://github.com/yc-software/qm/pull/3241
- web-ui: don't write a model pick another tab forgot back into storage by @ReganBell in https://github.com/yc-software/qm/pull/3261
- web-ui: hold UI canvas loads while a pin or dismiss is in flight, then reload by @ReganBell in https://github.com/yc-software/qm/pull/3262
- Store a governor pause reason once by @ReganBell in https://github.com/yc-software/qm/pull/3264
- Drop a dead AWS app body pointer only if it still names that body by @ReganBell in https://github.com/yc-software/qm/pull/3270
- Stop a single registered group from marking the org's groups as fully synced by @ReganBell in https://github.com/yc-software/qm/pull/3274
- Keep a Slack delivery's posted state when its ack gives up by @ReganBell in https://github.com/yc-software/qm/pull/3283
- Delete the unread machine id copy from sandbox resource records by @ReganBell in https://github.com/yc-software/qm/pull/3286
- Open swarms to every internal person and start them only on an explicit request by @ReganBell in https://github.com/yc-software/qm/pull/3085
- Count Over-testing in CI and add a Waived verdict to the Wall of shame check by @ReganBell in https://github.com/yc-software/qm/pull/3409
- Move the already-answered replay out of handleTurn into turn-replay.ts by @ReganBell in https://github.com/yc-software/qm/pull/3416
- Keep a Slack bot's limits on the ambient turns its posts wake by @garrytan in https://github.com/yc-software/qm/pull/3411
- Write a deployment's status and endpoint as field merges by @ReganBell in https://github.com/yc-software/qm/pull/3276
- Grant trusted-entry admin only in a tenant the subject belongs to by @ReganBell in https://github.com/yc-software/qm/pull/3406
- Forget a deleted custom provider's API key by @ReganBell in https://github.com/yc-software/qm/pull/3263
- Revoke a keychain grant only while it is still active by @ReganBell in https://github.com/yc-software/qm/pull/3265
- Let a subagent's wake of its web parent end silently by @ReganBell in https://github.com/yc-software/qm/pull/3407
- README: position QM as an agent harness for teams by @16francej in https://github.com/yc-software/qm/pull/3419
- Give each focus-protection activity watcher its own tap-failure flag by @ReganBell in https://github.com/yc-software/qm/pull/3246
- Keep a finished goal from being rewritten by a stale run by @ReganBell in https://github.com/yc-software/qm/pull/3243
- Start a relay's local claim clock before the claim request by @ReganBell in https://github.com/yc-software/qm/pull/3285
- Keep serving the live Render version while a deploy is pending by @ReganBell in https://github.com/yc-software/qm/pull/3271
- web-ui: drop an ambient policy save response once the editor has moved to another scope by @ReganBell in https://github.com/yc-software/qm/pull/3259
- Thread tenant tokens through ACL grants, decisions, budgets and teams by @ReganBell in https://github.com/yc-software/qm/pull/3381
- Move inbound document screening out of handleTurn into security-screen.ts by @ReganBell in https://github.com/yc-software/qm/pull/3431
- Add Render to the README and split self-run from hosted options by @16francej in https://github.com/yc-software/qm/pull/3326
- Show default-sandbox load to the agent as one environment line, measured the same on every provider by @ReganBell in https://github.com/yc-software/qm/pull/3408
- Keep the Modal reaper and session cache on the sandbox the record names by @ReganBell in https://github.com/yc-software/qm/pull/3278
- Drop the parked-output reference from a quarantined tool result by @ReganBell in https://github.com/yc-software/qm/pull/3281
- Fail CI on code comments and committed images, and retire Honorable mentions by @ReganBell in https://github.com/yc-software/qm/pull/3426
- Commit the dev supervisor's tunnel and boot spec only when a reload commits by @ReganBell in https://github.com/yc-software/qm/pull/3425
- Key a failed cron fire's slot rollback to the schedule it fired under by @ReganBell in https://github.com/yc-software/qm/pull/3430
- Say what a context summary covers and that later entries win by @16francej in https://github.com/yc-software/qm/pull/3349
- Deliver a Stop pressed during turn setup as soon as the turn starts listening by @ReganBell in https://github.com/yc-software/qm/pull/3418
- Give every swarm a Slack bot starts its own board by @garrytan in https://github.com/yc-software/qm/pull/3396
- Remove the eight-preset cap from the model picker and let the selected preset be removed by @ReganBell in https://github.com/yc-software/qm/pull/3401
- Stop a person's turn from adding workers to a swarm a Slack bot started by @garrytan in https://github.com/yc-software/qm/pull/3420
- Draw the web goal bar from core's goal status after a cancel, not a client flag by @ReganBell in https://github.com/yc-software/qm/pull/3257
- Set up the Slack staging test map before a stage is timed by @ReganBell in https://github.com/yc-software/qm/pull/3444
- Make descriptive session titles the default and delete the flag by @ReganBell in https://github.com/yc-software/qm/pull/3436
- Clear a stale pause error whenever a sandbox is resumed, re-adopted or reused by @ReganBell in https://github.com/yc-software/qm/pull/3275
- Delivering a row clears its refusal, so no reader sees a delivered output as refused by @ReganBell in https://github.com/yc-software/qm/pull/3277
- Batch chat, inbox and admin history database reads by @ReganBell in https://github.com/yc-software/qm/pull/3433
- Stop five timing-dependent tests from ejecting unrelated PRs from the merge queue by @ReganBell in https://github.com/yc-software/qm/pull/3435
- Hold a swarm delivery at the start gate while its worker is paused by @ReganBell in https://github.com/yc-software/qm/pull/3434
- web-ui: take inbox review outputs from the server on refetch and after a followup by @ReganBell in https://github.com/yc-software/qm/pull/3258
- Pass the tenant token to the audit log and Postgres event sinks by @ReganBell in https://github.com/yc-software/qm/pull/3386
- Keep every stored MCP server field an admin edit omits by @ReganBell in https://github.com/yc-software/qm/pull/3432
- Let findings decide Wall of shame verdicts, with a judge to drop wrong ones by @ReganBell in https://github.com/yc-software/qm/pull/3451
- Let the agent self-API mark conversations read or unread by @ReganBell in https://github.com/yc-software/qm/pull/3450
- Make N+1 query fan-out explicit in Performance reviews by @ReganBell in https://github.com/yc-software/qm/pull/3452
- Stop a Slack bot's running work on a swarm's computers once it loses the swarm by @garrytan in https://github.com/yc-software/qm/pull/3395
- Stop a Slack bot's turns and jobs on a swarm's computers when it loses the swarm by @garrytan in https://github.com/yc-software/qm/pull/3445
- README: multiplayer tagline and always-on agents by @16francej in https://github.com/yc-software/qm/pull/3446
- Fix side-chat activity previews and Escape focus outlines by @ReganBell in https://github.com/yc-software/qm/pull/3458
- List the apps a person can open for an outside directory by @16francej in https://github.com/yc-software/qm/pull/3437
- Run a person's unmentioned thread follow-ups at person priority by @16francej in https://github.com/yc-software/qm/pull/3429
- Forward Content-Encoding through the git smart-HTTP broker by @ReganBell in https://github.com/yc-software/qm/pull/3440
- Keep the assistant's own reloaded posts unattributed in the admin transcript by @16francej in https://github.com/yc-software/qm/pull/3461
- Edit a published app from its chat with app_files, with no sandbox, clone or push by @ReganBell in https://github.com/yc-software/qm/pull/3459
- Add two skill-text examples to the Band-aid fixes lens by @ReganBell in https://github.com/yc-software/qm/pull/3464
- Show an app edit chat the app's source at the start of the turn by @ReganBell in https://github.com/yc-software/qm/pull/3460
- Give app-drawer chats a lean prompt and six tools by @ReganBell in https://github.com/yc-software/qm/pull/3462
- Keep Slack bots from retiring or managing computers, crons and apps they didn't make by @garrytan in https://github.com/yc-software/qm/pull/3463
- Fires carry their owner's authority; remove the attended/unattended split by @ReganBell in https://github.com/yc-software/qm/pull/3316
- Deliver every allowed swarm mailbox message when several arrive together by @garrytan in https://github.com/yc-software/qm/pull/3475
- Keep a person's credentials and memory out of a Slack bot's work that runs in their name by @garrytan in https://github.com/yc-software/qm/pull/3474
- Let bot work manage only the crons, loops, webhooks and job watches bot work made by @garrytan in https://github.com/yc-software/qm/pull/3484
- Limit the private-channel bot shortcut to actors QM knows are apps by @garrytan in https://github.com/yc-software/qm/pull/3488
- Say which exported apps a person owns and when they last opened each by @16francej in https://github.com/yc-software/qm/pull/3490
- Keep a pinned prompt with an image attachment from flickering by @16francej in https://github.com/yc-software/qm/pull/3492
- Let a Slack bot's turn use only a computer it made that no person has used by @garrytan in https://github.com/yc-software/qm/pull/3471
- Route partner-chat events and posts by account on a shared host by @ReganBell in https://github.com/yc-software/qm/pull/3465
- Let an agent start the first swarm in a project by @garrytan in https://github.com/yc-software/qm/pull/3493
- Drop the 0.1.16 host objects a failed 0.1.16 upgrade leaves behind by @16francej in https://github.com/yc-software/qm/pull/3494
- Keep the pointer cursor across the gaps between multiview tabs by @16francej in https://github.com/yc-software/qm/pull/3502
- Keep the composer's buttons on one row in narrow panes by @16francej in https://github.com/yc-software/qm/pull/3500
Full Changelog: https://github.com/yc-software/qm/compare/v0.1.17...v0.1.18