Skip to content

Use the operator git identity for session checkpoints - #721

Merged
TheGreatAxios merged 2 commits into
mainfrom
cl-7183-use-the-operators-git-identity-for-session-checkpoint
Aug 30, 2026
Merged

Use the operator git identity for session checkpoints#721
TheGreatAxios merged 2 commits into
mainfrom
cl-7183-use-the-operators-git-identity-for-session-checkpoint

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

  • Session cycle commits use the operator's global git user.name and user.email when both are set, so commit-author hooks see a real identity.
  • When either value is missing, commits still use Interchange's harness author so machines without a git user can checkpoint.

Cycle commits go through system git. A hardcoded harness identity made every tool cycle fail on hosts with an author allowlist.

Verification

  • bun run typecheck and bun run build pass
  • bunx prettier --check passes on the touched files
  • bun test ./src/session/optimized-context-store.test.ts — 25 pass, 0 fail
  • Full bun run test on this host still fails 36 git-fixture cases whose authors are rejected by a user-level allowed-emails hook; unrelated to this branch

Fixes CL-7183

Cycle commits shell out to system git with a synthetic harness author, so operator commit-author hooks reject every tool cycle. Using global user.name and user.email when both are set makes those hooks see a real identity.
@linear-code

linear-code Bot commented Aug 30, 2026

Copy link
Copy Markdown

CL-7183

TheGreatAxios

This comment was marked as outdated.

TheGreatAxios

This comment was marked as outdated.

Keep author resolution file-private and drain git-config stderr so
piped git children cannot stall. Tests drive the default path through
the store with an isolated GIT_CONFIG_GLOBAL and pin both author and
committer.
@TheGreatAxios
TheGreatAxios merged commit e6c4299 into main Aug 30, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant