---
name: 260520-r2f-SUMMARY
type: quick-summary
status: complete
created: 2026-05-20
description: Fix fresh-init first-commune instructions and remove stale `$LIVE commune <id> <message>` references from owl resume context strings.
---

# Quick Task 260520-r2f — Summary

## What changed

Pointed three instructional surfaces at the canonical commune path (Write tool → `.claude/{id}-commune.md`, per `/spt:commune` skill):

1. **`plugin/spt/skills/live/SKILL.md:220`** — Fresh-init "Proceed to init" with native-Other free-text bullet. Replaced the `$OWL deliver <id> <<'EOF'...EOF` / `$LIVE commune <id>` flow with: run `$LIVE start <id>` → use Write tool to create `.claude/<id>-commune.md` with the augmented summary as body. Added explicit "do not use" callout for the two wrong paths.

2. **`src/owl/resume.rs:59`** (`resume_xml` live branch) — Replaced `$LIVE commune {} <message> — update your Psyche` with `Commune with your Psyche: /spt:commune (canonical — Write tool to .claude/{}-commune.md per the skill)`. Format-string `{}` count unchanged (still 8 positional args, 8 `id` values).

3. **`src/owl/resume.rs:107`** (`print_skill_context` live Self perch) — Replaced `Send context updates: $LIVE commune {} <message>` with `Send context updates: /spt:commune (canonical — Write tool to .claude/{}-commune.md per the skill)`. Format-string `{}` count unchanged (still 9 positional args).

## Why

`$OWL deliver` is plain owl-to-owl messaging — it bypasses the v1.8 commune EVENT envelope entirely (no `type="commune"`, no 5-field stamp). Anything delivered that way lands at the Psyche perch as a generic owl message and never reaches the commune consume path.

`$LIVE commune` CLI does compose the envelope correctly, but `plugin/spt/skills/commune/SKILL.md:25-29` explicitly forbids Bash/heredoc for communes — Write tool is the named canonical path ("no shell escaping, no `EOF` collision risk"). Instructional surfaces (skill docs + resume context strings) should defer to the skill rather than enumerate a CLI invocation that contradicts it.

## Out of scope (verified, left alone)

- `src/live/commune.rs:2` — impl comment on the CLI subcommand. CLI still works; comment is accurate.
- `src/live/mod.rs:47` — usage hint when CLI called wrong. CLI still works.
- `psyche.md:42` — tells Psyche not to use `$OWL deliver` for outbound. Orthogonal Psyche-side rule.
- Other `$OWL deliver` refs — correct general owl-messaging guidance, not commune-related.

## Verify

```
cargo build --release                              # → clean (warnings pre-existing)
grep "deliver the augmented summary" plugin/...    # → 0 matches
grep "\$LIVE commune {} <message>" src/owl/resume.rs   # → 0 matches
```

## Deploy

String-only changes to one binary source file + one skill markdown. Standard `docs/DEPLOY.ps1` (no version bump needed — text fix, not a behavior change). The plugin's SessionStart hook re-emits the resume XML on next session start, so updated Self/Live resume strings ship with the next binary deploy. The skill markdown change ships when the skills dir is synced to the plugin cache.

## Status

complete
