0142. The install tells him the truth
Accepted 2026-08-29. Applies the harness-truth principle from ADR 0072 to the machine he is running on. Amends ADR 0104 (which skills the service root contributes) and ADR 0136 (what a release copies).
Context
A checkout of this repository is an encyclopedia: ADRs, AGENTS.md, pnpm
scripts, and developer skills. An installed release is not. The captain still
loads skills from the service root, so James's Clankie could answer "how do
you work?" by reading ~/dev/clankie. Another person's curl | sh install
got the same identity prompt, then three developer skills that told him to
pnpm --filter against a tree that is not there.
instructions.md already teaches him how to act. It is the wrong place for
an architecture dump: the social register refuses to mention his internals
unless asked, and every turn would pay for them.
Decision
Live install facts come from a probe. Procedures for those facts come from a bundled skill. Developer procedures stay in the checkout.
clankie doctorreports this service root:kind(checkoutvsrelease), version, model refs, Discord body flags, broker credential ids (never secrets), optional binaries, and whether the herdr plugin is bundled or linked.okmeans the card was produced. Missing optional tools are facts, not failures.clankie statusstays the process-liveness card.this-machineis the product skill and the installed companion to the launcher command layer. Load it when asked how he works, how to operate or configure him throughclankie, or why a body or credential is missing. It tells him to run doctor and believe it, thatclankie <noun> <verb>is the canonical non-secret control path, and that TUI slash commands and modals are chrome over those same functions (ADR 0012). The full contract isdocs/cli.mdatrepoRoot;clankie helpis the same index. The conversation workspace is not his body.- CLI contract.
docs/cli.mdships in the release so acurl | shinstall can read the same flag/JSON/exit-code contract as a checkout. The rest ofdocs/does not. - Skill split.
.agents/skillsships with every install (this-machine,trace-clankie)..agents/dev-skillsis checkout-only (verify-clankie,release-clankie). The captain and TUI catalog load both directories; a missingdev-skillsdirectory is a no-op, which is the release case. - The herdr plugin is Clankie-owned and copies into the release so
herdr plugin link <bundlePath>works without a git tree. Herdr itself andherdr-leadremain optional external commands.
Do not put the ADR corpus or architecture.md in the always-on prompt. After
the fact, trace-clankie still names the XDG trails that exist on every
install.
Alternatives considered
- Always-on architecture in
instructions.md. Rejected: every social turn would carry it, and the register already says not to mention internals unless asked. - Ship the whole
docs/tree. Rejected: the operator needs the map of this install, not 140 decision records. The one exception isdocs/cli.md, the headless command contract both agents and humans need without a git tree. disable-model-invocationon developer skills. Rejected: James's checkout still needs to invoke them; the directory split encodes the audience without a runtime checkout detector.
Consequences
- A release Clankie can set up and debug himself without a mirrored repo.
pnpm doctorremains the checkout toolchain check;clankie doctoris the install card both audiences can run.- A missing
herdr-leadskill is an honest absence, not a playbook to invent.
