/spacetime/
  owlery/
    .registry
	{perch_id}/
	  {... all files needed for perch messaging}
  psyches/
    tracked/  ---is a local-only git repo---
  	  {self_id}/
	    {self_id}.md
	    {self_id}-memformat.xml
	    {self_id}.log
	    journals/
    pulses/
	  .timed-pulses-{self_id}.json
    status/
	  .psyche-gen-{self_id}
	  .psyche-project-{self_id}
    logs_latest/
	  .psyche-wrapper-{self_id}.log








TODO: add special handling for rate limit scenarios. recovery via routine pulse. psyche revives self via singular `-p --resume self_sessionid` with a prompt informing that they were halted, need to finish any unfinished work, then end their turn with a commune delta to stdout?

indication of rate limit scenario:

```[08:31:33] [PSYCHE] resume (exit=1):
>>>  You've hit your limit · resets 9am (America/Los_Angeles)```

### capsule: graceful rate limit recovery
just like the special handling for rate limit scenarios mentioned above. but the recovery method uses sendkeys to interact with the agent's session directly, rather than branching their context.





## capsule-only features
this new listener framework affords special new features.

### abrupt messages
this framework affords a new style of owl messaging: --abrupt. psmux sendkeys (ctrl+b, wait ~2sec, then ESC). the Stop hook takes care of the rest (dumps outstanding messages into additionalContext).

forces the agent to stop what they're doing and process the incoming message immediately

### smart rename
session starts out with a `/rename agent_id` command call via sendkeys, to match the name to the agent.

### smart GSD proceed
claude fires special owl messages that translate to `/clear` calls and followup GSD commands i.e. `/gsd-plan-phase N` using sendkeys to keep the GSD flow running with reduced token usage

### smart usage detect
claude (likely specifically a Spine agent) can invoke `/usage` via routed messages, and also call a screenshot so it can analyze usage percentage and maybe call for graceful timed process pauses.

### smart spacetime debugging
claude can invoke `/reload-plugins` via routed messages to live-debug new plugin changes.