Problem
ADR-0011 removed the registry, not the runtime. The CLI is TypeScript and requires Node to run.
For agents working in Python, Go, or Rust repositories, this is the last remaining barrier to entry. The protocol itself (git trailers) requires no runtime and can be read from any stack with git log --format='%(trailers:...)', but the index, guard, trust levels, and MCP server require Node.
Background
ADR-0002 rejected a single Rust binary for only two reasons: the 4-week schedule and a mismatch with the team's stack. It already said it could be revisited in the Backlog. That schedule constraint no longer exists.
Options
- Node SEA (Single Executable Applications) — no source rewrite. Combining SEA with the native
better-sqlite3 is difficult, but the --no-index fallback actually works after r-6f2a08, so a binary without sqlite is still functionally complete (only slower).
- Reimplement in Go/Rust —
spec/fixtures/ (25) and spec/contract-cases/ (14) already form the conformance suite. An implementation that passes under SPEC §9 is conforming.
- Attach platform-specific binaries to the GitHub release — distribution already works without a registry, so only release assets need to be added.
Prerequisite
#38 (single bundle) comes first. Without the bundle, there is no single entry point to put into SEA.
AC
Problem
ADR-0011 removed the registry, not the runtime. The CLI is TypeScript and requires Node to run.
For agents working in Python, Go, or Rust repositories, this is the last remaining barrier to entry. The protocol itself (git trailers) requires no runtime and can be read from any stack with
git log --format='%(trailers:...)', but the index,guard, trust levels, and MCP server require Node.Background
ADR-0002 rejected a single Rust binary for only two reasons: the 4-week schedule and a mismatch with the team's stack. It already said it could be revisited in the Backlog. That schedule constraint no longer exists.
Options
better-sqlite3is difficult, but the--no-indexfallback actually works afterr-6f2a08, so a binary without sqlite is still functionally complete (only slower).spec/fixtures/(25) andspec/contract-cases/(14) already form the conformance suite. An implementation that passes under SPEC §9 is conforming.Prerequisite
#38 (single bundle) comes first. Without the bundle, there is no single entry point to put into SEA.
AC
commitlore --version·context·guardwork in an environment without Node