[
  {
    "sha": "1947b905",
    "subject": "Hide brief queued notices from automated senders"
  },
  {
    "sha": "430d75c7",
    "subject": "Tighten the mobile composer layout"
  },
  {
    "sha": "412b2fe7",
    "subject": "Open the diff viewer faster by doing less work up front"
  },
  {
    "sha": "330874c6",
    "subject": "claudetool: strip citation markers from outgoing chat messages"
  },
  {
    "sha": "385cbe20",
    "subject": "ui: make commit tour sections collapsible"
  },
  {
    "sha": "dcbd115e",
    "subject": "shelley: revert GPT-Live voice calls"
  },
  {
    "sha": "ee041688",
    "subject": "shelley: add GPT-Live voice calls through the free LLM gateway"
  },
  {
    "sha": "f6d2d4ca",
    "subject": "shelley/ui: match directory names in diff file tree search"
  },
  {
    "sha": "c65c67c6",
    "subject": "shelley: profiles, and live settings changes from the model picker"
  },
  {
    "sha": "eff6bb70",
    "subject": "shelley: bump golang version to 1.27.2"
  },
  {
    "sha": "b696a4b3",
    "subject": "shelley: raise default compact-in-place nudge to 250k"
  },
  {
    "sha": "e09659a7",
    "subject": "shelley: stop waking the parent when a subagent turn ends"
  },
  {
    "sha": "c6a56433",
    "subject": "shelley/ui: lower the CSS duplicate-rule baseline by one"
  },
  {
    "sha": "592aa0b6",
    "subject": "Center shared tool headers by removing their extra bottom margin"
  },
  {
    "sha": "fd68fffc",
    "subject": "Record response timing for both OpenAI APIs"
  },
  {
    "sha": "60ecd3f7",
    "subject": "shelley: channel conversations take a system prompt and a first reply"
  },
  {
    "sha": "13e704ca",
    "subject": "shelley: reorganize the chat toolbar and overflow menu"
  },
  {
    "sha": "1732853b",
    "subject": "shelley: close interactive shell tabs on process exit"
  },
  {
    "sha": "5ae6d5b9",
    "subject": "shelley: shrink the compact_in_place index"
  },
  {
    "sha": "1c145cf5",
    "subject": "shelley: context nudges carry the compact_in_place index"
  },
  {
    "sha": "50a3175e",
    "subject": "shelley: inject channel messages after the current tool round"
  },
  {
    "sha": "65f093b4",
    "subject": "shelley: add a /debug index page"
  },
  {
    "sha": "eebcd386",
    "subject": "shelley: show sequence IDs to the model only where message_user is offered"
  },
  {
    "sha": "19884eb1",
    "subject": "shelley: add Claude Haiku 5.5 support"
  },
  {
    "sha": "6f20c050",
    "subject": "shelley/mcp: address MCP integration feedback (issue #309)"
  },
  {
    "sha": "67cc428d",
    "subject": "shelley: add web chats, channel chats whose replies stay in the conversation"
  },
  {
    "sha": "2ae58c47",
    "subject": "shelley: target chat replies and reactions by sequence ID"
  },
  {
    "sha": "40419ec8",
    "subject": "shelley: connect conversations to external chats (channels)"
  },
  {
    "sha": "8cfdafe0",
    "subject": "shelley: offer Compact in Place in every conversation"
  },
  {
    "sha": "5ede774e",
    "subject": "shelley: add message_user tool and a chat-only view"
  },
  {
    "sha": "430001ec",
    "subject": "shelley: list conversations, with job and subagent counts, in one query"
  },
  {
    "sha": "fd224089",
    "subject": "shelley: keep a resumed subagent's own model"
  },
  {
    "sha": "bef90afe",
    "subject": "shelley: hydrate before choosing the model for queued messages"
  },
  {
    "sha": "966bd0a0",
    "subject": "feat: add KaTeX rendering to Markdown views"
  },
  {
    "sha": "8b6ea497",
    "subject": "shelley: end delegated turns with final message_parent reports"
  },
  {
    "sha": "610a8c38",
    "subject": "shelley: HTTP MCP servers with OAuth login, a `shelley mcp` CLI, and /debug/mcp"
  },
  {
    "sha": "6aed9ac9",
    "subject": "shelley: add /debug/llm in-memory log of LLM requests"
  },
  {
    "sha": "e0963676",
    "subject": "shelley/ui: stack context, cumulative and incremental graphs in the usage popup"
  },
  {
    "sha": "811d6baf",
    "subject": "shelley: create terminal sessions dir on first spawn"
  },
  {
    "sha": "d18fd424",
    "subject": "shelley: mark rows compact_in_place may only collapse on their own"
  },
  {
    "sha": "72e5d2f6",
    "subject": "shelley: compact_in_place leaves the recent part alone and unlisted"
  },
  {
    "sha": "46e9bd0a",
    "subject": "shelley: report every problem of a compact_in_place request at once"
  },
  {
    "sha": "6bdb3579",
    "subject": "shelley: no context nudge right after a compaction"
  },
  {
    "sha": "366fe907",
    "subject": "shelley: keep a huge final tool result with its call in findPiCutPoint"
  },
  {
    "sha": "24aad194",
    "subject": "shelley: count an image as 1200 tokens in context estimates"
  },
  {
    "sha": "1db4b0db",
    "subject": "shelley: show running background jobs and subagents in the status bar"
  },
  {
    "sha": "fe1c6c1f",
    "subject": "shelley/ui: close the last stall-forgiveness gaps in cache deadlines"
  },
  {
    "sha": "fcbb7d73",
    "subject": "shelley/ui: don't charge a busy tab's stalls to cache deadlines"
  },
  {
    "sha": "c56f9898",
    "subject": "shelley: prefer parent subscription for subagent and one-shot models"
  },
  {
    "sha": "eee7a16a",
    "subject": "shelley: harden Playwright teardown and participant grouping test"
  },
  {
    "sha": "7aa323cd",
    "subject": "shelley: in-place compaction and the compact_in_place tool"
  },
  {
    "sha": "701bf294",
    "subject": "shelley: simplify subagent prompts and replace list_subagents with a query"
  },
  {
    "sha": "770846ca",
    "subject": "shelley: clarify bash backgrounding guidance"
  },
  {
    "sha": "2121eb9e",
    "subject": "shelley/ui: render subagent messages like other tool cards"
  },
  {
    "sha": "a7f5b603",
    "subject": "shelley/ui: show per-call cost under a labeled cumulative cost graph"
  },
  {
    "sha": "0bfef717",
    "subject": "shelley/ui: simplify background job handoff and return cards"
  },
  {
    "sha": "632140f7",
    "subject": "shelley: expand background jobs inline in conversation drawer"
  },
  {
    "sha": "e0cb14f9",
    "subject": "shelley: hold end-of-turn notifications while delegated work runs"
  },
  {
    "sha": "1e0e31ca",
    "subject": "shelley: \u2318/Ctrl+Enter compacts and sends"
  },
  {
    "sha": "a3e99586",
    "subject": "claudetool: support macOS background jobs and validate release targets"
  },
  {
    "sha": "da1f38da",
    "subject": "claudetool: synchronize background bash test with shell startup"
  },
  {
    "sha": "1f84eba1",
    "subject": "shelley: drain the conversation queue from the database only"
  },
  {
    "sha": "330cbc3e",
    "subject": "shelley/ui: render background jobs and subagent messages as tool cards"
  },
  {
    "sha": "d717b218",
    "subject": "shelley: route HTTP methods only through the ServeMux route table"
  },
  {
    "sha": "a21bde16",
    "subject": "shelley: derive a conversation manager's role from its row"
  },
  {
    "sha": "28bb7a68",
    "subject": "shelley: stop waking a parent when its subagent goes idle"
  },
  {
    "sha": "d265f977",
    "subject": "ui: keep a sent composer's mirror from seeding other tabs"
  },
  {
    "sha": "053d2363",
    "subject": "lazycue: drive more than one tab"
  },
  {
    "sha": "a973f8a3",
    "subject": "shelley: drop the unused conversation_list_update stream event"
  },
  {
    "sha": "8f694414",
    "subject": "shelley: record conversation messages through one insert path"
  },
  {
    "sha": "7dc6945f",
    "subject": "shelley: detach and stop a conversation loop in one place"
  },
  {
    "sha": "49ac8a04",
    "subject": "server: exercise changelog prefix matching through HTTP"
  },
  {
    "sha": "0b167931",
    "subject": "server: verify version cache refresh and platform downloads"
  },
  {
    "sha": "339a2e06",
    "subject": "shelley: pin compact-and-send to the originating conversation"
  },
  {
    "sha": "7507c241",
    "subject": "shelley: deflake TestSubagentBusy/DeliversMidTurn"
  },
  {
    "sha": "e74ceb09",
    "subject": "shelley: show running background jobs in the conversation list"
  },
  {
    "sha": "7e57b0c1",
    "subject": "claudetool: remove the shell tool"
  },
  {
    "sha": "d92e7a35",
    "subject": "shelley: report background jobs that outlive a restart"
  },
  {
    "sha": "ede1d00f",
    "subject": "shelley: move long bash commands to the background"
  },
  {
    "sha": "d2ac43ec",
    "subject": "shelley: notify the parent that a subagent is idle instead of copying its reply"
  },
  {
    "sha": "fc4ba17a",
    "subject": "claudetool: add message_parent tool for subagents"
  },
  {
    "sha": "2f139cb7",
    "subject": "shelley: resume subagents after an upgrade restart"
  },
  {
    "sha": "584ae780",
    "subject": "claudetool: add list_subagents tool"
  },
  {
    "sha": "cd8a4b2b",
    "subject": "claudetool: make subagent calls asynchronous"
  },
  {
    "sha": "58de5a45",
    "subject": "loop: run Loop turns through Run"
  },
  {
    "sha": "a5fc88df",
    "subject": "clabot: add @kdheepak"
  },
  {
    "sha": "c98b78e9",
    "subject": "shelley: give standalone installs a random favicon emoji, editable from Cmd-K"
  },
  {
    "sha": "3d66dead",
    "subject": "shelley/ui: render Nerd Font icons and powerline bars in the terminal"
  },
  {
    "sha": "8ef22700",
    "subject": "shelley: make sandbox: links download files"
  },
  {
    "sha": "550282c0",
    "subject": "shelley/ui: request tours from the diff viewer; cancellable review recording"
  },
  {
    "sha": "31ea0ffd",
    "subject": "shelley: surface disk-full errors instead of generic 500s"
  },
  {
    "sha": "32f15a25",
    "subject": "shelley/ui: consolidate repeated CSS primitives"
  },
  {
    "sha": "5ad6eec3",
    "subject": "shelley: transcribe with OPENAI_API_KEY and fail fast without a route"
  },
  {
    "sha": "35c345a1",
    "subject": "shelley: derive integration URLs from VM metadata"
  },
  {
    "sha": "daec5296",
    "subject": "shelley/ui: hover or long-press the record button to pick Voice or Voice & Screen"
  },
  {
    "sha": "d2015418",
    "subject": "loop: honor sequential tools in turn-scoped runs"
  },
  {
    "sha": "68f5fa4d",
    "subject": "loop: preserve current turn semantics in new runner"
  },
  {
    "sha": "aa7793a3",
    "subject": "loop: remove unused completion validator"
  },
  {
    "sha": "289f0ddc",
    "subject": "loop: keep turn history local to runner"
  },
  {
    "sha": "d2c976ea",
    "subject": "loop: remove before-request policy from turn runner"
  },
  {
    "sha": "95a8ac39",
    "subject": "loop: use existing LLM request and tool types"
  },
  {
    "sha": "ef6b206c",
    "subject": "loop: share run configuration with runner"
  },
  {
    "sha": "1bca2be1",
    "subject": "loop,llm: add parameterized turn runner"
  },
  {
    "sha": "b05c08cf",
    "subject": "shelley: record narrated reviews in the diff viewer and commit tour"
  },
  {
    "sha": "d67a5c34",
    "subject": "shelley/ui: give the model and system prompt items one shared style"
  },
  {
    "sha": "64c9fd3e",
    "subject": "shelley/ui: truncate drawer slugs with an ellipsis instead of wrapping"
  },
  {
    "sha": "34d57d38",
    "subject": "shelley: isolate Playwright git fixtures"
  },
  {
    "sha": "cec2a423",
    "subject": "shelley: port flaky recording checks to LazyCue"
  },
  {
    "sha": "c8c57311",
    "subject": "shelley/ui: fit conversation images to the column and the screen"
  },
  {
    "sha": "787f1646",
    "subject": "shelley: add decisions, questions, and media to commit tours"
  },
  {
    "sha": "fadd158e",
    "subject": "shelley: order sibling browser actions"
  },
  {
    "sha": "c86f8812",
    "subject": "shelley: add GPT-6.1 Sol to model selection"
  },
  {
    "sha": "4367ca86",
    "subject": "Add a \"Resize this VM\" link to the low disk space notice"
  },
  {
    "sha": "83fd730e",
    "subject": "shelley/ui: don't navigate back to source conversation after compact"
  },
  {
    "sha": "bea31a87",
    "subject": "shelley: mark llm_one_shot model parameter optional"
  },
  {
    "sha": "e3b965e7",
    "subject": "Keep malformed OpenAI-compatible tool arguments serializable"
  },
  {
    "sha": "62b8f9bf",
    "subject": "Open a terminal for bare shell commands"
  },
  {
    "sha": "ae8fe1c2",
    "subject": "Let users choose a model after a refusal"
  },
  {
    "sha": "5367c035",
    "subject": "shelley: add Claude Sonnet 5.5 support"
  },
  {
    "sha": "3fa4e71b",
    "subject": "shelley: embed exe-scroll v0.10"
  },
  {
    "sha": "e21269f0",
    "subject": "shelley: reap test terminal sessions and their jobs in Playwright teardown"
  },
  {
    "sha": "23202542",
    "subject": "Selector screenshots failed in 31.5% of audited calls"
  },
  {
    "sha": "8657ff39",
    "subject": "Recover stalled stream handshakes when returning to the tab"
  },
  {
    "sha": "5a6af0fc",
    "subject": "Start recording on click and keep the audio if the draft fails"
  },
  {
    "sha": "9bf106c7",
    "subject": "shelley: drop Fireworks models that lost serverless"
  },
  {
    "sha": "0ebdcf7c",
    "subject": "Add a VM integrations panel"
  },
  {
    "sha": "039dc9b1",
    "subject": "Keep interrupted tool cards stopped after restart and resume"
  },
  {
    "sha": "0e92bb5c",
    "subject": "shelley/ui: keep the @ completion highlight across draft promotion"
  },
  {
    "sha": "bcc135f7",
    "subject": "shelley: replace file-completion Playwright spec with LazyCue tests"
  },
  {
    "sha": "74e3fc64",
    "subject": "lazycue: press named keys instead of typing their names"
  },
  {
    "sha": "4d8ca519",
    "subject": "shelley: mark subagent model parameter optional"
  },
  {
    "sha": "e9d58677",
    "subject": "shelley: let commit tour chunks expand to the full file"
  },
  {
    "sha": "ccc02d8e",
    "subject": "recording: size the composer controls by panel width"
  },
  {
    "sha": "a2406c5d",
    "subject": "ui: add safe Markdown file preview and split view"
  },
  {
    "sha": "7affdaaf",
    "subject": "Edit User AGENTS.md targets the file actually in use"
  },
  {
    "sha": "9f043972",
    "subject": "ui: don't refocus message input on mobile after send"
  },
  {
    "sha": "4ccafdf3",
    "subject": "Improve citation-only web search cards"
  },
  {
    "sha": "8b641d3c",
    "subject": "Skip the /tour marker when the last message already shows that commit"
  },
  {
    "sha": "0323fa30",
    "subject": "Show interrupted conversations with a pause mark"
  },
  {
    "sha": "bf481a2b",
    "subject": "shelley: fix screencast odd-dimension encoder failures (#293)"
  },
  {
    "sha": "70ee43b6",
    "subject": "shelley: make Edit File shortcut layout-independent and align E2E"
  },
  {
    "sha": "ef6b29ca",
    "subject": "shelley: isolate model picker recents test from shared E2E history"
  },
  {
    "sha": "8fcde9cd",
    "subject": "shelley: show elapsed time on expanded running tool calls (#289)"
  },
  {
    "sha": "66d57bfe",
    "subject": "Change Edit File shortcut to Cmd/Ctrl+P"
  },
  {
    "sha": "d38670ae",
    "subject": "git-graph: fix mobile toolbar covering the top commit"
  },
  {
    "sha": "4fc0f112",
    "subject": "bashkit: remove the sketch-wip branch guard"
  },
  {
    "sha": "4f4f5802",
    "subject": "Pre-mark structurally mechanical chunks trivial in tour scaffold and index"
  },
  {
    "sha": "a79e1bd3",
    "subject": "shelley: keep the tour-building spinner moving under reduced motion"
  },
  {
    "sha": "1943edcb",
    "subject": "shelley: compare parent history against its pre-run snapshot"
  },
  {
    "sha": "d3583d43",
    "subject": "Build guided tours from chat and the git graph"
  },
  {
    "sha": "55cf469f",
    "subject": "Use indexed conversation search in the command palette"
  },
  {
    "sha": "a76f3c2c",
    "subject": "Prefer and highlight conversation slug matches in search"
  },
  {
    "sha": "34a267c6",
    "subject": "clabot: add @romusz"
  },
  {
    "sha": "2d448312",
    "subject": "shelley: remove tests of catalog snapshots, trivial wrapper checks"
  },
  {
    "sha": "82bc91aa",
    "subject": "shelley: point reflection skill directly at attached integrations"
  },
  {
    "sha": "a23e23ee",
    "subject": "shelley/ui: stop hidden tabs from touching IndexedDB; alert on contention"
  },
  {
    "sha": "ba4f3b69",
    "subject": "shelley: surface commit tours in git graph"
  },
  {
    "sha": "48eb5da9",
    "subject": "shelley: keep GPT-5.6 Luna available to subagents"
  },
  {
    "sha": "8cc833d1",
    "subject": "Track native apply_patch files in pi distillation"
  },
  {
    "sha": "cae63ffa",
    "subject": "Make patch use the OpenAI apply_patch strategy by default"
  },
  {
    "sha": "680674c3",
    "subject": "shelley: polish audio transcription tool results"
  },
  {
    "sha": "8a416a8b",
    "subject": "shelley: suggest recovery when shell commands time out"
  },
  {
    "sha": "dd362954",
    "subject": "Replace overflow language dropdown with a compact modal action"
  },
  {
    "sha": "8f84bd99",
    "subject": "shelley: add GPT-6 Sol and Luna"
  },
  {
    "sha": "aacc01ff",
    "subject": "shelley: add Claude Opus 5.5 support"
  },
  {
    "sha": "fab21b5e",
    "subject": "shelley: minimal curl for integration skill activation"
  },
  {
    "sha": "8102812a",
    "subject": "shelley: use pinned pnpm and prepare templates for Go tests"
  },
  {
    "sha": "14b72ceb",
    "subject": "Align main and sub-agent spend in shared model rows"
  },
  {
    "sha": "a582340f",
    "subject": "Show per-model sub-agent spend alongside conversation costs"
  },
  {
    "sha": "63d293db",
    "subject": "shelley: move Archive shortcut to Cmd/Ctrl+Shift+X"
  },
  {
    "sha": "a433ef39",
    "subject": "Share provider prompt caches across sibling subagents"
  },
  {
    "sha": "13fb89ef",
    "subject": "shelley: show the chained-cd hint once, and only when cd leaves the cwd"
  },
  {
    "sha": "275d26e1",
    "subject": "shelley: remove stale DeepSeek Flash price comparison"
  },
  {
    "sha": "79aaa762",
    "subject": "shelley: use GLM 5.3 in client and API examples"
  },
  {
    "sha": "7aa14a9e",
    "subject": "shelley: add audio and screen recording shortcuts and palette actions"
  },
  {
    "sha": "04896208",
    "subject": "shelley: refresh skill integrations for new conversations"
  },
  {
    "sha": "e00ae3ac",
    "subject": "shelley: group tour changes and separate navigation from visibility"
  },
  {
    "sha": "3e8dbefe",
    "subject": "skills: support ~/.agents/ for AGENTS.md and skills"
  },
  {
    "sha": "57df44f8",
    "subject": "shelley: augment AGENTS.md"
  },
  {
    "sha": "5bf8a693",
    "subject": "shelley: specify gofumpt as a tool"
  },
  {
    "sha": "96e2822a",
    "subject": "fix(ui): keep the Android chat input above the software keyboard"
  },
  {
    "sha": "6a600db4",
    "subject": "fireworks: add GLM-5.3 and GLM-5.3 Flash"
  },
  {
    "sha": "10f4ce93",
    "subject": "shelley: move tool status details out of collapsed headers"
  },
  {
    "sha": "15680b3e",
    "subject": "ui: command pallet font size is a bit small"
  },
  {
    "sha": "c5d97eb4",
    "subject": "Add dismissible BTW records"
  },
  {
    "sha": "b23fe2e5",
    "subject": "Add Codex-compatible fuzzy apply_patch"
  },
  {
    "sha": "4512b742",
    "subject": "shelley: scroll fences into view before asserting highlighting"
  },
  {
    "sha": "db2d4ac0",
    "subject": "Add copy controls to fenced code blocks"
  },
  {
    "sha": "4489faae",
    "subject": "shelley: refresh scroll observers when drafts gain an ID"
  },
  {
    "sha": "9dd1a20b",
    "subject": "shelley: fix popover geometry and isolate scroll test clocks"
  },
  {
    "sha": "6c11dcb3",
    "subject": "shelley: hide zero cache writes for subscription models"
  },
  {
    "sha": "c34131dc",
    "subject": "shelley: request missing commit tours"
  },
  {
    "sha": "ecd22c81",
    "subject": "shelley: parse skill frontmatter as YAML"
  },
  {
    "sha": "75af3a61",
    "subject": "shelley: restore keyword_search UI for historical conversations"
  },
  {
    "sha": "dc63d68e",
    "subject": "shelley: replay models.dev reasoning state"
  },
  {
    "sha": "8aba2b5b",
    "subject": "shelley: expose conversation controls in the CLI client"
  },
  {
    "sha": "7d778109",
    "subject": "shelley: identify parent and subagent chat messages"
  },
  {
    "sha": "13204ca4",
    "subject": "shelley: avoid retrying terminal stream failures"
  },
  {
    "sha": "bd4f3d65",
    "subject": "Account for OpenAI cache writes and fix ChatGPT cache affinity"
  },
  {
    "sha": "912a1266",
    "subject": "Record OpenAI cache write tokens"
  },
  {
    "sha": "18ae4b45",
    "subject": "Defer code highlighting during streaming"
  },
  {
    "sha": "1757f014",
    "subject": "Resolve transcription endpoints from known models"
  },
  {
    "sha": "e0e472af",
    "subject": "shelley: encourage reusable subagent context and primary sources"
  },
  {
    "sha": "2ed98a83",
    "subject": "shelley: prefer fewer, richer tool calls"
  },
  {
    "sha": "1f808bec",
    "subject": "shelley: document queued subagent messages with prompt"
  },
  {
    "sha": "e556b23a",
    "subject": "shelley: prefer short shell commands"
  },
  {
    "sha": "7a7e774d",
    "subject": "shelley: streamline subagent prompts and model discovery"
  },
  {
    "sha": "209734d8",
    "subject": "shelley: move delayed wakeup recipe into schedule skill"
  },
  {
    "sha": "958c9a85",
    "subject": "shelley: explain how to activate matching skills"
  },
  {
    "sha": "762fc2e9",
    "subject": "shelley: list one-shot models only in the input schema"
  },
  {
    "sha": "cf123d42",
    "subject": "shelley: deduplicate iframe documentation"
  },
  {
    "sha": "0642b183",
    "subject": "shelley: compact browser action and parameter documentation"
  },
  {
    "sha": "0ad1a60a",
    "subject": "shelley: put directory guidance in tool descriptions"
  },
  {
    "sha": "e6728883",
    "subject": "shelley: shorten shell timeout and output guidance"
  },
  {
    "sha": "d1470fe3",
    "subject": "shelley: trim generic setup guidance"
  },
  {
    "sha": "5b3a2e10",
    "subject": "shelley: remove keyword_search"
  },
  {
    "sha": "7adabaa0",
    "subject": "shelley: make credential integrations explicitly optional"
  },
  {
    "sha": "7fc4be2e",
    "subject": "clabot: add @RedBeard0531"
  },
  {
    "sha": "3eebdafc",
    "subject": "shelley: link standalone URLs in inline code"
  },
  {
    "sha": "65af67e3",
    "subject": "shelley: eliminate queue races and isolate flaky browser tests"
  },
  {
    "sha": "d3e0fc83",
    "subject": "shelley: load account-action guidance through a built-in skill"
  },
  {
    "sha": "b562e834",
    "subject": "shelley: always use emoji favicons and inline tool cards"
  },
  {
    "sha": "80605b7c",
    "subject": "shelley: simplify tour ranges and show change counts"
  },
  {
    "sha": "019693f0",
    "subject": "Move conversation contents into the model row and shrink working status first"
  },
  {
    "sha": "c1c57eba",
    "subject": "Keep recordings alive with floating controls across conversations"
  },
  {
    "sha": "5c68d421",
    "subject": "shelley: finish terminal test commands before removing their files"
  },
  {
    "sha": "74fe6cba",
    "subject": "shelley: revert stale tour import and mandatory tool pills"
  },
  {
    "sha": "f6f46bea",
    "subject": "Transcribe recordings directly in the parent conversation"
  },
  {
    "sha": "f28ebaab",
    "subject": "shelley/ui: show tour filenames in trees"
  },
  {
    "sha": "9d9f6f76",
    "subject": "feat(completion): refine file references and content search"
  },
  {
    "sha": "b66c6020",
    "subject": "feat(ui): add file and folder completion to the chat composer"
  },
  {
    "sha": "7484d693",
    "subject": "shelley/ui: ignore subagent completion for favicon state"
  },
  {
    "sha": "a7d66529",
    "subject": "shelley/ui: show tour filenames in trees"
  },
  {
    "sha": "8080f3bc",
    "subject": "shelley: make tool pills unconditional"
  },
  {
    "sha": "d12c6f77",
    "subject": "shelley: surface interrupted turns with resume action"
  },
  {
    "sha": "561c9279",
    "subject": "shelley: transcribe timestamps with Whisper"
  },
  {
    "sha": "90382d88",
    "subject": "shelley: expose subagent history and transcription filenames"
  },
  {
    "sha": "bca00112",
    "subject": "shelley: update CLA bot message"
  },
  {
    "sha": "96909c2f",
    "subject": "Hide Send now during compaction"
  },
  {
    "sha": "082a7811",
    "subject": "clabot: add @alexhughson"
  },
  {
    "sha": "479414bf",
    "subject": "Surface frequently used model and effort combinations"
  },
  {
    "sha": "b4affd93",
    "subject": "clabot: add @swaroopch"
  },
  {
    "sha": "230b9d9c",
    "subject": "shelley/ui: track commit tour position in TOC"
  },
  {
    "sha": "50e58d27",
    "subject": "shelley: release the tested commit"
  },
  {
    "sha": "63fde43e",
    "subject": "shelley: reject git flags in diff IDs"
  },
  {
    "sha": "50f9ad96",
    "subject": "shelley: keep Gemini API key out of request URLs"
  },
  {
    "sha": "6b494282",
    "subject": "shelley: close cache/singleflight race in reflection probe"
  },
  {
    "sha": "eae36627",
    "subject": "shelley: reload when exe.dev session expires"
  },
  {
    "sha": "d596680c",
    "subject": "shelley: add durable media recording transcriptions"
  },
  {
    "sha": "6740ad57",
    "subject": "shelley/ui: widen tours and compact Pierre diffs"
  },
  {
    "sha": "09b4b151",
    "subject": "shelley/ui: space version update dot"
  },
  {
    "sha": "76e2b4e9",
    "subject": "shelley/ui: apply prettier formatting to ChatInterface.vue"
  },
  {
    "sha": "864ecc50",
    "subject": "Preserve bottom restoration through layout clamps"
  },
  {
    "sha": "314686a9",
    "subject": "Preserve conversation tags when forking"
  },
  {
    "sha": "056f28b0",
    "subject": "Add compact-send-thresholds flag: default Enter to Compact and send at 200k tokens"
  },
  {
    "sha": "7d880390",
    "subject": "shelley: discover skill integrations at startup"
  },
  {
    "sha": "9013d2ab",
    "subject": "shelley: add DeepSeek V4.1 Flash on Fireworks"
  },
  {
    "sha": "cd3bc691",
    "subject": "Fix voice input duplication on Android Chrome; auto-stop, locale, punctuation"
  },
  {
    "sha": "fe86d712",
    "subject": "Add a mobile directory menu action"
  },
  {
    "sha": "e0c68289",
    "subject": "shelley: tests use t.Context() instead of context.Background()"
  },
  {
    "sha": "76a673ad",
    "subject": "shelley: prevent cache contention from stalling loads"
  },
  {
    "sha": "0f2dd0c8",
    "subject": "shelley: remove space before tool count comma"
  },
  {
    "sha": "4f599af6",
    "subject": "shelley: add transcribing-audio built-in skill"
  },
  {
    "sha": "18c7caf0",
    "subject": "shelley/ui: upgrade @pierre/diffs 1.1.20 -> 1.4.1"
  },
  {
    "sha": "ac9452f3",
    "subject": "shelley: link gitinfo commits to guided tours"
  },
  {
    "sha": "8b0022dd",
    "subject": "shelley/llm/oai: restore gofumpt formatting"
  },
  {
    "sha": "6b9c52ef",
    "subject": "Keep message actions visible in long messages"
  },
  {
    "sha": "721c438a",
    "subject": "ui: polish generation context metadata"
  },
  {
    "sha": "0b56b378",
    "subject": "shelley/llm/oai: gofumpt formatting"
  },
  {
    "sha": "467329bd",
    "subject": "Separate context usage from model output limits"
  },
  {
    "sha": "b0990874",
    "subject": "shelley: avoid full scans for subagent usage totals"
  },
  {
    "sha": "a305f750",
    "subject": "shelley/modelsdev: add GPT-6 Astra pricing"
  },
  {
    "sha": "1f864c04",
    "subject": "shelley: make clean commit tours the default"
  },
  {
    "sha": "6a1b72c9",
    "subject": "shelley/llm: gofumpt citation test const blocks"
  },
  {
    "sha": "667d7bb0",
    "subject": "shelley/models: keep Astra from shadowing Sol (re-apply)"
  },
  {
    "sha": "a0fefde8",
    "subject": "Preserve native citations and translate incompatible provider history"
  },
  {
    "sha": "9fcfb5df",
    "subject": "shelley/models: keep Astra from shadowing Sol"
  },
  {
    "sha": "66b1f335",
    "subject": "Scope UI freshness checks to server assets"
  },
  {
    "sha": "facda557",
    "subject": "Match OpenAI Go SDK Responses timestamps"
  },
  {
    "sha": "45889312",
    "subject": "Count images in the compaction cutoff"
  },
  {
    "sha": "b62dc7bb",
    "subject": "shelley/server: make the reflection HTTP client test seam race-free"
  },
  {
    "sha": "b67e9abe",
    "subject": "shelley: pin linkify e2e cwd to /tmp"
  },
  {
    "sha": "9bf1d810",
    "subject": "Keep touch scrolling stable during streamed replies"
  },
  {
    "sha": "96c6ad53",
    "subject": "shelley/claudetool/browse: skip on a machine with no browser installed"
  },
  {
    "sha": "dc4ebc84",
    "subject": "shelley/server: report an in-process dtach that never starts"
  },
  {
    "sha": "9d3fd37f",
    "subject": "shelley: put test sockets in a temp dir that fits in sun_path"
  },
  {
    "sha": "7c3ba4be",
    "subject": "Add participant conversation grouping"
  },
  {
    "sha": "235248f0",
    "subject": "lazycue: auto-fit the video title-card prompt so long descriptions don't clip"
  },
  {
    "sha": "ae6157e1",
    "subject": "lazycue: optional screenshot + MP4 video artifacts, heal hardening & diagnostics"
  },
  {
    "sha": "520393ca",
    "subject": "shelley: loop, tool, and integration tests stop guessing durations"
  },
  {
    "sha": "55874341",
    "subject": "shelley/server: conversation and subagent tests run on synctest's clock"
  },
  {
    "sha": "667059bf",
    "subject": "shelley/server: cancel tests wait on signals instead of sleeping"
  },
  {
    "sha": "6ae446e5",
    "subject": "shelley: add GPT-6 Astra"
  },
  {
    "sha": "70557984",
    "subject": "shelley/llm/gem: default to Gemini 3.8 Flash"
  },
  {
    "sha": "3f796f77",
    "subject": "shelley: replace the Gemini Flash entries with Gemini 3.8 Flash"
  },
  {
    "sha": "dab6006c",
    "subject": "shelley/modelsdev: refresh the models.dev API snapshot"
  },
  {
    "sha": "ee1da5de",
    "subject": "Rewrite VM-local links for user-facing output"
  },
  {
    "sha": "361c34c9",
    "subject": "Restore individually cancelled queued messages"
  },
  {
    "sha": "3ef66aa4",
    "subject": "shelley/ui: coalesce concurrent IndexedDB hydrations"
  },
  {
    "sha": "880ca069",
    "subject": "shelley: keep terminal content inside panel bounds"
  },
  {
    "sha": "7ea570f0",
    "subject": "templates: bump sqlite version"
  },
  {
    "sha": "cb1d2e61",
    "subject": "shelley: bump deps"
  },
  {
    "sha": "86919a53",
    "subject": "shelley: upgrade github.com/sashabaranov/go-openai to v1.42.0"
  },
  {
    "sha": "e2a92612",
    "subject": "Block drawer swipes behind modal overlays"
  },
  {
    "sha": "48477ee3",
    "subject": "shelley: reject turns whose user message was not persisted"
  },
  {
    "sha": "980fe71f",
    "subject": "shelley: replace flaky consecutive-tool Playwright test"
  },
  {
    "sha": "239cdfda",
    "subject": "shelley: allow switching away from removed models"
  },
  {
    "sha": "bacd940b",
    "subject": "shelley: upgrade to Go 1.27.1"
  },
  {
    "sha": "097d2498",
    "subject": "shelley/ui: implement vim gq/gw paragraph formatting in Monaco"
  },
  {
    "sha": "fc8081b4",
    "subject": "Render trailing assistant text after its tool calls"
  },
  {
    "sha": "daec6c70",
    "subject": "Restore favicon when agent stops working"
  },
  {
    "sha": "a041826e",
    "subject": "Add detached inline BTW reader conversations"
  },
  {
    "sha": "0002e53c",
    "subject": "shelley: add Claude Fable 5.1 support"
  },
  {
    "sha": "7dfd57dd",
    "subject": "shelley: tone down request-integration skill"
  },
  {
    "sha": "7acda9d9",
    "subject": "Require deliberate mobile drawer opening swipes"
  },
  {
    "sha": "c7d71254",
    "subject": "shelley: token-efficient commit-tour authoring"
  },
  {
    "sha": "57a06cd0",
    "subject": "shelley/ui: stop conversation list from flooding IndexedDB"
  },
  {
    "sha": "1855c87e",
    "subject": "shelley: resize oversized Responses API images"
  },
  {
    "sha": "4e7c60c1",
    "subject": "shelley: commit guided tours (git-note diff annotations)"
  },
  {
    "sha": "bf99453a",
    "subject": "shelley: dial long-path session sockets via a short symlink"
  },
  {
    "sha": "174a0a96",
    "subject": "shelley: universal file finder \u2014 find files by content via git grep"
  },
  {
    "sha": "9eb07012",
    "subject": "shelley: reject non-UTF-8 files in output_iframe"
  },
  {
    "sha": "3e7c84de",
    "subject": "shelley: use current DeepSeek V4 Pro endpoint"
  },
  {
    "sha": "53f961c9",
    "subject": "shelley: identify custom providers in model sources"
  },
  {
    "sha": "dc54de75",
    "subject": "Give the bash timeout test more startup margin"
  },
  {
    "sha": "f9794b54",
    "subject": "Make the message input span the available width"
  },
  {
    "sha": "0626f35c",
    "subject": "shelley: make LLM request errors transport-neutral"
  },
  {
    "sha": "b50bcf83",
    "subject": "shelley: move LLM request context into llm"
  },
  {
    "sha": "8f0c73f8",
    "subject": "shelley: invert workhorse service selection"
  },
  {
    "sha": "f1e5b64e",
    "subject": "shelley: move predictable fixture into llm package"
  },
  {
    "sha": "9f547ad3",
    "subject": "shelley: make feature flag handler test repeatable"
  },
  {
    "sha": "8994e46c",
    "subject": "shelley: remove deprecated simplified-patch field"
  },
  {
    "sha": "f59d2c18",
    "subject": "shelley: remove unused internal helpers"
  },
  {
    "sha": "0a4fa61b",
    "subject": "shelley: remove unreachable UI renderer code"
  },
  {
    "sha": "16269446",
    "subject": "shelley: remove unused database queries"
  },
  {
    "sha": "a922d72a",
    "subject": "shelley: remove unused startup analyzer"
  },
  {
    "sha": "79487aef",
    "subject": "shelley: remove sketch.dev dependency"
  },
  {
    "sha": "c5ec9aee",
    "subject": "shelley/modelsdev: apply OpenAI's Sol price cut to the snapshot"
  },
  {
    "sha": "4a930abe",
    "subject": "Harden the conversation slug prompt"
  },
  {
    "sha": "c0155072",
    "subject": "Support OpenAI V4 source anchors in apply_patch"
  },
  {
    "sha": "cd476b5d",
    "subject": "Limit compaction fallback to Fable refusals"
  },
  {
    "sha": "57a24b2d",
    "subject": "shelley: fix \"-1 days ago\" in conversation drawer"
  },
  {
    "sha": "7f502e99",
    "subject": "Revert \"shelley/ui: upgrade @pierre/diffs 1.1.20 -> 1.3.5\""
  },
  {
    "sha": "43f18c7d",
    "subject": "shelley/ui: upgrade @pierre/diffs 1.1.20 -> 1.3.5"
  },
  {
    "sha": "8b3f473a",
    "subject": "shelley: flush caught-up stream2 connections immediately"
  },
  {
    "sha": "2b60c02a",
    "subject": "Require unique apply_patch context"
  },
  {
    "sha": "db255b8a",
    "subject": "shelley/ui: clarify total cost including subagents"
  },
  {
    "sha": "196d4fd3",
    "subject": "Keep drawer swipes out of horizontal scrollers"
  },
  {
    "sha": "bf0ec24b",
    "subject": "shelley: identify conversations in end-of-turn hooks"
  },
  {
    "sha": "294915c7",
    "subject": "shelley/ui: mount conversations tail-first, sweep history in the background"
  },
  {
    "sha": "8951cf5a",
    "subject": "Improve apply_patch match failure guidance"
  },
  {
    "sha": "b9ee7471",
    "subject": "shelley/ui: batch message-cache crypto instead of one await per row"
  },
  {
    "sha": "4d8b998a",
    "subject": "shelley/ui: defer fence highlighting until blocks near the viewport"
  },
  {
    "sha": "a38c3502",
    "subject": "shelley client: tag conversations from the CLI"
  },
  {
    "sha": "ef9b1dda",
    "subject": "Preserve typed input when cancelling"
  },
  {
    "sha": "4d8e0355",
    "subject": "shelley/ui: refine empty conversation links"
  },
  {
    "sha": "82c628bc",
    "subject": "shelley: gofumpt patch_test.go"
  },
  {
    "sha": "b1564431",
    "subject": "Extend flagged patch tools"
  },
  {
    "sha": "e4f02678",
    "subject": "shelley/ui: keep Safari auto-following streaming conversations"
  },
  {
    "sha": "5c983956",
    "subject": "shelley/ui: add conversation row actions menu"
  },
  {
    "sha": "e579620f",
    "subject": "shelley/ui: add home directory conversation shortcuts"
  },
  {
    "sha": "513ab6cd",
    "subject": "shelley: gofumpt patch_test.go"
  },
  {
    "sha": "ef952a8e",
    "subject": "Extend flagged patch tools"
  },
  {
    "sha": "f570b5e9",
    "subject": "shelley: scope bash output lazycue assertions"
  },
  {
    "sha": "de6c1e97",
    "subject": "shelley: use embedded exe-scroll for new terminals"
  },
  {
    "sha": "9f71050f",
    "subject": "shelley: make welcome message conditional on exe.dev hosting"
  },
  {
    "sha": "d0650a21",
    "subject": "shelley: update LazyCue test cache"
  },
  {
    "sha": "65e330c8",
    "subject": "shelley/ui: refresh changelog after version check"
  },
  {
    "sha": "f69d0e87",
    "subject": "shelley/ui: open selected conversations at the bottom"
  },
  {
    "sha": "cab7b137",
    "subject": "shelley/modelsdev: add LookupModalities for input/output modality lookup"
  },
  {
    "sha": "4885ed6e",
    "subject": "Add selectable patch tool strategies"
  },
  {
    "sha": "45aa0928",
    "subject": "Highlight Markdown and Bash code"
  },
  {
    "sha": "3a3b643c",
    "subject": "shelley/ui: route page keys to conversation scroll"
  },
  {
    "sha": "e19fc7be",
    "subject": "shelley: gate reflection emoji favicon behind a feature flag"
  },
  {
    "sha": "16fe4cfb",
    "subject": "shelley: use reflection emoji for favicon"
  },
  {
    "sha": "351eaa3f",
    "subject": "Serialize conversation lifecycle cancellation by generation"
  },
  {
    "sha": "60d75d02",
    "subject": "Preserve cancelled tool output and serialize cancellation teardown"
  },
  {
    "sha": "ef64d0e0",
    "subject": "shelley: upgrade to Go 1.27.0"
  },
  {
    "sha": "2447a954",
    "subject": "shelley: run sibling tool calls concurrently"
  },
  {
    "sha": "b71ed19f",
    "subject": "Avoid redundant cd commands in the current working directory"
  },
  {
    "sha": "c8640688",
    "subject": "Add mobile swipe gestures for the thread drawer"
  },
  {
    "sha": "33e1f642",
    "subject": "shelley: apply monorepo formatters to the replayed commits"
  },
  {
    "sha": "a61982b1",
    "subject": "shelley: repair the replayed commits for the monorepo"
  },
  {
    "sha": "cc4167ab",
    "subject": "Announce a promoted draft's system prompt to subscribers"
  },
  {
    "sha": "76e5004b",
    "subject": "Load complete history after draft promotion"
  },
  {
    "sha": "af258f9e",
    "subject": "Stream chat completion responses"
  },
  {
    "sha": "8d345503",
    "subject": "Give thinking blocks their own copy action inside the message"
  },
  {
    "sha": "bb1f6551",
    "subject": "shelley/ui: add command palette to the overflow menu"
  },
  {
    "sha": "6727a957",
    "subject": "shelley/ui: tighten version dialog spacing"
  },
  {
    "sha": "f70066e7",
    "subject": "shelley: continue conversations after customization install"
  },
  {
    "sha": "9c33e600",
    "subject": "shelley: batch thinking deltas, record error rows on dead contexts, escalate client SSE backoff"
  },
  {
    "sha": "1ce109c6",
    "subject": "shelley/ui: compact overflow quick controls"
  },
  {
    "sha": "1b482085",
    "subject": "shelley: keep the Advanced Settings popover inside the viewport vertically"
  },
  {
    "sha": "b66b0cf6",
    "subject": "shelley: apply monorepo formatters to the replayed commits"
  },
  {
    "sha": "9c895655",
    "subject": "Use same-provider workhorses for background LLM tasks"
  },
  {
    "sha": "787ce8d7",
    "subject": "Suppress Gemini thoughts when reasoning is disabled"
  },
  {
    "sha": "c408cfd6",
    "subject": "Remove the deprecated GPT-OSS 20B Fireworks model"
  },
  {
    "sha": "30e01d39",
    "subject": "Use the live DeepSeek V4 Flash Fireworks endpoint"
  },
  {
    "sha": "d59e8c3a",
    "subject": "Choose the model and reasoning effort for rebase upgrades"
  },
  {
    "sha": "780cf293",
    "subject": "Expose models.dev release dates for available models"
  },
  {
    "sha": "7997f832",
    "subject": "Refresh the models.dev API snapshot"
  },
  {
    "sha": "44d5ac6b",
    "subject": "Add per-model reasoning levels from models.dev"
  },
  {
    "sha": "dafa83c8",
    "subject": "Refetch conversation search results after edits"
  },
  {
    "sha": "fd8631fb",
    "subject": "Keep the remove button reachable on overlong tag chips"
  },
  {
    "sha": "db4e0f69",
    "subject": "Offer a dropdown of matching tags in the row tag editor"
  },
  {
    "sha": "fb0dfb2b",
    "subject": "Filter conversations by tag from the search box"
  },
  {
    "sha": "1b7ed4ab",
    "subject": "Group conversations by tag"
  },
  {
    "sha": "f97925e1",
    "subject": "shelley/llm/oai: retry Responses failures on status, not on the body read"
  },
  {
    "sha": "bc9bfff3",
    "subject": "shelley: recover SSE streams after backpressure"
  },
  {
    "sha": "54ba8f15",
    "subject": "shelley: file finder accepts a typed path"
  },
  {
    "sha": "d38336f7",
    "subject": "shelley/ui: fix /clear e2e flake on a slow new-generation response"
  },
  {
    "sha": "dda8df94",
    "subject": "shelley: use tree emoji for accessibility tree tool"
  },
  {
    "sha": "10cd8c9f",
    "subject": "go.mod: upgrade to 1.26.6"
  },
  {
    "sha": "a58ac6fe",
    "subject": "shelley/ui: make Cmd/Ctrl+Down work when focus is in the composer"
  },
  {
    "sha": "c138647b",
    "subject": "shelley/ui: start the conversation drawer expanded by default"
  },
  {
    "sha": "4a200edd",
    "subject": "shelley: multi-term file search, patch-tool open-in-editor, shared tool icons"
  },
  {
    "sha": "db36a09a",
    "subject": "shelley: pin terminals to conversations, unpin to share them everywhere"
  },
  {
    "sha": "7c4822bc",
    "subject": "shelley: resume in-flight conversations after an upgrade restart"
  },
  {
    "sha": "96950c8d",
    "subject": "shelley/ui: show a running tool's streaming output in its pill"
  },
  {
    "sha": "4a988489",
    "subject": "shelley: measure the cwd notice against the LLM request, not the last one"
  },
  {
    "sha": "9c96638c",
    "subject": "shelley: actually tell the agent when the user moves the directory"
  },
  {
    "sha": "48bfcc36",
    "subject": "shelley: make the status readout's three segments real controls"
  },
  {
    "sha": "22fe1265",
    "subject": "shelley: add end-of-turn-only conversation view"
  },
  {
    "sha": "1d4cbe79",
    "subject": "shelley: carry conversation participants in the conversation list"
  },
  {
    "sha": "5c2cce31",
    "subject": "shelley/ui: cache rendered markdown HTML per immutable Message, not by text"
  },
  {
    "sha": "bc7c67ab",
    "subject": "shelley/ui: defer offscreen completed tool cards"
  },
  {
    "sha": "85b01798",
    "subject": "shelley/server: fix lorem generator's mismatched created_at vs. synthetic tool timestamps"
  },
  {
    "sha": "64ec83d8",
    "subject": "shelley/ui: preserve hot-cache scroll restoration"
  },
  {
    "sha": "f90308a0",
    "subject": "shelley/ui: reduce Safari conversation render overhead"
  },
  {
    "sha": "4a938a9b",
    "subject": "shelley/ui: surface cached conversation load progress"
  },
  {
    "sha": "cae0cb58",
    "subject": "Ghost favicon while conversation is busy"
  },
  {
    "sha": "c632ed3d",
    "subject": "shelley: harden UI dependency installs"
  },
  {
    "sha": "7c1ddb94",
    "subject": "shelley: add request-integration skill"
  },
  {
    "sha": "cd1ddc3b",
    "subject": "shelley/ui: add image thumbnails to conversation TOC"
  },
  {
    "sha": "914fdac4",
    "subject": "shelley: retry plain-text Responses gateway errors"
  },
  {
    "sha": "2af7407e",
    "subject": "shelley/ui: click an image to comment on regions of it"
  },
  {
    "sha": "32682e1a",
    "subject": "shelley/ui: give every overflow-menu action a keyboard shortcut"
  },
  {
    "sha": "9342afa7",
    "subject": "shelley: hide ChatGPT citation markers from clients"
  },
  {
    "sha": "4f727c22",
    "subject": "shelley: fix Advanced Settings popover clipping off-screen"
  },
  {
    "sha": "55d71695",
    "subject": "shelley: replace the context usage bar with a status readout"
  },
  {
    "sha": "65100bbe",
    "subject": "shelley: serve markdown-linked images from outside the workspace"
  },
  {
    "sha": "85d191a0",
    "subject": "shelley: use first ready model as default"
  },
  {
    "sha": "13e26422",
    "subject": "shelley/ui: stop a sibling tab's IndexedDB write from hanging other tabs"
  },
  {
    "sha": "06f07a74",
    "subject": "shelley: demote sonnet-5 to tier 2"
  },
  {
    "sha": "6fa243e0",
    "subject": "shelley/ui: stop multi-tab Safari hanging forever on \"Loading conversation\u2026\""
  },
  {
    "sha": "9a1de79d",
    "subject": "shelley: point the Gemini client test at a served model"
  },
  {
    "sha": "12230066",
    "subject": "shelley/ui: refresh the custom-model autocomplete suggestions"
  },
  {
    "sha": "86813fce",
    "subject": "shelley: drop the Gemini 3 Pro thinking clamp"
  },
  {
    "sha": "c4cdb037",
    "subject": "shelley: register Gemini 3.1 Pro and Gemini 3.6 Flash"
  },
  {
    "sha": "7d513cdb",
    "subject": "shelley: unregister gemini-3-pro-preview"
  },
  {
    "sha": "52591e65",
    "subject": "shelley: drop gpt-5.1-codex and gpt-5.2-codex"
  },
  {
    "sha": "16045894",
    "subject": "shelley: drop glm-5p1"
  },
  {
    "sha": "a087bc05",
    "subject": "shelley: fix serve-test, which passed the removed -model flag"
  },
  {
    "sha": "67d74cd0",
    "subject": "shelley/subpub: deliver messages published out of order"
  },
  {
    "sha": "c5cc3c5f",
    "subject": "shelley: read the IndexedDB message cache; record slug cost by appending"
  },
  {
    "sha": "b8bc5b1b",
    "subject": "shelley: explain the no-models state instead of inventing a model id"
  },
  {
    "sha": "ef0b5a4b",
    "subject": "shelley/ui: move commit actions above the message body in the git graph"
  },
  {
    "sha": "c320b412",
    "subject": "shelley: honor shelley.json default_model"
  },
  {
    "sha": "21cdd4b8",
    "subject": "shelley/llm/ant: default system block type to \"text\""
  },
  {
    "sha": "45d72b02",
    "subject": "shelley/modelsources: try default LLM integration when reflection fails"
  },
  {
    "sha": "356059bc",
    "subject": "shelley: keep autoscroll pinned while pierre diffs hydrate"
  },
  {
    "sha": "b7d5d867",
    "subject": "shelley: accept configured exe environment"
  },
  {
    "sha": "4e8ecee2",
    "subject": "shelley/ui: truncate collapsed thinking preview at line edge"
  },
  {
    "sha": "9972b510",
    "subject": "shelley: inject subagent completions into the parent's running turn"
  },
  {
    "sha": "2c95b02a",
    "subject": "shelley: show full commit stack above merge-base in diff viewer"
  },
  {
    "sha": "e3e52cae",
    "subject": "shelley: record indirect LLM usage on messages and surface \"other\" costs"
  },
  {
    "sha": "e4731375",
    "subject": "shelley/modelsdev: refresh models.dev snapshot for Kimi K3"
  },
  {
    "sha": "a282730f",
    "subject": "shelley: rename kimi-3-fireworks to kimi-k3-fireworks, add tier shadowing"
  },
  {
    "sha": "7ec82005",
    "subject": "shelley: make the e2e suite fast enough to shard, and fix three flakes"
  },
  {
    "sha": "a999fa2b",
    "subject": "shelley: add edit/comment mode toggle to the file editor modal"
  },
  {
    "sha": "5fa7af66",
    "subject": "shelley: add kimi 3 fireworks model to built-in catalog"
  },
  {
    "sha": "2d373c9c",
    "subject": "shelley: fall back to preferred cheap models for slug generation"
  },
  {
    "sha": "e3eb8cd7",
    "subject": "shelley/templates/go: fix 'make clean' and srv.service binary path"
  },
  {
    "sha": "a46d459d",
    "subject": "shelley: drop Fireworks qwen3p7-plus (no longer serverless)"
  },
  {
    "sha": "889f04ea",
    "subject": "shelley/ui: widen version modal so changelog subjects stop wrapping"
  },
  {
    "sha": "6d5dfa51",
    "subject": "shelley/modelsources: prefer OpenAI wire APIs over anthropic_messages"
  },
  {
    "sha": "954174a3",
    "subject": "shelley ui: simplify overflow menu, add Edit File item"
  },
  {
    "sha": "f318b968",
    "subject": "shelley/ui: deflake model-picker wrap test by pinning the cwd"
  },
  {
    "sha": "8ceaef23",
    "subject": "shelley/ui: persist drawer collapse preference across reloads"
  },
  {
    "sha": "4a3f3ce1",
    "subject": "shelley/ui: inject tool progress instead of prop-drilling it"
  },
  {
    "sha": "f4f44fcc",
    "subject": "shelley/ui: add performance-hud recomputation counters and overlay"
  },
  {
    "sha": "78791802",
    "subject": "shelley: live subagent activity in tool widgets and drawer badge"
  },
  {
    "sha": "bb5c2ab5",
    "subject": "shelley: cut test suite wall time ~3x (244s -> 88s)"
  },
  {
    "sha": "314d25cd",
    "subject": "shelley: cache-bust commits.json fetch; distinguish changelog errors in UI"
  },
  {
    "sha": "f07189f7",
    "subject": "shelley/llm/ant: detect adaptive thinking by version threshold, not allowlist"
  },
  {
    "sha": "d7aa9e4d",
    "subject": "shelley: add Cmd+Shift+P fuzzy file finder to edit arbitrary files"
  },
  {
    "sha": "c8fb08a3",
    "subject": "shelley/ui: fix transparent queue menu (undefined --bg-primary var)"
  },
  {
    "sha": "c6cd5066",
    "subject": "shelley/ui: don't misread container-growth scroll clamps as user scroll-ups"
  },
  {
    "sha": "6e446d29",
    "subject": "shelley: shrink empty side of diff view for new/deleted files"
  },
  {
    "sha": "de3f2de4",
    "subject": "shelley: correct claude-opus-5 knowledge cutoff to May 2026"
  },
  {
    "sha": "1914f4bb",
    "subject": "shelley: add claude-opus-5 as selectable model"
  },
  {
    "sha": "754c6385",
    "subject": "server: add /debug/loremipsum and /debug/histograms perf tooling"
  },
  {
    "sha": "ddd67395",
    "subject": "shelley: unnest error handling"
  },
  {
    "sha": "4bff3c95",
    "subject": "shelley/ui: wrap mobile setup controls as needed"
  },
  {
    "sha": "63c3622a",
    "subject": "shelley/ui: tildify new-conversation cwd"
  },
  {
    "sha": "290aef85",
    "subject": "shelley/ui: align composer controls with textarea"
  },
  {
    "sha": "518b8e6a",
    "subject": "shelley/ui: align app bars and collapse sparse drawer"
  },
  {
    "sha": "3f0057da",
    "subject": "shelley/ui: fix chat not following / stranding scroll button on reload (#245)"
  },
  {
    "sha": "3ab1160d",
    "subject": "shelley/ui: redesign model selector as one unified, quieter control"
  },
  {
    "sha": "4ca1fee5",
    "subject": "shelley: compress HTML shell and model catalog"
  }
]