Skip to content

Flatten Git service layer and switch server paths to base dir#1255

Merged
juliusmarminge merged 5 commits intomainfrom
t3code/flatten-git-service-layer
Mar 24, 2026
Merged

Flatten Git service layer and switch server paths to base dir#1255
juliusmarminge merged 5 commits intomainfrom
t3code/flatten-git-service-layer

Conversation

@juliusmarminge
Copy link
Member

@juliusmarminge juliusmarminge commented Mar 20, 2026

Summary

  • Flattened the git service abstraction into GitCore, removing the separate GitService layer and updating downstream consumers and tests.
  • Introduced base-directory driven path derivation so state, logs, worktrees, and attachments are resolved from T3CODE_HOME / --base-dir.
  • Updated desktop and server bootstrapping, docs, and integration tests to use the new derived path layout.
  • Adjusted attachment resolution to work from an explicit attachments directory instead of the full state directory.

Testing

  • Not run (PR content only).
  • Existing test coverage was updated across git, orchestration, attachment, and server config layers.
  • Project checks expected before merge: bun fmt, bun lint, bun typecheck, and bun run test.

Note

Replace GitService with GitCore as the primary git execution layer

  • Removes GitService from the runtime and test layers, making GitCore the single service responsible for executing git commands.
  • Adds an execute method to GitCoreShape that spawns a git child process with streamed stdout/stderr, a 30s default timeout, and a 1,000,000-byte per-stream output cap.
  • Non-zero exit codes raise GitCommandError unless explicitly permitted; timeouts and stream failures are also wrapped as GitCommandError with operation, command, and cwd context.
  • CheckpointStoreLive no longer implicitly provides GitService; callers must now supply GitCore explicitly.
  • Risk: all git operations now enforce a 1MB output limit and a 30s timeout by default, which may cause GitCommandError for commands that previously succeeded with large output or slow execution.

Macroscope summarized 5156493.

@coderabbitai
Copy link

coderabbitai bot commented Mar 20, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ce67494d-b3e5-4181-ba56-4fccb026d637

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch t3code/flatten-git-service-layer

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added size:XL 500-999 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Mar 20, 2026
- remove the GitService layer and wire callers to GitCore directly
- update checkpointing and orchestration wiring to provide GitCore
- adjust git layer tests and harnesses for the new structure
@juliusmarminge juliusmarminge force-pushed the t3code/flatten-git-service-layer branch from d100711 to e31a466 Compare March 23, 2026 23:36
@github-actions github-actions bot added size:XXL 1,000+ changed lines (additions + deletions). and removed size:XL 500-999 changed lines (additions + deletions). labels Mar 23, 2026
@juliusmarminge juliusmarminge merged commit d415558 into main Mar 24, 2026
10 checks passed
@juliusmarminge juliusmarminge deleted the t3code/flatten-git-service-layer branch March 24, 2026 00:02
Chrono-byte pushed a commit to Chrono-byte/t3code that referenced this pull request Mar 24, 2026
aaditagrawal added a commit to aaditagrawal/t3code that referenced this pull request Mar 24, 2026
sfncore pushed a commit to sfncore/t3code that referenced this pull request Mar 24, 2026
…draft threads, settings refactor

Merges 18 upstream commits including:
- feat: terminal toggle button in chat header (pingdotgg#633)
- feat: resizable chat sidebar (pingdotgg#1347)
- feat: stream git hook progress events (pingdotgg#1214)
- feat: configurable base directory (pingdotgg#826)
- feat: persist model options (pingdotgg#1121)
- refactor: simplify settings layout (pingdotgg#1288)
- refactor: flatten Git service layer (pingdotgg#1255)
- fix: draft-thread project scripts (pingdotgg#1178)
- fix: draft attachment persistence warnings (pingdotgg#1153)
- fix: PTY adapter runtime loading (pingdotgg#1311)
- fix: Claude SDK filesystem settings (pingdotgg#1334)
- Various UI fixes and polish

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant