Add typed agency pressure surface
This commit is contained in:
parent
29f68626cd
commit
8b7c413ecd
17 changed files with 299 additions and 15 deletions
|
|
@ -37,6 +37,7 @@ Git history and smoke artifacts carry routine proof. `state/evidence.jsonl` shou
|
|||
- The old memory-organ script family, legacy moderation-state template, and legacy moderation context exporter have been deleted. Do not revive their cleanup, agency, dream, vector-incubation, or mirror-repair behavior as compatibility scaffolding.
|
||||
- `scripts/run-void-memory-maintenance.ps1` is the first replacement memory-maintenance organ. It builds a bounded context from typed memories/incubation/candidates/runtime, loads `prompts/void-memory-maintenance.md`, and applies only allowed memory/incubation/candidate typed operation proposals through `scripts/void-self-state.mjs`. In sleep mode, memory pressure sets `sleepDirective.forceDistillation`; a real model pass returning no operations under pressure fails visibly.
|
||||
- Rumination does not write durable memory. It can only emit `record_short_term_memory`; sleep maintenance must promote short-term records with `apply_memory_distillation`, merge them into incubation and prune them, or prune them outright. A real sleep pass that leaves short-term records behind fails.
|
||||
- Agency has a typed pressure surface now: `upsert_agency_pressure` / `retire_agency_pressure` own discomforts, active tensions, self-advocacy requests, and world-advocacy requests. Candidate interventions are possible speech/actions emerging from pressure, not the pressure itself. `npm run moderation:agency-pressure:fixture` verifies the pressure enters `.cc`, renders in self-state summary, and affects mood speaking pressure.
|
||||
- Most of the deterministic legacy translation and retention code is recent compensator cruft from failed attempts to manually clean an exploded state file. Do not preserve it as an earned organ. Architect the state boundary so that bad state cannot enter, and keep only narrow historical migrations for old debris.
|
||||
- The desired agency shape is typed state operations plus derived/model-owned policy, not a permanent sermon generator in maintenance code.
|
||||
- Sleep/distillation now has a runner boundary and prompt contract, but the substantive model behavior still needs live exercising. The invariant is fixed: concrete subject, claim/question, evidence refs, live tension, and future-action implication survive compression. Bulk can die. Meaning does not get put through the office shredder and called a dream.
|
||||
|
|
|
|||
|
|
@ -124,6 +124,8 @@ This note is the source-grounded description of how the live VoidBot stack is sh
|
|||
- typed memory-maintenance runner. It builds a bounded prompt-facing context from typed short-term memories, durable memories, incubation, candidates, receipts, and scheduled runtime; loads `prompts/void-memory-maintenance.md`; asks Codex for memory/incubation/candidate operation proposals; then applies only allowed typed operations through `scripts/void-self-state.mjs`. It accepts `-StateFilePath` so fixture passes can use a throwaway `.cc` store.
|
||||
- `scripts/smoke-void-memory-maintenance-sleep-fixture.ps1`
|
||||
- sleep-maintenance fixture. It seeds a temporary CultCache `.cc` store with a napping sleep cycle and one short-term memory, runs mood drift with a fake Codex child through the non-skip maintenance branch, and verifies the source short-term record is gone while one durable meaning-preserving memory remains.
|
||||
- `scripts/smoke-void-agency-pressure-fixture.ps1`
|
||||
- agency-pressure fixture. It seeds one typed self-advocacy pressure, verifies it appears in the rendered self-state summary, then runs mood drift against an isolated fixture state to prove agency pressure contributes to speaking pressure without creating a hard-wired speech candidate.
|
||||
- `scripts/install-moderation-rumination-task.ps1`
|
||||
- installs the local 15-minute scheduled task that runs the moderation/participation loop through the hidden PowerShell launcher shim.
|
||||
- Scheduled task `Void Mood Drift`
|
||||
|
|
@ -131,7 +133,7 @@ This note is the source-grounded description of how the live VoidBot stack is sh
|
|||
- Scheduled task `Void Moderator Rumination`
|
||||
- disabled pending its own model-branch fixture. Its script is typed-only, but unattended speech/thought is still too behaviorally sharp to re-enable on smoke tests alone.
|
||||
- `scripts/simulate-void-mood.mjs`
|
||||
- typed mood maintenance script that updates scheduled-runtime sleep cycle and speaking pressure in `.voidbot/private/void-self-state.cc`. It owns the sleep transition and invokes typed memory maintenance once per nap unless that nap already completed a maintenance pass. The old personality-vector drift, memory organ, incubation, dream residue, cleanup, and legacy mirror behavior are offline pending typed replacements.
|
||||
- typed mood maintenance script that updates scheduled-runtime sleep cycle and speaking pressure in `.voidbot/private/void-self-state.cc`. It owns the sleep transition and invokes typed memory maintenance once per nap unless that nap already completed a maintenance pass. Speaking pressure now derives from queued candidates, incubation, and active typed agency pressure. The old personality-vector drift, memory organ, incubation, dream residue, cleanup, and legacy mirror behavior are offline pending typed replacements.
|
||||
- `scripts/run-void-mood-drift.ps1`
|
||||
- hidden-task wrapper for the mood-drift organ; writes status/log pulse files and respects the moderation lock so the two state writers do not stomp each other for sport.
|
||||
- `scripts/install-void-mood-drift-task.ps1`
|
||||
|
|
@ -204,3 +206,10 @@ Within the Postgres path, the implementation is split on purpose now too:
|
|||
6. The parent runner applies allowed operations through `scripts/void-self-state.mjs`.
|
||||
7. In sleep mode, the context carries `sleepDirective.forceDistillation` when there is short-term memory pressure. A real model pass that returns no operations under pressure fails visibly, and any real sleep pass that leaves short-term memory behind fails instead of letting yesterday's residue haunt the state. The fixture smoke exercises this path with a fake Codex child so the parent validation and application machinery are tested without relying on live inference.
|
||||
8. This is the replacement path for sleep/distillation and agency work: model-owned proposals crossing the typed operation boundary, not deterministic repair code editing state.
|
||||
|
||||
### Agency Pressure
|
||||
|
||||
1. Rumination and memory maintenance may propose `upsert_agency_pressure` or `retire_agency_pressure`.
|
||||
2. The typed service validates that each pressure has a concrete target, claim or question, action implication, intensity, and either evidence refs/source memory ids or an explicit `evidence:missing` tag.
|
||||
3. The self-state summary renders active agency pressure separately from queued speech candidates.
|
||||
4. Mood drift reads active and ready agency pressure into speaking pressure, but it does not manufacture speech text from it.
|
||||
|
|
|
|||
|
|
@ -75,6 +75,8 @@ Runtime context dies at the end of the pass unless an explicit typed mutation pr
|
|||
- `merge_incubation_support`
|
||||
- `queue_candidate_intervention`
|
||||
- `retire_candidate_intervention`
|
||||
- `upsert_agency_pressure`
|
||||
- `retire_agency_pressure`
|
||||
- `update_sleep_cycle`
|
||||
- `update_speaking_pressure`
|
||||
- `propose_memory_distillation`
|
||||
|
|
@ -272,7 +274,9 @@ Verdict: stop feature work and rebuild this foundation. The rest of the machine
|
|||
- preserve why the memory should affect future action
|
||||
- never replace a concrete thought with a prettier generic principle unless the operation records what was lost and why that loss is acceptable
|
||||
- Make distillation emit typed candidate memories first; the state service applies only candidates that satisfy the contract.
|
||||
- Remaining work: rebuild agency behavior through typed operations and add the same model-branch fixture discipline to moderation rumination before scheduling it unattended.
|
||||
- Landed agency ingress: `upsert_agency_pressure` / `retire_agency_pressure` store discomforts, active tensions, self-advocacy requests, and world-advocacy requests separately from candidate speech.
|
||||
- Landed agency verification: `npm run moderation:agency-pressure:fixture` proves agency pressure enters typed state, appears in the self-state summary, and contributes to mood speaking pressure.
|
||||
- Remaining work: make moderation rumination's model-branch fixture prove agency-pressure proposals and candidate proposals before scheduling it unattended.
|
||||
|
||||
### Commit 10: Resume Product Hardening
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue