command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case2-persona-import.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/n9RA7F
begin: {"utc": "2026-10-24T20:17:41.471+00:00", "load1": "4.78"}
launch nice: 19
✔ stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests (60.27729ms)
✔ stage lists the per-channel prompts in all three places by name and byte count only (54.156696ms)
✔ a config key with a newline prints as one quoted line (53.409746ms)
✔ a read trace shows stage and the dry run open SOUL.md and config.yaml and never memory, sessions or secrets (111.851492ms)
✔ the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing (430.713877ms)
✔ a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8 (397.494507ms)
✔ the import applies C2-08's exported fence at its boundaries (428.425851ms)
✔ install writes 0600 persona files in 0700 directories whose digests match, and prints the vars (105.006864ms)
✔ install refuses an open or foreign staging file, a digest off the manifest and an existing persona (578.05722ms)
✔ --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted (52.385622ms)
✔ --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1 (101.819898ms)
✔ a directory made between the check and mkdir refuses by name, at stage and at install (165.759273ms)
✔ --dry-run counts three lines naming a Hermes tool or channel and prints none of the words (52.836032ms)
✔ usage: stage needs one of --staging and --dry-run, install takes only its own options (333.417235ms)
ℹ tests 14
ℹ suites 0
ℹ pass 14
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 3050.397724
