c8cb425412
awareness_run's while-loop ran outside any request arena, so every allocation in every 1s tick (search JSON, heartbeat payloads, curiosity activations) was treated as permanent by the runtime — 7.5GB RSS in under a minute. Bracket each iteration with el_arena_push/el_arena_pop (same pattern the compiler emits for scoped blocks; state_set/state_get persist separately via el_strdup_persist and are unaffected). dist/soul.c carries the same change hand-patched at the compiled awareness_run site — elc is currently unsafe to run locally (pathological memory on sessions.el), so the generated C was patched to match the source, verified line-for-line against the compiler's own conventions. MUST be paired with el repo PR #64 (el_strdup_persist for stored engram fields): per-tick arena reclamation widens the write-corruption window without it. Verified together: 5h live soak on the recovered production snapshot, flat RSS, write-field-integrity clean. Note: dist/soul.c still needs a full elc regen to pick up PR #73's source changes (consent tiers) — tracked separately; this patch does not regress that (those changes were never in dist).
27 lines
1.1 KiB
Plaintext
27 lines
1.1 KiB
Plaintext
// auto-generated by elc --emit-header — do not edit
|
|
extern fn idle_count() -> Int
|
|
extern fn idle_inc() -> Int
|
|
extern fn idle_reset() -> Void
|
|
extern fn ise_post(content: String) -> Void
|
|
extern fn elapsed_ms() -> Int
|
|
extern fn elapsed_human() -> String
|
|
extern fn embed_ok() -> Int
|
|
extern fn emit_heartbeat() -> Void
|
|
extern fn auto_term_try_slot(slot_type: String, slot_lbl: String) -> Void
|
|
extern fn proactive_curiosity() -> Bool
|
|
extern fn pulse_count() -> Int
|
|
extern fn pulse_inc() -> Int
|
|
extern fn make_action(kind: String, payload: String) -> String
|
|
extern fn perceive() -> String
|
|
extern fn attend(node_json: String) -> String
|
|
extern fn respond(action_json: String) -> String
|
|
extern fn record(outcome_json: String) -> Void
|
|
extern fn one_cycle() -> Bool
|
|
extern fn awareness_run() -> Void
|
|
extern fn security_research_authorized() -> Bool
|
|
extern fn threat_score_command(cmd: String) -> Int
|
|
extern fn threat_score_path(path: String) -> Int
|
|
extern fn threat_score_history(history: String) -> Int
|
|
extern fn threat_trajectory_check(tool_name: String, tool_input: String) -> Int
|
|
extern fn threat_history_append(text: String) -> Void
|