Skip to content

refactor: unify sandboxed agent commit signing - #37

Merged
MrPointer merged 4 commits into
mainfrom
refactor/git-signing-keys
Oct 21, 2026
Merged

MrPointer merged 4 commits into
mainfrom
refactor/git-signing-keys

Conversation

@MrPointer

@MrPointer MrPointer commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

📝 Summary

Sandboxed agents used separate signing configuration, and Claude was unavailable on personal machines.
This consolidates agent Git configuration and signs through the host ssh-agent with the machine’s Ed25519 key.
Git identity now defaults to personal and selects SolarEdge work identity from remote URLs rather than clone paths.

Key Decisions

🔐 Agent signing boundary

Claude, OpenCode, and Codex use the host Ed25519 signing key through ssh-agent. Agents receive public key metadata and the agent socket, but never private-key access. Manual Git remains GPG-signed.

⚙️ Shared configuration ownership

The shared nono launcher selects ~/.config/git/agent.gitconfig for every agent. This replaces agent-specific Git configuration and centralizes key preloading, with registration and verification guidance documented for the shared setup.

👤 Remote-based work identity

Personal email is the default identity. On work-configured machines, SolarEdge work email applies to gitlab.solaredge.com, Azure SSH ssh.dev.azure.com, and Azure HTTP(S) dev.azure.com remotes. Identity therefore does not depend on where a repository is cloned.

🖥️ Claude availability

Generic Claude is available on personal and work machines. Its previous work-dependent configuration excluded personal environments.

🔄 Before & After

Area Before After
Agent signing Claude selects RSA on SolarEdge work machines; other agents use Ed25519 All agents use the host Ed25519 key
Agent Git config Separate Claude, OpenCode, and Codex configs Shared agent config selected by the common launcher
Git identity Machine-based email; path-based personal exception Personal default; remote-based work overrides
Claude availability Work machines only Personal and work machines
Sandbox config access Agent-specific Git config grants Shared Git config grants, including work identity

Use Ed25519 for Claude commit signing regardless of the machine's work
settings. Make the launcher and sandbox profile available in personal
environments as well.

Remove RSA signing access and redundant multi-key loading while keeping
authentication and manual GPG signing unchanged.
Share one SSH-signing Git configuration across Claude, Codex, and
OpenCode instead of maintaining identical per-agent files.

Select the shared configuration in the common launcher and grant each
sandbox access to it. Keep manual sessions on their existing GPG setup.
Describe agent signing configuration, host setup, sandbox access, and
local versus host verification for maintainers.

Align the chezmoi data contract and profile-maintenance guidance with
the shared configuration and launcher responsibilities.
Default to the personal email on every machine and select the work
email for SolarEdge GitLab and Azure DevOps remotes. This removes
the machine-wide work default and the dotfiles path exception.

Allow sandboxed agents to read the work identity configuration and
document the URL matching rules without changing signing methods.
@MrPointer MrPointer changed the title Standardize sandboxed agent Git signing and identity selection refactor: unify sandboxed agent commit signing Oct 21, 2026
@MrPointer
MrPointer merged commit c10bb19 into main Oct 21, 2026
5 checks passed
@MrPointer
MrPointer deleted the refactor/git-signing-keys branch October 21, 2026 22:23
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