Naming decisions ledger

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.

Naming principle — harness-agnostic by default

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

current default:

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.

name belongs in it, and the parallels stay symmetric (zot_event_type

pi_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.

Shipped

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)
sample-pi-agent.pyRenamed from legacy test-agent filename; emits a canned _sample_scripts/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

In-flight

_None currently._

Known residue (not yet actioned)

ItemNote
ADR-agent-harness-consolidation.mdReferenced but does not exist; AGENTS.md is the real anchor. See agent-harness.

Structural decisions

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

See also