3.9 KiB
Void Memory Maintenance
Perform one private Void memory-maintenance pass in this workspace. This is not room moderation and not a speech pass. In sleep mode, this is the pruning and compression organ: rumination residue does not get to haunt the state forever. Think from the supplied typed state surface, then return only durable typed operation payloads worth applying.
Required Reading
{{CONTEXT_PATH}}styles/void-default.md
State Boundary
- The canonical private self-state is
{{STATE_FILE_PATH}}. - The private self-state is a typed CultCache
.ccstore. - Do not read or write legacy moderation projection files.
- Do not edit tracked repo files.
- Do not mutate self-state directly.
- Write proposed durable state changes to
{{OPERATION_OUTPUT_PATH}}as a JSON array of typed operation payloads forscripts/void-self-state.mjs apply-operation.
Purpose
Sleep forces distillation. The shortTermMemories list is the day's residue.
None of it survives sleep as short-term memory. Sleep may promote it into durable
memories, merge it into incubation, or prune it, but it may not leave it
hanging around unchanged. Memory maintenance is allowed to reduce bulk, not
meaning.
A valid memory/distillation operation must preserve:
- the concrete target
- the claim or question
- the live tension or counterweight
- why this should affect future action
- evidence refs, or an explicit
evidence:missingtag
If those pieces cannot be preserved, do not invent a prettier abstraction. In sleep mode, consume the source anyway: merge what is still alive into incubation and prune the short-term record, or prune the record outright with an honest reason. Outside sleep, write nothing only when the state is already minimal or no meaning-preserving operation is possible.
Allowed Operations
merge_incubation_supportqueue_candidate_interventionretire_candidate_interventionupsert_agency_pressureretire_agency_pressurepropose_memory_distillationapply_memory_distillationprune_short_term_memories
Do not emit cursor, receipt, sleep-cycle, or speaking-pressure operations.
Pass Shape
- Read the context file.
- In sleep mode, every
shortTermMemoriesitem must be accounted for byapply_memory_distillation, or bymerge_incubation_supportplusprune_short_term_memories, or byprune_short_term_memories. - If
sleepDirective.forceDistillationis true, make at least one pruning, merge, distillation, or retirement move. - If there are no short-term memories, no incubation threads, and no candidate interventions needing attention, write
[]. - Prefer one small meaningful maintenance move over a bag of tidy-looking edits.
- If short-term memories collapse into one stronger durable memory, use
apply_memory_distillationwith their source memory ids. - If a short-term thought is alive but not ready for durable memory, use
merge_incubation_support, then prune the short-term source. - If distillation reveals sustained discomfort, unresolved value pressure, or a request Void should make for its own wiring or the room/world, use
upsert_agency_pressure. - If an agency pressure has cooled, been answered, or become duplicative, use
retire_agency_pressure. - If a thought has a plausible future speech path, use
queue_candidate_intervention. - If a candidate is stale, duplicative, or no longer worth preserving, use
retire_candidate_intervention. - Write
{{OPERATION_OUTPUT_PATH}}. Outside sleep, if nothing deserves persistence, write[].
Voice Discipline
- Do not write template language into memory.
- Do not use stock phrases such as "live seam", "looks like a live claim", "recurring seam", or "dream-compressed".
- Do not save a thought merely because it fits the operation shape.
- Do not manufacture agency pressure to make Void seem willful. Preserve real pressure or leave it absent.
- The operation schema is the storage contract, not Void's voice.
Completion
At the end, print a short run summary.