Skip to content

Naming decisions ledger

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.

Naming principle — harness-agnostic by default

Section titled “Naming principle — harness-agnostic by default”

Name a thing by what it is, not by the harness that happens to be the current default:

  • Neutral concept (any harness has one — a session id, an event type, autospawn, “the agent”) → a neutral name. The harness is a configurable value (e.g. COLIBRI_AUTOSPAWN_BINARY=zot), never baked into the name and always operator-overridable.
  • Harness-specific thing (one harness’s actual wire format) → the harness name belongs in it, and the parallels stay symmetric (zot_event_typepi_event_type, AgentRuntime::{Zot, Pi}) so neither is privileged.

The pi_* rows in Shipped are the cautionary tale: neutral concepts wrongly named after a harness. Same applies to docs — a per-harness reference is neutral (AGENT-EVENTS-REFERENCE), not ZOT-…, unless it is truly about one harness only.

Old → NewWhyAnchor
COLIBRI_AUTOSPAWN_PICOLIBRI_AUTOSPAWNHarness-neutral (default agent is zot, not pi)crates/colibri-daemon/src/socket.rs
COLIBRI_PI_BINARYCOLIBRI_AUTOSPAWN_BINARYsamesocket.rs (autospawn_agent_if_configured)
pi_session_idsession_idzot agents have session ids too; #[serde(alias)] keeps back-compatcrates/colibri-glasspane/src/lib.rs (Pane)
fake-pi-agent.pysample-pi-agent.py”fake” too loaded; it emits a canned samplescripts/sample-pi-agent.py
non-local spawn default hermes-agentzothermes-agent was a nonexistent leftover binarysocket.rs (default_agent_args)
usb_nodeshive_nodesa node is any host that joined the hive, not only a USB boot (+node_type); #161packaging/mother/mother_schema.sql
pi_typeevent_typeinternal name for the normalized event type; harness-neutral (not serialized)crates/colibri-glasspane/src/lib.rs

None currently.

ItemNote
ADR-agent-harness-consolidation.mdReferenced but does not exist; AGENTS.md is the real anchor. See agent-harness.
DecisionWhy / lessonAnchor
Single home for mother infra = colibriThe 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
FEATURE_COLIBRI is internal, not user-facingcolibri is staged by default; FEATURE_COLIBRI=NO is a build-time escape hatch (e.g. no colibri checkout). README clarified.clawdie-iso #130
clawdie-gui is the stable operator commandclawdie-startx retained as a back-compat alias (both installed); docs teach clawdie-gui. Verified intentional, not drift.clawdie-iso/README.md §clawdie-gui; clawdie-iso/build.sh