---
name: twohost-runs-in-its-own-temp-spt-home
description: "twohost rigs set SPT_HOME to a TempDir and spawn their own daemons — the box's resident daemon/broker version cannot enter a twohost result, so never build a version-coupling argument on it"
metadata: 
  node_type: memory
  type: project
  originSessionId: d62f0296-f25d-4225-a244-7a5697de1b19
  modified: 2026-08-04T21:51:19.894Z
---

The twohost legs do NOT use the box's default `$SPT_HOME` or its resident daemon. Verified at
source (main @`30bbe22`, 2026-08-04) after the operator corrected me:

- `crates/spt-daemon/tests/twohost.rs:653-654` — the first lines of `two_host_ladder_role_b` are
  `let home = TempDir::new()...; std::env::set_var("SPT_HOME", home.path());`. Same shape at
  `:1138` for the A side. The `set_var` happens before any store is touched.
- The later `perch::spt_home()` calls (`:326`, `:354`, `:460`, `:548`, `:594`, `:668`) whose
  comments say "the canonical SPT_HOME stores" resolve THROUGH that env var. **"Canonical" means
  canonical paths INSIDE the home, not the machine's default home.** Misreading that comment is
  what produced the error below.
- `crates/spt/tests/twohost_cli.rs:258/289/325` spawns its real `spt daemon run` children with
  `.env("SPT_HOME", &self.home)` — a rig-owned home per child.
- `golden.yml` builds the binary in-job (`cargo build -p spt --bin spt`) and runs the tests
  against it; rendezvous goes through production relay/discovery (no fixed ports).

**Why:** I argued hfenduleam and kitsubito were a "twohost pair" that had to roll their daemons
together, because a broker-version skew would re-base the twohost ledger rows. doyle ratified a
sequencing rule and then a golden/twohost measurement BAN on that reasoning. The premise was
false at the root — twohost exercises the BUILT binary against a FRESH daemon in a temp home, so
the resident broker image cannot enter the result, and a split fleet threatens nothing.

**How to apply:** before claiming any CI leg couples to machine state, find where the rig sets its
own `SPT_HOME` / spawns its own daemon. A comment saying "canonical" or "production" describes the
paths, not the host. Not verified and still open: whether a broker-version spread can affect
relay-mediated rendezvous between two rig daemons — that path IS shared infrastructure.

Related: [[name-the-file-and-sha-a-condition-came-from]], [[ruling-rests-on-a-premise]],
[[twohost-run-window-discipline]], [[isolated-home-isolates-broker-socket]],
[[verify-the-subject-not-just-the-measurement]].
