Skip to content

docs: agent merge guide (numerics → urbit/urbit + urbit/vere) - #81

Merged
sigilante merged 1 commit into
mainfrom
sigilante/agent-merge-guide
Sep 13, 2026
Merged

sigilante merged 1 commit into
mainfrom
sigilante/agent-merge-guide

Conversation

@sigilante

Copy link
Copy Markdown
Collaborator

Adds AGENTS.md at the repo root: a practical guide for an agent (or human) propagating a numeric-stack change across urbit/numerics, urbit/urbit, and urbit/vere.

Motivated by this session's sync work (unum/#79, math/#80), which surfaced several non-obvious hazards worth writing down:

  • Repo roles. numerics is the canonical master (Hoon spec + C jet reference); urbit/urbit ships the Hoon (pkg/arvo/lib/); urbit/vere compiles the jets. Fixes usually flow out of numerics, but sometimes land in a vere PR first and must be mirrored back.
  • The vere64 split. <fam>/vere/ (pre-vere64, c3_w, variadic u3r_mean) vs <fam>/vere64/ (post-vere64, c3_h, braced u3r_mean). A fix goes to both; loom-agnostic edits are byte-identical, loom-specific lines differ only in those two respects. lagoon is being collapsed to one mirror.
  • Cross-repo diffs are noisy. numerics carries per-family jet mirrors; vere branches are full trees, so whole-file diffs of q.h/w.h/<kelvin>/tree.c pull in unrelated families. Trust the family .c by byte-identity; normalize u3_weaku3_noun to isolate real deltas.
  • Refcount linter bar (dozreg, refcount linter vere#1059): u3_weak typing + @Refcount annotations, 0 findings under --strict-weak.
  • Forward + back-port workflows, worktree-build mechanics (the .git-file symlink workaround), and the provenance rule (Hoon is ground truth; trace "the spec says …" before trusting it — cf. the fabricated C-fmod %mod).

Draft — easy to amend; corrections welcome on the PR.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Rqqco86RgnvtiC4axw8Px3

A practical reference for propagating a numeric-stack change across the
three repos: repo roles (numerics is master), the per-family/per-loom
mirror layout, the vere64 vere/ vs vere64/ split, why cross-repo header
diffs are noisy (per-family mirrors vs full vere trees -> trust the .c by
byte-identity), the refcount-linter bar (u3_weak / @refcount, 0 findings
strict-weak), the forward and back-port sync workflows, worktree-build
mechanics, and the "trace provenance, Hoon is ground truth" rule.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rqqco86RgnvtiC4axw8Px3
@sigilante
sigilante merged commit 2189a80 into main Sep 13, 2026
@sigilante
sigilante deleted the sigilante/agent-merge-guide branch September 13, 2026 00:21
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