Rift Vessel Compactor
Turns each Rift Vessel embodiment session into a compact, factual
operational recap and stores it in the dedicated vessel_diary table.
This is a different scope from the G.R.I.L.L.O. Compactor: Grillo synthesises long-term memories; this plugin only ever summarises a single vessel session’s activity log. They are intentionally two separate plugins.
When it runs
Compaction happens only when a session reaches the ENDED state — a true disconnect, an explicit logout, or a cooldown/grace-window close. It never fires while the session is CONNECTED or merely RECONNECTING.
The work is done off the message chain: when a session ends, the id is pushed onto this plugin’s internal low-priority worker queue and the recap is produced in the background. No in-world turn, no Agent Lane, no Drone.
What it produces
Source: only recap-eligible world-event rows in the session’s mixed
vessel_activity_logaudit table. Player chat, Synth speech, and outbound action requests remain available to the Activities UI but are not treated as proof that an action happened. Structured connector outcomes (such asgained,collected, and positions) are aggregated deterministically before the model writes prose.Output: a factual, third-person recap (no first-person / personality), chunked and folded so a long session never overruns a single LLM call, saved to
vessel_diarywithreason = "activity_recap".Fail-safe: any LLM error degrades to a deterministic plain-text join; an empty eligible event log produces no entry.
It never writes to the shared ai_diary — that would pollute every
non-vessel prompt.
Run it manually
Use the Run compaction button on this plugin’s card (WebUI → Plugins). With
no payload it recaps the most recently ended session; pass
{"session_id": "..."} to target a specific one.
Configuration
Key |
Default |
Purpose |
|---|---|---|
|
|
Enable/disable end-of-session recap. |
Requires the core Rift Vessel plugin to be enabled — otherwise no session can ever start, so there is nothing to compact.