{
"kind": "daily",
"result": "conflict",
"upstream_range": "1de563c14 feat(devices): offer manual updates in tool version details (#12877)\nb379b5b14 test(web): remove redundant favicon test (#12856)\n1eeeabb26 fix(mobile): use a proper pull request icon on iOS (#12855)\n5781b5240 feat(web): undo settle, snooze and archive, with a mod+z shortcut (#12848)\n6b0a04ade fix(web): offer undo after unpinning a thread (#10744)\nf391b88c3 fix(web): move sidebar shelves as one block (#11772)\n30e3649c3 fix(web): match thread notification icons to sidebar status (#12806)\n790be6d75 fix(devices): safely reclaim obsolete managed tool versions (#12819)\n61b25b88d feat(devices): add read-only update discovery and remote ownership (#12818)\n3b836f994 feat(devices): show automatic update progress and host retry (#12817)\n5c5fa5ffb feat(devices): show installed and running tool versions per host (#12816)\n6cc7f7006 fix(web): keep composer controls visible while they fit (#12837)\na6cb1dd20 fix(mobile): keep the source worktree when starting a thread on a branch (#12623)\na4bc7deb9 fix(web): dismiss composer suggestions with Escape (#12836)\na9ab9049b feat(web): show the pull request refresh spinning in the detail header (#12833)\ndca84efb5 fix(web): paste markdown with inline code inside bold, italic, or strikethrough (#12290)\nf7efb5354 feat(web): truncate branch names and paths in the middle (#12805)\n2efb8178d fix(clients): keep backslashes in copied Codex citations (#12243)\n411da2a73 feat(web): use the linked pull request row layout on the pull requests page (#12536)\n58f89818e fix(server): tolerate shutting down an iOS simulator that is already off (#12807)\n051a4057a fix(web): device Reconnect starts one stream instead of two (#12808)\n2b178231e fix: allow more attachments without raising the image payload budget (#12620)\n1ba471a37 chore(server): bump device tooling versions (#12809)\n9f73ca367 fix(devices): recover simulator streams after failures (#12639)\nf4d979a6c fix(web): only show notice details when text is clipped (#12760)\nc789cd174 fix(web): skip image inline chip when composer is empty (#12528)\n67285e4b8 fix(web): route keyboard submit through the primary worktree action (#12526)\n584450a1f fix(web): compact the worktree setup glass popover (#12802)\n933492470 fix(web): pull request chips share the link hover preview (#12719)\nadcd90858 fix(web): allow full contrast in assistant replies (#12405)\nf6cc6bc7e fix(mobile): respect word wrap in diffs (#12590)\n45e06f48a fix: composer hero reads project name to screen readers (#12397)\n2d8f9a8f5 fix(web): keep the timeline still when the resting composer expands (#12771)\n5d9e27a59 fix(web): render citations in queued messages (#12403)\n3cfebf4aa fix(web): keep portaled menus clickable over Electron drag regions (#12527)\n7ade2d2c6 fix(web): the Run on / Workspace menu closes after a pick (#12685)\n55c24273a fix(desktop): align preview recording cursors and show input feedback (#12779)\n6a699f0f2 fix(web): stabilize pull request loading layout (#12721)\n9f0c9f725 fix(web): reuse current PR status in the sidebar (#12545)\nead1dee22 fix(web): explain what enabling network access means in its confirmation (#10098)\nfa1e17155 refactor(observability): hold OTLP export settings per signal (#12657)\nc14f6015b fix(web): keep narrow chat headers readable and aligned (#12453)\n0ff87f251 fix(web): keep citation comment when popover is dismissed (#10831)\n",
"upstream_head": "1de563c1491c7d82563e4553bf5bf689ce6adbb9\n",
"conflicted_files": "apps/desktop/src/ipc/channels.ts \n",
"culprit_commits": "55c24273a fix(desktop): align preview recording cursors and show input feedback (#12779)\n",
"failing_step": "\n",
"patch_manifest": "5379a8e49 chore(coil): Dependabot runs go green: vendored repos excluded, 38 advisories re-resolved (#155)\nfecbf70d1 fix(coil): scripts typecheck passes on effect rc.115 (#154)\n2c426238b fix(coil): the bundle gate requires only each layer's native externals\n3acc43842 chore(coil): delete inherited upstream workflows instead of disabling th\n5d3360ccc test(coil): the doomed-turn replay waits for the reactor's verdict, not a turn count\ndc619218e fix(coil): the bundle gate no longer fails a good release on regex quotes or JXA imports\n4b5c186a4 chore(deps): keep the astro 7.2.8 bump lock-only and inside the release-age policy\n3c3db729a chore(deps): resolve the lockfile for sharp 0.35.4 in /scripts\n4fae7d5d1 fix(coil): give http_ece a license notice so the desktop build passes\nfdada32d4 chore(deps): bump astro from 7.2.0 to 7.2.8\n0f9537582 chore(deps): bump sharp from 0.34.5 to 0.35.4 in /scripts\na068bb6de docs(coil): re-baseline the seam ledger for the 2026-09-12 sync\na81b3bd93 chore(coil): keep two seams additive after the merge\na0de8ee9d test(coil): the pre-ready desktop entry carries the fork's app name\nae3329145 ci(coil): install libsecret on Linux runners and the renamed Spectre component\nb8b4cb613 fix(coil): crash recovery leaves prepared restart continuations alone\n2eec9cf7d fix(coil): read Claude rate-limit rejections from the runtime warning\ne0438aaec fix(coil): queued messages carry structured context like a normal send\nc2207685f fix(coil): follow the Effect rc.112 and TypeScript 7 toolchain bumps\n89d522523 fix(coil): one failed auto-resume fire no longer aborts the tick\naefebcff3 test(coil): replay the #118 spend-limit payloads through the auto-resume classifier\nc48265fe4 test(coil): auto-resume tests wait on receipts, never on scheduler turns\n86054c7cb fix(server): classify Azure DevOps \"not authorized\" failures as authentication\n8391a6a32 fix(coil): the update toast's build age advances while the toast is visible\n8ed54891d test(coil): loops \u2014 tests wait on receipts, never on scheduler turns\n1c1af59ee feat(coil): loops \u2014 the supervisor announces what it did\n5c6b6f37a perf(coil): loops \u2014 pruning happens when a run ends, not on every write\nb14796927 fix(coil): loops \u2014 the test harness never moves the clock on its own\naafdeed80 fix(coil): loops \u2014 one store read per tick, and a harness that waits for the answer\n8e998c5fb fix(coil): loops \u2014 the console tells the truth about what it is showing\n588780000 fix(coil): loops \u2014 bound the state file and close the route and toolkit holes\n97de6179c fix(coil): loops \u2014 install the adapter hooks in production and correct the decision table\n8f07eb778 docs(coil): format the loops prototypes and rebuild the report\nabf29cfd7 fix(coil): loops \u2014 one store instance and loop_done wired across phases\n55dcd248e docs(coil): ledger totals for the loops seam row\n9397ad2d5 feat(coil): loops \u2014 the reactor, wired in (Phase 2)\n1ef7a6f92 feat(coil): loops \u2014 raise_blocker, loop_status and loop_done (Phase 5)\n3f15ffe71 docs(user): loops\nf16916d41 feat(coil): loops \u2014 Settings \u2192 Loops (Phase 4)\nb63e34b3e feat(coil): loops \u2014 the console overlay and the answer route (Phase 3)\ncc268cb68 docs(coil-home): the site no longer promises a daily rebase\n02f3b2cec docs(coil): the sync runbook and specs for a merge-based sync\ncfd948fe6 ci(coil): sync upstream by merging, not rebasing\n5caa9afa0 feat(coil): loops \u2014 the sentinel and the HTTP API (Phases 1\u20132)\n252ed85be feat(coil): loops \u2014 the pure decision table and guards (Phase 2)\n8af8a1fd0 feat(coil): loops \u2014 record the agent's own scheduled wakes and pending questions (Phase 1)\nea836a96e feat(coil): loops \u2014 the durable record, config and cron parse (Phase 1 foundation)\nffef26c1b docs(coil): resolve the #125 review findings and verify the plan's assumptions\n7ca73fa6d refactor(coil): isClaudeThread accepts a thread shell\n368b7b368 refactor(coil): one scope-auth helper for every fork route\n93c1e67b8 docs(coil): re-baseline the seam ledger against the 2026-09-02 merge-base\ndcf49a1c1 fix(mobile): Return no longer submits while dictation freezes the composer\n3bdf109e2 fix(coil): report the DPoP failure reason on the auto-resume route\n88d5e2421 fix(coil): a server auto-settle must not destroy an armed auto-resume\n5ac7b67f4 fix(web): the queue path counts file attachments, not just images\naab748d91 fix(coil): re-home the outbox idle gate upstream deleted with canSettle\n55ef32cd2 fix(coil): drop the pre-rename fork-seam import the rebase left behind\n50f65243a chore(deps): regenerate the lockfile against the 2026-09-02 upstream tree\nd96d6da07 test(coil): wait for the collided arm to be destroyed instead of looking once\nd029a8377 fix(coil): stop the fork's boot reconcile from swallowing upstream's orphan pass\nd9defcd55 docs(coil): re-baseline the seam ledger against the 2026-08-27 merge-base\nd6ba8b8e6 test(coil): provide the services upstream's orphaned-session reconcile now needs\ne7b51fbd1 docs(coil): Loops \u2014 design, prototypes and implementation plan (#42, #38 residue) (#120)\n178ed120f fix(coil): a turn that died inside the closed window isn't advancement (#121)\n8ebb3b3ba docs(coil): repoint the ledger at the final merge-base\naa9d1eff8 docs(coil): re-baseline the seam ledger against the 2026-08-17 merge-base\na216210a8 test(web): reconcile upstream's new running-send assertion with the fork's steer label\n9fcf81f4b test(coil): carry the app rename onto upstream's new DMG title assertion\n096d2cc53 fix(coil): migrate the update toast off the native title tooltip\n094d0abde docs(coil): fix seam-ledger rows the #71 rename left pointing at t3x names (#116)\na4a5098fd fix(coil): the verify gate must not require Bun-runtime imports the shipped app cannot reach (#107)\n470816d96 fix(coil): verify every packaged layer, and fail on layers the gate cannot see (#102) (#106)\n9bdd817b2 docs(coil): re-measure the seam ledger on the landing branch\nc6ad39389 fix(coil): drop a stray blank seam line the rebase left in ThreadComposer\ne49d1369d fix(web): surface enqueue failures as a toast, not the maskable error banner\n2aad2f7a1 docs(coil): re-baseline the seam ledger against the 2026-08-14 merge-base\n40b271d32 fix(server): name why a clone failed, and which provider it was\nf616ba3aa fix(coil): stop shipping upstream's update feed, which we never actually disabled\nf659ea8dd fix(coil): restore the release, and make two of its checks capable of failing\n51ee891dc fix(coil): publish a canonical Latest release, and re-arm retention\n723f95941 docs(coil): design a canonical Latest release for the fork\nf751f0a01 fix(coil): tell the truth about the one macOS prompt an update raises\ne0e8e22ff perf(coil): halve the desktop release bundle (#53)\n0602eef1c docs(coil): re-baseline the ledger for the sidebar wordmark row\nf404119d0 feat(coil): finish the app rename at the surfaces that name the app (#71)\n4c57838a2 docs(coil): repoint two ledger citations at the paths #71 moved\n324f88ca5 refactor(coil): retire the local desktop autobuild\n02ca4fd19 fix(coil): reach the renamed relay through a service binding (#71)\n81e6ec966 fix(coil): make --rotate emit the CI secret commands itself (#71)\n9b440b7b5 fix(coil): finish the certificate rotation and list all 47 rows in the ledger (#71)\n82db9038e chore(coil): re-record the designated requirement after the certificate rotation\nf02d7775d fix(coil): compute the build-counter offset in bash, not in an expression (#71)\ndd33f974b fix(coil): repoint the last references to moved files (#71)\nc181de9be style(coil): format the files this rename touched (#71)\neafe55a81 docs(coil): re-baseline the seam ledger and correct the runbooks (#71)\n490939a7e fix(coil): carry PRs #78 and #84 across the rename (#71)\n9426bcb8d feat(coil): move the relay, keeping the old hostname alive as a proxy (#71)\nbd8c6a5c3 feat(coil): cut the sync automation over to coil names (#71)\ne18120a1c feat(coil): move the release identity, offsetting the counter so clients keep updating (#71)\naa5bf5c8b feat(coil): rename the app to T3 Coil, with its own bundle id and certificate (#71)\n",
"detail": "merge aborted; working tree restored\n"
}
Automated daily upstream sync could not complete.
Result:
conflictRecovery tag:
coil/last-good-20260921-144027Run: https://github.com/radroid/t3code/actions/runs/35613568441
status JSON
{ "kind": "daily", "result": "conflict", "upstream_range": "1de563c14 feat(devices): offer manual updates in tool version details (#12877)\nb379b5b14 test(web): remove redundant favicon test (#12856)\n1eeeabb26 fix(mobile): use a proper pull request icon on iOS (#12855)\n5781b5240 feat(web): undo settle, snooze and archive, with a mod+z shortcut (#12848)\n6b0a04ade fix(web): offer undo after unpinning a thread (#10744)\nf391b88c3 fix(web): move sidebar shelves as one block (#11772)\n30e3649c3 fix(web): match thread notification icons to sidebar status (#12806)\n790be6d75 fix(devices): safely reclaim obsolete managed tool versions (#12819)\n61b25b88d feat(devices): add read-only update discovery and remote ownership (#12818)\n3b836f994 feat(devices): show automatic update progress and host retry (#12817)\n5c5fa5ffb feat(devices): show installed and running tool versions per host (#12816)\n6cc7f7006 fix(web): keep composer controls visible while they fit (#12837)\na6cb1dd20 fix(mobile): keep the source worktree when starting a thread on a branch (#12623)\na4bc7deb9 fix(web): dismiss composer suggestions with Escape (#12836)\na9ab9049b feat(web): show the pull request refresh spinning in the detail header (#12833)\ndca84efb5 fix(web): paste markdown with inline code inside bold, italic, or strikethrough (#12290)\nf7efb5354 feat(web): truncate branch names and paths in the middle (#12805)\n2efb8178d fix(clients): keep backslashes in copied Codex citations (#12243)\n411da2a73 feat(web): use the linked pull request row layout on the pull requests page (#12536)\n58f89818e fix(server): tolerate shutting down an iOS simulator that is already off (#12807)\n051a4057a fix(web): device Reconnect starts one stream instead of two (#12808)\n2b178231e fix: allow more attachments without raising the image payload budget (#12620)\n1ba471a37 chore(server): bump device tooling versions (#12809)\n9f73ca367 fix(devices): recover simulator streams after failures (#12639)\nf4d979a6c fix(web): only show notice details when text is clipped (#12760)\nc789cd174 fix(web): skip image inline chip when composer is empty (#12528)\n67285e4b8 fix(web): route keyboard submit through the primary worktree action (#12526)\n584450a1f fix(web): compact the worktree setup glass popover (#12802)\n933492470 fix(web): pull request chips share the link hover preview (#12719)\nadcd90858 fix(web): allow full contrast in assistant replies (#12405)\nf6cc6bc7e fix(mobile): respect word wrap in diffs (#12590)\n45e06f48a fix: composer hero reads project name to screen readers (#12397)\n2d8f9a8f5 fix(web): keep the timeline still when the resting composer expands (#12771)\n5d9e27a59 fix(web): render citations in queued messages (#12403)\n3cfebf4aa fix(web): keep portaled menus clickable over Electron drag regions (#12527)\n7ade2d2c6 fix(web): the Run on / Workspace menu closes after a pick (#12685)\n55c24273a fix(desktop): align preview recording cursors and show input feedback (#12779)\n6a699f0f2 fix(web): stabilize pull request loading layout (#12721)\n9f0c9f725 fix(web): reuse current PR status in the sidebar (#12545)\nead1dee22 fix(web): explain what enabling network access means in its confirmation (#10098)\nfa1e17155 refactor(observability): hold OTLP export settings per signal (#12657)\nc14f6015b fix(web): keep narrow chat headers readable and aligned (#12453)\n0ff87f251 fix(web): keep citation comment when popover is dismissed (#10831)\n", "upstream_head": "1de563c1491c7d82563e4553bf5bf689ce6adbb9\n", "conflicted_files": "apps/desktop/src/ipc/channels.ts \n", "culprit_commits": "55c24273a fix(desktop): align preview recording cursors and show input feedback (#12779)\n", "failing_step": "\n", "patch_manifest": "5379a8e49 chore(coil): Dependabot runs go green: vendored repos excluded, 38 advisories re-resolved (#155)\nfecbf70d1 fix(coil): scripts typecheck passes on effect rc.115 (#154)\n2c426238b fix(coil): the bundle gate requires only each layer's native externals\n3acc43842 chore(coil): delete inherited upstream workflows instead of disabling th\n5d3360ccc test(coil): the doomed-turn replay waits for the reactor's verdict, not a turn count\ndc619218e fix(coil): the bundle gate no longer fails a good release on regex quotes or JXA imports\n4b5c186a4 chore(deps): keep the astro 7.2.8 bump lock-only and inside the release-age policy\n3c3db729a chore(deps): resolve the lockfile for sharp 0.35.4 in /scripts\n4fae7d5d1 fix(coil): give http_ece a license notice so the desktop build passes\nfdada32d4 chore(deps): bump astro from 7.2.0 to 7.2.8\n0f9537582 chore(deps): bump sharp from 0.34.5 to 0.35.4 in /scripts\na068bb6de docs(coil): re-baseline the seam ledger for the 2026-09-12 sync\na81b3bd93 chore(coil): keep two seams additive after the merge\na0de8ee9d test(coil): the pre-ready desktop entry carries the fork's app name\nae3329145 ci(coil): install libsecret on Linux runners and the renamed Spectre component\nb8b4cb613 fix(coil): crash recovery leaves prepared restart continuations alone\n2eec9cf7d fix(coil): read Claude rate-limit rejections from the runtime warning\ne0438aaec fix(coil): queued messages carry structured context like a normal send\nc2207685f fix(coil): follow the Effect rc.112 and TypeScript 7 toolchain bumps\n89d522523 fix(coil): one failed auto-resume fire no longer aborts the tick\naefebcff3 test(coil): replay the #118 spend-limit payloads through the auto-resume classifier\nc48265fe4 test(coil): auto-resume tests wait on receipts, never on scheduler turns\n86054c7cb fix(server): classify Azure DevOps \"not authorized\" failures as authentication\n8391a6a32 fix(coil): the update toast's build age advances while the toast is visible\n8ed54891d test(coil): loops \u2014 tests wait on receipts, never on scheduler turns\n1c1af59ee feat(coil): loops \u2014 the supervisor announces what it did\n5c6b6f37a perf(coil): loops \u2014 pruning happens when a run ends, not on every write\nb14796927 fix(coil): loops \u2014 the test harness never moves the clock on its own\naafdeed80 fix(coil): loops \u2014 one store read per tick, and a harness that waits for the answer\n8e998c5fb fix(coil): loops \u2014 the console tells the truth about what it is showing\n588780000 fix(coil): loops \u2014 bound the state file and close the route and toolkit holes\n97de6179c fix(coil): loops \u2014 install the adapter hooks in production and correct the decision table\n8f07eb778 docs(coil): format the loops prototypes and rebuild the report\nabf29cfd7 fix(coil): loops \u2014 one store instance and loop_done wired across phases\n55dcd248e docs(coil): ledger totals for the loops seam row\n9397ad2d5 feat(coil): loops \u2014 the reactor, wired in (Phase 2)\n1ef7a6f92 feat(coil): loops \u2014 raise_blocker, loop_status and loop_done (Phase 5)\n3f15ffe71 docs(user): loops\nf16916d41 feat(coil): loops \u2014 Settings \u2192 Loops (Phase 4)\nb63e34b3e feat(coil): loops \u2014 the console overlay and the answer route (Phase 3)\ncc268cb68 docs(coil-home): the site no longer promises a daily rebase\n02f3b2cec docs(coil): the sync runbook and specs for a merge-based sync\ncfd948fe6 ci(coil): sync upstream by merging, not rebasing\n5caa9afa0 feat(coil): loops \u2014 the sentinel and the HTTP API (Phases 1\u20132)\n252ed85be feat(coil): loops \u2014 the pure decision table and guards (Phase 2)\n8af8a1fd0 feat(coil): loops \u2014 record the agent's own scheduled wakes and pending questions (Phase 1)\nea836a96e feat(coil): loops \u2014 the durable record, config and cron parse (Phase 1 foundation)\nffef26c1b docs(coil): resolve the #125 review findings and verify the plan's assumptions\n7ca73fa6d refactor(coil): isClaudeThread accepts a thread shell\n368b7b368 refactor(coil): one scope-auth helper for every fork route\n93c1e67b8 docs(coil): re-baseline the seam ledger against the 2026-09-02 merge-base\ndcf49a1c1 fix(mobile): Return no longer submits while dictation freezes the composer\n3bdf109e2 fix(coil): report the DPoP failure reason on the auto-resume route\n88d5e2421 fix(coil): a server auto-settle must not destroy an armed auto-resume\n5ac7b67f4 fix(web): the queue path counts file attachments, not just images\naab748d91 fix(coil): re-home the outbox idle gate upstream deleted with canSettle\n55ef32cd2 fix(coil): drop the pre-rename fork-seam import the rebase left behind\n50f65243a chore(deps): regenerate the lockfile against the 2026-09-02 upstream tree\nd96d6da07 test(coil): wait for the collided arm to be destroyed instead of looking once\nd029a8377 fix(coil): stop the fork's boot reconcile from swallowing upstream's orphan pass\nd9defcd55 docs(coil): re-baseline the seam ledger against the 2026-08-27 merge-base\nd6ba8b8e6 test(coil): provide the services upstream's orphaned-session reconcile now needs\ne7b51fbd1 docs(coil): Loops \u2014 design, prototypes and implementation plan (#42, #38 residue) (#120)\n178ed120f fix(coil): a turn that died inside the closed window isn't advancement (#121)\n8ebb3b3ba docs(coil): repoint the ledger at the final merge-base\naa9d1eff8 docs(coil): re-baseline the seam ledger against the 2026-08-17 merge-base\na216210a8 test(web): reconcile upstream's new running-send assertion with the fork's steer label\n9fcf81f4b test(coil): carry the app rename onto upstream's new DMG title assertion\n096d2cc53 fix(coil): migrate the update toast off the native title tooltip\n094d0abde docs(coil): fix seam-ledger rows the #71 rename left pointing at t3x names (#116)\na4a5098fd fix(coil): the verify gate must not require Bun-runtime imports the shipped app cannot reach (#107)\n470816d96 fix(coil): verify every packaged layer, and fail on layers the gate cannot see (#102) (#106)\n9bdd817b2 docs(coil): re-measure the seam ledger on the landing branch\nc6ad39389 fix(coil): drop a stray blank seam line the rebase left in ThreadComposer\ne49d1369d fix(web): surface enqueue failures as a toast, not the maskable error banner\n2aad2f7a1 docs(coil): re-baseline the seam ledger against the 2026-08-14 merge-base\n40b271d32 fix(server): name why a clone failed, and which provider it was\nf616ba3aa fix(coil): stop shipping upstream's update feed, which we never actually disabled\nf659ea8dd fix(coil): restore the release, and make two of its checks capable of failing\n51ee891dc fix(coil): publish a canonical Latest release, and re-arm retention\n723f95941 docs(coil): design a canonical Latest release for the fork\nf751f0a01 fix(coil): tell the truth about the one macOS prompt an update raises\ne0e8e22ff perf(coil): halve the desktop release bundle (#53)\n0602eef1c docs(coil): re-baseline the ledger for the sidebar wordmark row\nf404119d0 feat(coil): finish the app rename at the surfaces that name the app (#71)\n4c57838a2 docs(coil): repoint two ledger citations at the paths #71 moved\n324f88ca5 refactor(coil): retire the local desktop autobuild\n02ca4fd19 fix(coil): reach the renamed relay through a service binding (#71)\n81e6ec966 fix(coil): make --rotate emit the CI secret commands itself (#71)\n9b440b7b5 fix(coil): finish the certificate rotation and list all 47 rows in the ledger (#71)\n82db9038e chore(coil): re-record the designated requirement after the certificate rotation\nf02d7775d fix(coil): compute the build-counter offset in bash, not in an expression (#71)\ndd33f974b fix(coil): repoint the last references to moved files (#71)\nc181de9be style(coil): format the files this rename touched (#71)\neafe55a81 docs(coil): re-baseline the seam ledger and correct the runbooks (#71)\n490939a7e fix(coil): carry PRs #78 and #84 across the rename (#71)\n9426bcb8d feat(coil): move the relay, keeping the old hostname alive as a proxy (#71)\nbd8c6a5c3 feat(coil): cut the sync automation over to coil names (#71)\ne18120a1c feat(coil): move the release identity, offsetting the counter so clients keep updating (#71)\naa5bf5c8b feat(coil): rename the app to T3 Coil, with its own bundle id and certificate (#71)\n", "detail": "merge aborted; working tree restored\n" }▶ To fix: comment
@claude resolveon 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 tomain. Runbook:docs/coil/sync-agent-runbook.md.