Repository navigation
Closed
Labels
coil-syncUpstream sync needs a human/agentUpstream sync needs a human/agent
Description
Automated daily upstream sync could not complete.
Result: conflict
Recovery tag: coil/last-good-20261113-154752
Run: https://github.com/radroid/t3code/actions/runs/43455759155
status JSON
{
"kind": "daily",
"result": "conflict",
"upstream_range": "f313d0a6cb fix(server): stop device daemon alongside slow hub shutdown (#33566)\n9a35ab0afe fix(mobile): iOS terminal font and theme changes no longer replay output (#36115)\n8610b31ee8 fix(server): Codex usage answering after three seconds is no longer dropped (#36189)\n095611d1b5 fix(mobile): a sub-agent opened from its parent on a narrow iPad keeps Back (#36175)\nc7a3f02e38 fix(desktop): Local environment off survives an unreadable value in desktop-settings.json (#36168)\n2d8a843e6b perf(server): shell reads of a worktree or family no longer parse every thread payload (#36146)\n4aec277f79 fix(server): t3_queue and handoff analytics no longer read a thread's whole history (#36130)\n08be7829df fix(server): a link forgotten mid-resolve says it is not linked (#36132)\n7903b487ba fix(acp): Copilot runs end when its reply is done, not when its async shells exit (#36122)\nfa9d85fad5 fix(web): a server updated with the app reconnects as soon as it is ready (#35327)\na044f0c0b3 fix(mobile): a final answer followed by more work in the same run stays visible (#36116)\ned7e5010ba fix(web): terminal \"Add to chat\" now adds to a queued message being edited (#36117)\n21b0b7a057 fix(composer): keep reviews from different Git hosts in suggestions (#36104)\n10fbff5ab6 fix(server): deferred-steer check and queued cancel no longer read a thread's whole history (#36100)\nbd7d264401 fix(server): a fresh-session scheduled run no longer takes over the thread's conversation (#36103)\ned05c0e43b fix(server): preview drag moves the mouse during the drag (#36096)\n74573fc29b fix(web): new project publish option tells screen readers whether it is on (#36090)\neb7e63a822 fix(server): thread reads preview linked PRs and list_thread_pull_requests pages (#35858)\n082a3e3c52 fix(web): narrow-window right panel dialog is named Workspace panel (#36085)\n5f69cac5c9 fix(web): turn diffs cut off at the size limit say changes are incomplete (#36079)\n6790f85f53 fix(web): point pairing copy at Sharing & access (#27692)\n290182dc83 fix(provider-core): Vite+ provider updates respect npm's release-age policy (#32340)\n7e1a05808a test(server): terminal checkout test waits for the refresh's last event (#36071)\n4225c9dfae fix(server): a message sent after a stopped worktree setup waits instead of running in the project checkout (#23618)\n84efa01f12 fix(desktop): AppImage quit no longer leaves zygotes running on an unmounted image (#36057)\n08544ba3e5 fix(web): open documents no longer reload after every agent command (#32693)\ne4025c8528 fix(server): reap recorded Linux Claude survivors before recovery (#22834)\n0902adcc03 fix(forgejo): tea API failures keep Gitea's reason (#32244)\ndd7918e1e2 fix(web,mobile): MCP app calls keep their tool row and result beside the app card (#33347)\nfb2e5a0128 fix(client-runtime): imported threads that never ran no longer sit in Working as Waiting (#33042)\n8cb55fa5a4 fix(web): provider rows select from anywhere in the row (#32537)\nc28c6acaf8 fix(server): a rejected non-fast-forward push explains itself under a translated Git (#35386)\n56e58a9866 fix(server): repository identity honors the gh default remote (#21574)\n31b5549f98 fix(web): pull request comment tooltips follow the Time format setting (#35396)\nb80531d6fb fix(web): PR Code tab previews images the host sends no patch for (#36056)\n38c3b56c68 docs: AGENTS.md and the FAQ list Pi, Muse Code, Kiro, and fx (#33906)\n60f70d98cd fix(scripts): scenarios reach the screen and say why they could not run (#36054)\n4596872940 perf(server): linked-thread counts update when links change instead of polling every 10s (#35865)\n5f85768394 fix(codex): image items identified by fileId are no longer dropped (#35883)\na2be070f30 fix(server): speech worker no longer segfaults when the backend dies mid-dictation (#33624)\n2dd207aabc fix(server): a decoded U+009C no longer ends an OSC string in terminal history (#36022)\nd63c0ec8eb ci: agent context budget runs are no longer cancelled by label bursts (#36049)\n3376c8da92 fix(desktop): AppImage t3 shim no longer grows the CLI compile cache on every call (#33885)\n6237824a2c fix(server): t3_thread_read results fit MCP clients' output limit (#33455)\n7179113617 fix(mobile): Android terminal resizes the engine when only the cell size changes (#36023)\n0af8be3bb1 fix(mobile): pasted images over the size limit attach instead of vanishing (#35845)\n73e49aa6cd fix(server): terminal history strips queries with embedded controls (#36027)\n1acee5b8be fix(web): terminal OSC 8 file URIs open the file they name (#36025)\n2432ee10c6 test(server): blocked pointer-file scan test waits for the unblocked read (#36031)\n431e53f322 fix(server): terminal history drops the ESC Z identity query (#36024)\nc29c26afeb fix(server): BEL inside a DCS no longer ends it in terminal history (#36020)\n2cb56cbf56 fix(web): terminal paste keeps a leading U+FEFF without bracketed paste (#36018)\n0b0a61a01f perf(server): reduce allocation while reading usage history (#36009)\nf9cadccadf fix(scripts): dev runner ignores the parent T3 server's port and host (#36019)\na32cdde062 ci: label issues from vouched and denounced authors, denounce coygeek (#36021)\n15d1ef5e09 fix(server): Stop waits for the turn to settle instead of polling (#35948)\nd06ba27166 fix(device): Simlock viewer stops retrying an ended lease and keeps its reason (#35994)\nee645553a9 test: drop Effect.scoped wrappers that @effect/vitest already applies (#35993)\ncc927400c7 fix(server): Simlock renewals no longer exceed the gateway's lease TTL cap (#35988)\n939b2884f9 fix(server): SSH device test rejects Node below agent-device's 22.12 floor (#35991)\n43ce39595b test: run clock-free live tests on TestClock (#35868)\ne018563669 fix(desktop): keep WSL distros whose names start or end with a dot or hyphen (#35971)\na621be8d15 fix(web): open code blocks and diffs follow a changed word wrap default (#35922)\nc54e5b31ce fix(cli): service.env updates keep quoted multiline values intact (#35976)\n8fe745d7af fix(server): Codex protocol records go to the log of the thread they belong to (#35975)\nb7a224c7dd perf(server): sending, editing and steering queued messages no longer read a long thread's whole history (#29521)\n0f5ecef914 fix(server): refuse a Linux service for a T3 home systemd cannot load (#35968)\n99224f098d fix(server): launcher repoints the unit the systemd manager loads (#35966)\nb2078c2d0a fix(server): service launcher keeps a T3 home that ends in a space (#35958)\n0b127678b1 fix(server): ACP threads accept a model change after their session detaches (#35951)\nff1eead6f4 fix(web): zoom shortcuts work while a desktop browser page has focus (#35947)\nec918277f0 fix(server): unchanged-worktree cleanup waits for the thread to settle or archive (#35941)\n67d91a0390 fix(server): preview_navigate returns the committed page when load is slow (#26127)\n0c4b1d8f27 fix(server): new turns wait for overlapping checkpoint file restores (#23671)\n97cfc07759 fix(preview): remote viewers recover from stalled first captures (#25381)\n0a333a69e7 fix(server): Codex shadow home shares the instance environment CODEX_HOME (#35912)\nb62e80e0a3 fix(web): copying an alert callout keeps its alert Markdown (#35932)\nbedc8658c3 fix(mobile): Files search no longer carries into another workspace (#35902)\n004f7a768f fix(server): interrupted SSH device bootstrap no longer leaks its forward (#35928)\ned5afae179 fix(acp): v2 tool updates clear nulled fields and replace raw input (#35869)\n5f7bfe565d fix(azure-devops): TF400733 throttling fails diffs as rate-limited (#35929)\n2e0bd97e86 fix(server): Force stop no longer tears down a queued follow-up that started during cleanup (#31038)\n7556047418 fix(web): copying an image with a spaced path keeps it an image (#35914)\n274474dd19 fix(server): refresh sync status after agent merges (#35919)\nafff0d3efe fix(clients): answer history no longer shows provider context from review comments (#35897)\nf5390209c2 test(server): windowed history pages are checked against the full index at the window edges (#35877)\nf39d38bcc1 fix(server): Codex question answers keep their native question id (#35886)\nbe03b93bac fix(desktop): one preview viewer or recording stopping no longer freezes the others (#31051)\n6bc3726eb3 fix(ssh): a slow reconnect no longer replaces a healthy port forward (#35874)\ne726a0898a fix(opencode): /goal clear with no goal set finishes as a no-op (#35893)\n6f108e8556 fix(codex): accept hook event names newer than the pinned protocol (#35885)\n025942d76a fix(desktop): an unreadable settings file is no longer overwritten by a bounds save (#35890)\n8a38c63706 fix(web): thread navigation shortcuts work from the terminal and macOS composer (#26433)\n496856d8d7 fix(server): migration 64 skips thread payloads that are not valid JSON (#35884)\nb23f94e4a1 fix(server): preview resize and status report the real size of desktop tabs (#32854)\n1e96606cb2 fix(client-runtime): reopened files show host edits instead of the first read (#29409)\n8a227eba4e fix(terminal): show recovery guidance when a project folder is missing (#35849)\nb1bc5ce20f fix(server): linking says why each address failed discovery (#30884)\n5e18314b88 fix(forgejo): fast-forward-only repositories can merge pull requests (#32738)\n15cf8b122c fix(acp): root tool content replacements replace streamed output (#35862)\n",
"upstream_head": "f313d0a6cb843551fb60e57a454a71e71a3a8c04\n",
"conflicted_files": "apps/server/src/sourceControl/SourceControlDiscovery.test.ts packages/source-control-core/src/server/discovery.ts pnpm-lock.yaml \n",
"culprit_commits": "62647f4d24 fix(mobile): Android sheets scroll without per-feature platform checks (#34207)\n0ca50a6f1e fix(mobile): tall iOS code blocks with long lines show their code (#33243)\ncc97303381 fix(cursor): mcp.json servers using ${workspaceFolder} now start (#24505)\n4cc6bebbac fix(desktop): nightly updates no longer depend on GitHub's tag order (#35599)\nc544c27981 fix(server): a failed Git version probe no longer advises installing Git (#35638)\naa58dc6d22 chore(deps): bump the npm_and_yarn group across 2 directories with 1 update (#33945)\nad3d60f689 fix(desktop): Nightly update checks find the newest nightly past newer preview builds (#35470)\n7b17bdbcef fix(server): file index refreshes no longer block the server on fff's lock (#35460)\n",
"failing_step": "\n",
"patch_manifest": "d637fa07a4 fix(coil): upstream's slow-CLI discovery tests follow the fork's available status\nec8acc304b chore(coil): the PWA manifest uses upstream's web icons\nb27b88ada4 fix(coil): desktop heap headroom reads NODE_OPTIONS through HostProcess.Environment\n65bd4513cc build(coil): typecheck the update relay through effect-tsgo like upstream's infra\ne46d544a36 chore(coil): merge upstream/main 12ec17ce4c (494 commits) (#217)\nd6dbacdc7a test(coil): provide CoilUpdateDelivery to upstream's DesktopApp startup test\na7c4da6094 docs(coil): the discovery seam keeps only its status line after upstream #21606\n06d7231930 fix(coil): fork clone and Azure discovery tests follow the merged upstream\nde1789d3ba fix(coil): the daily sync installs before verify when a merge changes dependencies\nd0a53da1cb ci(coil): the daily sync's merge commit skips authoring hooks\n0d3d6e6844 fix(coil): knip:check passes on the fork\n844108a6f4 fix(coil): update toast effects use upstream's renamed effect lint rule\n0e8d251a02 ci(coil): skip the one upstream server test git 2.56 breaks\n1d2842182d fix(coil): the update toast says why each of its effects exists\n68c43cb522 fix(coil): fork comments fit upstream's four-line comment cap\n6667ba026b fix(coil): point fork clone code at upstream's forge definitions\n7085f2ca07 fix(coil): fork copy passes upstream's no-em-dash lint rule\n56d34883f2 fix(deps): pin eight security fixes upstream's ranges already allow (#194)\n5b57b1e473 ci(coil): desktop tests no longer race Electron's download (#195)\n5026317e6e fix(coil): a clone that fails over SSH and HTTPS says the shared cause once\n3ac51f7d99 chore(coil): the app is called T3 Code again\nb00ea1f567 ci(coil): each upstream sync lands as a PR that says what changed for users\ne9b1842e8d ci(coil): web tests get Chromium and upstream's release repository\n8aab919b0b docs(coil): repoint the seam ledger at 67c0fc0cda\nc94c9b29a6 fix(coil): upstream's new Linux URL handler test uses the fork's app name\n9338847968 fix(coil): hosted pages name and link the fork's desktop app\nc49a622173 fix(coil): install instructions follow upstream's Alpha to Beta rename\nf7a33471f2 fix(coil): fork code passes upstream's prefer-effect-fn lint rule\nf0f7bae650 fix(coil): fork code passes upstream's new comment and memo lint rules\ne1f1a870dd ci(coil): the daily sync re-resolves a lockfile-only conflict\nc16d3e35c3 chore(coil): prune security pins upstream already covers\n98cd4a0840 chore(coil): mount the update toast outside __root.tsx\n1ae2f5c7d5 chore(coil): use upstream's mobile composer Return handling\ne1db9a3d06 docs(coil): a start page for building on the fork\n1e3e9f6064 chore(coil): retire parked and absorbed fork features\na09120ded2 docs(coil): repoint the seam ledger at 7ac952c630\n941f9fdd9e docs(coil): repoint the seam ledger at 6002c5c68c\n4faec437bd docs(coil): repoint the seam ledger at 6524a8d437\n7fb9b0166e docs(coil): re-baseline the seam ledger at 58d253231d\n7a65e076d7 fix(coil): point fork source-control code at upstream's new packages\n48c28b09d8 ci(coil): run web tests alone in the single-runner sync verifies\n31846e0650 ci(coil): split the test gate like upstream so web tests get their own runner\ne99c8a3a07 docs(coil): repoint the seam ledger at the final merge-base\n91ec07ee86 ci(coil): give the test gate room for upstream's larger server suite\nf1cd9cf359 docs(coil): re-baseline the seam ledger at cdd331b6c3\n09609366fe docs(coil-home): drop parked features from the feature list\n8652ef2a4b fix(coil): bring fork code up to the merged upstream\n23779805a8 ci(coil): install Chromium for server tests; retire the release-workflow test\na1a141261c chore(coil): park fork features built on orchestration v1\nd1e974ffa3 docs(coil): repoint the seam ledger at the final merge-base\n77505136d4 test(coil): the toggle's timing assertions read its inline transition\nafbb22d520 docs(coil): re-baseline the seam ledger for the 2026-09-28 sync\nd60080285c fix(coil): the outbox drain waits for upstream's queue to send first\n80ba53d112 docs(coil-home): carry upstream's refreshed OpenAI and OpenCode logos\na32c48020d fix(coil): fork UI passes upstream's design-system lint gate\n2edd6909e6 docs(coil): repoint the seam ledger at the final merge-base\n85cc654807 docs(coil): re-baseline the seam ledger for the 2026-09-22 sync\n2041766bee fix(coil): the offline queue releases the attachment uploads it drops\n8df97aad19 fix(deps): patch Nanoid zero-size advisory\n5379a8e499 chore(coil): Dependabot runs go green: vendored repos excluded, 38 advisories re-resolved (#155)\nfecbf70d11 fix(coil): scripts typecheck passes on effect rc.115 (#154)\n2c426238be fix(coil): the bundle gate requires only each layer's native externals\n3acc43842c chore(coil): delete inherited upstream workflows instead of disabling th\n5d3360ccc5 test(coil): the doomed-turn replay waits for the reactor's verdict, not a turn count\ndc619218ed fix(coil): the bundle gate no longer fails a good release on regex quotes or JXA imports\n4b5c186a4f chore(deps): keep the astro 7.2.8 bump lock-only and inside the release-age policy\n3c3db729a4 chore(deps): resolve the lockfile for sharp 0.35.4 in /scripts\n4fae7d5d14 fix(coil): give http_ece a license notice so the desktop build passes\nfdada32d42 chore(deps): bump astro from 7.2.0 to 7.2.8\n0f95375822 chore(deps): bump sharp from 0.34.5 to 0.35.4 in /scripts\na068bb6de3 docs(coil): re-baseline the seam ledger for the 2026-09-12 sync\na81b3bd933 chore(coil): keep two seams additive after the merge\na0de8ee9db test(coil): the pre-ready desktop entry carries the fork's app name\nae3329145d ci(coil): install libsecret on Linux runners and the renamed Spectre component\nb8b4cb6130 fix(coil): crash recovery leaves prepared restart continuations alone\n2eec9cf7da fix(coil): read Claude rate-limit rejections from the runtime warning\ne0438aaec1 fix(coil): queued messages carry structured context like a normal send\nc2207685fe fix(coil): follow the Effect rc.112 and TypeScript 7 toolchain bumps\n89d522523d fix(coil): one failed auto-resume fire no longer aborts the tick\naefebcff3c test(coil): replay the #118 spend-limit payloads through the auto-resume classifier\nc48265fe4b test(coil): auto-resume tests wait on receipts, never on scheduler turns\n86054c7cb1 fix(server): classify Azure DevOps \"not authorized\" failures as authentication\n8391a6a32a fix(coil): the update toast's build age advances while the toast is visible\n8ed54891d1 test(coil): loops \u2014 tests wait on receipts, never on scheduler turns\n1c1af59ee0 feat(coil): loops \u2014 the supervisor announces what it did\n5c6b6f37aa perf(coil): loops \u2014 pruning happens when a run ends, not on every write\nb147969270 fix(coil): loops \u2014 the test harness never moves the clock on its own\naafdeed80f fix(coil): loops \u2014 one store read per tick, and a harness that waits for the answer\n8e998c5fbe fix(coil): loops \u2014 the console tells the truth about what it is showing\n588780000c fix(coil): loops \u2014 bound the state file and close the route and toolkit holes\n97de6179cf fix(coil): loops \u2014 install the adapter hooks in production and correct the decision table\n8f07eb7783 docs(coil): format the loops prototypes and rebuild the report\nabf29cfd75 fix(coil): loops \u2014 one store instance and loop_done wired across phases\n55dcd248e1 docs(coil): ledger totals for the loops seam row\n9397ad2d57 feat(coil): loops \u2014 the reactor, wired in (Phase 2)\n1ef7a6f929 feat(coil): loops \u2014 raise_blocker, loop_status and loop_done (Phase 5)\n3f15ffe717 docs(user): loops\nf16916d41d feat(coil): loops \u2014 Settings \u2192 Loops (Phase 4)\nb63e34b3e9 feat(coil): loops \u2014 the console overlay and the answer route (Phase 3)\ncc268cb685 docs(coil-home): the site no longer promises a daily rebase\n",
"detail": "merge aborted; working tree restored\n"
}▶ To fix: comment @claude resolve on this issue (or run the coil sync resolve (agent) workflow). An agent replays the merge, resolves the conflicts, runs typecheck/lint/test, and opens an ordinary PR for review — nothing is pushed to main. Runbook: docs/coil/sync-agent-runbook.md.
Metadata
Metadata
Assignees
Labels
coil-syncUpstream sync needs a human/agentUpstream sync needs a human/agent
Activity
radroid commentedon Nov 13, 2026
Landed as a merge commit in #239 (f994014). The conflicts were in source-control discovery and the lockfile. The web test job now runs in two shards, because one headless Chromium kept dropping late in the run on these runners.