[coil-sync] daily rebase needs attention (conflict) #123

Description

@github-actions

Automated daily upstream sync could not complete.

Result:conflict
Recovery tag:coil/last-good-20260819-082322
Run:https://github.com/radroid/t3code/actions/runs/32232293593

status JSON
{
"kind": "daily",
"result": "conflict",
"upstream_range": "2aa5f095f feat(server): run the background service on macOS via launchd (#6286)\n7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n36f4314ab fix(web): animate command palette when closing (#5169)\n67e2fe71d fix(marketing): never serve the Intel build to Apple Silicon Macs (#7477)\n3b8e7bbbe feat(web): add shortcuts to the surface dropdown (#7318)\n5ea5a80a8 fix(marketing): Safari gets the arm64 Mac download (#7473)\n324ddda31 feat(cli): npx t3 triage hands broken installs to your own coding agent (#6563)\nf21b47e52 fix(threads): a merged PR settles its thread only once (#7454)\nefcf7d1ac fix(desktop): boot the main window unthrottled so cold start paints at full speed (#7460)\ne7f6a30ca fix(server): stop probing Grok, Cursor, and OpenCode unless turned on (#7459)\nfe281c540 fix(desktop): throttle hidden preview rendering (#7445)\nbcfd48586 fix(web): improve disconnected composer placeholder (#7122)\n3a02c9cf1 feat(desktop): mute a browser tab (#7252)\n6a687ee43 fix(desktop): stop the passkey dialog from popping as soon as sign-in opens (#7437)\n636caf4c7 fix(server): avoid PRs inherited from default upstreams (#7317)\n26af903b9 fix(web): label pull request merge actions (#7381)\ndb0659fea fix(packaging): install AUR launcher icons where icon themes look (#7421)\nfda740ad7 feat(web): show project location in new thread picker (#7392)\n3b5d476eb fix(desktop): stop overwriting a custom dock icon on launch (#7125)\nf3cb7f509 fix(desktop): prevent quit shortcut spillover (#7397)\na87f691bd fix(preview): open local environment ports on localhost (#7300)\n1896f39a3 refactor(server): simplify error transformation with Effect.mapError in GitHubPullRequestCli (#7385)\n82b8a9380 fix(orchestration): do not revive idle tasks from status-free progress (#7172)\n",
"upstream_head": "2aa5f095fc3bb65c00cc4efce66a5473e2d4554a\n",
"conflicted_files": "pnpm-lock.yaml \n",
"culprit_commits": "7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n",
"failing_step": "\n",
"dropped_patches": "\n",
"patch_manifest": "8a138d6b9 fix(coil): a turn that died inside the closed window isn't advancement (#121)\n94c6328ef docs(coil): repoint the ledger at the final merge-base\n42bd20f68 docs(coil): re-baseline the seam ledger against the 2026-08-17 merge-base\n20a3c1996 test(web): reconcile upstream's new running-send assertion with the fork's steer label\n9f93cbdf1 test(coil): carry the app rename onto upstream's new DMG title assertion\nd03a452a9 fix(coil): migrate the update toast off the native title tooltip\n1668666ba docs(coil): fix seam-ledger rows the #71 rename left pointing at t3x names (#116)\n8332abec2 fix(coil): the verify gate must not require Bun-runtime imports the shipped app cannot reach (#107)\n4eb3b2551 fix(coil): verify every packaged layer, and fail on layers the gate cannot see (#102) (#106)\naa11eee84 docs(coil): re-measure the seam ledger on the landing branch\n7bdb540d1 fix(coil): drop a stray blank seam line the rebase left in ThreadComposer\n410d819f4 fix(web): surface enqueue failures as a toast, not the maskable error banner\ne3647f524 docs(coil): re-baseline the seam ledger against the 2026-08-14 merge-base\n4eab6323c chore(deps): regenerate the lockfile against the 2026-08-14 upstream tree\nd60d10dcb fix(server): name why a clone failed, and which provider it was\ncd03590c6 fix(coil): stop shipping upstream's update feed, which we never actually disabled\nf22f900a8 fix(coil): restore the release, and make two of its checks capable of failing\n8d61a6d0c fix(coil): publish a canonical Latest release, and re-arm retention\ncd8b00d58 docs(coil): design a canonical Latest release for the fork\n608dbedb4 fix(coil): tell the truth about the one macOS prompt an update raises\nab1ae630a perf(coil): halve the desktop release bundle (#53)\nc4e3e59bf docs(coil): re-baseline the ledger for the sidebar wordmark row\nc602c7f8e feat(coil): finish the app rename at the surfaces that name the app (#71)\n50cec17df docs(coil): repoint two ledger citations at the paths #71 moved\n48f620d4c refactor(coil): retire the local desktop autobuild\n9950e1623 fix(coil): reach the renamed relay through a service binding (#71)\n871e352cf fix(coil): make --rotate emit the CI secret commands itself (#71)\n5c433284d fix(coil): finish the certificate rotation and list all 47 rows in the ledger (#71)\n7d2213399 chore(coil): re-record the designated requirement after the certificate rotation\nb10f77dd6 fix(coil): compute the build-counter offset in bash, not in an expression (#71)\naf7d90be2 fix(coil): repoint the last references to moved files (#71)\n828483090 style(coil): format the files this rename touched (#71)\ne9302c732 docs(coil): re-baseline the seam ledger and correct the runbooks (#71)\nbbd4449f1 fix(coil): carry PRs #78 and #84 across the rename (#71)\nc05a67cf4 feat(coil): move the relay, keeping the old hostname alive as a proxy (#71)\ne9433a6c7 feat(coil): cut the sync automation over to coil names (#71)\n07ab5d689 feat(coil): move the release identity, offsetting the counter so clients keep updating (#71)\ne49e412eb feat(coil): rename the app to T3 Coil, with its own bundle id and certificate (#71)\n83b7d0ba9 refactor(coil): move the fork's directories and symbols off t3x (#71)\n85fb4d093 docs(coil): design the t3x -> coil rename around its four silent failures (#71)\n69005e410 fix(deps): clear the sharp and @hono/node-server advisories by re-resolution (#58) (#87)\n0863e90d7 feat(coil): put the real install steps on the download page, from one source (#72)\n81849813f feat(coil): a real link-preview card for shared URLs\n8db9622fd fix(t3x): push the sync as a workflow-scoped token, and escalate when it fails\n3ea12f2aa fix(web): steering-path leftovers from the queue transition (#40 A1-A4)\nd695f9da2 fix(t3x): stop a user message destroying a pending auto-resume\n92a0fad04 docs(t3x): note that the trusted certificate is listed twice, and why that is fine\n399edff8e docs(t3x): correct the runbook's seam claim \u2014 the bundle id spends one upstream line\n9328cd4df fix(t3x): pin the designated requirement the fork's identity produces (#70)\na4b43a3bf fix(t3x): give the fork its own bundle id, so it stops sharing TCC rows with upstream (#70)\n6a380d05d fix(t3x): sign the macOS build with a stable identity so permission grants survive updates (#70)\n38a49bf80 fix(web): an edit saved during dispatch no longer disappears (#40 A5)\n045c4f9a0 fix(t3x): derive and verify the autobuild agent's PATH, and correct the runbook interval (#41)\n1a223dc67 fix(t3x): the Windows transient-crash retry could never fire; classify on the code vp prints (#47)\n3f91cb9de docs(worklog): write down how the skill actually gets installed (#65)\nd54eb1265 fix(worklog): satisfy the repo lint rules the suite files were breaking (#65)\n5dbafda41 fix(worklog): correct the numbers the report is built on (#65)\n72ffdf856 feat(t3x): add the /worklog daily work-log skill (#65)\n8ab81860a fix(t3x): widen the release retry window past the observed 403 duration\n8579d5d9a fix(coil): stop the deploy verify step failing on Cloudflare bot mitigation\ne132dcedd fix(coil): put pnpm on PATH in the homepage deploy workflow\n282d2c422 docs(coil): fix the stale deploy-workflow pointer, note the secret is set\n2b071ae2d docs(coil): recapture the hero evidence with all five marks restored\n44c6cfd17 fix(coil): bring the hero marks back on mobile as an in-flow row\n8812438fd docs(coil): recapture mobile evidence after the collision fix\n0d0cb9904 fix(coil): stop the hero marks colliding with mobile content, equalise stacked buttons\nb2e9b06cd docs(coil): recapture the homepage evidence against coil.curlycloud.dev\nacb781d04 feat(coil): reposition the homepage as Coil, a personal fork\nc8e1ef4d0 docs(coil): design for repositioning the homepage as Coil\ncd7f44209 docs(t3x): capture homepage screenshots and a scroll-through for review\nbd15237a3 ci(t3x): pin the deploy wrangler exactly, not to a floating major\nf86ccb07d docs(t3x): record the fork homepage on the seam ledger and sync runbook\n11e11900c ci(t3x): auto-deploy the homepage to Cloudflare on push to main\nd64086e5c feat(t3x): deploy the homepage as a Cloudflare assets-only Worker\n6b6b88a7e feat(t3x): serve downloads from the fork's update-relay manifest and wire the sync strip\n6ac9e2b75 feat(t3x): rebrand the homepage copy, chrome, and fork graph\nefa9b75ae feat(t3x): strip upstream-only social proof, store links, and legal pages\nba9fcf058 feat(t3x): seed the fork homepage from apps/marketing\n8015eb3a1 docs(t3x): record before/after capture for the capsule anchor fix (#67)\n469c549c9 fix(t3x): anchor the auto-resume capsule to the composer's measured box (#67)\nfb5c7a3c2 fix(t3x): retry the relay notify, and surface DO failures as readable 503s (#66)\nffd04a581 docs(t3x): re-baseline the seam ledger against upstream v0.0.33\nb9d54cadd docs(t3x): record the mobile sendLabel mirror on the ledger\n6abdc5f35 docs(t3x): re-baseline the seam ledger against the follow-up merge-base\n199e7a365 docs(t3x): re-baseline the seam ledger against the 2026-08-08 merge-base\nc658ab16e test(t3x): retime the tolerant-budget tests to upstream's new retry ladder\n21544a016 fix(t3x): drop the settings imports upstream stopped needing\n4f792224a fix(t3x): give the crash-recovery test the registries upstream added\n8e2a59ee0 chore(deps): regenerate the lockfile against the 2026-08-08 upstream tree\n761458193 docs(t3x): archive the Loop Watch design before its branch is deleted\nf7b695f54 fix(t3x): put ~/.cargo/bin on the autobuild agent's PATH\n01e6af3b0 fix(t3x): track the composer's top edge so banners cannot cover the capsule\nfe460658c fix(t3x): align the auto-resume capsule with the composer's right edge\n721982e5d fix(t3x): put the auto-resume capsule back above the composer\nda100635d fix(t3x): pin the countdown width, spring the toggle, move the capsule top-right\n3ef7b0ec4 fix(t3x): make auto-resume teardown re-armable so StrictMode cannot kill it\ndf2184fbc feat(t3x): rebuild the auto-resume capsule and cover it with tests\nf4973f884 chore(t3x): stop Dependabot re-failing on advisories it cannot fix\nedf4681a2 fix(t3x): stop a transient 403 from discarding a whole release build\nb30c5e160 feat(t3x): verify the install actually happened, and offer to report it when it did not\n93774f4c1 fix(t3x): stop calling the Windows update a restart\nbcbc87540 Update toast: changelog-forward design, and a restart that waits for you (#55)\ne8c000d03 chore(deps): dedupe nanoid onto 3.3.17, closing the two alerts the sweep reopened\n480dc9f4b chore(deps): clear 56 of the 62 open transitive advisories in the root lockfile\nd6726d844 chore(deps): bump electron to 41.10.3, and stop Dependabot on the vendored subtrees\n9d11a3d24 docs(t3x): put the manual-install commands on the release page\ne477cebe1 fix(t3x): follow the 302 on GitHub release asset downloads\nb66655b8a fix(t3x): actually serialise the release bundle build\nd302b91e3 fix(t3x): scope ensure:electron, and refuse updates without a release counter\n72b664a71 fix(t3x): wait for the condition in the auto-resume reactor tests\n0bb7b9749 Update delivery: CI builds, relay pushes, the app offers a restart (#51)\n1d0b23deb ci(t3x): raise the hook timeout alongside the test timeout\n97aca166f docs(t3x): remeasure the seam ledger against the 2026-08-02 merge-base\n4ffe2fb45 fix(t3x): adapt the crash-recovery startup test to upstream's new startup internals\na9a41518e fix(web): keep the queue's reorder controls usable, and leave a dispatch trail (#35)\n25dcb8d63 feat(web): steer a running turn instead of queuing behind it (#35)\necaeaf358 feat(web): make the thread outbox read as composer chrome, and let it be reordered (#35)\n93e57957f docs(t3x): point the self-reference rule at the renamed Claude doc\n55ba0e66f docs(t3x): follow upstream's rename of the Claude provider doc\nbd364eb80 docs(t3x): remeasure the seam ledger against the 2026-07-30 merge-base\n775622c42 fix(web): apply upstream's detail-loading send gate to the queue path\n9dd745a8b fix(t3x): apply the sync test-timeout to every gate, not just fork CI (#32)\n098f3c300 ci(t3x): raise the test timeout for the fork's slower runners\nb85c5bf2f docs(t3x): replace the fictional seam ledger with a measured one\n53291231b docs(providers): fix the broken Claude multi-account recipe\ne7b028a86 test(t3x): move fork settings coverage out of the upstream test file\n00c89d998 feat(t3x): auto-build from origin/main in a dedicated worktree\n8eb978833 fix(client-runtime): reset tolerant reconnect budget across a network drop\n660c07407 fix(web): address Web Push review findings (reactor priming, VAPID recovery, cleanup)\na20561a7c feat(web): closed-tab Web Push notifications (SW + PWA + server VAPID push)\n4433bf717 fix(connection): tolerate a slow-but-alive local backend + heap headroom\nce78f5d03 feat(web): queue messages while a chat is running (thread outbox)\nf4349541a ci(t3x): add fork-runnable PR/main verify gate (t3x-ci.yml)\n9616388fe docs(t3x): document how to land a sync PR (force-update, not merge button)\ncf57a2a01 fix(t3x): resolve pre-existing typecheck/lint red on fork test files\n0517aebff fix(t3x): pin sync escalation gh calls to the fork (GH_REPO)\n4344813d4 feat(t3x): on-demand agent to resolve escalated upstream-sync conflicts\n553a1bc1c fix(t3x): make sync escalation always open the t3x-sync issue\n0b37bdaca fix(mobile): iOS Shift+Return inserts a newline instead of submitting\nd99293572 feat(mobile): queue/send from the keyboard Return key\n0af137338 chore(t3x): auto-build on a 12h cadence, not every main commit\n919bcf787 fix(notifications): final-review fixes \u2014 web notification guard, desktop coalescing, draft-route suppression\nb1ec4c330 feat(web): needs-input notification setting and web permission UX\n6baf7445c feat(web): notification coordinator with platform shim and click-to-navigate\n4db1a2489 feat(desktop): native OS notification IPC with click-to-reveal activation\n31ea03c69 feat(web): add pure needs-attention tracker and suppression logic\n700ebe3ac feat(contracts): add notifyOnNeedsInput setting and DesktopBridge notification surface\nd3c561489 fix(server): reconcile crash-frozen `running` turns to interrupted on boot\n6f93675d7 test(server): cover non-spawn `--version` failure mapping to available\n473237a1f fix(server): treat slow `az --version` as present, not missing\nb0fb466ea fix(t3x): don't cancel auto-resume as thread-advanced when the limited turn settles\nca8473494 fix(t3x): auto-build fixes found running it for real\nb8b4c59b5 docs(t3x): correct which .app a default auto-build replaces\nbcdd631a8 fix(t3x): resolve adversarial-review findings in auto-build\n518a49355 fix(t3x): resolve auto-build review findings\n367c41739 fix(t3x): strip trailing newline from auto-build status JSON values\n46484b8f2 feat(t3x): auto-build & install the desktop app on change\n425277b4d fix(t3x): prototype-chain threadId corrupted the auto-resume state file\nb749fad11 test(t3x): route-level tests for /api/t3x/auto-resume\n72ed6d4eb docs(t3x): record the auto-resume UI seams\n23bb00f08 feat(t3x): per-thread auto-resume overlay in the thread view\n20b9b6bc0 feat(t3x): authenticated /api/t3x/auto-resume route\nba867fe2a feat(t3x): per-thread auto-resume switch (server state + gating)\nee5e47573 docs(t3x): design + plan for per-thread auto-resume UI (floating card)\n63a787dd2 docs(t3x): plan for auto-build + install desktop app on change\n9a318ce49 fix(t3x): resolve third-pass verified review findings\n67f8c9d36 docs(t3x): align auto-resume spec with final implementation\n9fb30eba6 fix(t3x): resolve adversarial-review findings across auto-resume + sync\nda06e9a91 feat(t3x): usage-limit auto-resume reactor (Project B)\nf9d13010b docs/ci(t3x): incorporate adversarial review findings\n350abd39e feat(t3x): fork setup + daily upstream sync + weekly verify (Project A)\n8bfad7051 docs(t3x): add fork-sync and usage-limit auto-resume design specs\n",
"detail": "rebase 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 rebase, resolves the conflicts, runs typecheck/lint/test, and opens a PR for review — nothing is pushed to main. Runbook: docs/coil/sync-agent-runbook.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    coil-syncUpstream sync needs a human/agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
       blocks
      (function() {
      function addCopyButtons() {
      document.querySelectorAll('pre code').forEach(function(codeBlock) {
      if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
      codeBlock.parentElement.setAttribute('data-copy-added', 'true');
      var btn = document.createElement('button');
      btn.textContent = 'Copy';
      btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
      btn.onmouseover = function() { this.style.opacity = '1'; };
      btn.onmouseout = function() { this.style.opacity = '0.7'; };
      btn.onclick = function() {
      navigator.clipboard.writeText(codeBlock.textContent).then(function() {
      btn.textContent = 'Copied!';
      setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
      });
      };
      codeBlock.parentElement.style.position = 'relative';
      codeBlock.parentElement.appendChild(btn);
      });
      }
      addCopyButtons();
      // Re-run on dynamic content
      var observer = new MutationObserver(addCopyButtons);
      observer.observe(document.body, { childList: true, subtree: true });
      })();
      }
      } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
      })();
      (function(){
      try {
      var __m = "github.com";
      var __re = new RegExp('^' + "github\\.com" + '
      
      Skip to content

      [coil-sync] daily rebase needs attention (conflict) #123

      Description

      @github-actions

      Automated daily upstream sync could not complete.

      Result:conflict
      Recovery tag:coil/last-good-20260819-082322
      Run:https://github.com/radroid/t3code/actions/runs/32232293593

      status JSON
      {
      "kind": "daily",
      "result": "conflict",
      "upstream_range": "2aa5f095f feat(server): run the background service on macOS via launchd (#6286)\n7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n36f4314ab fix(web): animate command palette when closing (#5169)\n67e2fe71d fix(marketing): never serve the Intel build to Apple Silicon Macs (#7477)\n3b8e7bbbe feat(web): add shortcuts to the surface dropdown (#7318)\n5ea5a80a8 fix(marketing): Safari gets the arm64 Mac download (#7473)\n324ddda31 feat(cli): npx t3 triage hands broken installs to your own coding agent (#6563)\nf21b47e52 fix(threads): a merged PR settles its thread only once (#7454)\nefcf7d1ac fix(desktop): boot the main window unthrottled so cold start paints at full speed (#7460)\ne7f6a30ca fix(server): stop probing Grok, Cursor, and OpenCode unless turned on (#7459)\nfe281c540 fix(desktop): throttle hidden preview rendering (#7445)\nbcfd48586 fix(web): improve disconnected composer placeholder (#7122)\n3a02c9cf1 feat(desktop): mute a browser tab (#7252)\n6a687ee43 fix(desktop): stop the passkey dialog from popping as soon as sign-in opens (#7437)\n636caf4c7 fix(server): avoid PRs inherited from default upstreams (#7317)\n26af903b9 fix(web): label pull request merge actions (#7381)\ndb0659fea fix(packaging): install AUR launcher icons where icon themes look (#7421)\nfda740ad7 feat(web): show project location in new thread picker (#7392)\n3b5d476eb fix(desktop): stop overwriting a custom dock icon on launch (#7125)\nf3cb7f509 fix(desktop): prevent quit shortcut spillover (#7397)\na87f691bd fix(preview): open local environment ports on localhost (#7300)\n1896f39a3 refactor(server): simplify error transformation with Effect.mapError in GitHubPullRequestCli (#7385)\n82b8a9380 fix(orchestration): do not revive idle tasks from status-free progress (#7172)\n",
      "upstream_head": "2aa5f095fc3bb65c00cc4efce66a5473e2d4554a\n",
      "conflicted_files": "pnpm-lock.yaml \n",
      "culprit_commits": "7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n",
      "failing_step": "\n",
      "dropped_patches": "\n",
      "patch_manifest": "8a138d6b9 fix(coil): a turn that died inside the closed window isn't advancement (#121)\n94c6328ef docs(coil): repoint the ledger at the final merge-base\n42bd20f68 docs(coil): re-baseline the seam ledger against the 2026-08-17 merge-base\n20a3c1996 test(web): reconcile upstream's new running-send assertion with the fork's steer label\n9f93cbdf1 test(coil): carry the app rename onto upstream's new DMG title assertion\nd03a452a9 fix(coil): migrate the update toast off the native title tooltip\n1668666ba docs(coil): fix seam-ledger rows the #71 rename left pointing at t3x names (#116)\n8332abec2 fix(coil): the verify gate must not require Bun-runtime imports the shipped app cannot reach (#107)\n4eb3b2551 fix(coil): verify every packaged layer, and fail on layers the gate cannot see (#102) (#106)\naa11eee84 docs(coil): re-measure the seam ledger on the landing branch\n7bdb540d1 fix(coil): drop a stray blank seam line the rebase left in ThreadComposer\n410d819f4 fix(web): surface enqueue failures as a toast, not the maskable error banner\ne3647f524 docs(coil): re-baseline the seam ledger against the 2026-08-14 merge-base\n4eab6323c chore(deps): regenerate the lockfile against the 2026-08-14 upstream tree\nd60d10dcb fix(server): name why a clone failed, and which provider it was\ncd03590c6 fix(coil): stop shipping upstream's update feed, which we never actually disabled\nf22f900a8 fix(coil): restore the release, and make two of its checks capable of failing\n8d61a6d0c fix(coil): publish a canonical Latest release, and re-arm retention\ncd8b00d58 docs(coil): design a canonical Latest release for the fork\n608dbedb4 fix(coil): tell the truth about the one macOS prompt an update raises\nab1ae630a perf(coil): halve the desktop release bundle (#53)\nc4e3e59bf docs(coil): re-baseline the ledger for the sidebar wordmark row\nc602c7f8e feat(coil): finish the app rename at the surfaces that name the app (#71)\n50cec17df docs(coil): repoint two ledger citations at the paths #71 moved\n48f620d4c refactor(coil): retire the local desktop autobuild\n9950e1623 fix(coil): reach the renamed relay through a service binding (#71)\n871e352cf fix(coil): make --rotate emit the CI secret commands itself (#71)\n5c433284d fix(coil): finish the certificate rotation and list all 47 rows in the ledger (#71)\n7d2213399 chore(coil): re-record the designated requirement after the certificate rotation\nb10f77dd6 fix(coil): compute the build-counter offset in bash, not in an expression (#71)\naf7d90be2 fix(coil): repoint the last references to moved files (#71)\n828483090 style(coil): format the files this rename touched (#71)\ne9302c732 docs(coil): re-baseline the seam ledger and correct the runbooks (#71)\nbbd4449f1 fix(coil): carry PRs #78 and #84 across the rename (#71)\nc05a67cf4 feat(coil): move the relay, keeping the old hostname alive as a proxy (#71)\ne9433a6c7 feat(coil): cut the sync automation over to coil names (#71)\n07ab5d689 feat(coil): move the release identity, offsetting the counter so clients keep updating (#71)\ne49e412eb feat(coil): rename the app to T3 Coil, with its own bundle id and certificate (#71)\n83b7d0ba9 refactor(coil): move the fork's directories and symbols off t3x (#71)\n85fb4d093 docs(coil): design the t3x -> coil rename around its four silent failures (#71)\n69005e410 fix(deps): clear the sharp and @hono/node-server advisories by re-resolution (#58) (#87)\n0863e90d7 feat(coil): put the real install steps on the download page, from one source (#72)\n81849813f feat(coil): a real link-preview card for shared URLs\n8db9622fd fix(t3x): push the sync as a workflow-scoped token, and escalate when it fails\n3ea12f2aa fix(web): steering-path leftovers from the queue transition (#40 A1-A4)\nd695f9da2 fix(t3x): stop a user message destroying a pending auto-resume\n92a0fad04 docs(t3x): note that the trusted certificate is listed twice, and why that is fine\n399edff8e docs(t3x): correct the runbook's seam claim \u2014 the bundle id spends one upstream line\n9328cd4df fix(t3x): pin the designated requirement the fork's identity produces (#70)\na4b43a3bf fix(t3x): give the fork its own bundle id, so it stops sharing TCC rows with upstream (#70)\n6a380d05d fix(t3x): sign the macOS build with a stable identity so permission grants survive updates (#70)\n38a49bf80 fix(web): an edit saved during dispatch no longer disappears (#40 A5)\n045c4f9a0 fix(t3x): derive and verify the autobuild agent's PATH, and correct the runbook interval (#41)\n1a223dc67 fix(t3x): the Windows transient-crash retry could never fire; classify on the code vp prints (#47)\n3f91cb9de docs(worklog): write down how the skill actually gets installed (#65)\nd54eb1265 fix(worklog): satisfy the repo lint rules the suite files were breaking (#65)\n5dbafda41 fix(worklog): correct the numbers the report is built on (#65)\n72ffdf856 feat(t3x): add the /worklog daily work-log skill (#65)\n8ab81860a fix(t3x): widen the release retry window past the observed 403 duration\n8579d5d9a fix(coil): stop the deploy verify step failing on Cloudflare bot mitigation\ne132dcedd fix(coil): put pnpm on PATH in the homepage deploy workflow\n282d2c422 docs(coil): fix the stale deploy-workflow pointer, note the secret is set\n2b071ae2d docs(coil): recapture the hero evidence with all five marks restored\n44c6cfd17 fix(coil): bring the hero marks back on mobile as an in-flow row\n8812438fd docs(coil): recapture mobile evidence after the collision fix\n0d0cb9904 fix(coil): stop the hero marks colliding with mobile content, equalise stacked buttons\nb2e9b06cd docs(coil): recapture the homepage evidence against coil.curlycloud.dev\nacb781d04 feat(coil): reposition the homepage as Coil, a personal fork\nc8e1ef4d0 docs(coil): design for repositioning the homepage as Coil\ncd7f44209 docs(t3x): capture homepage screenshots and a scroll-through for review\nbd15237a3 ci(t3x): pin the deploy wrangler exactly, not to a floating major\nf86ccb07d docs(t3x): record the fork homepage on the seam ledger and sync runbook\n11e11900c ci(t3x): auto-deploy the homepage to Cloudflare on push to main\nd64086e5c feat(t3x): deploy the homepage as a Cloudflare assets-only Worker\n6b6b88a7e feat(t3x): serve downloads from the fork's update-relay manifest and wire the sync strip\n6ac9e2b75 feat(t3x): rebrand the homepage copy, chrome, and fork graph\nefa9b75ae feat(t3x): strip upstream-only social proof, store links, and legal pages\nba9fcf058 feat(t3x): seed the fork homepage from apps/marketing\n8015eb3a1 docs(t3x): record before/after capture for the capsule anchor fix (#67)\n469c549c9 fix(t3x): anchor the auto-resume capsule to the composer's measured box (#67)\nfb5c7a3c2 fix(t3x): retry the relay notify, and surface DO failures as readable 503s (#66)\nffd04a581 docs(t3x): re-baseline the seam ledger against upstream v0.0.33\nb9d54cadd docs(t3x): record the mobile sendLabel mirror on the ledger\n6abdc5f35 docs(t3x): re-baseline the seam ledger against the follow-up merge-base\n199e7a365 docs(t3x): re-baseline the seam ledger against the 2026-08-08 merge-base\nc658ab16e test(t3x): retime the tolerant-budget tests to upstream's new retry ladder\n21544a016 fix(t3x): drop the settings imports upstream stopped needing\n4f792224a fix(t3x): give the crash-recovery test the registries upstream added\n8e2a59ee0 chore(deps): regenerate the lockfile against the 2026-08-08 upstream tree\n761458193 docs(t3x): archive the Loop Watch design before its branch is deleted\nf7b695f54 fix(t3x): put ~/.cargo/bin on the autobuild agent's PATH\n01e6af3b0 fix(t3x): track the composer's top edge so banners cannot cover the capsule\nfe460658c fix(t3x): align the auto-resume capsule with the composer's right edge\n721982e5d fix(t3x): put the auto-resume capsule back above the composer\nda100635d fix(t3x): pin the countdown width, spring the toggle, move the capsule top-right\n3ef7b0ec4 fix(t3x): make auto-resume teardown re-armable so StrictMode cannot kill it\ndf2184fbc feat(t3x): rebuild the auto-resume capsule and cover it with tests\nf4973f884 chore(t3x): stop Dependabot re-failing on advisories it cannot fix\nedf4681a2 fix(t3x): stop a transient 403 from discarding a whole release build\nb30c5e160 feat(t3x): verify the install actually happened, and offer to report it when it did not\n93774f4c1 fix(t3x): stop calling the Windows update a restart\nbcbc87540 Update toast: changelog-forward design, and a restart that waits for you (#55)\ne8c000d03 chore(deps): dedupe nanoid onto 3.3.17, closing the two alerts the sweep reopened\n480dc9f4b chore(deps): clear 56 of the 62 open transitive advisories in the root lockfile\nd6726d844 chore(deps): bump electron to 41.10.3, and stop Dependabot on the vendored subtrees\n9d11a3d24 docs(t3x): put the manual-install commands on the release page\ne477cebe1 fix(t3x): follow the 302 on GitHub release asset downloads\nb66655b8a fix(t3x): actually serialise the release bundle build\nd302b91e3 fix(t3x): scope ensure:electron, and refuse updates without a release counter\n72b664a71 fix(t3x): wait for the condition in the auto-resume reactor tests\n0bb7b9749 Update delivery: CI builds, relay pushes, the app offers a restart (#51)\n1d0b23deb ci(t3x): raise the hook timeout alongside the test timeout\n97aca166f docs(t3x): remeasure the seam ledger against the 2026-08-02 merge-base\n4ffe2fb45 fix(t3x): adapt the crash-recovery startup test to upstream's new startup internals\na9a41518e fix(web): keep the queue's reorder controls usable, and leave a dispatch trail (#35)\n25dcb8d63 feat(web): steer a running turn instead of queuing behind it (#35)\necaeaf358 feat(web): make the thread outbox read as composer chrome, and let it be reordered (#35)\n93e57957f docs(t3x): point the self-reference rule at the renamed Claude doc\n55ba0e66f docs(t3x): follow upstream's rename of the Claude provider doc\nbd364eb80 docs(t3x): remeasure the seam ledger against the 2026-07-30 merge-base\n775622c42 fix(web): apply upstream's detail-loading send gate to the queue path\n9dd745a8b fix(t3x): apply the sync test-timeout to every gate, not just fork CI (#32)\n098f3c300 ci(t3x): raise the test timeout for the fork's slower runners\nb85c5bf2f docs(t3x): replace the fictional seam ledger with a measured one\n53291231b docs(providers): fix the broken Claude multi-account recipe\ne7b028a86 test(t3x): move fork settings coverage out of the upstream test file\n00c89d998 feat(t3x): auto-build from origin/main in a dedicated worktree\n8eb978833 fix(client-runtime): reset tolerant reconnect budget across a network drop\n660c07407 fix(web): address Web Push review findings (reactor priming, VAPID recovery, cleanup)\na20561a7c feat(web): closed-tab Web Push notifications (SW + PWA + server VAPID push)\n4433bf717 fix(connection): tolerate a slow-but-alive local backend + heap headroom\nce78f5d03 feat(web): queue messages while a chat is running (thread outbox)\nf4349541a ci(t3x): add fork-runnable PR/main verify gate (t3x-ci.yml)\n9616388fe docs(t3x): document how to land a sync PR (force-update, not merge button)\ncf57a2a01 fix(t3x): resolve pre-existing typecheck/lint red on fork test files\n0517aebff fix(t3x): pin sync escalation gh calls to the fork (GH_REPO)\n4344813d4 feat(t3x): on-demand agent to resolve escalated upstream-sync conflicts\n553a1bc1c fix(t3x): make sync escalation always open the t3x-sync issue\n0b37bdaca fix(mobile): iOS Shift+Return inserts a newline instead of submitting\nd99293572 feat(mobile): queue/send from the keyboard Return key\n0af137338 chore(t3x): auto-build on a 12h cadence, not every main commit\n919bcf787 fix(notifications): final-review fixes \u2014 web notification guard, desktop coalescing, draft-route suppression\nb1ec4c330 feat(web): needs-input notification setting and web permission UX\n6baf7445c feat(web): notification coordinator with platform shim and click-to-navigate\n4db1a2489 feat(desktop): native OS notification IPC with click-to-reveal activation\n31ea03c69 feat(web): add pure needs-attention tracker and suppression logic\n700ebe3ac feat(contracts): add notifyOnNeedsInput setting and DesktopBridge notification surface\nd3c561489 fix(server): reconcile crash-frozen `running` turns to interrupted on boot\n6f93675d7 test(server): cover non-spawn `--version` failure mapping to available\n473237a1f fix(server): treat slow `az --version` as present, not missing\nb0fb466ea fix(t3x): don't cancel auto-resume as thread-advanced when the limited turn settles\nca8473494 fix(t3x): auto-build fixes found running it for real\nb8b4c59b5 docs(t3x): correct which .app a default auto-build replaces\nbcdd631a8 fix(t3x): resolve adversarial-review findings in auto-build\n518a49355 fix(t3x): resolve auto-build review findings\n367c41739 fix(t3x): strip trailing newline from auto-build status JSON values\n46484b8f2 feat(t3x): auto-build & install the desktop app on change\n425277b4d fix(t3x): prototype-chain threadId corrupted the auto-resume state file\nb749fad11 test(t3x): route-level tests for /api/t3x/auto-resume\n72ed6d4eb docs(t3x): record the auto-resume UI seams\n23bb00f08 feat(t3x): per-thread auto-resume overlay in the thread view\n20b9b6bc0 feat(t3x): authenticated /api/t3x/auto-resume route\nba867fe2a feat(t3x): per-thread auto-resume switch (server state + gating)\nee5e47573 docs(t3x): design + plan for per-thread auto-resume UI (floating card)\n63a787dd2 docs(t3x): plan for auto-build + install desktop app on change\n9a318ce49 fix(t3x): resolve third-pass verified review findings\n67f8c9d36 docs(t3x): align auto-resume spec with final implementation\n9fb30eba6 fix(t3x): resolve adversarial-review findings across auto-resume + sync\nda06e9a91 feat(t3x): usage-limit auto-resume reactor (Project B)\nf9d13010b docs/ci(t3x): incorporate adversarial review findings\n350abd39e feat(t3x): fork setup + daily upstream sync + weekly verify (Project A)\n8bfad7051 docs(t3x): add fork-sync and usage-limit auto-resume design specs\n",
      "detail": "rebase 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 rebase, resolves the conflicts, runs typecheck/lint/test, and opens a PR for review — nothing is pushed to main. Runbook: docs/coil/sync-agent-runbook.md.

      Metadata

      Metadata

      Assignees

      No one assigned

        Labels

        coil-syncUpstream sync needs a human/agent

        Projects

        No projects

          Milestone

          No milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
          Skip to content

          [coil-sync] daily rebase needs attention (conflict) #123

          Description

          @github-actions

          Automated daily upstream sync could not complete.

          Result:conflict
          Recovery tag:coil/last-good-20260819-082322
          Run:https://github.com/radroid/t3code/actions/runs/32232293593

          status JSON
          {
          "kind": "daily",
          "result": "conflict",
          "upstream_range": "2aa5f095f feat(server): run the background service on macOS via launchd (#6286)\n7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n36f4314ab fix(web): animate command palette when closing (#5169)\n67e2fe71d fix(marketing): never serve the Intel build to Apple Silicon Macs (#7477)\n3b8e7bbbe feat(web): add shortcuts to the surface dropdown (#7318)\n5ea5a80a8 fix(marketing): Safari gets the arm64 Mac download (#7473)\n324ddda31 feat(cli): npx t3 triage hands broken installs to your own coding agent (#6563)\nf21b47e52 fix(threads): a merged PR settles its thread only once (#7454)\nefcf7d1ac fix(desktop): boot the main window unthrottled so cold start paints at full speed (#7460)\ne7f6a30ca fix(server): stop probing Grok, Cursor, and OpenCode unless turned on (#7459)\nfe281c540 fix(desktop): throttle hidden preview rendering (#7445)\nbcfd48586 fix(web): improve disconnected composer placeholder (#7122)\n3a02c9cf1 feat(desktop): mute a browser tab (#7252)\n6a687ee43 fix(desktop): stop the passkey dialog from popping as soon as sign-in opens (#7437)\n636caf4c7 fix(server): avoid PRs inherited from default upstreams (#7317)\n26af903b9 fix(web): label pull request merge actions (#7381)\ndb0659fea fix(packaging): install AUR launcher icons where icon themes look (#7421)\nfda740ad7 feat(web): show project location in new thread picker (#7392)\n3b5d476eb fix(desktop): stop overwriting a custom dock icon on launch (#7125)\nf3cb7f509 fix(desktop): prevent quit shortcut spillover (#7397)\na87f691bd fix(preview): open local environment ports on localhost (#7300)\n1896f39a3 refactor(server): simplify error transformation with Effect.mapError in GitHubPullRequestCli (#7385)\n82b8a9380 fix(orchestration): do not revive idle tasks from status-free progress (#7172)\n",
          "upstream_head": "2aa5f095fc3bb65c00cc4efce66a5473e2d4554a\n",
          "conflicted_files": "pnpm-lock.yaml \n",
          "culprit_commits": "7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n",
          "failing_step": "\n",
          "dropped_patches": "\n",
          "patch_manifest": "8a138d6b9 fix(coil): a turn that died inside the closed window isn't advancement (#121)\n94c6328ef docs(coil): repoint the ledger at the final merge-base\n42bd20f68 docs(coil): re-baseline the seam ledger against the 2026-08-17 merge-base\n20a3c1996 test(web): reconcile upstream's new running-send assertion with the fork's steer label\n9f93cbdf1 test(coil): carry the app rename onto upstream's new DMG title assertion\nd03a452a9 fix(coil): migrate the update toast off the native title tooltip\n1668666ba docs(coil): fix seam-ledger rows the #71 rename left pointing at t3x names (#116)\n8332abec2 fix(coil): the verify gate must not require Bun-runtime imports the shipped app cannot reach (#107)\n4eb3b2551 fix(coil): verify every packaged layer, and fail on layers the gate cannot see (#102) (#106)\naa11eee84 docs(coil): re-measure the seam ledger on the landing branch\n7bdb540d1 fix(coil): drop a stray blank seam line the rebase left in ThreadComposer\n410d819f4 fix(web): surface enqueue failures as a toast, not the maskable error banner\ne3647f524 docs(coil): re-baseline the seam ledger against the 2026-08-14 merge-base\n4eab6323c chore(deps): regenerate the lockfile against the 2026-08-14 upstream tree\nd60d10dcb fix(server): name why a clone failed, and which provider it was\ncd03590c6 fix(coil): stop shipping upstream's update feed, which we never actually disabled\nf22f900a8 fix(coil): restore the release, and make two of its checks capable of failing\n8d61a6d0c fix(coil): publish a canonical Latest release, and re-arm retention\ncd8b00d58 docs(coil): design a canonical Latest release for the fork\n608dbedb4 fix(coil): tell the truth about the one macOS prompt an update raises\nab1ae630a perf(coil): halve the desktop release bundle (#53)\nc4e3e59bf docs(coil): re-baseline the ledger for the sidebar wordmark row\nc602c7f8e feat(coil): finish the app rename at the surfaces that name the app (#71)\n50cec17df docs(coil): repoint two ledger citations at the paths #71 moved\n48f620d4c refactor(coil): retire the local desktop autobuild\n9950e1623 fix(coil): reach the renamed relay through a service binding (#71)\n871e352cf fix(coil): make --rotate emit the CI secret commands itself (#71)\n5c433284d fix(coil): finish the certificate rotation and list all 47 rows in the ledger (#71)\n7d2213399 chore(coil): re-record the designated requirement after the certificate rotation\nb10f77dd6 fix(coil): compute the build-counter offset in bash, not in an expression (#71)\naf7d90be2 fix(coil): repoint the last references to moved files (#71)\n828483090 style(coil): format the files this rename touched (#71)\ne9302c732 docs(coil): re-baseline the seam ledger and correct the runbooks (#71)\nbbd4449f1 fix(coil): carry PRs #78 and #84 across the rename (#71)\nc05a67cf4 feat(coil): move the relay, keeping the old hostname alive as a proxy (#71)\ne9433a6c7 feat(coil): cut the sync automation over to coil names (#71)\n07ab5d689 feat(coil): move the release identity, offsetting the counter so clients keep updating (#71)\ne49e412eb feat(coil): rename the app to T3 Coil, with its own bundle id and certificate (#71)\n83b7d0ba9 refactor(coil): move the fork's directories and symbols off t3x (#71)\n85fb4d093 docs(coil): design the t3x -> coil rename around its four silent failures (#71)\n69005e410 fix(deps): clear the sharp and @hono/node-server advisories by re-resolution (#58) (#87)\n0863e90d7 feat(coil): put the real install steps on the download page, from one source (#72)\n81849813f feat(coil): a real link-preview card for shared URLs\n8db9622fd fix(t3x): push the sync as a workflow-scoped token, and escalate when it fails\n3ea12f2aa fix(web): steering-path leftovers from the queue transition (#40 A1-A4)\nd695f9da2 fix(t3x): stop a user message destroying a pending auto-resume\n92a0fad04 docs(t3x): note that the trusted certificate is listed twice, and why that is fine\n399edff8e docs(t3x): correct the runbook's seam claim \u2014 the bundle id spends one upstream line\n9328cd4df fix(t3x): pin the designated requirement the fork's identity produces (#70)\na4b43a3bf fix(t3x): give the fork its own bundle id, so it stops sharing TCC rows with upstream (#70)\n6a380d05d fix(t3x): sign the macOS build with a stable identity so permission grants survive updates (#70)\n38a49bf80 fix(web): an edit saved during dispatch no longer disappears (#40 A5)\n045c4f9a0 fix(t3x): derive and verify the autobuild agent's PATH, and correct the runbook interval (#41)\n1a223dc67 fix(t3x): the Windows transient-crash retry could never fire; classify on the code vp prints (#47)\n3f91cb9de docs(worklog): write down how the skill actually gets installed (#65)\nd54eb1265 fix(worklog): satisfy the repo lint rules the suite files were breaking (#65)\n5dbafda41 fix(worklog): correct the numbers the report is built on (#65)\n72ffdf856 feat(t3x): add the /worklog daily work-log skill (#65)\n8ab81860a fix(t3x): widen the release retry window past the observed 403 duration\n8579d5d9a fix(coil): stop the deploy verify step failing on Cloudflare bot mitigation\ne132dcedd fix(coil): put pnpm on PATH in the homepage deploy workflow\n282d2c422 docs(coil): fix the stale deploy-workflow pointer, note the secret is set\n2b071ae2d docs(coil): recapture the hero evidence with all five marks restored\n44c6cfd17 fix(coil): bring the hero marks back on mobile as an in-flow row\n8812438fd docs(coil): recapture mobile evidence after the collision fix\n0d0cb9904 fix(coil): stop the hero marks colliding with mobile content, equalise stacked buttons\nb2e9b06cd docs(coil): recapture the homepage evidence against coil.curlycloud.dev\nacb781d04 feat(coil): reposition the homepage as Coil, a personal fork\nc8e1ef4d0 docs(coil): design for repositioning the homepage as Coil\ncd7f44209 docs(t3x): capture homepage screenshots and a scroll-through for review\nbd15237a3 ci(t3x): pin the deploy wrangler exactly, not to a floating major\nf86ccb07d docs(t3x): record the fork homepage on the seam ledger and sync runbook\n11e11900c ci(t3x): auto-deploy the homepage to Cloudflare on push to main\nd64086e5c feat(t3x): deploy the homepage as a Cloudflare assets-only Worker\n6b6b88a7e feat(t3x): serve downloads from the fork's update-relay manifest and wire the sync strip\n6ac9e2b75 feat(t3x): rebrand the homepage copy, chrome, and fork graph\nefa9b75ae feat(t3x): strip upstream-only social proof, store links, and legal pages\nba9fcf058 feat(t3x): seed the fork homepage from apps/marketing\n8015eb3a1 docs(t3x): record before/after capture for the capsule anchor fix (#67)\n469c549c9 fix(t3x): anchor the auto-resume capsule to the composer's measured box (#67)\nfb5c7a3c2 fix(t3x): retry the relay notify, and surface DO failures as readable 503s (#66)\nffd04a581 docs(t3x): re-baseline the seam ledger against upstream v0.0.33\nb9d54cadd docs(t3x): record the mobile sendLabel mirror on the ledger\n6abdc5f35 docs(t3x): re-baseline the seam ledger against the follow-up merge-base\n199e7a365 docs(t3x): re-baseline the seam ledger against the 2026-08-08 merge-base\nc658ab16e test(t3x): retime the tolerant-budget tests to upstream's new retry ladder\n21544a016 fix(t3x): drop the settings imports upstream stopped needing\n4f792224a fix(t3x): give the crash-recovery test the registries upstream added\n8e2a59ee0 chore(deps): regenerate the lockfile against the 2026-08-08 upstream tree\n761458193 docs(t3x): archive the Loop Watch design before its branch is deleted\nf7b695f54 fix(t3x): put ~/.cargo/bin on the autobuild agent's PATH\n01e6af3b0 fix(t3x): track the composer's top edge so banners cannot cover the capsule\nfe460658c fix(t3x): align the auto-resume capsule with the composer's right edge\n721982e5d fix(t3x): put the auto-resume capsule back above the composer\nda100635d fix(t3x): pin the countdown width, spring the toggle, move the capsule top-right\n3ef7b0ec4 fix(t3x): make auto-resume teardown re-armable so StrictMode cannot kill it\ndf2184fbc feat(t3x): rebuild the auto-resume capsule and cover it with tests\nf4973f884 chore(t3x): stop Dependabot re-failing on advisories it cannot fix\nedf4681a2 fix(t3x): stop a transient 403 from discarding a whole release build\nb30c5e160 feat(t3x): verify the install actually happened, and offer to report it when it did not\n93774f4c1 fix(t3x): stop calling the Windows update a restart\nbcbc87540 Update toast: changelog-forward design, and a restart that waits for you (#55)\ne8c000d03 chore(deps): dedupe nanoid onto 3.3.17, closing the two alerts the sweep reopened\n480dc9f4b chore(deps): clear 56 of the 62 open transitive advisories in the root lockfile\nd6726d844 chore(deps): bump electron to 41.10.3, and stop Dependabot on the vendored subtrees\n9d11a3d24 docs(t3x): put the manual-install commands on the release page\ne477cebe1 fix(t3x): follow the 302 on GitHub release asset downloads\nb66655b8a fix(t3x): actually serialise the release bundle build\nd302b91e3 fix(t3x): scope ensure:electron, and refuse updates without a release counter\n72b664a71 fix(t3x): wait for the condition in the auto-resume reactor tests\n0bb7b9749 Update delivery: CI builds, relay pushes, the app offers a restart (#51)\n1d0b23deb ci(t3x): raise the hook timeout alongside the test timeout\n97aca166f docs(t3x): remeasure the seam ledger against the 2026-08-02 merge-base\n4ffe2fb45 fix(t3x): adapt the crash-recovery startup test to upstream's new startup internals\na9a41518e fix(web): keep the queue's reorder controls usable, and leave a dispatch trail (#35)\n25dcb8d63 feat(web): steer a running turn instead of queuing behind it (#35)\necaeaf358 feat(web): make the thread outbox read as composer chrome, and let it be reordered (#35)\n93e57957f docs(t3x): point the self-reference rule at the renamed Claude doc\n55ba0e66f docs(t3x): follow upstream's rename of the Claude provider doc\nbd364eb80 docs(t3x): remeasure the seam ledger against the 2026-07-30 merge-base\n775622c42 fix(web): apply upstream's detail-loading send gate to the queue path\n9dd745a8b fix(t3x): apply the sync test-timeout to every gate, not just fork CI (#32)\n098f3c300 ci(t3x): raise the test timeout for the fork's slower runners\nb85c5bf2f docs(t3x): replace the fictional seam ledger with a measured one\n53291231b docs(providers): fix the broken Claude multi-account recipe\ne7b028a86 test(t3x): move fork settings coverage out of the upstream test file\n00c89d998 feat(t3x): auto-build from origin/main in a dedicated worktree\n8eb978833 fix(client-runtime): reset tolerant reconnect budget across a network drop\n660c07407 fix(web): address Web Push review findings (reactor priming, VAPID recovery, cleanup)\na20561a7c feat(web): closed-tab Web Push notifications (SW + PWA + server VAPID push)\n4433bf717 fix(connection): tolerate a slow-but-alive local backend + heap headroom\nce78f5d03 feat(web): queue messages while a chat is running (thread outbox)\nf4349541a ci(t3x): add fork-runnable PR/main verify gate (t3x-ci.yml)\n9616388fe docs(t3x): document how to land a sync PR (force-update, not merge button)\ncf57a2a01 fix(t3x): resolve pre-existing typecheck/lint red on fork test files\n0517aebff fix(t3x): pin sync escalation gh calls to the fork (GH_REPO)\n4344813d4 feat(t3x): on-demand agent to resolve escalated upstream-sync conflicts\n553a1bc1c fix(t3x): make sync escalation always open the t3x-sync issue\n0b37bdaca fix(mobile): iOS Shift+Return inserts a newline instead of submitting\nd99293572 feat(mobile): queue/send from the keyboard Return key\n0af137338 chore(t3x): auto-build on a 12h cadence, not every main commit\n919bcf787 fix(notifications): final-review fixes \u2014 web notification guard, desktop coalescing, draft-route suppression\nb1ec4c330 feat(web): needs-input notification setting and web permission UX\n6baf7445c feat(web): notification coordinator with platform shim and click-to-navigate\n4db1a2489 feat(desktop): native OS notification IPC with click-to-reveal activation\n31ea03c69 feat(web): add pure needs-attention tracker and suppression logic\n700ebe3ac feat(contracts): add notifyOnNeedsInput setting and DesktopBridge notification surface\nd3c561489 fix(server): reconcile crash-frozen `running` turns to interrupted on boot\n6f93675d7 test(server): cover non-spawn `--version` failure mapping to available\n473237a1f fix(server): treat slow `az --version` as present, not missing\nb0fb466ea fix(t3x): don't cancel auto-resume as thread-advanced when the limited turn settles\nca8473494 fix(t3x): auto-build fixes found running it for real\nb8b4c59b5 docs(t3x): correct which .app a default auto-build replaces\nbcdd631a8 fix(t3x): resolve adversarial-review findings in auto-build\n518a49355 fix(t3x): resolve auto-build review findings\n367c41739 fix(t3x): strip trailing newline from auto-build status JSON values\n46484b8f2 feat(t3x): auto-build & install the desktop app on change\n425277b4d fix(t3x): prototype-chain threadId corrupted the auto-resume state file\nb749fad11 test(t3x): route-level tests for /api/t3x/auto-resume\n72ed6d4eb docs(t3x): record the auto-resume UI seams\n23bb00f08 feat(t3x): per-thread auto-resume overlay in the thread view\n20b9b6bc0 feat(t3x): authenticated /api/t3x/auto-resume route\nba867fe2a feat(t3x): per-thread auto-resume switch (server state + gating)\nee5e47573 docs(t3x): design + plan for per-thread auto-resume UI (floating card)\n63a787dd2 docs(t3x): plan for auto-build + install desktop app on change\n9a318ce49 fix(t3x): resolve third-pass verified review findings\n67f8c9d36 docs(t3x): align auto-resume spec with final implementation\n9fb30eba6 fix(t3x): resolve adversarial-review findings across auto-resume + sync\nda06e9a91 feat(t3x): usage-limit auto-resume reactor (Project B)\nf9d13010b docs/ci(t3x): incorporate adversarial review findings\n350abd39e feat(t3x): fork setup + daily upstream sync + weekly verify (Project A)\n8bfad7051 docs(t3x): add fork-sync and usage-limit auto-resume design specs\n",
          "detail": "rebase 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 rebase, resolves the conflicts, runs typecheck/lint/test, and opens a PR for review — nothing is pushed to main. Runbook: docs/coil/sync-agent-runbook.md.

          Metadata

          Metadata

          Assignees

          No one assigned

            Labels

            coil-syncUpstream sync needs a human/agent

            Projects

            No projects

              Milestone

              No milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              [coil-sync] daily rebase needs attention (conflict) #123

              Description

              @github-actions

              Automated daily upstream sync could not complete.

              Result:conflict
              Recovery tag:coil/last-good-20260819-082322
              Run:https://github.com/radroid/t3code/actions/runs/32232293593

              status JSON
              {
              "kind": "daily",
              "result": "conflict",
              "upstream_range": "2aa5f095f feat(server): run the background service on macOS via launchd (#6286)\n7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n36f4314ab fix(web): animate command palette when closing (#5169)\n67e2fe71d fix(marketing): never serve the Intel build to Apple Silicon Macs (#7477)\n3b8e7bbbe feat(web): add shortcuts to the surface dropdown (#7318)\n5ea5a80a8 fix(marketing): Safari gets the arm64 Mac download (#7473)\n324ddda31 feat(cli): npx t3 triage hands broken installs to your own coding agent (#6563)\nf21b47e52 fix(threads): a merged PR settles its thread only once (#7454)\nefcf7d1ac fix(desktop): boot the main window unthrottled so cold start paints at full speed (#7460)\ne7f6a30ca fix(server): stop probing Grok, Cursor, and OpenCode unless turned on (#7459)\nfe281c540 fix(desktop): throttle hidden preview rendering (#7445)\nbcfd48586 fix(web): improve disconnected composer placeholder (#7122)\n3a02c9cf1 feat(desktop): mute a browser tab (#7252)\n6a687ee43 fix(desktop): stop the passkey dialog from popping as soon as sign-in opens (#7437)\n636caf4c7 fix(server): avoid PRs inherited from default upstreams (#7317)\n26af903b9 fix(web): label pull request merge actions (#7381)\ndb0659fea fix(packaging): install AUR launcher icons where icon themes look (#7421)\nfda740ad7 feat(web): show project location in new thread picker (#7392)\n3b5d476eb fix(desktop): stop overwriting a custom dock icon on launch (#7125)\nf3cb7f509 fix(desktop): prevent quit shortcut spillover (#7397)\na87f691bd fix(preview): open local environment ports on localhost (#7300)\n1896f39a3 refactor(server): simplify error transformation with Effect.mapError in GitHubPullRequestCli (#7385)\n82b8a9380 fix(orchestration): do not revive idle tasks from status-free progress (#7172)\n",
              "upstream_head": "2aa5f095fc3bb65c00cc4efce66a5473e2d4554a\n",
              "conflicted_files": "pnpm-lock.yaml \n",
              "culprit_commits": "7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n",
              "failing_step": "\n",
              "dropped_patches": "\n",
              "patch_manifest": "8a138d6b9 fix(coil): a turn that died inside the closed window isn't advancement (#121)\n94c6328ef docs(coil): repoint the ledger at the final merge-base\n42bd20f68 docs(coil): re-baseline the seam ledger against the 2026-08-17 merge-base\n20a3c1996 test(web): reconcile upstream's new running-send assertion with the fork's steer label\n9f93cbdf1 test(coil): carry the app rename onto upstream's new DMG title assertion\nd03a452a9 fix(coil): migrate the update toast off the native title tooltip\n1668666ba docs(coil): fix seam-ledger rows the #71 rename left pointing at t3x names (#116)\n8332abec2 fix(coil): the verify gate must not require Bun-runtime imports the shipped app cannot reach (#107)\n4eb3b2551 fix(coil): verify every packaged layer, and fail on layers the gate cannot see (#102) (#106)\naa11eee84 docs(coil): re-measure the seam ledger on the landing branch\n7bdb540d1 fix(coil): drop a stray blank seam line the rebase left in ThreadComposer\n410d819f4 fix(web): surface enqueue failures as a toast, not the maskable error banner\ne3647f524 docs(coil): re-baseline the seam ledger against the 2026-08-14 merge-base\n4eab6323c chore(deps): regenerate the lockfile against the 2026-08-14 upstream tree\nd60d10dcb fix(server): name why a clone failed, and which provider it was\ncd03590c6 fix(coil): stop shipping upstream's update feed, which we never actually disabled\nf22f900a8 fix(coil): restore the release, and make two of its checks capable of failing\n8d61a6d0c fix(coil): publish a canonical Latest release, and re-arm retention\ncd8b00d58 docs(coil): design a canonical Latest release for the fork\n608dbedb4 fix(coil): tell the truth about the one macOS prompt an update raises\nab1ae630a perf(coil): halve the desktop release bundle (#53)\nc4e3e59bf docs(coil): re-baseline the ledger for the sidebar wordmark row\nc602c7f8e feat(coil): finish the app rename at the surfaces that name the app (#71)\n50cec17df docs(coil): repoint two ledger citations at the paths #71 moved\n48f620d4c refactor(coil): retire the local desktop autobuild\n9950e1623 fix(coil): reach the renamed relay through a service binding (#71)\n871e352cf fix(coil): make --rotate emit the CI secret commands itself (#71)\n5c433284d fix(coil): finish the certificate rotation and list all 47 rows in the ledger (#71)\n7d2213399 chore(coil): re-record the designated requirement after the certificate rotation\nb10f77dd6 fix(coil): compute the build-counter offset in bash, not in an expression (#71)\naf7d90be2 fix(coil): repoint the last references to moved files (#71)\n828483090 style(coil): format the files this rename touched (#71)\ne9302c732 docs(coil): re-baseline the seam ledger and correct the runbooks (#71)\nbbd4449f1 fix(coil): carry PRs #78 and #84 across the rename (#71)\nc05a67cf4 feat(coil): move the relay, keeping the old hostname alive as a proxy (#71)\ne9433a6c7 feat(coil): cut the sync automation over to coil names (#71)\n07ab5d689 feat(coil): move the release identity, offsetting the counter so clients keep updating (#71)\ne49e412eb feat(coil): rename the app to T3 Coil, with its own bundle id and certificate (#71)\n83b7d0ba9 refactor(coil): move the fork's directories and symbols off t3x (#71)\n85fb4d093 docs(coil): design the t3x -> coil rename around its four silent failures (#71)\n69005e410 fix(deps): clear the sharp and @hono/node-server advisories by re-resolution (#58) (#87)\n0863e90d7 feat(coil): put the real install steps on the download page, from one source (#72)\n81849813f feat(coil): a real link-preview card for shared URLs\n8db9622fd fix(t3x): push the sync as a workflow-scoped token, and escalate when it fails\n3ea12f2aa fix(web): steering-path leftovers from the queue transition (#40 A1-A4)\nd695f9da2 fix(t3x): stop a user message destroying a pending auto-resume\n92a0fad04 docs(t3x): note that the trusted certificate is listed twice, and why that is fine\n399edff8e docs(t3x): correct the runbook's seam claim \u2014 the bundle id spends one upstream line\n9328cd4df fix(t3x): pin the designated requirement the fork's identity produces (#70)\na4b43a3bf fix(t3x): give the fork its own bundle id, so it stops sharing TCC rows with upstream (#70)\n6a380d05d fix(t3x): sign the macOS build with a stable identity so permission grants survive updates (#70)\n38a49bf80 fix(web): an edit saved during dispatch no longer disappears (#40 A5)\n045c4f9a0 fix(t3x): derive and verify the autobuild agent's PATH, and correct the runbook interval (#41)\n1a223dc67 fix(t3x): the Windows transient-crash retry could never fire; classify on the code vp prints (#47)\n3f91cb9de docs(worklog): write down how the skill actually gets installed (#65)\nd54eb1265 fix(worklog): satisfy the repo lint rules the suite files were breaking (#65)\n5dbafda41 fix(worklog): correct the numbers the report is built on (#65)\n72ffdf856 feat(t3x): add the /worklog daily work-log skill (#65)\n8ab81860a fix(t3x): widen the release retry window past the observed 403 duration\n8579d5d9a fix(coil): stop the deploy verify step failing on Cloudflare bot mitigation\ne132dcedd fix(coil): put pnpm on PATH in the homepage deploy workflow\n282d2c422 docs(coil): fix the stale deploy-workflow pointer, note the secret is set\n2b071ae2d docs(coil): recapture the hero evidence with all five marks restored\n44c6cfd17 fix(coil): bring the hero marks back on mobile as an in-flow row\n8812438fd docs(coil): recapture mobile evidence after the collision fix\n0d0cb9904 fix(coil): stop the hero marks colliding with mobile content, equalise stacked buttons\nb2e9b06cd docs(coil): recapture the homepage evidence against coil.curlycloud.dev\nacb781d04 feat(coil): reposition the homepage as Coil, a personal fork\nc8e1ef4d0 docs(coil): design for repositioning the homepage as Coil\ncd7f44209 docs(t3x): capture homepage screenshots and a scroll-through for review\nbd15237a3 ci(t3x): pin the deploy wrangler exactly, not to a floating major\nf86ccb07d docs(t3x): record the fork homepage on the seam ledger and sync runbook\n11e11900c ci(t3x): auto-deploy the homepage to Cloudflare on push to main\nd64086e5c feat(t3x): deploy the homepage as a Cloudflare assets-only Worker\n6b6b88a7e feat(t3x): serve downloads from the fork's update-relay manifest and wire the sync strip\n6ac9e2b75 feat(t3x): rebrand the homepage copy, chrome, and fork graph\nefa9b75ae feat(t3x): strip upstream-only social proof, store links, and legal pages\nba9fcf058 feat(t3x): seed the fork homepage from apps/marketing\n8015eb3a1 docs(t3x): record before/after capture for the capsule anchor fix (#67)\n469c549c9 fix(t3x): anchor the auto-resume capsule to the composer's measured box (#67)\nfb5c7a3c2 fix(t3x): retry the relay notify, and surface DO failures as readable 503s (#66)\nffd04a581 docs(t3x): re-baseline the seam ledger against upstream v0.0.33\nb9d54cadd docs(t3x): record the mobile sendLabel mirror on the ledger\n6abdc5f35 docs(t3x): re-baseline the seam ledger against the follow-up merge-base\n199e7a365 docs(t3x): re-baseline the seam ledger against the 2026-08-08 merge-base\nc658ab16e test(t3x): retime the tolerant-budget tests to upstream's new retry ladder\n21544a016 fix(t3x): drop the settings imports upstream stopped needing\n4f792224a fix(t3x): give the crash-recovery test the registries upstream added\n8e2a59ee0 chore(deps): regenerate the lockfile against the 2026-08-08 upstream tree\n761458193 docs(t3x): archive the Loop Watch design before its branch is deleted\nf7b695f54 fix(t3x): put ~/.cargo/bin on the autobuild agent's PATH\n01e6af3b0 fix(t3x): track the composer's top edge so banners cannot cover the capsule\nfe460658c fix(t3x): align the auto-resume capsule with the composer's right edge\n721982e5d fix(t3x): put the auto-resume capsule back above the composer\nda100635d fix(t3x): pin the countdown width, spring the toggle, move the capsule top-right\n3ef7b0ec4 fix(t3x): make auto-resume teardown re-armable so StrictMode cannot kill it\ndf2184fbc feat(t3x): rebuild the auto-resume capsule and cover it with tests\nf4973f884 chore(t3x): stop Dependabot re-failing on advisories it cannot fix\nedf4681a2 fix(t3x): stop a transient 403 from discarding a whole release build\nb30c5e160 feat(t3x): verify the install actually happened, and offer to report it when it did not\n93774f4c1 fix(t3x): stop calling the Windows update a restart\nbcbc87540 Update toast: changelog-forward design, and a restart that waits for you (#55)\ne8c000d03 chore(deps): dedupe nanoid onto 3.3.17, closing the two alerts the sweep reopened\n480dc9f4b chore(deps): clear 56 of the 62 open transitive advisories in the root lockfile\nd6726d844 chore(deps): bump electron to 41.10.3, and stop Dependabot on the vendored subtrees\n9d11a3d24 docs(t3x): put the manual-install commands on the release page\ne477cebe1 fix(t3x): follow the 302 on GitHub release asset downloads\nb66655b8a fix(t3x): actually serialise the release bundle build\nd302b91e3 fix(t3x): scope ensure:electron, and refuse updates without a release counter\n72b664a71 fix(t3x): wait for the condition in the auto-resume reactor tests\n0bb7b9749 Update delivery: CI builds, relay pushes, the app offers a restart (#51)\n1d0b23deb ci(t3x): raise the hook timeout alongside the test timeout\n97aca166f docs(t3x): remeasure the seam ledger against the 2026-08-02 merge-base\n4ffe2fb45 fix(t3x): adapt the crash-recovery startup test to upstream's new startup internals\na9a41518e fix(web): keep the queue's reorder controls usable, and leave a dispatch trail (#35)\n25dcb8d63 feat(web): steer a running turn instead of queuing behind it (#35)\necaeaf358 feat(web): make the thread outbox read as composer chrome, and let it be reordered (#35)\n93e57957f docs(t3x): point the self-reference rule at the renamed Claude doc\n55ba0e66f docs(t3x): follow upstream's rename of the Claude provider doc\nbd364eb80 docs(t3x): remeasure the seam ledger against the 2026-07-30 merge-base\n775622c42 fix(web): apply upstream's detail-loading send gate to the queue path\n9dd745a8b fix(t3x): apply the sync test-timeout to every gate, not just fork CI (#32)\n098f3c300 ci(t3x): raise the test timeout for the fork's slower runners\nb85c5bf2f docs(t3x): replace the fictional seam ledger with a measured one\n53291231b docs(providers): fix the broken Claude multi-account recipe\ne7b028a86 test(t3x): move fork settings coverage out of the upstream test file\n00c89d998 feat(t3x): auto-build from origin/main in a dedicated worktree\n8eb978833 fix(client-runtime): reset tolerant reconnect budget across a network drop\n660c07407 fix(web): address Web Push review findings (reactor priming, VAPID recovery, cleanup)\na20561a7c feat(web): closed-tab Web Push notifications (SW + PWA + server VAPID push)\n4433bf717 fix(connection): tolerate a slow-but-alive local backend + heap headroom\nce78f5d03 feat(web): queue messages while a chat is running (thread outbox)\nf4349541a ci(t3x): add fork-runnable PR/main verify gate (t3x-ci.yml)\n9616388fe docs(t3x): document how to land a sync PR (force-update, not merge button)\ncf57a2a01 fix(t3x): resolve pre-existing typecheck/lint red on fork test files\n0517aebff fix(t3x): pin sync escalation gh calls to the fork (GH_REPO)\n4344813d4 feat(t3x): on-demand agent to resolve escalated upstream-sync conflicts\n553a1bc1c fix(t3x): make sync escalation always open the t3x-sync issue\n0b37bdaca fix(mobile): iOS Shift+Return inserts a newline instead of submitting\nd99293572 feat(mobile): queue/send from the keyboard Return key\n0af137338 chore(t3x): auto-build on a 12h cadence, not every main commit\n919bcf787 fix(notifications): final-review fixes \u2014 web notification guard, desktop coalescing, draft-route suppression\nb1ec4c330 feat(web): needs-input notification setting and web permission UX\n6baf7445c feat(web): notification coordinator with platform shim and click-to-navigate\n4db1a2489 feat(desktop): native OS notification IPC with click-to-reveal activation\n31ea03c69 feat(web): add pure needs-attention tracker and suppression logic\n700ebe3ac feat(contracts): add notifyOnNeedsInput setting and DesktopBridge notification surface\nd3c561489 fix(server): reconcile crash-frozen `running` turns to interrupted on boot\n6f93675d7 test(server): cover non-spawn `--version` failure mapping to available\n473237a1f fix(server): treat slow `az --version` as present, not missing\nb0fb466ea fix(t3x): don't cancel auto-resume as thread-advanced when the limited turn settles\nca8473494 fix(t3x): auto-build fixes found running it for real\nb8b4c59b5 docs(t3x): correct which .app a default auto-build replaces\nbcdd631a8 fix(t3x): resolve adversarial-review findings in auto-build\n518a49355 fix(t3x): resolve auto-build review findings\n367c41739 fix(t3x): strip trailing newline from auto-build status JSON values\n46484b8f2 feat(t3x): auto-build & install the desktop app on change\n425277b4d fix(t3x): prototype-chain threadId corrupted the auto-resume state file\nb749fad11 test(t3x): route-level tests for /api/t3x/auto-resume\n72ed6d4eb docs(t3x): record the auto-resume UI seams\n23bb00f08 feat(t3x): per-thread auto-resume overlay in the thread view\n20b9b6bc0 feat(t3x): authenticated /api/t3x/auto-resume route\nba867fe2a feat(t3x): per-thread auto-resume switch (server state + gating)\nee5e47573 docs(t3x): design + plan for per-thread auto-resume UI (floating card)\n63a787dd2 docs(t3x): plan for auto-build + install desktop app on change\n9a318ce49 fix(t3x): resolve third-pass verified review findings\n67f8c9d36 docs(t3x): align auto-resume spec with final implementation\n9fb30eba6 fix(t3x): resolve adversarial-review findings across auto-resume + sync\nda06e9a91 feat(t3x): usage-limit auto-resume reactor (Project B)\nf9d13010b docs/ci(t3x): incorporate adversarial review findings\n350abd39e feat(t3x): fork setup + daily upstream sync + weekly verify (Project A)\n8bfad7051 docs(t3x): add fork-sync and usage-limit auto-resume design specs\n",
              "detail": "rebase 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 rebase, resolves the conflicts, runs typecheck/lint/test, and opens a PR for review — nothing is pushed to main. Runbook: docs/coil/sync-agent-runbook.md.

              Metadata

              Metadata

              Assignees

              No one assigned

                Labels

                coil-syncUpstream sync needs a human/agent

                Projects

                No projects

                  Milestone

                  No milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions

                  , 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
                  Skip to content

                  [coil-sync] daily rebase needs attention (conflict) #123

                  Description

                  @github-actions

                  Automated daily upstream sync could not complete.

                  Result:conflict
                  Recovery tag:coil/last-good-20260819-082322
                  Run:https://github.com/radroid/t3code/actions/runs/32232293593

                  status JSON
                  {
                  "kind": "daily",
                  "result": "conflict",
                  "upstream_range": "2aa5f095f feat(server): run the background service on macOS via launchd (#6286)\n7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n36f4314ab fix(web): animate command palette when closing (#5169)\n67e2fe71d fix(marketing): never serve the Intel build to Apple Silicon Macs (#7477)\n3b8e7bbbe feat(web): add shortcuts to the surface dropdown (#7318)\n5ea5a80a8 fix(marketing): Safari gets the arm64 Mac download (#7473)\n324ddda31 feat(cli): npx t3 triage hands broken installs to your own coding agent (#6563)\nf21b47e52 fix(threads): a merged PR settles its thread only once (#7454)\nefcf7d1ac fix(desktop): boot the main window unthrottled so cold start paints at full speed (#7460)\ne7f6a30ca fix(server): stop probing Grok, Cursor, and OpenCode unless turned on (#7459)\nfe281c540 fix(desktop): throttle hidden preview rendering (#7445)\nbcfd48586 fix(web): improve disconnected composer placeholder (#7122)\n3a02c9cf1 feat(desktop): mute a browser tab (#7252)\n6a687ee43 fix(desktop): stop the passkey dialog from popping as soon as sign-in opens (#7437)\n636caf4c7 fix(server): avoid PRs inherited from default upstreams (#7317)\n26af903b9 fix(web): label pull request merge actions (#7381)\ndb0659fea fix(packaging): install AUR launcher icons where icon themes look (#7421)\nfda740ad7 feat(web): show project location in new thread picker (#7392)\n3b5d476eb fix(desktop): stop overwriting a custom dock icon on launch (#7125)\nf3cb7f509 fix(desktop): prevent quit shortcut spillover (#7397)\na87f691bd fix(preview): open local environment ports on localhost (#7300)\n1896f39a3 refactor(server): simplify error transformation with Effect.mapError in GitHubPullRequestCli (#7385)\n82b8a9380 fix(orchestration): do not revive idle tasks from status-free progress (#7172)\n",
                  "upstream_head": "2aa5f095fc3bb65c00cc4efce66a5473e2d4554a\n",
                  "conflicted_files": "pnpm-lock.yaml \n",
                  "culprit_commits": "7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n",
                  "failing_step": "\n",
                  "dropped_patches": "\n",
                  "patch_manifest": "8a138d6b9 fix(coil): a turn that died inside the closed window isn't advancement (#121)\n94c6328ef docs(coil): repoint the ledger at the final merge-base\n42bd20f68 docs(coil): re-baseline the seam ledger against the 2026-08-17 merge-base\n20a3c1996 test(web): reconcile upstream's new running-send assertion with the fork's steer label\n9f93cbdf1 test(coil): carry the app rename onto upstream's new DMG title assertion\nd03a452a9 fix(coil): migrate the update toast off the native title tooltip\n1668666ba docs(coil): fix seam-ledger rows the #71 rename left pointing at t3x names (#116)\n8332abec2 fix(coil): the verify gate must not require Bun-runtime imports the shipped app cannot reach (#107)\n4eb3b2551 fix(coil): verify every packaged layer, and fail on layers the gate cannot see (#102) (#106)\naa11eee84 docs(coil): re-measure the seam ledger on the landing branch\n7bdb540d1 fix(coil): drop a stray blank seam line the rebase left in ThreadComposer\n410d819f4 fix(web): surface enqueue failures as a toast, not the maskable error banner\ne3647f524 docs(coil): re-baseline the seam ledger against the 2026-08-14 merge-base\n4eab6323c chore(deps): regenerate the lockfile against the 2026-08-14 upstream tree\nd60d10dcb fix(server): name why a clone failed, and which provider it was\ncd03590c6 fix(coil): stop shipping upstream's update feed, which we never actually disabled\nf22f900a8 fix(coil): restore the release, and make two of its checks capable of failing\n8d61a6d0c fix(coil): publish a canonical Latest release, and re-arm retention\ncd8b00d58 docs(coil): design a canonical Latest release for the fork\n608dbedb4 fix(coil): tell the truth about the one macOS prompt an update raises\nab1ae630a perf(coil): halve the desktop release bundle (#53)\nc4e3e59bf docs(coil): re-baseline the ledger for the sidebar wordmark row\nc602c7f8e feat(coil): finish the app rename at the surfaces that name the app (#71)\n50cec17df docs(coil): repoint two ledger citations at the paths #71 moved\n48f620d4c refactor(coil): retire the local desktop autobuild\n9950e1623 fix(coil): reach the renamed relay through a service binding (#71)\n871e352cf fix(coil): make --rotate emit the CI secret commands itself (#71)\n5c433284d fix(coil): finish the certificate rotation and list all 47 rows in the ledger (#71)\n7d2213399 chore(coil): re-record the designated requirement after the certificate rotation\nb10f77dd6 fix(coil): compute the build-counter offset in bash, not in an expression (#71)\naf7d90be2 fix(coil): repoint the last references to moved files (#71)\n828483090 style(coil): format the files this rename touched (#71)\ne9302c732 docs(coil): re-baseline the seam ledger and correct the runbooks (#71)\nbbd4449f1 fix(coil): carry PRs #78 and #84 across the rename (#71)\nc05a67cf4 feat(coil): move the relay, keeping the old hostname alive as a proxy (#71)\ne9433a6c7 feat(coil): cut the sync automation over to coil names (#71)\n07ab5d689 feat(coil): move the release identity, offsetting the counter so clients keep updating (#71)\ne49e412eb feat(coil): rename the app to T3 Coil, with its own bundle id and certificate (#71)\n83b7d0ba9 refactor(coil): move the fork's directories and symbols off t3x (#71)\n85fb4d093 docs(coil): design the t3x -> coil rename around its four silent failures (#71)\n69005e410 fix(deps): clear the sharp and @hono/node-server advisories by re-resolution (#58) (#87)\n0863e90d7 feat(coil): put the real install steps on the download page, from one source (#72)\n81849813f feat(coil): a real link-preview card for shared URLs\n8db9622fd fix(t3x): push the sync as a workflow-scoped token, and escalate when it fails\n3ea12f2aa fix(web): steering-path leftovers from the queue transition (#40 A1-A4)\nd695f9da2 fix(t3x): stop a user message destroying a pending auto-resume\n92a0fad04 docs(t3x): note that the trusted certificate is listed twice, and why that is fine\n399edff8e docs(t3x): correct the runbook's seam claim \u2014 the bundle id spends one upstream line\n9328cd4df fix(t3x): pin the designated requirement the fork's identity produces (#70)\na4b43a3bf fix(t3x): give the fork its own bundle id, so it stops sharing TCC rows with upstream (#70)\n6a380d05d fix(t3x): sign the macOS build with a stable identity so permission grants survive updates (#70)\n38a49bf80 fix(web): an edit saved during dispatch no longer disappears (#40 A5)\n045c4f9a0 fix(t3x): derive and verify the autobuild agent's PATH, and correct the runbook interval (#41)\n1a223dc67 fix(t3x): the Windows transient-crash retry could never fire; classify on the code vp prints (#47)\n3f91cb9de docs(worklog): write down how the skill actually gets installed (#65)\nd54eb1265 fix(worklog): satisfy the repo lint rules the suite files were breaking (#65)\n5dbafda41 fix(worklog): correct the numbers the report is built on (#65)\n72ffdf856 feat(t3x): add the /worklog daily work-log skill (#65)\n8ab81860a fix(t3x): widen the release retry window past the observed 403 duration\n8579d5d9a fix(coil): stop the deploy verify step failing on Cloudflare bot mitigation\ne132dcedd fix(coil): put pnpm on PATH in the homepage deploy workflow\n282d2c422 docs(coil): fix the stale deploy-workflow pointer, note the secret is set\n2b071ae2d docs(coil): recapture the hero evidence with all five marks restored\n44c6cfd17 fix(coil): bring the hero marks back on mobile as an in-flow row\n8812438fd docs(coil): recapture mobile evidence after the collision fix\n0d0cb9904 fix(coil): stop the hero marks colliding with mobile content, equalise stacked buttons\nb2e9b06cd docs(coil): recapture the homepage evidence against coil.curlycloud.dev\nacb781d04 feat(coil): reposition the homepage as Coil, a personal fork\nc8e1ef4d0 docs(coil): design for repositioning the homepage as Coil\ncd7f44209 docs(t3x): capture homepage screenshots and a scroll-through for review\nbd15237a3 ci(t3x): pin the deploy wrangler exactly, not to a floating major\nf86ccb07d docs(t3x): record the fork homepage on the seam ledger and sync runbook\n11e11900c ci(t3x): auto-deploy the homepage to Cloudflare on push to main\nd64086e5c feat(t3x): deploy the homepage as a Cloudflare assets-only Worker\n6b6b88a7e feat(t3x): serve downloads from the fork's update-relay manifest and wire the sync strip\n6ac9e2b75 feat(t3x): rebrand the homepage copy, chrome, and fork graph\nefa9b75ae feat(t3x): strip upstream-only social proof, store links, and legal pages\nba9fcf058 feat(t3x): seed the fork homepage from apps/marketing\n8015eb3a1 docs(t3x): record before/after capture for the capsule anchor fix (#67)\n469c549c9 fix(t3x): anchor the auto-resume capsule to the composer's measured box (#67)\nfb5c7a3c2 fix(t3x): retry the relay notify, and surface DO failures as readable 503s (#66)\nffd04a581 docs(t3x): re-baseline the seam ledger against upstream v0.0.33\nb9d54cadd docs(t3x): record the mobile sendLabel mirror on the ledger\n6abdc5f35 docs(t3x): re-baseline the seam ledger against the follow-up merge-base\n199e7a365 docs(t3x): re-baseline the seam ledger against the 2026-08-08 merge-base\nc658ab16e test(t3x): retime the tolerant-budget tests to upstream's new retry ladder\n21544a016 fix(t3x): drop the settings imports upstream stopped needing\n4f792224a fix(t3x): give the crash-recovery test the registries upstream added\n8e2a59ee0 chore(deps): regenerate the lockfile against the 2026-08-08 upstream tree\n761458193 docs(t3x): archive the Loop Watch design before its branch is deleted\nf7b695f54 fix(t3x): put ~/.cargo/bin on the autobuild agent's PATH\n01e6af3b0 fix(t3x): track the composer's top edge so banners cannot cover the capsule\nfe460658c fix(t3x): align the auto-resume capsule with the composer's right edge\n721982e5d fix(t3x): put the auto-resume capsule back above the composer\nda100635d fix(t3x): pin the countdown width, spring the toggle, move the capsule top-right\n3ef7b0ec4 fix(t3x): make auto-resume teardown re-armable so StrictMode cannot kill it\ndf2184fbc feat(t3x): rebuild the auto-resume capsule and cover it with tests\nf4973f884 chore(t3x): stop Dependabot re-failing on advisories it cannot fix\nedf4681a2 fix(t3x): stop a transient 403 from discarding a whole release build\nb30c5e160 feat(t3x): verify the install actually happened, and offer to report it when it did not\n93774f4c1 fix(t3x): stop calling the Windows update a restart\nbcbc87540 Update toast: changelog-forward design, and a restart that waits for you (#55)\ne8c000d03 chore(deps): dedupe nanoid onto 3.3.17, closing the two alerts the sweep reopened\n480dc9f4b chore(deps): clear 56 of the 62 open transitive advisories in the root lockfile\nd6726d844 chore(deps): bump electron to 41.10.3, and stop Dependabot on the vendored subtrees\n9d11a3d24 docs(t3x): put the manual-install commands on the release page\ne477cebe1 fix(t3x): follow the 302 on GitHub release asset downloads\nb66655b8a fix(t3x): actually serialise the release bundle build\nd302b91e3 fix(t3x): scope ensure:electron, and refuse updates without a release counter\n72b664a71 fix(t3x): wait for the condition in the auto-resume reactor tests\n0bb7b9749 Update delivery: CI builds, relay pushes, the app offers a restart (#51)\n1d0b23deb ci(t3x): raise the hook timeout alongside the test timeout\n97aca166f docs(t3x): remeasure the seam ledger against the 2026-08-02 merge-base\n4ffe2fb45 fix(t3x): adapt the crash-recovery startup test to upstream's new startup internals\na9a41518e fix(web): keep the queue's reorder controls usable, and leave a dispatch trail (#35)\n25dcb8d63 feat(web): steer a running turn instead of queuing behind it (#35)\necaeaf358 feat(web): make the thread outbox read as composer chrome, and let it be reordered (#35)\n93e57957f docs(t3x): point the self-reference rule at the renamed Claude doc\n55ba0e66f docs(t3x): follow upstream's rename of the Claude provider doc\nbd364eb80 docs(t3x): remeasure the seam ledger against the 2026-07-30 merge-base\n775622c42 fix(web): apply upstream's detail-loading send gate to the queue path\n9dd745a8b fix(t3x): apply the sync test-timeout to every gate, not just fork CI (#32)\n098f3c300 ci(t3x): raise the test timeout for the fork's slower runners\nb85c5bf2f docs(t3x): replace the fictional seam ledger with a measured one\n53291231b docs(providers): fix the broken Claude multi-account recipe\ne7b028a86 test(t3x): move fork settings coverage out of the upstream test file\n00c89d998 feat(t3x): auto-build from origin/main in a dedicated worktree\n8eb978833 fix(client-runtime): reset tolerant reconnect budget across a network drop\n660c07407 fix(web): address Web Push review findings (reactor priming, VAPID recovery, cleanup)\na20561a7c feat(web): closed-tab Web Push notifications (SW + PWA + server VAPID push)\n4433bf717 fix(connection): tolerate a slow-but-alive local backend + heap headroom\nce78f5d03 feat(web): queue messages while a chat is running (thread outbox)\nf4349541a ci(t3x): add fork-runnable PR/main verify gate (t3x-ci.yml)\n9616388fe docs(t3x): document how to land a sync PR (force-update, not merge button)\ncf57a2a01 fix(t3x): resolve pre-existing typecheck/lint red on fork test files\n0517aebff fix(t3x): pin sync escalation gh calls to the fork (GH_REPO)\n4344813d4 feat(t3x): on-demand agent to resolve escalated upstream-sync conflicts\n553a1bc1c fix(t3x): make sync escalation always open the t3x-sync issue\n0b37bdaca fix(mobile): iOS Shift+Return inserts a newline instead of submitting\nd99293572 feat(mobile): queue/send from the keyboard Return key\n0af137338 chore(t3x): auto-build on a 12h cadence, not every main commit\n919bcf787 fix(notifications): final-review fixes \u2014 web notification guard, desktop coalescing, draft-route suppression\nb1ec4c330 feat(web): needs-input notification setting and web permission UX\n6baf7445c feat(web): notification coordinator with platform shim and click-to-navigate\n4db1a2489 feat(desktop): native OS notification IPC with click-to-reveal activation\n31ea03c69 feat(web): add pure needs-attention tracker and suppression logic\n700ebe3ac feat(contracts): add notifyOnNeedsInput setting and DesktopBridge notification surface\nd3c561489 fix(server): reconcile crash-frozen `running` turns to interrupted on boot\n6f93675d7 test(server): cover non-spawn `--version` failure mapping to available\n473237a1f fix(server): treat slow `az --version` as present, not missing\nb0fb466ea fix(t3x): don't cancel auto-resume as thread-advanced when the limited turn settles\nca8473494 fix(t3x): auto-build fixes found running it for real\nb8b4c59b5 docs(t3x): correct which .app a default auto-build replaces\nbcdd631a8 fix(t3x): resolve adversarial-review findings in auto-build\n518a49355 fix(t3x): resolve auto-build review findings\n367c41739 fix(t3x): strip trailing newline from auto-build status JSON values\n46484b8f2 feat(t3x): auto-build & install the desktop app on change\n425277b4d fix(t3x): prototype-chain threadId corrupted the auto-resume state file\nb749fad11 test(t3x): route-level tests for /api/t3x/auto-resume\n72ed6d4eb docs(t3x): record the auto-resume UI seams\n23bb00f08 feat(t3x): per-thread auto-resume overlay in the thread view\n20b9b6bc0 feat(t3x): authenticated /api/t3x/auto-resume route\nba867fe2a feat(t3x): per-thread auto-resume switch (server state + gating)\nee5e47573 docs(t3x): design + plan for per-thread auto-resume UI (floating card)\n63a787dd2 docs(t3x): plan for auto-build + install desktop app on change\n9a318ce49 fix(t3x): resolve third-pass verified review findings\n67f8c9d36 docs(t3x): align auto-resume spec with final implementation\n9fb30eba6 fix(t3x): resolve adversarial-review findings across auto-resume + sync\nda06e9a91 feat(t3x): usage-limit auto-resume reactor (Project B)\nf9d13010b docs/ci(t3x): incorporate adversarial review findings\n350abd39e feat(t3x): fork setup + daily upstream sync + weekly verify (Project A)\n8bfad7051 docs(t3x): add fork-sync and usage-limit auto-resume design specs\n",
                  "detail": "rebase 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 rebase, resolves the conflicts, runs typecheck/lint/test, and opens a PR for review — nothing is pushed to main. Runbook: docs/coil/sync-agent-runbook.md.

                  Metadata

                  Metadata

                  Assignees

                  No one assigned

                    Labels

                    coil-syncUpstream sync needs a human/agent

                    Projects

                    No projects

                      Milestone

                      No milestone

                      Relationships

                      None yet

                      Development

                      No branches or pull requests

                      Issue actions

                      , 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                      Skip to content

                      [coil-sync] daily rebase needs attention (conflict) #123

                      Description

                      @github-actions

                      Automated daily upstream sync could not complete.

                      Result:conflict
                      Recovery tag:coil/last-good-20260819-082322
                      Run:https://github.com/radroid/t3code/actions/runs/32232293593

                      status JSON
                      {
                      "kind": "daily",
                      "result": "conflict",
                      "upstream_range": "2aa5f095f feat(server): run the background service on macOS via launchd (#6286)\n7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n36f4314ab fix(web): animate command palette when closing (#5169)\n67e2fe71d fix(marketing): never serve the Intel build to Apple Silicon Macs (#7477)\n3b8e7bbbe feat(web): add shortcuts to the surface dropdown (#7318)\n5ea5a80a8 fix(marketing): Safari gets the arm64 Mac download (#7473)\n324ddda31 feat(cli): npx t3 triage hands broken installs to your own coding agent (#6563)\nf21b47e52 fix(threads): a merged PR settles its thread only once (#7454)\nefcf7d1ac fix(desktop): boot the main window unthrottled so cold start paints at full speed (#7460)\ne7f6a30ca fix(server): stop probing Grok, Cursor, and OpenCode unless turned on (#7459)\nfe281c540 fix(desktop): throttle hidden preview rendering (#7445)\nbcfd48586 fix(web): improve disconnected composer placeholder (#7122)\n3a02c9cf1 feat(desktop): mute a browser tab (#7252)\n6a687ee43 fix(desktop): stop the passkey dialog from popping as soon as sign-in opens (#7437)\n636caf4c7 fix(server): avoid PRs inherited from default upstreams (#7317)\n26af903b9 fix(web): label pull request merge actions (#7381)\ndb0659fea fix(packaging): install AUR launcher icons where icon themes look (#7421)\nfda740ad7 feat(web): show project location in new thread picker (#7392)\n3b5d476eb fix(desktop): stop overwriting a custom dock icon on launch (#7125)\nf3cb7f509 fix(desktop): prevent quit shortcut spillover (#7397)\na87f691bd fix(preview): open local environment ports on localhost (#7300)\n1896f39a3 refactor(server): simplify error transformation with Effect.mapError in GitHubPullRequestCli (#7385)\n82b8a9380 fix(orchestration): do not revive idle tasks from status-free progress (#7172)\n",
                      "upstream_head": "2aa5f095fc3bb65c00cc4efce66a5473e2d4554a\n",
                      "conflicted_files": "pnpm-lock.yaml \n",
                      "culprit_commits": "7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n",
                      "failing_step": "\n",
                      "dropped_patches": "\n",
                      "patch_manifest": "8a138d6b9 fix(coil): a turn that died inside the closed window isn't advancement (#121)\n94c6328ef docs(coil): repoint the ledger at the final merge-base\n42bd20f68 docs(coil): re-baseline the seam ledger against the 2026-08-17 merge-base\n20a3c1996 test(web): reconcile upstream's new running-send assertion with the fork's steer label\n9f93cbdf1 test(coil): carry the app rename onto upstream's new DMG title assertion\nd03a452a9 fix(coil): migrate the update toast off the native title tooltip\n1668666ba docs(coil): fix seam-ledger rows the #71 rename left pointing at t3x names (#116)\n8332abec2 fix(coil): the verify gate must not require Bun-runtime imports the shipped app cannot reach (#107)\n4eb3b2551 fix(coil): verify every packaged layer, and fail on layers the gate cannot see (#102) (#106)\naa11eee84 docs(coil): re-measure the seam ledger on the landing branch\n7bdb540d1 fix(coil): drop a stray blank seam line the rebase left in ThreadComposer\n410d819f4 fix(web): surface enqueue failures as a toast, not the maskable error banner\ne3647f524 docs(coil): re-baseline the seam ledger against the 2026-08-14 merge-base\n4eab6323c chore(deps): regenerate the lockfile against the 2026-08-14 upstream tree\nd60d10dcb fix(server): name why a clone failed, and which provider it was\ncd03590c6 fix(coil): stop shipping upstream's update feed, which we never actually disabled\nf22f900a8 fix(coil): restore the release, and make two of its checks capable of failing\n8d61a6d0c fix(coil): publish a canonical Latest release, and re-arm retention\ncd8b00d58 docs(coil): design a canonical Latest release for the fork\n608dbedb4 fix(coil): tell the truth about the one macOS prompt an update raises\nab1ae630a perf(coil): halve the desktop release bundle (#53)\nc4e3e59bf docs(coil): re-baseline the ledger for the sidebar wordmark row\nc602c7f8e feat(coil): finish the app rename at the surfaces that name the app (#71)\n50cec17df docs(coil): repoint two ledger citations at the paths #71 moved\n48f620d4c refactor(coil): retire the local desktop autobuild\n9950e1623 fix(coil): reach the renamed relay through a service binding (#71)\n871e352cf fix(coil): make --rotate emit the CI secret commands itself (#71)\n5c433284d fix(coil): finish the certificate rotation and list all 47 rows in the ledger (#71)\n7d2213399 chore(coil): re-record the designated requirement after the certificate rotation\nb10f77dd6 fix(coil): compute the build-counter offset in bash, not in an expression (#71)\naf7d90be2 fix(coil): repoint the last references to moved files (#71)\n828483090 style(coil): format the files this rename touched (#71)\ne9302c732 docs(coil): re-baseline the seam ledger and correct the runbooks (#71)\nbbd4449f1 fix(coil): carry PRs #78 and #84 across the rename (#71)\nc05a67cf4 feat(coil): move the relay, keeping the old hostname alive as a proxy (#71)\ne9433a6c7 feat(coil): cut the sync automation over to coil names (#71)\n07ab5d689 feat(coil): move the release identity, offsetting the counter so clients keep updating (#71)\ne49e412eb feat(coil): rename the app to T3 Coil, with its own bundle id and certificate (#71)\n83b7d0ba9 refactor(coil): move the fork's directories and symbols off t3x (#71)\n85fb4d093 docs(coil): design the t3x -> coil rename around its four silent failures (#71)\n69005e410 fix(deps): clear the sharp and @hono/node-server advisories by re-resolution (#58) (#87)\n0863e90d7 feat(coil): put the real install steps on the download page, from one source (#72)\n81849813f feat(coil): a real link-preview card for shared URLs\n8db9622fd fix(t3x): push the sync as a workflow-scoped token, and escalate when it fails\n3ea12f2aa fix(web): steering-path leftovers from the queue transition (#40 A1-A4)\nd695f9da2 fix(t3x): stop a user message destroying a pending auto-resume\n92a0fad04 docs(t3x): note that the trusted certificate is listed twice, and why that is fine\n399edff8e docs(t3x): correct the runbook's seam claim \u2014 the bundle id spends one upstream line\n9328cd4df fix(t3x): pin the designated requirement the fork's identity produces (#70)\na4b43a3bf fix(t3x): give the fork its own bundle id, so it stops sharing TCC rows with upstream (#70)\n6a380d05d fix(t3x): sign the macOS build with a stable identity so permission grants survive updates (#70)\n38a49bf80 fix(web): an edit saved during dispatch no longer disappears (#40 A5)\n045c4f9a0 fix(t3x): derive and verify the autobuild agent's PATH, and correct the runbook interval (#41)\n1a223dc67 fix(t3x): the Windows transient-crash retry could never fire; classify on the code vp prints (#47)\n3f91cb9de docs(worklog): write down how the skill actually gets installed (#65)\nd54eb1265 fix(worklog): satisfy the repo lint rules the suite files were breaking (#65)\n5dbafda41 fix(worklog): correct the numbers the report is built on (#65)\n72ffdf856 feat(t3x): add the /worklog daily work-log skill (#65)\n8ab81860a fix(t3x): widen the release retry window past the observed 403 duration\n8579d5d9a fix(coil): stop the deploy verify step failing on Cloudflare bot mitigation\ne132dcedd fix(coil): put pnpm on PATH in the homepage deploy workflow\n282d2c422 docs(coil): fix the stale deploy-workflow pointer, note the secret is set\n2b071ae2d docs(coil): recapture the hero evidence with all five marks restored\n44c6cfd17 fix(coil): bring the hero marks back on mobile as an in-flow row\n8812438fd docs(coil): recapture mobile evidence after the collision fix\n0d0cb9904 fix(coil): stop the hero marks colliding with mobile content, equalise stacked buttons\nb2e9b06cd docs(coil): recapture the homepage evidence against coil.curlycloud.dev\nacb781d04 feat(coil): reposition the homepage as Coil, a personal fork\nc8e1ef4d0 docs(coil): design for repositioning the homepage as Coil\ncd7f44209 docs(t3x): capture homepage screenshots and a scroll-through for review\nbd15237a3 ci(t3x): pin the deploy wrangler exactly, not to a floating major\nf86ccb07d docs(t3x): record the fork homepage on the seam ledger and sync runbook\n11e11900c ci(t3x): auto-deploy the homepage to Cloudflare on push to main\nd64086e5c feat(t3x): deploy the homepage as a Cloudflare assets-only Worker\n6b6b88a7e feat(t3x): serve downloads from the fork's update-relay manifest and wire the sync strip\n6ac9e2b75 feat(t3x): rebrand the homepage copy, chrome, and fork graph\nefa9b75ae feat(t3x): strip upstream-only social proof, store links, and legal pages\nba9fcf058 feat(t3x): seed the fork homepage from apps/marketing\n8015eb3a1 docs(t3x): record before/after capture for the capsule anchor fix (#67)\n469c549c9 fix(t3x): anchor the auto-resume capsule to the composer's measured box (#67)\nfb5c7a3c2 fix(t3x): retry the relay notify, and surface DO failures as readable 503s (#66)\nffd04a581 docs(t3x): re-baseline the seam ledger against upstream v0.0.33\nb9d54cadd docs(t3x): record the mobile sendLabel mirror on the ledger\n6abdc5f35 docs(t3x): re-baseline the seam ledger against the follow-up merge-base\n199e7a365 docs(t3x): re-baseline the seam ledger against the 2026-08-08 merge-base\nc658ab16e test(t3x): retime the tolerant-budget tests to upstream's new retry ladder\n21544a016 fix(t3x): drop the settings imports upstream stopped needing\n4f792224a fix(t3x): give the crash-recovery test the registries upstream added\n8e2a59ee0 chore(deps): regenerate the lockfile against the 2026-08-08 upstream tree\n761458193 docs(t3x): archive the Loop Watch design before its branch is deleted\nf7b695f54 fix(t3x): put ~/.cargo/bin on the autobuild agent's PATH\n01e6af3b0 fix(t3x): track the composer's top edge so banners cannot cover the capsule\nfe460658c fix(t3x): align the auto-resume capsule with the composer's right edge\n721982e5d fix(t3x): put the auto-resume capsule back above the composer\nda100635d fix(t3x): pin the countdown width, spring the toggle, move the capsule top-right\n3ef7b0ec4 fix(t3x): make auto-resume teardown re-armable so StrictMode cannot kill it\ndf2184fbc feat(t3x): rebuild the auto-resume capsule and cover it with tests\nf4973f884 chore(t3x): stop Dependabot re-failing on advisories it cannot fix\nedf4681a2 fix(t3x): stop a transient 403 from discarding a whole release build\nb30c5e160 feat(t3x): verify the install actually happened, and offer to report it when it did not\n93774f4c1 fix(t3x): stop calling the Windows update a restart\nbcbc87540 Update toast: changelog-forward design, and a restart that waits for you (#55)\ne8c000d03 chore(deps): dedupe nanoid onto 3.3.17, closing the two alerts the sweep reopened\n480dc9f4b chore(deps): clear 56 of the 62 open transitive advisories in the root lockfile\nd6726d844 chore(deps): bump electron to 41.10.3, and stop Dependabot on the vendored subtrees\n9d11a3d24 docs(t3x): put the manual-install commands on the release page\ne477cebe1 fix(t3x): follow the 302 on GitHub release asset downloads\nb66655b8a fix(t3x): actually serialise the release bundle build\nd302b91e3 fix(t3x): scope ensure:electron, and refuse updates without a release counter\n72b664a71 fix(t3x): wait for the condition in the auto-resume reactor tests\n0bb7b9749 Update delivery: CI builds, relay pushes, the app offers a restart (#51)\n1d0b23deb ci(t3x): raise the hook timeout alongside the test timeout\n97aca166f docs(t3x): remeasure the seam ledger against the 2026-08-02 merge-base\n4ffe2fb45 fix(t3x): adapt the crash-recovery startup test to upstream's new startup internals\na9a41518e fix(web): keep the queue's reorder controls usable, and leave a dispatch trail (#35)\n25dcb8d63 feat(web): steer a running turn instead of queuing behind it (#35)\necaeaf358 feat(web): make the thread outbox read as composer chrome, and let it be reordered (#35)\n93e57957f docs(t3x): point the self-reference rule at the renamed Claude doc\n55ba0e66f docs(t3x): follow upstream's rename of the Claude provider doc\nbd364eb80 docs(t3x): remeasure the seam ledger against the 2026-07-30 merge-base\n775622c42 fix(web): apply upstream's detail-loading send gate to the queue path\n9dd745a8b fix(t3x): apply the sync test-timeout to every gate, not just fork CI (#32)\n098f3c300 ci(t3x): raise the test timeout for the fork's slower runners\nb85c5bf2f docs(t3x): replace the fictional seam ledger with a measured one\n53291231b docs(providers): fix the broken Claude multi-account recipe\ne7b028a86 test(t3x): move fork settings coverage out of the upstream test file\n00c89d998 feat(t3x): auto-build from origin/main in a dedicated worktree\n8eb978833 fix(client-runtime): reset tolerant reconnect budget across a network drop\n660c07407 fix(web): address Web Push review findings (reactor priming, VAPID recovery, cleanup)\na20561a7c feat(web): closed-tab Web Push notifications (SW + PWA + server VAPID push)\n4433bf717 fix(connection): tolerate a slow-but-alive local backend + heap headroom\nce78f5d03 feat(web): queue messages while a chat is running (thread outbox)\nf4349541a ci(t3x): add fork-runnable PR/main verify gate (t3x-ci.yml)\n9616388fe docs(t3x): document how to land a sync PR (force-update, not merge button)\ncf57a2a01 fix(t3x): resolve pre-existing typecheck/lint red on fork test files\n0517aebff fix(t3x): pin sync escalation gh calls to the fork (GH_REPO)\n4344813d4 feat(t3x): on-demand agent to resolve escalated upstream-sync conflicts\n553a1bc1c fix(t3x): make sync escalation always open the t3x-sync issue\n0b37bdaca fix(mobile): iOS Shift+Return inserts a newline instead of submitting\nd99293572 feat(mobile): queue/send from the keyboard Return key\n0af137338 chore(t3x): auto-build on a 12h cadence, not every main commit\n919bcf787 fix(notifications): final-review fixes \u2014 web notification guard, desktop coalescing, draft-route suppression\nb1ec4c330 feat(web): needs-input notification setting and web permission UX\n6baf7445c feat(web): notification coordinator with platform shim and click-to-navigate\n4db1a2489 feat(desktop): native OS notification IPC with click-to-reveal activation\n31ea03c69 feat(web): add pure needs-attention tracker and suppression logic\n700ebe3ac feat(contracts): add notifyOnNeedsInput setting and DesktopBridge notification surface\nd3c561489 fix(server): reconcile crash-frozen `running` turns to interrupted on boot\n6f93675d7 test(server): cover non-spawn `--version` failure mapping to available\n473237a1f fix(server): treat slow `az --version` as present, not missing\nb0fb466ea fix(t3x): don't cancel auto-resume as thread-advanced when the limited turn settles\nca8473494 fix(t3x): auto-build fixes found running it for real\nb8b4c59b5 docs(t3x): correct which .app a default auto-build replaces\nbcdd631a8 fix(t3x): resolve adversarial-review findings in auto-build\n518a49355 fix(t3x): resolve auto-build review findings\n367c41739 fix(t3x): strip trailing newline from auto-build status JSON values\n46484b8f2 feat(t3x): auto-build & install the desktop app on change\n425277b4d fix(t3x): prototype-chain threadId corrupted the auto-resume state file\nb749fad11 test(t3x): route-level tests for /api/t3x/auto-resume\n72ed6d4eb docs(t3x): record the auto-resume UI seams\n23bb00f08 feat(t3x): per-thread auto-resume overlay in the thread view\n20b9b6bc0 feat(t3x): authenticated /api/t3x/auto-resume route\nba867fe2a feat(t3x): per-thread auto-resume switch (server state + gating)\nee5e47573 docs(t3x): design + plan for per-thread auto-resume UI (floating card)\n63a787dd2 docs(t3x): plan for auto-build + install desktop app on change\n9a318ce49 fix(t3x): resolve third-pass verified review findings\n67f8c9d36 docs(t3x): align auto-resume spec with final implementation\n9fb30eba6 fix(t3x): resolve adversarial-review findings across auto-resume + sync\nda06e9a91 feat(t3x): usage-limit auto-resume reactor (Project B)\nf9d13010b docs/ci(t3x): incorporate adversarial review findings\n350abd39e feat(t3x): fork setup + daily upstream sync + weekly verify (Project A)\n8bfad7051 docs(t3x): add fork-sync and usage-limit auto-resume design specs\n",
                      "detail": "rebase 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 rebase, resolves the conflicts, runs typecheck/lint/test, and opens a PR for review — nothing is pushed to main. Runbook: docs/coil/sync-agent-runbook.md.

                      Metadata

                      Metadata

                      Assignees

                      No one assigned

                        Labels

                        coil-syncUpstream sync needs a human/agent

                        Projects

                        No projects

                          Milestone

                          No milestone

                          Relationships

                          None yet

                          Development

                          No branches or pull requests

                          Issue actions

                          , 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                          Skip to content

                          [coil-sync] daily rebase needs attention (conflict) #123

                          Description

                          @github-actions

                          Automated daily upstream sync could not complete.

                          Result:conflict
                          Recovery tag:coil/last-good-20260819-082322
                          Run:https://github.com/radroid/t3code/actions/runs/32232293593

                          status JSON
                          {
                          "kind": "daily",
                          "result": "conflict",
                          "upstream_range": "2aa5f095f feat(server): run the background service on macOS via launchd (#6286)\n7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n36f4314ab fix(web): animate command palette when closing (#5169)\n67e2fe71d fix(marketing): never serve the Intel build to Apple Silicon Macs (#7477)\n3b8e7bbbe feat(web): add shortcuts to the surface dropdown (#7318)\n5ea5a80a8 fix(marketing): Safari gets the arm64 Mac download (#7473)\n324ddda31 feat(cli): npx t3 triage hands broken installs to your own coding agent (#6563)\nf21b47e52 fix(threads): a merged PR settles its thread only once (#7454)\nefcf7d1ac fix(desktop): boot the main window unthrottled so cold start paints at full speed (#7460)\ne7f6a30ca fix(server): stop probing Grok, Cursor, and OpenCode unless turned on (#7459)\nfe281c540 fix(desktop): throttle hidden preview rendering (#7445)\nbcfd48586 fix(web): improve disconnected composer placeholder (#7122)\n3a02c9cf1 feat(desktop): mute a browser tab (#7252)\n6a687ee43 fix(desktop): stop the passkey dialog from popping as soon as sign-in opens (#7437)\n636caf4c7 fix(server): avoid PRs inherited from default upstreams (#7317)\n26af903b9 fix(web): label pull request merge actions (#7381)\ndb0659fea fix(packaging): install AUR launcher icons where icon themes look (#7421)\nfda740ad7 feat(web): show project location in new thread picker (#7392)\n3b5d476eb fix(desktop): stop overwriting a custom dock icon on launch (#7125)\nf3cb7f509 fix(desktop): prevent quit shortcut spillover (#7397)\na87f691bd fix(preview): open local environment ports on localhost (#7300)\n1896f39a3 refactor(server): simplify error transformation with Effect.mapError in GitHubPullRequestCli (#7385)\n82b8a9380 fix(orchestration): do not revive idle tasks from status-free progress (#7172)\n",
                          "upstream_head": "2aa5f095fc3bb65c00cc4efce66a5473e2d4554a\n",
                          "conflicted_files": "pnpm-lock.yaml \n",
                          "culprit_commits": "7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n",
                          "failing_step": "\n",
                          "dropped_patches": "\n",
                          "patch_manifest": "8a138d6b9 fix(coil): a turn that died inside the closed window isn't advancement (#121)\n94c6328ef docs(coil): repoint the ledger at the final merge-base\n42bd20f68 docs(coil): re-baseline the seam ledger against the 2026-08-17 merge-base\n20a3c1996 test(web): reconcile upstream's new running-send assertion with the fork's steer label\n9f93cbdf1 test(coil): carry the app rename onto upstream's new DMG title assertion\nd03a452a9 fix(coil): migrate the update toast off the native title tooltip\n1668666ba docs(coil): fix seam-ledger rows the #71 rename left pointing at t3x names (#116)\n8332abec2 fix(coil): the verify gate must not require Bun-runtime imports the shipped app cannot reach (#107)\n4eb3b2551 fix(coil): verify every packaged layer, and fail on layers the gate cannot see (#102) (#106)\naa11eee84 docs(coil): re-measure the seam ledger on the landing branch\n7bdb540d1 fix(coil): drop a stray blank seam line the rebase left in ThreadComposer\n410d819f4 fix(web): surface enqueue failures as a toast, not the maskable error banner\ne3647f524 docs(coil): re-baseline the seam ledger against the 2026-08-14 merge-base\n4eab6323c chore(deps): regenerate the lockfile against the 2026-08-14 upstream tree\nd60d10dcb fix(server): name why a clone failed, and which provider it was\ncd03590c6 fix(coil): stop shipping upstream's update feed, which we never actually disabled\nf22f900a8 fix(coil): restore the release, and make two of its checks capable of failing\n8d61a6d0c fix(coil): publish a canonical Latest release, and re-arm retention\ncd8b00d58 docs(coil): design a canonical Latest release for the fork\n608dbedb4 fix(coil): tell the truth about the one macOS prompt an update raises\nab1ae630a perf(coil): halve the desktop release bundle (#53)\nc4e3e59bf docs(coil): re-baseline the ledger for the sidebar wordmark row\nc602c7f8e feat(coil): finish the app rename at the surfaces that name the app (#71)\n50cec17df docs(coil): repoint two ledger citations at the paths #71 moved\n48f620d4c refactor(coil): retire the local desktop autobuild\n9950e1623 fix(coil): reach the renamed relay through a service binding (#71)\n871e352cf fix(coil): make --rotate emit the CI secret commands itself (#71)\n5c433284d fix(coil): finish the certificate rotation and list all 47 rows in the ledger (#71)\n7d2213399 chore(coil): re-record the designated requirement after the certificate rotation\nb10f77dd6 fix(coil): compute the build-counter offset in bash, not in an expression (#71)\naf7d90be2 fix(coil): repoint the last references to moved files (#71)\n828483090 style(coil): format the files this rename touched (#71)\ne9302c732 docs(coil): re-baseline the seam ledger and correct the runbooks (#71)\nbbd4449f1 fix(coil): carry PRs #78 and #84 across the rename (#71)\nc05a67cf4 feat(coil): move the relay, keeping the old hostname alive as a proxy (#71)\ne9433a6c7 feat(coil): cut the sync automation over to coil names (#71)\n07ab5d689 feat(coil): move the release identity, offsetting the counter so clients keep updating (#71)\ne49e412eb feat(coil): rename the app to T3 Coil, with its own bundle id and certificate (#71)\n83b7d0ba9 refactor(coil): move the fork's directories and symbols off t3x (#71)\n85fb4d093 docs(coil): design the t3x -> coil rename around its four silent failures (#71)\n69005e410 fix(deps): clear the sharp and @hono/node-server advisories by re-resolution (#58) (#87)\n0863e90d7 feat(coil): put the real install steps on the download page, from one source (#72)\n81849813f feat(coil): a real link-preview card for shared URLs\n8db9622fd fix(t3x): push the sync as a workflow-scoped token, and escalate when it fails\n3ea12f2aa fix(web): steering-path leftovers from the queue transition (#40 A1-A4)\nd695f9da2 fix(t3x): stop a user message destroying a pending auto-resume\n92a0fad04 docs(t3x): note that the trusted certificate is listed twice, and why that is fine\n399edff8e docs(t3x): correct the runbook's seam claim \u2014 the bundle id spends one upstream line\n9328cd4df fix(t3x): pin the designated requirement the fork's identity produces (#70)\na4b43a3bf fix(t3x): give the fork its own bundle id, so it stops sharing TCC rows with upstream (#70)\n6a380d05d fix(t3x): sign the macOS build with a stable identity so permission grants survive updates (#70)\n38a49bf80 fix(web): an edit saved during dispatch no longer disappears (#40 A5)\n045c4f9a0 fix(t3x): derive and verify the autobuild agent's PATH, and correct the runbook interval (#41)\n1a223dc67 fix(t3x): the Windows transient-crash retry could never fire; classify on the code vp prints (#47)\n3f91cb9de docs(worklog): write down how the skill actually gets installed (#65)\nd54eb1265 fix(worklog): satisfy the repo lint rules the suite files were breaking (#65)\n5dbafda41 fix(worklog): correct the numbers the report is built on (#65)\n72ffdf856 feat(t3x): add the /worklog daily work-log skill (#65)\n8ab81860a fix(t3x): widen the release retry window past the observed 403 duration\n8579d5d9a fix(coil): stop the deploy verify step failing on Cloudflare bot mitigation\ne132dcedd fix(coil): put pnpm on PATH in the homepage deploy workflow\n282d2c422 docs(coil): fix the stale deploy-workflow pointer, note the secret is set\n2b071ae2d docs(coil): recapture the hero evidence with all five marks restored\n44c6cfd17 fix(coil): bring the hero marks back on mobile as an in-flow row\n8812438fd docs(coil): recapture mobile evidence after the collision fix\n0d0cb9904 fix(coil): stop the hero marks colliding with mobile content, equalise stacked buttons\nb2e9b06cd docs(coil): recapture the homepage evidence against coil.curlycloud.dev\nacb781d04 feat(coil): reposition the homepage as Coil, a personal fork\nc8e1ef4d0 docs(coil): design for repositioning the homepage as Coil\ncd7f44209 docs(t3x): capture homepage screenshots and a scroll-through for review\nbd15237a3 ci(t3x): pin the deploy wrangler exactly, not to a floating major\nf86ccb07d docs(t3x): record the fork homepage on the seam ledger and sync runbook\n11e11900c ci(t3x): auto-deploy the homepage to Cloudflare on push to main\nd64086e5c feat(t3x): deploy the homepage as a Cloudflare assets-only Worker\n6b6b88a7e feat(t3x): serve downloads from the fork's update-relay manifest and wire the sync strip\n6ac9e2b75 feat(t3x): rebrand the homepage copy, chrome, and fork graph\nefa9b75ae feat(t3x): strip upstream-only social proof, store links, and legal pages\nba9fcf058 feat(t3x): seed the fork homepage from apps/marketing\n8015eb3a1 docs(t3x): record before/after capture for the capsule anchor fix (#67)\n469c549c9 fix(t3x): anchor the auto-resume capsule to the composer's measured box (#67)\nfb5c7a3c2 fix(t3x): retry the relay notify, and surface DO failures as readable 503s (#66)\nffd04a581 docs(t3x): re-baseline the seam ledger against upstream v0.0.33\nb9d54cadd docs(t3x): record the mobile sendLabel mirror on the ledger\n6abdc5f35 docs(t3x): re-baseline the seam ledger against the follow-up merge-base\n199e7a365 docs(t3x): re-baseline the seam ledger against the 2026-08-08 merge-base\nc658ab16e test(t3x): retime the tolerant-budget tests to upstream's new retry ladder\n21544a016 fix(t3x): drop the settings imports upstream stopped needing\n4f792224a fix(t3x): give the crash-recovery test the registries upstream added\n8e2a59ee0 chore(deps): regenerate the lockfile against the 2026-08-08 upstream tree\n761458193 docs(t3x): archive the Loop Watch design before its branch is deleted\nf7b695f54 fix(t3x): put ~/.cargo/bin on the autobuild agent's PATH\n01e6af3b0 fix(t3x): track the composer's top edge so banners cannot cover the capsule\nfe460658c fix(t3x): align the auto-resume capsule with the composer's right edge\n721982e5d fix(t3x): put the auto-resume capsule back above the composer\nda100635d fix(t3x): pin the countdown width, spring the toggle, move the capsule top-right\n3ef7b0ec4 fix(t3x): make auto-resume teardown re-armable so StrictMode cannot kill it\ndf2184fbc feat(t3x): rebuild the auto-resume capsule and cover it with tests\nf4973f884 chore(t3x): stop Dependabot re-failing on advisories it cannot fix\nedf4681a2 fix(t3x): stop a transient 403 from discarding a whole release build\nb30c5e160 feat(t3x): verify the install actually happened, and offer to report it when it did not\n93774f4c1 fix(t3x): stop calling the Windows update a restart\nbcbc87540 Update toast: changelog-forward design, and a restart that waits for you (#55)\ne8c000d03 chore(deps): dedupe nanoid onto 3.3.17, closing the two alerts the sweep reopened\n480dc9f4b chore(deps): clear 56 of the 62 open transitive advisories in the root lockfile\nd6726d844 chore(deps): bump electron to 41.10.3, and stop Dependabot on the vendored subtrees\n9d11a3d24 docs(t3x): put the manual-install commands on the release page\ne477cebe1 fix(t3x): follow the 302 on GitHub release asset downloads\nb66655b8a fix(t3x): actually serialise the release bundle build\nd302b91e3 fix(t3x): scope ensure:electron, and refuse updates without a release counter\n72b664a71 fix(t3x): wait for the condition in the auto-resume reactor tests\n0bb7b9749 Update delivery: CI builds, relay pushes, the app offers a restart (#51)\n1d0b23deb ci(t3x): raise the hook timeout alongside the test timeout\n97aca166f docs(t3x): remeasure the seam ledger against the 2026-08-02 merge-base\n4ffe2fb45 fix(t3x): adapt the crash-recovery startup test to upstream's new startup internals\na9a41518e fix(web): keep the queue's reorder controls usable, and leave a dispatch trail (#35)\n25dcb8d63 feat(web): steer a running turn instead of queuing behind it (#35)\necaeaf358 feat(web): make the thread outbox read as composer chrome, and let it be reordered (#35)\n93e57957f docs(t3x): point the self-reference rule at the renamed Claude doc\n55ba0e66f docs(t3x): follow upstream's rename of the Claude provider doc\nbd364eb80 docs(t3x): remeasure the seam ledger against the 2026-07-30 merge-base\n775622c42 fix(web): apply upstream's detail-loading send gate to the queue path\n9dd745a8b fix(t3x): apply the sync test-timeout to every gate, not just fork CI (#32)\n098f3c300 ci(t3x): raise the test timeout for the fork's slower runners\nb85c5bf2f docs(t3x): replace the fictional seam ledger with a measured one\n53291231b docs(providers): fix the broken Claude multi-account recipe\ne7b028a86 test(t3x): move fork settings coverage out of the upstream test file\n00c89d998 feat(t3x): auto-build from origin/main in a dedicated worktree\n8eb978833 fix(client-runtime): reset tolerant reconnect budget across a network drop\n660c07407 fix(web): address Web Push review findings (reactor priming, VAPID recovery, cleanup)\na20561a7c feat(web): closed-tab Web Push notifications (SW + PWA + server VAPID push)\n4433bf717 fix(connection): tolerate a slow-but-alive local backend + heap headroom\nce78f5d03 feat(web): queue messages while a chat is running (thread outbox)\nf4349541a ci(t3x): add fork-runnable PR/main verify gate (t3x-ci.yml)\n9616388fe docs(t3x): document how to land a sync PR (force-update, not merge button)\ncf57a2a01 fix(t3x): resolve pre-existing typecheck/lint red on fork test files\n0517aebff fix(t3x): pin sync escalation gh calls to the fork (GH_REPO)\n4344813d4 feat(t3x): on-demand agent to resolve escalated upstream-sync conflicts\n553a1bc1c fix(t3x): make sync escalation always open the t3x-sync issue\n0b37bdaca fix(mobile): iOS Shift+Return inserts a newline instead of submitting\nd99293572 feat(mobile): queue/send from the keyboard Return key\n0af137338 chore(t3x): auto-build on a 12h cadence, not every main commit\n919bcf787 fix(notifications): final-review fixes \u2014 web notification guard, desktop coalescing, draft-route suppression\nb1ec4c330 feat(web): needs-input notification setting and web permission UX\n6baf7445c feat(web): notification coordinator with platform shim and click-to-navigate\n4db1a2489 feat(desktop): native OS notification IPC with click-to-reveal activation\n31ea03c69 feat(web): add pure needs-attention tracker and suppression logic\n700ebe3ac feat(contracts): add notifyOnNeedsInput setting and DesktopBridge notification surface\nd3c561489 fix(server): reconcile crash-frozen `running` turns to interrupted on boot\n6f93675d7 test(server): cover non-spawn `--version` failure mapping to available\n473237a1f fix(server): treat slow `az --version` as present, not missing\nb0fb466ea fix(t3x): don't cancel auto-resume as thread-advanced when the limited turn settles\nca8473494 fix(t3x): auto-build fixes found running it for real\nb8b4c59b5 docs(t3x): correct which .app a default auto-build replaces\nbcdd631a8 fix(t3x): resolve adversarial-review findings in auto-build\n518a49355 fix(t3x): resolve auto-build review findings\n367c41739 fix(t3x): strip trailing newline from auto-build status JSON values\n46484b8f2 feat(t3x): auto-build & install the desktop app on change\n425277b4d fix(t3x): prototype-chain threadId corrupted the auto-resume state file\nb749fad11 test(t3x): route-level tests for /api/t3x/auto-resume\n72ed6d4eb docs(t3x): record the auto-resume UI seams\n23bb00f08 feat(t3x): per-thread auto-resume overlay in the thread view\n20b9b6bc0 feat(t3x): authenticated /api/t3x/auto-resume route\nba867fe2a feat(t3x): per-thread auto-resume switch (server state + gating)\nee5e47573 docs(t3x): design + plan for per-thread auto-resume UI (floating card)\n63a787dd2 docs(t3x): plan for auto-build + install desktop app on change\n9a318ce49 fix(t3x): resolve third-pass verified review findings\n67f8c9d36 docs(t3x): align auto-resume spec with final implementation\n9fb30eba6 fix(t3x): resolve adversarial-review findings across auto-resume + sync\nda06e9a91 feat(t3x): usage-limit auto-resume reactor (Project B)\nf9d13010b docs/ci(t3x): incorporate adversarial review findings\n350abd39e feat(t3x): fork setup + daily upstream sync + weekly verify (Project A)\n8bfad7051 docs(t3x): add fork-sync and usage-limit auto-resume design specs\n",
                          "detail": "rebase 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 rebase, resolves the conflicts, runs typecheck/lint/test, and opens a PR for review — nothing is pushed to main. Runbook: docs/coil/sync-agent-runbook.md.

                          Metadata

                          Metadata

                          Assignees

                          No one assigned

                            Labels

                            coil-syncUpstream sync needs a human/agent

                            Projects

                            No projects

                              Milestone

                              No milestone

                              Relationships

                              None yet

                              Development

                              No branches or pull requests

                              Issue actions

                              , 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                              Skip to content

                              [coil-sync] daily rebase needs attention (conflict) #123

                              Description

                              @github-actions

                              Automated daily upstream sync could not complete.

                              Result:conflict
                              Recovery tag:coil/last-good-20260819-082322
                              Run:https://github.com/radroid/t3code/actions/runs/32232293593

                              status JSON
                              {
                              "kind": "daily",
                              "result": "conflict",
                              "upstream_range": "2aa5f095f feat(server): run the background service on macOS via launchd (#6286)\n7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n36f4314ab fix(web): animate command palette when closing (#5169)\n67e2fe71d fix(marketing): never serve the Intel build to Apple Silicon Macs (#7477)\n3b8e7bbbe feat(web): add shortcuts to the surface dropdown (#7318)\n5ea5a80a8 fix(marketing): Safari gets the arm64 Mac download (#7473)\n324ddda31 feat(cli): npx t3 triage hands broken installs to your own coding agent (#6563)\nf21b47e52 fix(threads): a merged PR settles its thread only once (#7454)\nefcf7d1ac fix(desktop): boot the main window unthrottled so cold start paints at full speed (#7460)\ne7f6a30ca fix(server): stop probing Grok, Cursor, and OpenCode unless turned on (#7459)\nfe281c540 fix(desktop): throttle hidden preview rendering (#7445)\nbcfd48586 fix(web): improve disconnected composer placeholder (#7122)\n3a02c9cf1 feat(desktop): mute a browser tab (#7252)\n6a687ee43 fix(desktop): stop the passkey dialog from popping as soon as sign-in opens (#7437)\n636caf4c7 fix(server): avoid PRs inherited from default upstreams (#7317)\n26af903b9 fix(web): label pull request merge actions (#7381)\ndb0659fea fix(packaging): install AUR launcher icons where icon themes look (#7421)\nfda740ad7 feat(web): show project location in new thread picker (#7392)\n3b5d476eb fix(desktop): stop overwriting a custom dock icon on launch (#7125)\nf3cb7f509 fix(desktop): prevent quit shortcut spillover (#7397)\na87f691bd fix(preview): open local environment ports on localhost (#7300)\n1896f39a3 refactor(server): simplify error transformation with Effect.mapError in GitHubPullRequestCli (#7385)\n82b8a9380 fix(orchestration): do not revive idle tasks from status-free progress (#7172)\n",
                              "upstream_head": "2aa5f095fc3bb65c00cc4efce66a5473e2d4554a\n",
                              "conflicted_files": "pnpm-lock.yaml \n",
                              "culprit_commits": "7441b3692 fix(desktop): upgrade Clerk OAuth transport (#7479)\n",
                              "failing_step": "\n",
                              "dropped_patches": "\n",
                              "patch_manifest": "8a138d6b9 fix(coil): a turn that died inside the closed window isn't advancement (#121)\n94c6328ef docs(coil): repoint the ledger at the final merge-base\n42bd20f68 docs(coil): re-baseline the seam ledger against the 2026-08-17 merge-base\n20a3c1996 test(web): reconcile upstream's new running-send assertion with the fork's steer label\n9f93cbdf1 test(coil): carry the app rename onto upstream's new DMG title assertion\nd03a452a9 fix(coil): migrate the update toast off the native title tooltip\n1668666ba docs(coil): fix seam-ledger rows the #71 rename left pointing at t3x names (#116)\n8332abec2 fix(coil): the verify gate must not require Bun-runtime imports the shipped app cannot reach (#107)\n4eb3b2551 fix(coil): verify every packaged layer, and fail on layers the gate cannot see (#102) (#106)\naa11eee84 docs(coil): re-measure the seam ledger on the landing branch\n7bdb540d1 fix(coil): drop a stray blank seam line the rebase left in ThreadComposer\n410d819f4 fix(web): surface enqueue failures as a toast, not the maskable error banner\ne3647f524 docs(coil): re-baseline the seam ledger against the 2026-08-14 merge-base\n4eab6323c chore(deps): regenerate the lockfile against the 2026-08-14 upstream tree\nd60d10dcb fix(server): name why a clone failed, and which provider it was\ncd03590c6 fix(coil): stop shipping upstream's update feed, which we never actually disabled\nf22f900a8 fix(coil): restore the release, and make two of its checks capable of failing\n8d61a6d0c fix(coil): publish a canonical Latest release, and re-arm retention\ncd8b00d58 docs(coil): design a canonical Latest release for the fork\n608dbedb4 fix(coil): tell the truth about the one macOS prompt an update raises\nab1ae630a perf(coil): halve the desktop release bundle (#53)\nc4e3e59bf docs(coil): re-baseline the ledger for the sidebar wordmark row\nc602c7f8e feat(coil): finish the app rename at the surfaces that name the app (#71)\n50cec17df docs(coil): repoint two ledger citations at the paths #71 moved\n48f620d4c refactor(coil): retire the local desktop autobuild\n9950e1623 fix(coil): reach the renamed relay through a service binding (#71)\n871e352cf fix(coil): make --rotate emit the CI secret commands itself (#71)\n5c433284d fix(coil): finish the certificate rotation and list all 47 rows in the ledger (#71)\n7d2213399 chore(coil): re-record the designated requirement after the certificate rotation\nb10f77dd6 fix(coil): compute the build-counter offset in bash, not in an expression (#71)\naf7d90be2 fix(coil): repoint the last references to moved files (#71)\n828483090 style(coil): format the files this rename touched (#71)\ne9302c732 docs(coil): re-baseline the seam ledger and correct the runbooks (#71)\nbbd4449f1 fix(coil): carry PRs #78 and #84 across the rename (#71)\nc05a67cf4 feat(coil): move the relay, keeping the old hostname alive as a proxy (#71)\ne9433a6c7 feat(coil): cut the sync automation over to coil names (#71)\n07ab5d689 feat(coil): move the release identity, offsetting the counter so clients keep updating (#71)\ne49e412eb feat(coil): rename the app to T3 Coil, with its own bundle id and certificate (#71)\n83b7d0ba9 refactor(coil): move the fork's directories and symbols off t3x (#71)\n85fb4d093 docs(coil): design the t3x -> coil rename around its four silent failures (#71)\n69005e410 fix(deps): clear the sharp and @hono/node-server advisories by re-resolution (#58) (#87)\n0863e90d7 feat(coil): put the real install steps on the download page, from one source (#72)\n81849813f feat(coil): a real link-preview card for shared URLs\n8db9622fd fix(t3x): push the sync as a workflow-scoped token, and escalate when it fails\n3ea12f2aa fix(web): steering-path leftovers from the queue transition (#40 A1-A4)\nd695f9da2 fix(t3x): stop a user message destroying a pending auto-resume\n92a0fad04 docs(t3x): note that the trusted certificate is listed twice, and why that is fine\n399edff8e docs(t3x): correct the runbook's seam claim \u2014 the bundle id spends one upstream line\n9328cd4df fix(t3x): pin the designated requirement the fork's identity produces (#70)\na4b43a3bf fix(t3x): give the fork its own bundle id, so it stops sharing TCC rows with upstream (#70)\n6a380d05d fix(t3x): sign the macOS build with a stable identity so permission grants survive updates (#70)\n38a49bf80 fix(web): an edit saved during dispatch no longer disappears (#40 A5)\n045c4f9a0 fix(t3x): derive and verify the autobuild agent's PATH, and correct the runbook interval (#41)\n1a223dc67 fix(t3x): the Windows transient-crash retry could never fire; classify on the code vp prints (#47)\n3f91cb9de docs(worklog): write down how the skill actually gets installed (#65)\nd54eb1265 fix(worklog): satisfy the repo lint rules the suite files were breaking (#65)\n5dbafda41 fix(worklog): correct the numbers the report is built on (#65)\n72ffdf856 feat(t3x): add the /worklog daily work-log skill (#65)\n8ab81860a fix(t3x): widen the release retry window past the observed 403 duration\n8579d5d9a fix(coil): stop the deploy verify step failing on Cloudflare bot mitigation\ne132dcedd fix(coil): put pnpm on PATH in the homepage deploy workflow\n282d2c422 docs(coil): fix the stale deploy-workflow pointer, note the secret is set\n2b071ae2d docs(coil): recapture the hero evidence with all five marks restored\n44c6cfd17 fix(coil): bring the hero marks back on mobile as an in-flow row\n8812438fd docs(coil): recapture mobile evidence after the collision fix\n0d0cb9904 fix(coil): stop the hero marks colliding with mobile content, equalise stacked buttons\nb2e9b06cd docs(coil): recapture the homepage evidence against coil.curlycloud.dev\nacb781d04 feat(coil): reposition the homepage as Coil, a personal fork\nc8e1ef4d0 docs(coil): design for repositioning the homepage as Coil\ncd7f44209 docs(t3x): capture homepage screenshots and a scroll-through for review\nbd15237a3 ci(t3x): pin the deploy wrangler exactly, not to a floating major\nf86ccb07d docs(t3x): record the fork homepage on the seam ledger and sync runbook\n11e11900c ci(t3x): auto-deploy the homepage to Cloudflare on push to main\nd64086e5c feat(t3x): deploy the homepage as a Cloudflare assets-only Worker\n6b6b88a7e feat(t3x): serve downloads from the fork's update-relay manifest and wire the sync strip\n6ac9e2b75 feat(t3x): rebrand the homepage copy, chrome, and fork graph\nefa9b75ae feat(t3x): strip upstream-only social proof, store links, and legal pages\nba9fcf058 feat(t3x): seed the fork homepage from apps/marketing\n8015eb3a1 docs(t3x): record before/after capture for the capsule anchor fix (#67)\n469c549c9 fix(t3x): anchor the auto-resume capsule to the composer's measured box (#67)\nfb5c7a3c2 fix(t3x): retry the relay notify, and surface DO failures as readable 503s (#66)\nffd04a581 docs(t3x): re-baseline the seam ledger against upstream v0.0.33\nb9d54cadd docs(t3x): record the mobile sendLabel mirror on the ledger\n6abdc5f35 docs(t3x): re-baseline the seam ledger against the follow-up merge-base\n199e7a365 docs(t3x): re-baseline the seam ledger against the 2026-08-08 merge-base\nc658ab16e test(t3x): retime the tolerant-budget tests to upstream's new retry ladder\n21544a016 fix(t3x): drop the settings imports upstream stopped needing\n4f792224a fix(t3x): give the crash-recovery test the registries upstream added\n8e2a59ee0 chore(deps): regenerate the lockfile against the 2026-08-08 upstream tree\n761458193 docs(t3x): archive the Loop Watch design before its branch is deleted\nf7b695f54 fix(t3x): put ~/.cargo/bin on the autobuild agent's PATH\n01e6af3b0 fix(t3x): track the composer's top edge so banners cannot cover the capsule\nfe460658c fix(t3x): align the auto-resume capsule with the composer's right edge\n721982e5d fix(t3x): put the auto-resume capsule back above the composer\nda100635d fix(t3x): pin the countdown width, spring the toggle, move the capsule top-right\n3ef7b0ec4 fix(t3x): make auto-resume teardown re-armable so StrictMode cannot kill it\ndf2184fbc feat(t3x): rebuild the auto-resume capsule and cover it with tests\nf4973f884 chore(t3x): stop Dependabot re-failing on advisories it cannot fix\nedf4681a2 fix(t3x): stop a transient 403 from discarding a whole release build\nb30c5e160 feat(t3x): verify the install actually happened, and offer to report it when it did not\n93774f4c1 fix(t3x): stop calling the Windows update a restart\nbcbc87540 Update toast: changelog-forward design, and a restart that waits for you (#55)\ne8c000d03 chore(deps): dedupe nanoid onto 3.3.17, closing the two alerts the sweep reopened\n480dc9f4b chore(deps): clear 56 of the 62 open transitive advisories in the root lockfile\nd6726d844 chore(deps): bump electron to 41.10.3, and stop Dependabot on the vendored subtrees\n9d11a3d24 docs(t3x): put the manual-install commands on the release page\ne477cebe1 fix(t3x): follow the 302 on GitHub release asset downloads\nb66655b8a fix(t3x): actually serialise the release bundle build\nd302b91e3 fix(t3x): scope ensure:electron, and refuse updates without a release counter\n72b664a71 fix(t3x): wait for the condition in the auto-resume reactor tests\n0bb7b9749 Update delivery: CI builds, relay pushes, the app offers a restart (#51)\n1d0b23deb ci(t3x): raise the hook timeout alongside the test timeout\n97aca166f docs(t3x): remeasure the seam ledger against the 2026-08-02 merge-base\n4ffe2fb45 fix(t3x): adapt the crash-recovery startup test to upstream's new startup internals\na9a41518e fix(web): keep the queue's reorder controls usable, and leave a dispatch trail (#35)\n25dcb8d63 feat(web): steer a running turn instead of queuing behind it (#35)\necaeaf358 feat(web): make the thread outbox read as composer chrome, and let it be reordered (#35)\n93e57957f docs(t3x): point the self-reference rule at the renamed Claude doc\n55ba0e66f docs(t3x): follow upstream's rename of the Claude provider doc\nbd364eb80 docs(t3x): remeasure the seam ledger against the 2026-07-30 merge-base\n775622c42 fix(web): apply upstream's detail-loading send gate to the queue path\n9dd745a8b fix(t3x): apply the sync test-timeout to every gate, not just fork CI (#32)\n098f3c300 ci(t3x): raise the test timeout for the fork's slower runners\nb85c5bf2f docs(t3x): replace the fictional seam ledger with a measured one\n53291231b docs(providers): fix the broken Claude multi-account recipe\ne7b028a86 test(t3x): move fork settings coverage out of the upstream test file\n00c89d998 feat(t3x): auto-build from origin/main in a dedicated worktree\n8eb978833 fix(client-runtime): reset tolerant reconnect budget across a network drop\n660c07407 fix(web): address Web Push review findings (reactor priming, VAPID recovery, cleanup)\na20561a7c feat(web): closed-tab Web Push notifications (SW + PWA + server VAPID push)\n4433bf717 fix(connection): tolerate a slow-but-alive local backend + heap headroom\nce78f5d03 feat(web): queue messages while a chat is running (thread outbox)\nf4349541a ci(t3x): add fork-runnable PR/main verify gate (t3x-ci.yml)\n9616388fe docs(t3x): document how to land a sync PR (force-update, not merge button)\ncf57a2a01 fix(t3x): resolve pre-existing typecheck/lint red on fork test files\n0517aebff fix(t3x): pin sync escalation gh calls to the fork (GH_REPO)\n4344813d4 feat(t3x): on-demand agent to resolve escalated upstream-sync conflicts\n553a1bc1c fix(t3x): make sync escalation always open the t3x-sync issue\n0b37bdaca fix(mobile): iOS Shift+Return inserts a newline instead of submitting\nd99293572 feat(mobile): queue/send from the keyboard Return key\n0af137338 chore(t3x): auto-build on a 12h cadence, not every main commit\n919bcf787 fix(notifications): final-review fixes \u2014 web notification guard, desktop coalescing, draft-route suppression\nb1ec4c330 feat(web): needs-input notification setting and web permission UX\n6baf7445c feat(web): notification coordinator with platform shim and click-to-navigate\n4db1a2489 feat(desktop): native OS notification IPC with click-to-reveal activation\n31ea03c69 feat(web): add pure needs-attention tracker and suppression logic\n700ebe3ac feat(contracts): add notifyOnNeedsInput setting and DesktopBridge notification surface\nd3c561489 fix(server): reconcile crash-frozen `running` turns to interrupted on boot\n6f93675d7 test(server): cover non-spawn `--version` failure mapping to available\n473237a1f fix(server): treat slow `az --version` as present, not missing\nb0fb466ea fix(t3x): don't cancel auto-resume as thread-advanced when the limited turn settles\nca8473494 fix(t3x): auto-build fixes found running it for real\nb8b4c59b5 docs(t3x): correct which .app a default auto-build replaces\nbcdd631a8 fix(t3x): resolve adversarial-review findings in auto-build\n518a49355 fix(t3x): resolve auto-build review findings\n367c41739 fix(t3x): strip trailing newline from auto-build status JSON values\n46484b8f2 feat(t3x): auto-build & install the desktop app on change\n425277b4d fix(t3x): prototype-chain threadId corrupted the auto-resume state file\nb749fad11 test(t3x): route-level tests for /api/t3x/auto-resume\n72ed6d4eb docs(t3x): record the auto-resume UI seams\n23bb00f08 feat(t3x): per-thread auto-resume overlay in the thread view\n20b9b6bc0 feat(t3x): authenticated /api/t3x/auto-resume route\nba867fe2a feat(t3x): per-thread auto-resume switch (server state + gating)\nee5e47573 docs(t3x): design + plan for per-thread auto-resume UI (floating card)\n63a787dd2 docs(t3x): plan for auto-build + install desktop app on change\n9a318ce49 fix(t3x): resolve third-pass verified review findings\n67f8c9d36 docs(t3x): align auto-resume spec with final implementation\n9fb30eba6 fix(t3x): resolve adversarial-review findings across auto-resume + sync\nda06e9a91 feat(t3x): usage-limit auto-resume reactor (Project B)\nf9d13010b docs/ci(t3x): incorporate adversarial review findings\n350abd39e feat(t3x): fork setup + daily upstream sync + weekly verify (Project A)\n8bfad7051 docs(t3x): add fork-sync and usage-limit auto-resume design specs\n",
                              "detail": "rebase 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 rebase, resolves the conflicts, runs typecheck/lint/test, and opens a PR for review — nothing is pushed to main. Runbook: docs/coil/sync-agent-runbook.md.

                              Metadata

                              Metadata

                              Assignees

                              No one assigned

                                Labels

                                coil-syncUpstream sync needs a human/agent

                                Projects

                                No projects

                                  Milestone

                                  No milestone

                                  Relationships

                                  None yet

                                  Development

                                  No branches or pull requests

                                  Issue actions