Changelog
What shipped
A merge through the merge gate writes a line here and bumps the version; the ticket's labels decide how big the bump is. Newest first, each line linked to its PR. Not every merged PR appears: merges made by hand on GitHub skip this step. Current version: 0.38.2.
Generated from CHANGELOG.md on every build: 97 entries.
Nov 4, 2026v0.28.0 to v0.38.2
- v0.38.2Pipeline and merge gate: Seal Speak worktrees get the app's models from one sha-checked cache per machine, so the app builds there #1119
- v0.38.1Main is red at e46bda3: fix forward #1147
- v0.38.0GitHub's Python tests run on Linux: start at once, and Mac-only tests skip there with a reason #1135
- v0.37.1Pipeline verify timeout counts the wait for the test slot, so builds behind merges are parked without running a test #1120
- v0.37.0Publish the MARVIN site to marvin.gileskayo.me on GitHub Pages from main #1126
- v0.36.0Wire MR Review by project into the real tab (#767), with one set of project names everywhere #935
- v0.35.1Merge queue: a PR set aside as CI_PENDING comes back by itself when its checks finish #1109
- v0.35.0Accounts: live checks, expiry warnings, one alert per change, and renewal for every MARVIN credential (backend for #640) #977
- v0.34.0Workshop: one item page for a ticket and its PRs #1053
- v0.33.0Chat tabs restart onto a new Claude Code version on their own, by resume, only while idle on your turn #1096
- v0.32.0Send into a chat, safely: dashboard only, idle only, never onto a permission prompt #1095
- v0.31.0Chat list data for the dashboard: both Macs, the other Mac read-only, honest when WezTerm is down #1093
- v0.30.1Main red: the gate progress test pins the check list from before the gate ran the secret scan #1104
- v0.30.0Open session focuses the existing chat instead of opening a duplicate #1090
- v0.29.0MARVIN's WezTerm config: synced, guarded, installed on both Macs, accessible palette #1092
- v0.28.0Chat state hooks: working, waiting on you, your turn, done, without ever slowing a chat #1085
Nov 3, 2026v0.23.11 to v0.27.0
- v0.27.0Chat records: each MARVIN chat tab recorded in the existing session store, with a read-only `marvin chats list` #1084
- v0.26.0WezTerm wrapper: one place for every wezterm cli call, aimed at the right WezTerm when two run #1082
- v0.25.0Contrast checker: every MARVIN colour pair measured against the accessibility rule #1091
- v0.24.1Main red on the Mini: pipeline handover tests read live claims and runs #1089
- v0.24.0Profile parity: one facts file and one check across the site, resume, GitHub, LinkedIn and the product sites #1039
- v0.23.12Main red on the Mini: portfolio dev-site drift (brand redesign) fails main-health; outside-state checks should be named, not block merges #1049
- v0.23.11Main red on the Mini: a marvin show test hard-codes the portfolio folder the catalog guard reserves #1048
Nov 2, 2026v0.23.9 to v0.23.10
Oct 31, 2026v0.23.8
- v0.23.8Main red: two tests hard-code the Mac's home folder (after #911) #986
Oct 30, 2026v0.17.6 to v0.23.7
- v0.23.7Main red: the identity rule fails on two docstrings that name the owner (after #926 and #936) #980
- v0.23.6Portable scheduled jobs: launchd on the Macs, systemd timers on mac-mini-2012 (health-check, cleanup-sweep, usage-scan) #919
- v0.23.5Linux box: 55 test failures from Mac-only paths, BSD stat, missing pytest-timeout, gh on PATH #918
- v0.23.4Health never noticed mac-mini-2012's mirror failing for 4 days: read the box's sync state from the Mini #913
- v0.23.3The Mac mini can't see the other Macs: Tailscale lookup is app-only, and a probe that can't run reads as 'everyone offline' #890
- v0.23.2Disk keeps filling on the Mini: the cleanup can't reach GitHub over ssh, the merge gate leaks temp clones, pytest temp dirs pile up #880
- v0.23.1Docs tab: doc-relative image paths render broken, and new docs/plans files may not appear in a running app #885
- v0.23.0Build #769: nightly resets with guardrails, recovery between the M4 and 2012 minis, and a Health card #856
- v0.22.0MR Review: build the approved merge motion into the real dashboard (round 2 of #761) #855
- v0.21.0Live map: nothing moves unless something real happened; leaf nodes and links light from real activity #851
- v0.20.0Plan first, credit for overflow: builds bill the API credit only when a Mac's normal slots are busy (extra slots on the Mini) #850
- v0.19.0MR Review: blue sweep slide-out when an MR merges, and an Open | Merged split view #761
- v0.18.1bin/gh refuses Decisions the dashboard can't read (rule I2) #744
- v0.18.0Builders run on the plan's monthly API credit when the machine has an API key, and fall back to the plan when it runs out #776
- v0.17.6Screenshot gate blocks every MARVIN UI PR: images in marvin-instance are looked up in marvin (UI_EVIDENCE_UNCHECKED) #774
Oct 29, 2026v0.17.3 to v0.17.5
Oct 27, 2026v0.17.2
- v0.17.2calibrate() returns lowest labeled score instead of risk-controlled max, and tau never recalculates after new labels #703
Oct 26, 2026v0.16.4 to v0.17.1
Oct 24, 2026v0.16.1 to v0.16.3
- v0.16.3Cleanup sweep: back up leftover worktree edits to a branch, then remove the folder (Mini disk full again) #630
- v0.16.2About 40% of headless pipeline model runs exit non-zero; classify the causes and fix the top ones #598
- v0.16.1Daily digest reads real inputs: the correct bench results path and a working reviewer-log split #601
Oct 23, 2026v0.15.2 to v0.16.0
Oct 22, 2026v0.12.3 to v0.15.1
- v0.15.1Profiles with dispatch on and no machines: assign the Mini, stop calling marvin unrunnable #617
- v0.15.0Project playbooks, slice 1: iOS app playbook, profile playbook field, three profile gaps #615
- v0.14.1Ticket pipeline: honour one needs-a-person state, stop bot comments resetting the failure streak, reuse the plan across review rounds #606
- v0.14.0Show chat helper agents in the Activity tab #614
- v0.13.0Owner decisions on a PR go unanswered: flag them, then file a follow-up ticket after N hours #608
- v0.12.9Change-detector fires on ETag churn: decide 'changed' from the newest issue's content, not the ETag #604
- v0.12.8Cleanup sweep leaves du processes hung on protected folders (TCC); add timeouts and single-flight #589
- v0.12.7Main is red on two portfolio tests (project-card parity, reference templates) #588
- v0.12.6Release dead ticket claims automatically, so the queue never freezes on a run that died #582
- v0.12.5Docs: fold the Files tab into Docs (chosen layout from #562) #579
- v0.12.4main-health runs pile up (3 full test suites at once) and starve the merge gate: single-flight lock + skip docs/log-only commits #576
- v0.12.3Docs tab: stop calling GitHub on every click for projects without a local clone #571
Oct 21, 2026v0.12.0 to v0.12.2
- v0.12.2MR Review: merge progress bar (stage by stage, pushed live), and fix merges that hang or time out #569
- v0.12.1Guard: fail the build when new code polls instead of using a trigger (Triggers over polling) #559
- v0.12.0MR Review: show GitHub checks progress (N of M done, what's running, last checked) with a per-check drill-down #557
Oct 16, 2026v0.10.5 to v0.11.0
Oct 15, 2026v0.10.4
- v0.10.4code_sync push fails to merge when sync-log.md (or any file) has uncommitted edits, e.g. after the Mac sleeps mid-run #452
Oct 14, 2026v0.7.3 to v0.10.3
- v0.10.3code_sync auto-commits onto whatever branch is checked out, sweeping other sessions' WIP into PR branches #445
- v0.10.2GitHub usage: replace the sawtooth allowance line with hourly low-point bars linked to calls-per-hour (24h/7d/30d) #418
- v0.10.1A healthy no-op push never clears an earlier push failure, so Health stays stuck (yellow, then red) after the problem is fixed #439
- v0.10.0Boot sequence: hover glow + click-through to the real check (summary lines and banner) #434
- v0.9.0MARVIN Metrics app icon: celestial-navigation M on pure black (R6) #437
- v0.8.0Dashboard: celestial-navigation boot sequence with a real health verdict (port of #428 v7) #432
- v0.7.7Memory-sync block is a hard stop at the top of the session-start report, with stuck duration and refusal count #429
- v0.7.6Errors are never silent: one bounded error log per Mac, Health 'Recent errors', shown where they happen #425
- v0.7.5Pipeline screenshots: capture by attaching over CDP (Playwright launch is broken), then unstick #358/#359/#368 #424
- v0.7.4Seal Speak beta report ingest job on the Mini, summarised by device and build #413
- v0.7.3MR Review: Open | Merged toggle with full merged history and refused approvals (read-only detail) #420
Oct 10, 2026v0.4.0 to v0.7.2
- v0.7.2code-sync auto-commits a builder's half-finished edits in ~/.agents and pushes them to both Macs #398
- v0.7.1Map shows no infrastructure, and onboarding PRs close no ticket #395
- v0.7.0[Ops] Dashboard: machine resources panel (disk, memory pressure and swap, CPU, GPU) for each Mac #364
- v0.6.0Holds come back: an 'On hold' group on the board, a 'Revisit by' line, and a revisit agent #362
- v0.5.4Map snapshot test deletes the real ~/.claude/logs and health #397
- v0.5.3Pipeline screenshots pop a JavaScript error dialog: capture copy collides with the dashboard's refresh port #389
- v0.5.2Pipeline scans overlap: a busy scan lock is ignored after 120 s #388
- v0.5.1Portfolio tab: Open dev site button focuses the existing Chrome tab #378
- v0.5.0A needs-you list ranked by how much each item unblocks #371
- v0.4.0Resolve rebase conflicts cheaply before rebuilding a ticket #363
Oct 9, 2026v0.0.1 to v0.3.0
- v0.3.0Sessions on both Macs see each other's work (share the working-on list) #372
- v0.2.0Mobile backend: board, overview and MR read endpoints the phone needs to mirror the dashboard #370
- v0.1.0Onboarding opens the CI + agent-docs pull request in each project's repo, once #367
- v0.0.2Task list derived from the design doc; execution phase works from it #365
- v0.0.1MARVIN button: a second press opens a new tab in the window it already opened #376