colibri/docs/wiki/naming-decisions.md
Sam & Claude 9947da9edc
Some checks failed
CI / rust (pull_request) Has been cancelled
CI / markdown (pull_request) Has been cancelled
CI / port (pull_request) Has been cancelled
CI / agent-jail-pkgs (pull_request) Has been cancelled
fix(wiki-lint): make check 2 actually work + parse ledger
The 'resurrected old names' check was non-functional: it ran in a pipeline
subshell (fail/pass counts and --strict exit were lost), accumulated hit files
with literal \\n (so the per-file filter never matched), and hardcoded the old
names — already stale (missing usb_nodes, the rename that motivated this).
Planting hermes-agent + usb_nodes + COLIBRI_AUTOSPAWN_PI in a source file
passed clean under --strict.

Rewrite:
- Parse old names from the Shipped table of naming-decisions.md (self-updating;
  no hardcoded list to rot).
- Loop in the main shell (read from a file) so counters and --strict propagate.
- xargs grep -nHF across the file list; filter legit contexts case-insensitively
  (migration/rename/back-compat/alias/changelog) so the serde alias and the
  setup-mother migration code don't false-positive.
- Move usb_nodes → hive_nodes from In-flight to Shipped (colibri #161 merged) so
  it is now enforced.

Verified: clean run exits 0 (PASS 37); planting hermes-agent/usb_nodes/
COLIBRI_AUTOSPAWN_PI now FAILs and --strict exits 1. Fixed a serde-alias
false-positive (multi-line attribute). sh -n + markdown gate green.
2026-06-24 10:35:39 +02:00

4.1 KiB

Naming decisions ledger

index

A living record of renames driven by superseded assumptions, so future drift is checkable against one list. "Shipped" means merged to main; verify against the linked code before trusting a row.

Shipped

Old → New Why Anchor
COLIBRI_AUTOSPAWN_PICOLIBRI_AUTOSPAWN Harness-neutral (default agent is zot, not pi) crates/colibri-daemon/src/socket.rs
COLIBRI_PI_BINARYCOLIBRI_AUTOSPAWN_BINARY same socket.rs (autospawn_agent_if_configured)
pi_session_idsession_id zot agents have session ids too; #[serde(alias)] keeps back-compat crates/colibri-glasspane/src/lib.rs (Pane)
fake-pi-agent.pysample-pi-agent.py "fake" too loaded; it emits a canned sample scripts/sample-pi-agent.py
non-local spawn default hermes-agentzot hermes-agent was a nonexistent leftover binary socket.rs (default_agent_args)
usb_nodeshive_nodes a node is any host that joined the hive, not only a USB boot (+node_type); #161 packaging/mother/mother_schema.sql

In-flight

None currently.

Known residue (not yet actioned)

Item Note
pi_type pi-era name for "normalized event type"; internal only, not serialized. Optional rename → event_type. crates/colibri-glasspane/src/lib.rs
FEATURE_COLIBRI AGENTS.md/README imply "no separate feature flag," but the build keeps it (default YES, "internal escape hatch"). Reconcile wording or flag. (clawdie-iso)
clawdie-startx README teaches clawdie-gui; startx kept as the internal wrapper — documented transition, verify the user-facing launcher leads with gui. (clawdie-iso)
ADR-agent-harness-consolidation.md Referenced but does not exist; AGENTS.md is the real anchor. See agent-harness.

Structural decisions

Decision Why / lesson Anchor
Single home for mother infra = colibri The mother MCP scripts were copied into both colibri and clawdie-iso; the iso copy drifted to an SQL-injectable node-register-mcp on main. Same script in two repos drifts — a lint pass should flag cross-repo duplicates. colibri packaging/mother/; iso removal in iso PR #129

See also