# Commit history · gitcafe/t3code

[View on GitCafe](https://git.cafe/gitcafe/t3code/commits/1b0093a4830a4d95c4684c4b8d6d6b7f6cd6856a)

Repository: [gitcafe/t3code](https://git.cafe/gitcafe/t3code)

Visibility: public

Requested revision: 1b0093a4830a4d95c4684c4b8d6d6b7f6cd6856a

Requested commit: 1b0093a4830a4d95c4684c4b8d6d6b7f6cd6856a

- [fmt](https://git.cafe/gitcafe/t3code/commit/1b0093a4830a4d95c4684c4b8d6d6b7f6cd6856a?format=markdown) — 1b0093a4830a4d95c4684c4b8d6d6b7f6cd6856a; Julius Marminge

- [Scope git checkout effects and bump Effect/Node dependencies](https://git.cafe/gitcafe/t3code/commit/06fc364ee1d091cf9ee63591004bbc04606cb1ec?format=markdown) — 06fc364ee1d091cf9ee63591004bbc04606cb1ec; Julius Marminge

- [Allow chat composer to shrink within constrained layouts](https://git.cafe/gitcafe/t3code/commit/094859bbc7fab802b53ea291f4b395d9d28f0426?format=markdown) — 094859bbc7fab802b53ea291f4b395d9d28f0426; Julius Marminge

- [Improve composer menu highlighting and suppress triggers near mentions](https://git.cafe/gitcafe/t3code/commit/5e78386cdc805ee64ccc745454ce476475597f6f?format=markdown) — 5e78386cdc805ee64ccc745454ce476475597f6f; Julius Marminge

- [Fix composer mention cursor handling and trigger detection](https://git.cafe/gitcafe/t3code/commit/c378afeff852c06d7a558c4842ae9033b3775627?format=markdown) — c378afeff852c06d7a558c4842ae9033b3775627; Julius Marminge

- [Add Lexical-based composer editor with file mention pills](https://git.cafe/gitcafe/t3code/commit/bf7002209e6663d6c208c6dd0546277582077aea?format=markdown) — bf7002209e6663d6c208c6dd0546277582077aea; Julius Marminge

- [Fix destructive menu icon showing app logo on non-macOS](https://git.cafe/gitcafe/t3code/commit/a3aa4bd189721a87271e9d7a1bed0cb605bc5eee?format=markdown) — a3aa4bd189721a87271e9d7a1bed0cb605bc5eee; Julius Marminge

- [Guard all commitRename cleanup paths against concurrent renames](https://git.cafe/gitcafe/t3code/commit/5a0006f7efabb03888573a2029f1d0a30b614422?format=markdown) — 5a0006f7efabb03888573a2029f1d0a30b614422; Julius Marminge

- [Import ContextMenuItem from contracts in desktop app](https://git.cafe/gitcafe/t3code/commit/9e2e73c070710bfcb132cfff3ca1eb7b03996dd7?format=markdown) — 9e2e73c070710bfcb132cfff3ca1eb7b03996dd7; Julius Marminge

- [Guard commitRename cleanup against concurrent renames](https://git.cafe/gitcafe/t3code/commit/c530e5d50f5a77cd732c0c3e09d9ef964faea96e?format=markdown) — c530e5d50f5a77cd732c0c3e09d9ef964faea96e; Julius Marminge

- [Use shared ContextMenuItem type from contracts](https://git.cafe/gitcafe/t3code/commit/674720c6cd233ca8c9a7b357eb954e26cae3466d?format=markdown) — 674720c6cd233ca8c9a7b357eb954e26cae3466d; Julius Marminge

- [Make ContextMenuItem interface module-private](https://git.cafe/gitcafe/t3code/commit/58c9e4b96d811c120c7434549656c19058751713?format=markdown) — 58c9e4b96d811c120c7434549656c19058751713; Julius Marminge

- [Stop keydown propagation on rename input](https://git.cafe/gitcafe/t3code/commit/feb286379c071dc70a948d0f0f14729b04d6777f?format=markdown) — feb286379c071dc70a948d0f0f14729b04d6777f; Julius Marminge

- [Remove unused prompt dialog infrastructure](https://git.cafe/gitcafe/t3code/commit/cefe64158697f05e863b7347bc2bf797a264c78b?format=markdown) — cefe64158697f05e863b7347bc2bf797a264c78b; Julius Marminge

- [Replace prompt dialog with inline rename in sidebar](https://git.cafe/gitcafe/t3code/commit/664451c2962dcc550e5bea54bb9c76536e3e6c94?format=markdown) — 664451c2962dcc550e5bea54bb9c76536e3e6c94; Julius Marminge

- [Restore lost useMemo calls in ChatView and fix threadActivities referential stability](https://git.cafe/gitcafe/t3code/commit/fd4ff8ca4648e11d945ccf2a8dea65f2037dcddc?format=markdown) — fd4ff8ca4648e11d945ccf2a8dea65f2037dcddc; Julius Marminge

- [rm](https://git.cafe/gitcafe/t3code/commit/1bcfbdf2873ce21fdaf1118bf302a4427fab2226?format=markdown) — 1bcfbdf2873ce21fdaf1118bf302a4427fab2226; Julius Marminge

- [Fix store selector consistency, memoize timelineMessages, and suppress false-positive lint warnings](https://git.cafe/gitcafe/t3code/commit/4e45c1a6abef59bc99ae1bea3c7a8be9d8775c66?format=markdown) — 4e45c1a6abef59bc99ae1bea3c7a8be9d8775c66; Julius Marminge

- [Fix terminal focus on toggle, clean up orphaned terminal state, and revoke optimistic message blob URLs on unmount](https://git.cafe/gitcafe/t3code/commit/32fe80d1647ea9fb466fe5fab67b74fea78f011b?format=markdown) — 32fe80d1647ea9fb466fe5fab67b74fea78f011b; Cursor Agent

- [Update apps/web/src/routes/\_\_root.tsx](https://git.cafe/gitcafe/t3code/commit/6e93d42023a61f638d7a83c50083a18040f136c1?format=markdown) — 6e93d42023a61f638d7a83c50083a18040f136c1; Julius Marminge

- [Improve store referential stability and fix reactive terminal state](https://git.cafe/gitcafe/t3code/commit/6f50867aa1ee94fc7582340ce728655e173db144?format=markdown) — 6f50867aa1ee94fc7582340ce728655e173db144; Julius Marminge

- [Reset ChatView per thread and simplify derived state handling](https://git.cafe/gitcafe/t3code/commit/4fca60469dfc5dab7d8d742e965f4ab260f20c3c?format=markdown) — 4fca60469dfc5dab7d8d742e965f4ab260f20c3c; Julius Marminge

- [fix\(web\): resolve post-rebase selector/store regressions](https://git.cafe/gitcafe/t3code/commit/afcd824ae9ca93672fda317562e0076ce8918c89?format=markdown) — afcd824ae9ca93672fda317562e0076ce8918c89; Julius Marminge

- [Refactor Zustand store usage to granular selectors](https://git.cafe/gitcafe/t3code/commit/f84f2797383fc6e586bb6e5d5b2eb18631152fb1?format=markdown) — f84f2797383fc6e586bb6e5d5b2eb18631152fb1; Julius Marminge

- [Refactor terminal state store to use granular thread selectors](https://git.cafe/gitcafe/t3code/commit/246624ad3cce74f0fc14e8b98eb23b2fc1db585c?format=markdown) — 246624ad3cce74f0fc14e8b98eb23b2fc1db585c; Julius Marminge

- [Remove useStore selector compatibility shim](https://git.cafe/gitcafe/t3code/commit/410444aead745b3a27e5c645643c74a3cb3479c3?format=markdown) — 410444aead745b3a27e5c645643c74a3cb3479c3; Julius Marminge

- [refactor\(web\): remove reducer pattern, use Zustand \+ pure functions](https://git.cafe/gitcafe/t3code/commit/7522d3bde34e7178fb1618ee6ca14ea7c1dc6d0d?format=markdown) — 7522d3bde34e7178fb1618ee6ca14ea7c1dc6d0d; Julius Marminge

- [Remove draftThreadTerminalState re-exports; use threadTerminalState directly](https://git.cafe/gitcafe/t3code/commit/ed26b84177b93790481cf34ffe0edd010760e542?format=markdown) — ed26b84177b93790481cf34ffe0edd010760e542; Julius Marminge

- [Unify draft and persisted thread terminal flow](https://git.cafe/gitcafe/t3code/commit/ad4d12cf94e8b1cbd679372ed2bcf453b531b90f?format=markdown) — ad4d12cf94e8b1cbd679372ed2bcf453b531b90f; Julius Marminge

- [Enable terminals for local draft threads](https://git.cafe/gitcafe/t3code/commit/f6fd760e4eb9e18dd7b89cf45f478835d20145f8?format=markdown) — f6fd760e4eb9e18dd7b89cf45f478835d20145f8; Julius Marminge

- [Refactor store actions to use direct Zustand state updaters](https://git.cafe/gitcafe/t3code/commit/506a5260dca5a5fd6324a33262be497a1d963145?format=markdown) — 506a5260dca5a5fd6324a33262be497a1d963145; Julius Marminge

- [Simplify Zustand selectors by removing memoized callbacks](https://git.cafe/gitcafe/t3code/commit/d4c90d696d2546466d364cfccc86bcf2be6a7c86?format=markdown) — d4c90d696d2546466d364cfccc86bcf2be6a7c86; Julius Marminge

- [Refactor web store usage to granular selectors](https://git.cafe/gitcafe/t3code/commit/be4d26a1b31d96754bdadc2ab7094dfdc9c7bad9?format=markdown) — be4d26a1b31d96754bdadc2ab7094dfdc9c7bad9; Julius Marminge

- [refactor: remove redundant workLogCount stick-to-bottom effect](https://git.cafe/gitcafe/t3code/commit/5c0961431909f83536790677f46b6a08dadb3434?format=markdown) — 5c0961431909f83536790677f46b6a08dadb3434; Julius Marminge

- [fix: align handoff preview URLs with image attachment index](https://git.cafe/gitcafe/t3code/commit/4c846332c5c972b715862df9f19b6c095c76841b?format=markdown) — 4c846332c5c972b715862df9f19b6c095c76841b; Julius Marminge

- [Stabilize chat scroll restoration across thread switches](https://git.cafe/gitcafe/t3code/commit/a3a0cbf0f89ecc34168161f66c4901c922acb8d6?format=markdown) — a3a0cbf0f89ecc34168161f66c4901c922acb8d6; Julius Marminge

- [Set default cursor on sidebar session rows](https://git.cafe/gitcafe/t3code/commit/2c7101092aca2ccd77b409e013f97020b23c2a8e?format=markdown) — 2c7101092aca2ccd77b409e013f97020b23c2a8e; Julius Marminge

- [Allow non-required dev ports to exceed max in offset search](https://git.cafe/gitcafe/t3code/commit/9f068356a40ac259f7a074c2bec67d0d6bfe703a?format=markdown) — 9f068356a40ac259f7a074c2bec67d0d6bfe703a; Julius Marminge

- [Auto-select next available dev ports per mode](https://git.cafe/gitcafe/t3code/commit/f239c90628cefc37f07ed93783a8404fe3f3f8b3?format=markdown) — f239c90628cefc37f07ed93783a8404fe3f3f8b3; Julius Marminge

- [Use forkScoped for background upstream refresh](https://git.cafe/gitcafe/t3code/commit/991dd05e72a3afd1dccbcc4522a7e4b98260cae3?format=markdown) — 991dd05e72a3afd1dccbcc4522a7e4b98260cae3; Julius Marminge

- [Serve fallback project favicon when no icon file is found](https://git.cafe/gitcafe/t3code/commit/96bf54e293b40c62a49162cae8586f9867a868e3?format=markdown) — 96bf54e293b40c62a49162cae8586f9867a868e3; Julius Marminge

- [Preserve $defs in Codex output schema and refine sidebar header](https://git.cafe/gitcafe/t3code/commit/5ca9b54d6627e23ab9d3d4d14888770e9264a933?format=markdown) — 5ca9b54d6627e23ab9d3d4d14888770e9264a933; Julius Marminge

- [Preserve draft env mode across thread and branch context updates](https://git.cafe/gitcafe/t3code/commit/4ab5fca4ca9d8fb12b1442ed46107e15c4275bf2?format=markdown) — 4ab5fca4ca9d8fb12b1442ed46107e15c4275bf2; Julius Marminge

- [Show branch toolbar for local draft threads](https://git.cafe/gitcafe/t3code/commit/69a4fa82155f05637f73b3d2f61a5cdf9366b4b9?format=markdown) — 69a4fa82155f05637f73b3d2f61a5cdf9366b4b9; Julius Marminge

- [Run setup script after promoting local draft threads](https://git.cafe/gitcafe/t3code/commit/9e04bad0a504dafbf19182fb0ec361c55018c780?format=markdown) — 9e04bad0a504dafbf19182fb0ec361c55018c780; Julius Marminge

- [Cover runtime undefined draft thread options in store test](https://git.cafe/gitcafe/t3code/commit/a574d9c936adcf0a8ccc9b10d8f65e0127d13adc?format=markdown) — a574d9c936adcf0a8ccc9b10d8f65e0127d13adc; Julius Marminge

- [Preserve draft branch/worktree when update options are undefined](https://git.cafe/gitcafe/t3code/commit/005e13089a4a8f44cb25452cb4b8d9b18184a1b7?format=markdown) — 005e13089a4a8f44cb25452cb4b8d9b18184a1b7; Julius Marminge

- [Clean up orphaned composer drafts and harden draft checks](https://git.cafe/gitcafe/t3code/commit/d9cce6402ae875b24d9ddbe73866eee94ec16ddb?format=markdown) — d9cce6402ae875b24d9ddbe73866eee94ec16ddb; Julius Marminge

- [Preserve explicit DEFAULT_MODEL draft overrides](https://git.cafe/gitcafe/t3code/commit/508872e04b87dc7cb53632988115b54b15f78e06?format=markdown) — 508872e04b87dc7cb53632988115b54b15f78e06; Julius Marminge

- [Address PR review feedback for draft model/error/persistence handling](https://git.cafe/gitcafe/t3code/commit/aced302b638608042c8a1d30b6fc91dc5661657a?format=markdown) — aced302b638608042c8a1d30b6fc91dc5661657a; Julius Marminge

- [Simplify composer draft persistence and remove debug instrumentation](https://git.cafe/gitcafe/t3code/commit/0b8dfee17beb957a8855f5c1382a110fc57de88a?format=markdown) — 0b8dfee17beb957a8855f5c1382a110fc57de88a; Julius Marminge

- [Refactor draft thread lookups and cache persisted draft state](https://git.cafe/gitcafe/t3code/commit/6ab246676ebaee8ef895ab4067fb6457854b0a1c?format=markdown) — 6ab246676ebaee8ef895ab4067fb6457854b0a1c; Julius Marminge

- [Defer thread creation until first message send](https://git.cafe/gitcafe/t3code/commit/122c94a24acf31d72097faad3e943e939e7fff91?format=markdown) — 122c94a24acf31d72097faad3e943e939e7fff91; Julius Marminge

- [Unify project draft thread state in composer draft store](https://git.cafe/gitcafe/t3code/commit/b59c6d6ab1b71295bf8c77e611522989e1e97fc8?format=markdown) — b59c6d6ab1b71295bf8c77e611522989e1e97fc8; Julius Marminge

- [Preserve draft metadata and dedupe composer image retries](https://git.cafe/gitcafe/t3code/commit/c9995995a42317676290ca1b953dfeabdedd8920?format=markdown) — c9995995a42317676290ca1b953dfeabdedd8920; Julius Marminge

- [Persist per-thread composer drafts and reuse project draft threads](https://git.cafe/gitcafe/t3code/commit/545a9193e2add9995bb03ccec39538e5315349b6?format=markdown) — 545a9193e2add9995bb03ccec39538e5315349b6; Julius Marminge

- [Run checks before release commit and set desktop buildVersion](https://git.cafe/gitcafe/t3code/commit/fa0205cba3f2a8dffccee2c0348cb334a7bb6b6f?format=markdown) — fa0205cba3f2a8dffccee2c0348cb334a7bb6b6f; Julius Marminge

- [chore\(release\): prepare v0.0.0-alpha.4](https://git.cafe/gitcafe/t3code/commit/8a20bd7f5469b50ca61e93275d0b0dba37086fc6?format=markdown) — 8a20bd7f5469b50ca61e93275d0b0dba37086fc6; github-actions\[bot\]

- [fix\(server\): remove duplicate branchExists declaration](https://git.cafe/gitcafe/t3code/commit/10660f376cd410dbbbfea239b45e79fbcde4ddbc?format=markdown) — 10660f376cd410dbbbfea239b45e79fbcde4ddbc; Julius Marminge

- [feat\(ci\): add release workflow_dispatch version tagging](https://git.cafe/gitcafe/t3code/commit/ae235f715589216ed9747d46d0b1894482353e12?format=markdown) — ae235f715589216ed9747d46d0b1894482353e12; Julius Marminge

- [Remove unused attachment route path helpers](https://git.cafe/gitcafe/t3code/commit/a356cd0d0f4e1908d8acf22438b9ba0d8be9ed81?format=markdown) — a356cd0d0f4e1908d8acf22438b9ba0d8be9ed81; Julius Marminge

- [Normalize attachment thread segments to lowercase](https://git.cafe/gitcafe/t3code/commit/58b932ffb8f20566c2c5ac58c252a911c7e80693?format=markdown) — 58b932ffb8f20566c2c5ac58c252a911c7e80693; Julius Marminge

- [Fix attachment cleanup to match exact thread segments](https://git.cafe/gitcafe/t3code/commit/d58af33fba73936659158ba2167a00475889d1e5?format=markdown) — d58af33fba73936659158ba2167a00475889d1e5; Julius Marminge

- [Reuse attachment thread segment sanitizer in projection pipeline](https://git.cafe/gitcafe/t3code/commit/a56418f8bc9866ab114c85b4e73a7f95987c3469?format=markdown) — a56418f8bc9866ab114c85b4e73a7f95987c3469; Julius Marminge

- [Read stdin before validating required image flag in codex test stub](https://git.cafe/gitcafe/t3code/commit/596e1590dfd602ffcf1efd77b5d9a0eac465f374?format=markdown) — 596e1590dfd602ffcf1efd77b5d9a0eac465f374; Julius Marminge

- [Harden attachment ID resolution and missing-file handling](https://git.cafe/gitcafe/t3code/commit/70c9147c7fa86ada23c55fa17b3a63f6a832f5f4?format=markdown) — 70c9147c7fa86ada23c55fa17b3a63f6a832f5f4; Julius Marminge

- [Switch image attachments to persisted ID-based paths](https://git.cafe/gitcafe/t3code/commit/c0054cb56f1439c7bfda7771f919bdb7f948bab7?format=markdown) — c0054cb56f1439c7bfda7771f919bdb7f948bab7; Julius Marminge

- [fix: address PR review feedback](https://git.cafe/gitcafe/t3code/commit/41734dfbbfd47d2d9639dfbdd0912bb623e51403?format=markdown) — 41734dfbbfd47d2d9639dfbdd0912bb623e51403; Julius Marminge

- [Inject test ServerConfig across orchestration and git layers](https://git.cafe/gitcafe/t3code/commit/8f42d34db921fa623715b9524aa3894919dec8bb?format=markdown) — 8f42d34db921fa623715b9524aa3894919dec8bb; Julius Marminge

- [Handle parameterized base64 image data URLs](https://git.cafe/gitcafe/t3code/commit/70857ce299941ac18a4509b10c725aba7e15a6b5?format=markdown) — 70857ce299941ac18a4509b10c725aba7e15a6b5; Julius Marminge

- [Use Effect Schema to decode Codex structured outputs](https://git.cafe/gitcafe/t3code/commit/5e0ec383838ee95a60d40df8f700c1cc4f740b74?format=markdown) — 5e0ec383838ee95a60d40df8f700c1cc4f740b74; Julius Marminge

- [Handle branch-name generation failures as typed errors](https://git.cafe/gitcafe/t3code/commit/913d0409f6b38b7652435f581f1e38768e4cb27a?format=markdown) — 913d0409f6b38b7652435f581f1e38768e4cb27a; Julius Marminge

- [fine there](https://git.cafe/gitcafe/t3code/commit/ac0e720de19e452b75cd1a13cb576b0dec242721?format=markdown) — ac0e720de19e452b75cd1a13cb576b0dec242721; Julius Marminge

- [nit](https://git.cafe/gitcafe/t3code/commit/5144d32b771cb64c7e6e7aa0d109e480a4382a01?format=markdown) — 5144d32b771cb64c7e6e7aa0d109e480a4382a01; Julius Marminge

- [data uri for app server](https://git.cafe/gitcafe/t3code/commit/128cc215167cfd2c9696cdc657c870954d972db2?format=markdown) — 128cc215167cfd2c9696cdc657c870954d972db2; Julius Marminge

- [nit](https://git.cafe/gitcafe/t3code/commit/215ff36362d58de433df1e768629176e91d8ce33?format=markdown) — 215ff36362d58de433df1e768629176e91d8ce33; Julius Marminge

- [Resolve persisted attachment paths across server pipelines](https://git.cafe/gitcafe/t3code/commit/505b4d0bc3581b2bf1eb82db1d3768e15c0fe526?format=markdown) — 505b4d0bc3581b2bf1eb82db1d3768e15c0fe526; Julius Marminge

- [Generate temporary worktree branch names from UUID tokens](https://git.cafe/gitcafe/t3code/commit/343c0a94729b7d8040dd4a0fe54a8c6fdee6eeef?format=markdown) — 343c0a94729b7d8040dd4a0fe54a8c6fdee6eeef; Julius Marminge

- [Remove git.renameBranch RPC and harden branch rename args](https://git.cafe/gitcafe/t3code/commit/82681606d0a4c0fecf5487751812487abb489c4c?format=markdown) — 82681606d0a4c0fecf5487751812487abb489c4c; Julius Marminge

- [Scope upstream refresh in checkout effect lifecycle](https://git.cafe/gitcafe/t3code/commit/c91b79b6e2e6a77bd44a301689e995288f080a79?format=markdown) — c91b79b6e2e6a77bd44a301689e995288f080a79; Julius Marminge

- [Move worktree branch auto-rename into provider turn reactor](https://git.cafe/gitcafe/t3code/commit/5e55aa387f4d33209f55dc6ec00cb590ae7cbc2a?format=markdown) — 5e55aa387f4d33209f55dc6ec00cb590ae7cbc2a; Julius Marminge

- [Add AI-generated worktree branch naming and safe branch rename](https://git.cafe/gitcafe/t3code/commit/a21095bc9ae48f9555f6344a97834528ec6891af?format=markdown) — a21095bc9ae48f9555f6344a97834528ec6891af; Julius Marminge

- [fix: address latest git action review feedback](https://git.cafe/gitcafe/t3code/commit/ba03241df35b56a43c8f676a0b12c70b04ce004c?format=markdown) — ba03241df35b56a43c8f676a0b12c70b04ce004c; Julius Marminge

- [fix: reuse git action toast after feature-branch checkout](https://git.cafe/gitcafe/t3code/commit/a8059dc2c0341e72efab496c88b15b8dadac71e2?format=markdown) — a8059dc2c0341e72efab496c88b15b8dadac71e2; Julius Marminge

- [fix: widen default-branch action dialog](https://git.cafe/gitcafe/t3code/commit/be873bca3e75d6fb983593d1daeee98d97498bc2?format=markdown) — be873bca3e75d6fb983593d1daeee98d97498bc2; Julius Marminge

- [Fix: reset hasUpstream, aheadCount, behindCount in statusOverride after branch checkout](https://git.cafe/gitcafe/t3code/commit/e8bde958f132637e5e9214cfa1ac5db66313f08e?format=markdown) — e8bde958f132637e5e9214cfa1ac5db66313f08e; Cursor Agent

- [fix: make default-branch confirmation copy action-aware](https://git.cafe/gitcafe/t3code/commit/95f21c1099c9e28b95ee7c6d2f0a6ac49c333485?format=markdown) — 95f21c1099c9e28b95ee7c6d2f0a6ac49c333485; Julius Marminge

- [test: use dynamic default branch in remote-base-ahead case](https://git.cafe/gitcafe/t3code/commit/8cd92150b13a9b129b8d5cb26f91444d60ea6f55?format=markdown) — 8cd92150b13a9b129b8d5cb26f91444d60ea6f55; Julius Marminge

- [fix: resolve no-upstream base from origin tracking branches](https://git.cafe/gitcafe/t3code/commit/d0ab35931e90972d4217f319645a36601a1748bf?format=markdown) — d0ab35931e90972d4217f319645a36601a1748bf; Julius Marminge

- [fix: keep toast CTA git actions on the active feature branch](https://git.cafe/gitcafe/t3code/commit/882684a80cb7a74beafc8291e4949e266544c9ec?format=markdown) — 882684a80cb7a74beafc8291e4949e266544c9ec; Julius Marminge

- [fix: avoid no-upstream push skip when base cannot be resolved](https://git.cafe/gitcafe/t3code/commit/96efd1cef04489233e00f602bad42d5dd7625ecc?format=markdown) — 96efd1cef04489233e00f602bad42d5dd7625ecc; Julius Marminge

- [refactor: dedupe git action new-branch flow](https://git.cafe/gitcafe/t3code/commit/c8974ede6dc26b931c89d7415b9cbdd534aa8de4?format=markdown) — c8974ede6dc26b931c89d7415b9cbdd534aa8de4; Julius Marminge

- [Handle no-upstream branches by comparing commits against base](https://git.cafe/gitcafe/t3code/commit/0c637e3d5ec54b79b3df72b074b998ddc439b14a?format=markdown) — 0c637e3d5ec54b79b3df72b074b998ddc439b14a; Julius Marminge

- [Require ahead commits before offering Create PR on untracked branches](https://git.cafe/gitcafe/t3code/commit/0e2d50a62082aefb14249b85691cc500d4dd35dc?format=markdown) — 0e2d50a62082aefb14249b85691cc500d4dd35dc; Julius Marminge

- [Add coverage for no-upstream default-branch quick actions](https://git.cafe/gitcafe/t3code/commit/f3b3c548596af0a70fb8eddcc49118e5a5e154b2?format=markdown) — f3b3c548596af0a70fb8eddcc49118e5a5e154b2; Julius Marminge

- [Enable push/PR actions for branches without upstream](https://git.cafe/gitcafe/t3code/commit/02eca40c3b854377ec7bfff629c638379b04e030?format=markdown) — 02eca40c3b854377ec7bfff629c638379b04e030; Julius Marminge

- [Add default-branch safeguard with auto feature branch fallback](https://git.cafe/gitcafe/t3code/commit/c6ee3aee9fbe97baeea08593b1fdf9a5b9173466?format=markdown) — c6ee3aee9fbe97baeea08593b1fdf9a5b9173466; Julius Marminge

- [Document lint and typecheck completion requirements](https://git.cafe/gitcafe/t3code/commit/586e0ecea93228a0db7b3e6cf09166f5266d2707?format=markdown) — 586e0ecea93228a0db7b3e6cf09166f5266d2707; Julius Marminge

- [Update contracts description to effect/Schema in AGENTS.md](https://git.cafe/gitcafe/t3code/commit/dcd18413a2be283f2213ac371349636e31b59806?format=markdown) — dcd18413a2be283f2213ac371349636e31b59806; Julius Marminge

- [type](https://git.cafe/gitcafe/t3code/commit/73f296b4cf871827a4f90de634b9219ad3631f5a?format=markdown) — 73f296b4cf871827a4f90de634b9219ad3631f5a; Julius Marminge

More commits follow; continue with `GET /api/repos/gitcafe/t3code/commits?after=IjE0MTliZjM5ODlhZGJmOWVhNGEzZTAwOGFkNmY4NWVlMTdjMjk3NTUi`.
