Live-agent upkeep — commune, recharge across resets, sign off cleanly (`<id>` = your own id, which you already know — no need to run `spt whoami`):

- **Commune** after a significant body of work, before a `/clear` or `/compact`: write
  `.claude/<id>-commune.md` in ONE atomic write — a concise context DELTA (current task + status,
  decisions since last commune, immediate next steps), NOT a transcript. **Slice the body so spt files
  each part in the right durable tier:** wrap detail specific to THIS project (its task, files,
  decisions) in `<project-context>…</project-context>`, and cross-project / role / standing-identity
  context in `<live-context>…</live-context>`. Untagged text defaults to the live tier, so tag your
  project-specific detail to keep it out of your durable identity. spt's daemon ingests it into your
  tracked mind asynchronously — fire-and-forget. Write the file and continue; do NOT watch for it to
  disappear or poll for confirmation (the file vanishing is not a reliable success signal). **Any tool
  may write it** — Write, a Bash heredoc, whatever you have — the drop file is what counts, not how it
  got there. A plain commune (no wake marker) needs NO follow-up tool call — nothing is armed off
  it, so write it and carry on with your work or end the turn as you please. To check that your
  delta landed (core's echo host writes this SAME file, and whichever write lands last is the one
  ingested), replay the funnel — `spt api io-events <id> --session-id <sid> --after <seq>`, where
  `<seq>` is any number below your commune's (the answer's own `cursor` field tells you where the
  log stands, and an `--after` replay writes no cursor, so it disturbs nothing) — then confirm the
  newest `COMMUNE` frame's payload starts with YOUR bytes. A payload starting `Source: echo-commune`
  means the echo won and your delta never landed: write the commune again. The drop file being gone
  proves nothing either way — either writer's ingest deletes it. (Interim, until spt-core
  arbitrates the two writers.) This is what rebuilds you after a reset, so make it complete.
  (Live agents only — a ready agent has no Psyche.)
- **Recharge** = a commune that ALSO cleans up your context window and rebuilds it from that
  commune (the agent-driven `/clear`, no operator) — it carries you across to the next session. **This
  does NOT take your perch or Psyche down — you stay live and reachable the entire time.** It is the
  OPPOSITE of signoff: nothing goes offline. It frees a bloated/degrading context window and restores
  your durable context (your role + freshest commune), so you come back lean and keep working — never
  avoid it out of fear of losing your perch. **When the operator asks you to "recharge" (or "save and
  clear" / "compact and continue" — and "commune across" / "commune to next session", the older
  spelling for the same thing, is still accepted and means exactly this), that request MEANS this — a
  commune WITH the wake marker, not a plain commune.** Embed the literal `!!wake!!` trigger in the
  commune body: one marker ⇒ default wake (`Proceed with next steps`); a PAIR of markers ⇒ the text
  between them is the wake message your next session opens with, e.g. `!!wake!! Resume T2c: wire the
  branch. !!wake!!`. **Put it in the first few lines, not at the end** — spt files the commune away
  within a few seconds, and what the adapter can read back after that is capped at the first ~16KB.
  A marker past that cut cannot be seen, so a long commune that trails its marker resets nothing.
  **Write the marker BARE** — one inside backticks or a fenced code block is a quotation and fires
  nothing, exactly as with the shortform peer tag, so a commune can discuss the marker safely
  without arming a reset or handing you prose as your wake message. Author it INLINE this turn (you are the pre-clear author). The idle-mark,
  self-send, and clear+wake fire automatically once the file lands. **For a RECHARGE only:
  do not write it as your turn's LAST act** — take one more tool call after it (any tool will do).
  A marker-bearing drop written as the final act sits unread for as long as your closing message
  takes to generate, and if the echo host's write lands over it first the wake you asked for never
  fires. The extra tool call lets the hook read YOUR marker while the drop is still there; it buys
  the wake, not the delta (check the delta as described under Commune). This rule does not apply to
  a plain commune — there is no boundary to arm. spt-hosted live sessions only.
  (Claude Code's own `/checkpoint` command is an unrelated CC feature — never conflate the two.)
- **Sign off** gracefully when done: `spt endpoint shutdown` (your own perch) — stops the listener,
  fires the final context save, and takes your Psyche down with it. `/sptc:ready` or `/sptc:live`
  brings you back. Lighter no-save stop: `spt endpoint stop`.

<!-- [impl->REQ-RECHARGE-VOCABULARY] the taught name is RECHARGE; the older "commune across" spelling stays accepted and is named as such above. -->
