Repository navigation
[coil-sync] daily sync needs attention (conflict) #190
Copy link
Copy link
Closed
Labels
coil-syncUpstream sync needs a human/agentUpstream sync needs a human/agent
Description
Automated daily upstream sync could not complete.
Result: conflict
Recovery tag: coil/last-good-20261021-131921
Run: https://github.com/radroid/t3code/actions/runs/39606718723
status JSON
{
"kind": "daily",
"result": "conflict",
"upstream_range": "e822ba78ea fix(server): answered questions say \"already answered\" instead of \"not found\" (#22850)\na7c22f12b7 fix(server): the background service picks up JAVA_HOME from the login shell (#22856)\n35e5d6229b fix(shared): accept a pasted ChatGPT callback URL that is missing http:// (#21750)\n2f021ee7d3 fix(opencode): out-of-funds failures show OpenCode's message instead of a usage limit (#22596)\nb260a7cf69 fix(mcp): point a bare thread uuid at its mcp: thread in thread_not_found (#22452)\n1d9060b9af fix(server): commit prompts no longer repeat CLAUDE.md when it matches AGENTS.md (#22848)\n2d40894328 fix(server): keep Antigravity question options and no-custom-answer flag in V2 (#22019)\n588150e39d fix(gitlab): merge request diffs page 30 files at a time so GitLab 15.7 to 17.10 answer (#21909)\naacd1ee337 fix(codex): keep every path of a multi-file patch (#22541)\n370b9ae793 fix(server): avoid expensive diff minimization in status refreshes (#21872)\n448b8a9186 fix(server): t3 pair in a worktree no longer falls back to the live install (#22855)\n066c8fc0cd fix(server): delegated Claude children follow your subagent cache TTL setting (#22841)\n96f09c6558 fix(queue): send selected held messages when a thread is stopped (#22790)\n1688f96568 fix(release): keep Vercel warnings out of deployment URLs (#22817)\n688ee52f0e fix(release): include pnpm hook in Vercel uploads (#22813)\ne27a03e94d fix(web): images on their own line no longer sit beside their label (#22787)\na8bb769d65 fix(web): steers split a finished turn's work instead of stacking under it (#22783)\n8fe4206dec fix(server): stalled clones say \"Stalled\" instead of a frozen speed (#22780)\n1dfb572871 perf(dev): faster first load for shared dev servers (#22776)\n1f4eae7253 fix(scripts): check:changed no longer skips knip after a removed import (#22784)\n74541bab17 feat(scripts): one command checks what the branch changed (#22767)\n21da3061aa fix(web): \u2318Z undoes a settle even when the composer has focus (#22607)\n6490a9e874 docs(agents): read vendored .repos with git show when sparse-excluded (#22764)\nefdda5e521 perf(server): skip the macOS xcrun git shim (#22759)\n848e352b48 refactor(web): saved and T3 Connect environment rows live in their own file (#22685)\n263eef215d refactor(web): authorized clients and endpoint rows live in their own file (#22684)\n9dc28a125a refactor(web): the connections page's pure helpers live in ConnectionsSettings.logic (#22683)\n381514e7af refactor(web): the background activity setting and its dialog live in their own file (#22669)\n501f5c5757 refactor(web): the appearance settings page lives in its own file (#22668)\n568cbb42e3 refactor(web): the typography settings section lives in its own file (#22667)\n0b91504aba refactor(web): the archived threads settings page lives in its own file (#22666)\n38b13e977e refactor(web): ChatView's send preparation is pure functions in ChatView.logic (#22734)\n91a0a2901a refactor(web): ChatView's draft machine routing lives in useDraftEnvironmentRouting (#22728)\nbd7aab2c95 refactor(web): ChatView's subagent, goal, background-work and branch banners are built in ThreadActivityBanners (#22725)\n030be16739 refactor(web): ChatView's machine and server-update banners live in useSystemComposerBanners (#22710)\n6b13e8f01c refactor(web): ChatView's timeline follow and anchoring lives in useTimelineFollow (#22701)\n8da8f613ff refactor(web): ChatView's right panel lives in its own component (#22700)\na97f7f8e8d refactor(web): ChatView's persistent terminal drawers live in their own component (#22680)\n9c3e743a45 refactor(web): ChatView's module-level helpers live in their own files (#22665)\n7ffc3bb7e8 refactor(web): chat markdown images and videos live in their own module (#22694)\n827f6d4f4a refactor(web): chat markdown links and file chips live in their own modules (#22693)\n5c5d6ed3b6 refactor(web): chat markdown tables and details live in their own components (#22692)\n36bda3cca7 refactor(web): the Mermaid code block lives in its own component file (#22691)\n5f0a0d1c2f refactor(web): chat markdown code blocks live in their own module (#22690)\na003b73aa8 refactor(web): the pull request list's grouping helper lives in a logic module (#22727)\n57d784404e perf(web): Shift re-renders only each row's quick-action group (#22726)\n35b056638f refactor(web): the pull requests route only validates its search; the page lives under components (#22706)\n5a31f4cf9c refactor(web): the pull requests page's scope and grouping hooks live in their own module (#22705)\n787e0e4a2f refactor(web): the pull request list's rows read the speed-mode modifier themselves (#22704)\n5db00458e5 refactor(web): the pull request detail loader lives in its own hook (#22703)\n8f7de11141 refactor(web): the pull request header's actions live in their own components (#22702)\nb302290c17 refactor(web): the pull request header's crumbs, title editor and base branch live in their own components (#22672)\n09bd654754 refactor(web): the pull requests column lives in its own component (#22671)\nad4f18d83f feat(dev): first dev start seeds real data and warms deps (#22744)\ne7f62ef05d refactor(web): sidebar list markers and draft rows live in their own files (#22729)\n00ceb2dc74 refactor(web): the sidebar's thread rows live in their own file (#22696)\nb7b905de9c refactor(web): composer suggestion lists are built by useComposerMenuItems (#22722)\n17e62e7419 refactor(web): typing no longer re-renders the composer model picker (#22721)\n94bce7f124 refactor(web): composer mode controls and footer actions live in ComposerFooterControls (#22720)\n9576c45334 refactor(web): resting image previews and queued attachments are their own components (#22719)\n7781e5209b refactor(web): composer attachment tiles live in their own component (#22689)\n955b4cc801 feat(cli): start, message, and read threads from the terminal with t3 thread (#22732)\n28a8d2b3d8 refactor(web): the command palette's add-project views are components (#22707)\n0b7c902df7 refactor(web): the command palette's project items and pure helpers live in their own files (#22699)\n767134a4a7 refactor(web): the command palette's thread items come from their own hook (#22687)\n9ff8cdca85 refactor(web): the command palette's theme items live in their own file (#22679)\nbef9142f8b refactor(web): timeline row derivation, position restore and find reader live in hooks (#22682)\n476e2c3e30 refactor(web): timeline assistant and orchestration event rows live in their own files (#22677)\n3e36c5e181 refactor(web): timeline user message rows and context chips live in their own files (#22676)\n9e672d0974 refactor(web): timeline work group and live activity rows live in their own file (#22675)\nbea879025d refactor(web): timeline work entry rows and tool icons live in their own files (#22674)\n76e4aac3e9 refactor(web): the timeline minimap lives in its own file (#22662)\nf4a3843a1c build: upgrade pnpm to 12 for 4x faster installs (#22738)\n618761a2d6 build(setup): leaner installs on Mac and Linux, cross-device store warning, setup-done marker (#22718)\nea1c49419e fix(marketing): typecheck cache no longer misses when the shell env changes (#22735)\nca049dc205 fix(mobile): restore low-latency decoding for simulator streams (#22733)\n8f66e67de3 test: local test runs use package configs and a clean env (#22714)\na1dc856ee6 build: upgrade Vite+ to 1.3 and cache typecheck (#22716)\nd0e427d4c3 fix(server): storage cleanup no longer counts pnpm clones as freed space (#22713)\n163bdeaa11 fix(server): delegates finish when their leftover work settles, and Grok commands stop holding runs open (#22709)\ndd8452a065 test(server): split replay fixtures into per-provider files (#22717)\na5d66e2239 fix(desktop): new worktrees install Electron from the local download cache (#22712)\n73daccf4ec docs(agents): name the fast commands and stop polling (#22711)\na93b03c8a5 feat(web): composer stays usable during approvals, and sending declines and redirects (#21503)\n6a6c84f990 fix(server): Stop on a delegate always clears it, even when it is stuck (#22653)\n15dc7b0130 fix(web): thread links render as chips, and thread chips show the project icon (#22621)\n4f651cb10d test(web): ChatView's React Compiler check no longer times out on slow CI runners (#22649)\n61e2747f2e fix(desktop): bump Electron to 44.9.3 to block compromised eMudhra CA keys (#22645)\n3e250a8387 Delete .github/workflows/cursor-hygiene-webhook.yml\n8a9d0e0dd5 fix(web): thread search shows the same PR badge as the sidebar (#22627)\n733a303abf fix(usage): Codex compaction and resumed sessions no longer show skipped-usage warnings (#22558)\ne64766c56a ci(release): build macOS desktop on Blacksmith runners again (#22613)\n4741dc563f fix(web): silence notifications when stopping a watch (#22615)\nc22ace223a chore(release): prepare v0.1.1\n8bbb85c902 fix(mobile): show each turn's diffstat on its work row (#21392)\necfe4f7955 fix(mobile): composer chips match chat chips (#22518)\n31dcc7c513 fix(server): make the remaining flaky server tests deterministic (#22559)\n5b2ee393c3 chore(tailscale): drop parseTailscaleMagicDnsName, which nothing imports (#22602)\nc728c8ce19 test(web): every browser test starts with the mouse off the page (#22556)\n32d8f8f0d0 test(server): prune low-value tests in orchestration-v2 (second pass) (#22599)\n",
"upstream_head": "e822ba78ea23612f57093235f84813f385cf6431\n",
"conflicted_files": "apps/server/src/sourceControl/SourceControlRepositoryService.test.ts pnpm-lock.yaml \n",
"culprit_commits": "f4a3843a1c build: upgrade pnpm to 12 for 4x faster installs (#22738)\n618761a2d6 build(setup): leaner installs on Mac and Linux, cross-device store warning, setup-done marker (#22718)\na1dc856ee6 build: upgrade Vite+ to 1.3 and cache typecheck (#22716)\n61e2747f2e fix(desktop): bump Electron to 44.9.3 to block compromised eMudhra CA keys (#22645)\na2f4df0412 test(server): prune low-value tests in apps/server (second pass) (#22592)\n05696c636e test: delete 11k low-signal tests so CI runs faster and flakes less (#22557)\nfcb20e49aa feat(web): render Mermaid diagrams with pele (#21472)\n14b47ee1b8 ci(release): Make Windows arm64 CI job 50% faster (#22428)\ndac3437d94 fix(mobile): the composer stays one row until the draft wraps (#20812)\n8ecb607de4 fix(mobile): pin expo-modules-core so the release smoke patch stays in use (#22343)\n",
"failing_step": "\n",
"patch_manifest": "3ac51f7d99 chore(coil): the app is called T3 Code again\nb00ea1f567 ci(coil): each upstream sync lands as a PR that says what changed for users\ne9b1842e8d ci(coil): web tests get Chromium and upstream's release repository\n8aab919b0b docs(coil): repoint the seam ledger at 67c0fc0cda\nc94c9b29a6 fix(coil): upstream's new Linux URL handler test uses the fork's app name\n9338847968 fix(coil): hosted pages name and link the fork's desktop app\nc49a622173 fix(coil): install instructions follow upstream's Alpha to Beta rename\nf7a33471f2 fix(coil): fork code passes upstream's prefer-effect-fn lint rule\nf0f7bae650 fix(coil): fork code passes upstream's new comment and memo lint rules\ne1f1a870dd ci(coil): the daily sync re-resolves a lockfile-only conflict\nc16d3e35c3 chore(coil): prune security pins upstream already covers\n98cd4a0840 chore(coil): mount the update toast outside __root.tsx\n1ae2f5c7d5 chore(coil): use upstream's mobile composer Return handling\ne1db9a3d06 docs(coil): a start page for building on the fork\n1e3e9f6064 chore(coil): retire parked and absorbed fork features\na09120ded2 docs(coil): repoint the seam ledger at 7ac952c630\n941f9fdd9e docs(coil): repoint the seam ledger at 6002c5c68c\n4faec437bd docs(coil): repoint the seam ledger at 6524a8d437\n7fb9b0166e docs(coil): re-baseline the seam ledger at 58d253231d\n7a65e076d7 fix(coil): point fork source-control code at upstream's new packages\n48c28b09d8 ci(coil): run web tests alone in the single-runner sync verifies\n31846e0650 ci(coil): split the test gate like upstream so web tests get their own runner\ne99c8a3a07 docs(coil): repoint the seam ledger at the final merge-base\n91ec07ee86 ci(coil): give the test gate room for upstream's larger server suite\nf1cd9cf359 docs(coil): re-baseline the seam ledger at cdd331b6c3\n09609366fe docs(coil-home): drop parked features from the feature list\n8652ef2a4b fix(coil): bring fork code up to the merged upstream\n23779805a8 ci(coil): install Chromium for server tests; retire the release-workflow test\na1a141261c chore(coil): park fork features built on orchestration v1\nd1e974ffa3 docs(coil): repoint the seam ledger at the final merge-base\n77505136d4 test(coil): the toggle's timing assertions read its inline transition\nafbb22d520 docs(coil): re-baseline the seam ledger for the 2026-09-28 sync\nd60080285c fix(coil): the outbox drain waits for upstream's queue to send first\n80ba53d112 docs(coil-home): carry upstream's refreshed OpenAI and OpenCode logos\na32c48020d fix(coil): fork UI passes upstream's design-system lint gate\n2edd6909e6 docs(coil): repoint the seam ledger at the final merge-base\n85cc654807 docs(coil): re-baseline the seam ledger for the 2026-09-22 sync\n2041766bee fix(coil): the offline queue releases the attachment uploads it drops\n8df97aad19 fix(deps): patch Nanoid zero-size advisory\n5379a8e499 chore(coil): Dependabot runs go green: vendored repos excluded, 38 advisories re-resolved (#155)\nfecbf70d11 fix(coil): scripts typecheck passes on effect rc.115 (#154)\n2c426238be fix(coil): the bundle gate requires only each layer's native externals\n3acc43842c chore(coil): delete inherited upstream workflows instead of disabling th\n5d3360ccc5 test(coil): the doomed-turn replay waits for the reactor's verdict, not a turn count\ndc619218ed fix(coil): the bundle gate no longer fails a good release on regex quotes or JXA imports\n4b5c186a4f chore(deps): keep the astro 7.2.8 bump lock-only and inside the release-age policy\n3c3db729a4 chore(deps): resolve the lockfile for sharp 0.35.4 in /scripts\n4fae7d5d14 fix(coil): give http_ece a license notice so the desktop build passes\nfdada32d42 chore(deps): bump astro from 7.2.0 to 7.2.8\n0f95375822 chore(deps): bump sharp from 0.34.5 to 0.35.4 in /scripts\na068bb6de3 docs(coil): re-baseline the seam ledger for the 2026-09-12 sync\na81b3bd933 chore(coil): keep two seams additive after the merge\na0de8ee9db test(coil): the pre-ready desktop entry carries the fork's app name\nae3329145d ci(coil): install libsecret on Linux runners and the renamed Spectre component\nb8b4cb6130 fix(coil): crash recovery leaves prepared restart continuations alone\n2eec9cf7da fix(coil): read Claude rate-limit rejections from the runtime warning\ne0438aaec1 fix(coil): queued messages carry structured context like a normal send\nc2207685fe fix(coil): follow the Effect rc.112 and TypeScript 7 toolchain bumps\n89d522523d fix(coil): one failed auto-resume fire no longer aborts the tick\naefebcff3c test(coil): replay the #118 spend-limit payloads through the auto-resume classifier\nc48265fe4b test(coil): auto-resume tests wait on receipts, never on scheduler turns\n86054c7cb1 fix(server): classify Azure DevOps \"not authorized\" failures as authentication\n8391a6a32a fix(coil): the update toast's build age advances while the toast is visible\n8ed54891d1 test(coil): loops \u2014 tests wait on receipts, never on scheduler turns\n1c1af59ee0 feat(coil): loops \u2014 the supervisor announces what it did\n5c6b6f37aa perf(coil): loops \u2014 pruning happens when a run ends, not on every write\nb147969270 fix(coil): loops \u2014 the test harness never moves the clock on its own\naafdeed80f fix(coil): loops \u2014 one store read per tick, and a harness that waits for the answer\n8e998c5fbe fix(coil): loops \u2014 the console tells the truth about what it is showing\n588780000c fix(coil): loops \u2014 bound the state file and close the route and toolkit holes\n97de6179cf fix(coil): loops \u2014 install the adapter hooks in production and correct the decision table\n8f07eb7783 docs(coil): format the loops prototypes and rebuild the report\nabf29cfd75 fix(coil): loops \u2014 one store instance and loop_done wired across phases\n55dcd248e1 docs(coil): ledger totals for the loops seam row\n9397ad2d57 feat(coil): loops \u2014 the reactor, wired in (Phase 2)\n1ef7a6f929 feat(coil): loops \u2014 raise_blocker, loop_status and loop_done (Phase 5)\n3f15ffe717 docs(user): loops\nf16916d41d feat(coil): loops \u2014 Settings \u2192 Loops (Phase 4)\nb63e34b3e9 feat(coil): loops \u2014 the console overlay and the answer route (Phase 3)\ncc268cb685 docs(coil-home): the site no longer promises a daily rebase\n02f3b2cec9 docs(coil): the sync runbook and specs for a merge-based sync\ncfd948fe62 ci(coil): sync upstream by merging, not rebasing\n5caa9afa0c feat(coil): loops \u2014 the sentinel and the HTTP API (Phases 1\u20132)\n252ed85beb feat(coil): loops \u2014 the pure decision table and guards (Phase 2)\n8af8a1fd0f feat(coil): loops \u2014 record the agent's own scheduled wakes and pending questions (Phase 1)\nea836a96e5 feat(coil): loops \u2014 the durable record, config and cron parse (Phase 1 foundation)\nffef26c1b5 docs(coil): resolve the #125 review findings and verify the plan's assumptions\n7ca73fa6d2 refactor(coil): isClaudeThread accepts a thread shell\n368b7b368f refactor(coil): one scope-auth helper for every fork route\n93c1e67b84 docs(coil): re-baseline the seam ledger against the 2026-09-02 merge-base\ndcf49a1c19 fix(mobile): Return no longer submits while dictation freezes the composer\n3bdf109e2d fix(coil): report the DPoP failure reason on the auto-resume route\n88d5e24213 fix(coil): a server auto-settle must not destroy an armed auto-resume\n5ac7b67f4c fix(web): the queue path counts file attachments, not just images\naab748d915 fix(coil): re-home the outbox idle gate upstream deleted with canSettle\n55ef32cd2f fix(coil): drop the pre-rename fork-seam import the rebase left behind\n50f65243a2 chore(deps): regenerate the lockfile against the 2026-09-02 upstream tree\nd96d6da079 test(coil): wait for the collided arm to be destroyed instead of looking once\nd029a83774 fix(coil): stop the fork's boot reconcile from swallowing upstream's orphan pass\nd9defcd553 docs(coil): re-baseline the seam ledger against the 2026-08-27 merge-base\n",
"detail": "merge aborted; working tree restored\n"
}▶ To fix: comment @claude resolve on this issue (or run the coil sync resolve (agent) workflow). An agent replays the merge, resolves the conflicts, runs typecheck/lint/test, and opens an ordinary PR for review — nothing is pushed to main. Runbook: docs/coil/sync-agent-runbook.md.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
coil-syncUpstream sync needs a human/agentUpstream sync needs a human/agent
Activity
radroid commentedon Oct 21, 2026
Resolved and landed as a merge commit in #191 (upstream 680152e, 166 commits).