docs/adr/0007-public-master-history-eve-root-clankvox-preserved.md

ADR 0007: Public master history — eve-rooted agent, clankvox history preserved

  • Status: Accepted
  • Date: 2026-07-07

Context

Two masters had diverged: public Volpestyle/clanky (435 commits, the working origin, deep history) and the internal checkout clanky-internal (re-rooted at the eve migration). Each held real work the other lacked — public had the engine wave (setup wizard, native work-tracker, per-spawn model/effort, policy/ADR-0023, merge-authority); internal had the grok worker harness, brand assets, README, and all the iOS garden work.

Two history goals were in tension on a single monorepo master:

  • clankie-agent history should start clean at the eve migration (2026-06-18), dropping the older Pi-runtime / AgentRoom / v2-TypeScript era.
  • clankvox's full history (back to 2026-03-05) must be preserved — it goes back the furthest.

The monorepo is a multi-root DAG assembled from separately-imported package histories (clankvox, the v2-TypeScript agent, swarm-ios, contract), so the eras are bridged by merge commits — a naive parent-sever or global date-cut can't satisfy both goals.

Decision

Reconcile onto public as the base (deeper, has the engine wave, already iOS-stripped): fast-forward the reconciled work + the clanky→clankie rename (ADR-0006) onto public master, then re-root at the eve migration with a git filter-repo date-prune (cutoff 2026-06-18) that exempts the clankvox/ path.

Because clankvox is an independent lineage entirely under clankvox/ (no shared ancestor with the agent), the prune drops the agent's pre-eve era while keeping clankvox's full 72-commit March-onward history on master. The tip tree is byte-identical — only history changed. Result: 295 commits, 4 roots (clankvox / eve-agent / contract / iOS-contract — cosmetic; the repo was always multi-root).

The complete pre-eve history (v2-TypeScript, Pi runtime, AgentRoom, swarm-ios) is preserved on branch archive/pre-eve-2026-07-06 (public) plus internal archive/clankvox and backup/* branches.

Consequences

  • git log on master shows a clean clankie-agent history from the eve scaffold and clankvox's full history back to March — both, on the main line.
  • Landing the re-root required a force-push to public master (history rewrite). Acceptable pre-launch; the archive branch guarantees nothing is lost.
  • Multiple roots are expected and functionally inert (log-by-date, blame, bisect, build are unaffected).
  • When clankvox becomes its own @clankie/clankvox repo, its full history extracts cleanly from the clankvox/ path.