WIP: Persist thinking checkpoints and recover after cold wake (WI-406) #512
Draft
toasterson
wants to merge 2 commits from
claude/wi-01a08262-thinking-persistence into main
pull from: claude/wi-01a08262-thinking-persistence
merge into: toasterson:main
toasterson:main
toasterson:fix/acp-terminal-event-order-round18
toasterson:fix/anima-a2-release-receipts
toasterson:fix/anima-d1-context-diagnostics
toasterson:fix/anima-a3-model-envelopes
toasterson:fix/anima-a3-model-observations
toasterson:fix/anima-a1-provider-outcomes
toasterson:fix/ptah-memory-round16
toasterson:fix/ci-sccache-20261018
toasterson:fix/house-schema-upgrade-round12a
toasterson:fix/ptah-bounded-rule-joins
toasterson:codex/mausbot-legacy-provenance-round9a
toasterson:feat/mausbot-native-computer-dispatch
toasterson:fix/akhomed-single-instance-discovery
toasterson:feat/mausbot-native-admission
toasterson:feat/mausbot-acp-owner
toasterson:codex/runtime-auth-writeback-prep-20261017
toasterson:feat/disposable-image-conformance
toasterson:fix/house-merge-symbol-normalization
toasterson:fix/house-metrics-checkpoint
toasterson:fix/house-backup-close
toasterson:fix/odin-inference-lost-ack-20261015
toasterson:fix/apollo-codex-0160
toasterson:docs/tencentdb-agent-memory-harvest
toasterson:fix/claude-inference-proposals
toasterson:fix/native-receipt-directory-mode
toasterson:anima/01a130d9-cd0c-7bb1-ab8b-b9de509b5b3e
toasterson:feat/native-cognitive-backing
toasterson:fix/roman-dojo-teacher-goldens
toasterson:sokar/52f
toasterson:anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d
toasterson:arc/close
toasterson:sokar/52g
toasterson:sokar/52e
toasterson:sokar/52d
toasterson:sokar/52c
toasterson:arc/t3
toasterson:sokar/52b
toasterson:arc/t-plan
toasterson:codex/transcripts-arm-headroom-20261011
toasterson:arc/paper-trim2
toasterson:arc/paper-trim
toasterson:arc/paper-lb
toasterson:arc/paper-cover
toasterson:arc/paper-writeup
toasterson:arc/paper-v04
toasterson:arc/build-record
toasterson:arc/2026-plan
toasterson:arc/s4c
toasterson:arc/s5
toasterson:arc/s4b
toasterson:arc/s4
toasterson:arc/s3
toasterson:arc/s2
toasterson:arc/s1
toasterson:clm/r3-replay
toasterson:docs/clm-m1c
toasterson:clm/cuda-backend
toasterson:testing/gemma4-31b-clm
toasterson:clm/r2-arena-kvops
toasterson:codex/native-chat-receipts-20261006
toasterson:fix/electra-gemma4-decode-window
toasterson:codex/plan14-receipt-mode-20261007
toasterson:fix/electra-prefill-layer-fence
toasterson:fix/electra-bounded-prefill
toasterson:feat/lilith-export-exclude-sources
toasterson:feat/lilith-export-stage-passes
toasterson:codex/plan14-runtime-details-20261007
toasterson:feat/lilith-trainer-collapse-guard
toasterson:codex/plan14-native-conformance-20261007
toasterson:claude/wi-019e2501-define-fluent-infrastructure-home-state
toasterson:feat/lilith-loop-probe
toasterson:feat/lilith-trainer-probe-protocol
toasterson:feat/lilith-answer-turn-pairs
toasterson:feat/lilith-dojo-cli-teacher
toasterson:docs/lilith-program-r5-plan
toasterson:codex/plan14-native-opus-cli-20261006
toasterson:claude/wi-01a03edf-wave-r1a-typed-fail-closed-config-spine
toasterson:fix/strict-clippy-20261006
toasterson:codex/roman-health-pivot-20261006
toasterson:anima/01a0c94f-65b8-7ab2-9234-a7a40c8e935f
toasterson:codex/wi845-native-recovery-20261006
toasterson:fix/lilith-exam-enable-thinking
toasterson:codex/electra-harness
toasterson:feat/lilith-dojo-enable-thinking
toasterson:fix/electra-gemma-handoff
toasterson:vox/native-chat-principal
toasterson:docs/context-language-model
toasterson:clm/2-loop-integration
toasterson:clm/r1-gemma4-kv
toasterson:clm/r1-parity-cap
toasterson:feat/lilith-panel-grounding-rule
toasterson:feat/lilith-r4-run-config
toasterson:feat/lilith-sibling-result-budget
toasterson:feat/lilith-first-divergence-pairs
toasterson:docs/lilith-program-r3-result
toasterson:feat/lilith-shadow-report
toasterson:clm/1-live-context
toasterson:feat/lilith-r3-stage-plan
toasterson:clm/math
toasterson:feat/lilith-runtime-hygiene
toasterson:feat/lilith-gap-loop
toasterson:feat/lilith-gap-records
toasterson:feat/lilith-shadow-families
toasterson:feat/lilith-care-family
toasterson:docs/lilith-r3-shadow-plan
toasterson:docs/lilith-memory-run-20261005
toasterson:feat/hephaistos-lora-adapter
toasterson:backup/2026-10-13/wi527-main-image-20261005
toasterson:docs/lilith-program-r2-result
toasterson:codex/wi-01a10748-runtime-quarantine-inventory
toasterson:feat/roman-audio-prompts-20261003
toasterson:fix/acp-audio-fail-closed-20261003
toasterson:claude/wi-01a08260-seshat-idle
toasterson:anima/01a08262-3ea3-7460-b2de-b2a08e28cd74
toasterson:claude/wi-01a08260-synthesis-validation
toasterson:agent/cef957cb46e7
toasterson:claude/wi-019f90cb-p26-2-retire-llama-cpp-2-migrate-the-nlu
toasterson:claude/wi-01a03edf-deployment-config-manual-recovery
toasterson:claude/wi-01a03edf-5416-7413-ab36-308c8bee1cd1-database-cutover
toasterson:claude/wi-019fa8eb-wi-5-second-language-provider-retire-com
toasterson:claude/wi-019fa8eb-repo-state-manual-recovery
toasterson:claude/wi-01a02982-42d-1-current-tree-rrf-core-and-lossless
toasterson:claude/wi-01a08260-heka-note-traversal-prerequisite-determi
toasterson:claude/wi-019f90cc-p26-5-wire-the-neural-bridge-into-the-in
toasterson:claude/wi-01a07aaa-grug-train-fail-closed-when-a-checkpoint
toasterson:claude/wi-01a0825f-seshat-curiosity-1-implement-structured
toasterson:claude/wi-01a05293-candle-backend-re-prefills-the-entire-co
toasterson:codex/lilith-history-prep-20261001
toasterson:claude/wi-019f8589-wi-3-session-registry-akh-session-list-i
toasterson:claude/wi-01a0297c-emit-runtime-metrics
toasterson:claude/wi-019fa8ea-wi-2-scip-precision-tier-the-resolution
toasterson:claude/wi-019f90cc-p27-2-tripleverbalizer-kg-triples-divers
toasterson:claude/wi-01a05291-agent-tool-description-audit-when-to-use
toasterson:claude/wi-019fffd3-librarian-g5-a-consolidation-gate-real-p
toasterson:claude/wi-01a08260-p3-rl-a2-map-deterministic-engine-replay
toasterson:claude/wi-019f85b9-adversarial-review-observability-stack-3
toasterson:claude/wi-019f90cc-p27-1-switch-the-trainingdatacollector-o
toasterson:anima/01a0878e-53b5-7820-be08-fadc5de1b74b
toasterson:claude/wi-019f85b9-adversarial-review-heka-long-term-memory
toasterson:fix/core-context-recovery
toasterson:fix/akh-shared-ci-test-isolation
toasterson:fix/ci-akhomed-smoke-contract-20261001
toasterson:fix/ci-native-secret-delivery-20261001
toasterson:fix/ci-native-builders-20261001
toasterson:fix/ci-quiet-command-heartbeats-20260930
toasterson:fix/ci-flux-verified-digest-bundle-20260930
toasterson:fix/ci-workspace-profiling-defaults-20260930
toasterson:fix/ci-verified-vesta-image-20260930
toasterson:fix/ci-image-build-log-throughput-20260930
toasterson:fix/ci-release-progress-20260930
toasterson:fix/ci-complete-platform-image-set-20260930
toasterson:migration/runpod-openbao-20260929
toasterson:migration/armini-fleet-secret-guidance
toasterson:migration/lilith-openbao
toasterson:feat/lilith-c2-serve
toasterson:feat/lilith-c2-roman-role
toasterson:feat/lilith-c2-announce-relay
toasterson:docs/lilith-c6b-7900xtx-results
toasterson:feat/lilith-c6a-wireguard-k0s
toasterson:feat/lilith-c4b-exam-harness
toasterson:fix/lilith-recorder-thread-capture
toasterson:feat/lilith-c4-cos-dojo
toasterson:fix/lilith-cuda-numerics-default
toasterson:feat/lilith-c5-trajectory-export
toasterson:fix/lilith-c6-round3
toasterson:feat/lilith-pod-watchdog
toasterson:fix/lilith-c6-smoke-round2
toasterson:docs/p6-5-outcomes
toasterson:fix/lilith-template-hash-convention
toasterson:feat/lilith-c1-cos-role
toasterson:feat/lilith-c6-cuda-harness
toasterson:feat/lilith-c3-recorder
toasterson:feat/lilith-c6a-wireguard
toasterson:docs/crew-names-lakota-english
toasterson:fix/relation-enrichment-odd-orphans
toasterson:feat/53g-pr7-delegation-bootstrap
toasterson:feat/roman-stable-signed-core
toasterson:fix/execd-allocation-leak
toasterson:feat/53g-pr7-cluster-delegation
toasterson:docs/vesta-publish-main
toasterson:fix/akh-runtime-execution-mode
toasterson:docs/lilith-names-kv
toasterson:docs/lilith-local-gpu-qualification
toasterson:docs/lilith-full-autonomy
toasterson:docs/lilith-c5a-findings
toasterson:docs/lilith-supervisor-wireguard
toasterson:docs/fix-adam-kaine-doc-gaps
toasterson:docs/lilith-chief-of-staff-rl
toasterson:feature/lilith-runtime-training-runpod
toasterson:feat/53g-pr8-vesta-sandbox
toasterson:feat/53g-pr5-monitor-source
toasterson:feat/53g-pr6-anima-source
toasterson:feat/53g-pr7-janus-delegation
toasterson:feat/paragraph-streaming
toasterson:fix/roman-core-secret-files
toasterson:fix/roman-core-credentials
toasterson:phase53/full-akh
toasterson:claude/wi-01a0c901-bound-the-process-output-a-model-receive
toasterson:fix/wi-358-candle-kv-suffix-prefill
toasterson:opus1/reviewer-command-output-budget
toasterson:anima/01a0297c-7321-7471-92a3-e4b4e2b38053
toasterson:recover/wi-324
toasterson:claude/wi-01a08260-adr-099-1-typed-communication-directive
toasterson:claude/wi-019fe826-awaken-ritual-a-failed-ritual-strands-a
toasterson:docs/adr-112-kaine-theory-first
toasterson:fix/roman-provider-blocks-20260921
toasterson:archive/2026-09-27-hephaistos-worktree-agent-a274bb44
toasterson:archive/2026-09-27-hephaistos-worktree-chat-e2e
toasterson:fix/roman-wi-pagination-20260918
toasterson:fix/provisioning-reconciliation-20260917
toasterson:claude/wi-01a09fed-isolate-runtime-recovery-and-quarantine
toasterson:fix/shell-cwd-ci-isolation-20260914
toasterson:wip/production-akh-implementors-20260816
toasterson:wip/production-akh-rollout-20260816
toasterson:claude/wi-01a00ed0-code-ingest-detect-repository-breaks-und
toasterson:claude/wi-019f85d6-wave-w1-ritual-genesis-pantheon-packs-di
toasterson:codex/akh-deep-wi234
toasterson:codex/wi180-deep-rebase
toasterson:research/akh-agent-loops-cursor-opencode
toasterson:research/akh-agent-loops-codex-claude
toasterson:claude/wi-019f85b9-adversarial-review-distributed-inference
toasterson:claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c
toasterson:claude/wi-01a02966-adr-081-s0-harness-make-the-three-channe
toasterson:manual/tecton-wi329
toasterson:claude/wi-01a0144a-flaky-test-agent-ollama-tests-chat-strea
toasterson:codex/wi183-recovered-prerebase
toasterson:claude/wi-019dd122-phase-41i-unified-trace-envelope-joining
toasterson:claude/wi-019f85d6-wave-r4-akh-doctor-read-only-7-sections
toasterson:claude/wi-019f90cb-p26-3-polarquant-kv-cache-compression-in
toasterson:claude/wi-019fa8f0-adr-081-s0-pay-the-r2-empirical-bet-prob
toasterson:claude/wi-019dd0c5-phase-42b-longmemeval-locomo-harness-wit
toasterson:claude/wi-019f90cb-p26-4-neural-vsa-encoder-project-layer-n
toasterson:claude/wi-019fdd22-the-learn-on-new-triples-trigger-fires-4
toasterson:claude/wi-019fe636-sleep-relocate-leave-the-akh-advisory-lo
toasterson:claude/wi-019fe260-any-acp-call-against-a-non-resident-work
toasterson:archive/wi-019fa44f-rebased-onto-main
toasterson:claude/wi-019fbe82-the-akh-emits-tool-activity-as-prose-in
toasterson:claude/wi-019fbf62-phase-44n-context-rot-curve-bench-per-mo
toasterson:claude/wi-019fcce4-per-turn-dispatch-mode-akh-dispatch-mode
toasterson:agent/e138bd65c5aa
toasterson:claude/wi-019fcd3d-akhomed-on-arm64-should-run-pvc-less-in
toasterson:claude/wi-019e480e-mcp-crud-endpoints-for-agent-goals-expos
toasterson:claude/wi-019fb44f-a-turn-goes-silent-after-its-work-is-don
toasterson:archive/wi-019fa44f-sessions-on-one-akh-still-serialise-on-t
toasterson:claude/wi-019f85d6-wave-r1-config-spine-config-crate-typed
toasterson:archive/2026-07-28-wave-r2-ownership-autostart-owner-host-c
toasterson:archive/2026-07-28-wave-w4-render-tier-psyche-render-pipeli
toasterson:archive/2026-07-28-wave-w2-the-wizard-akh-onboard-verbs-akh
toasterson:archive/2026-07-28-wave-w1-ritual-genesis-pantheon-packs-di
toasterson:archive/2026-08-03-38j-pre-reset
toasterson:claude/wi-019db1bd-anima-integration-workspace-daemon-that
toasterson:archive/2026-08-03-38k-pre-reset
toasterson:claude/wi-019dc599-phase-39-distributed-inference-fabric-ll
toasterson:claude/wi-019dc57a-replace-continuous-learning-wikipedia-wi
toasterson:claude/wi-019f9f56-sessions-report-the-wrong-work-item-teac
toasterson:claude/agent-sandbox-workspace-root
toasterson:claude/wi-019f9a1e-17-work-items-frozen-since-2026-07-23-ag
toasterson:claude/wi-019f85d7-wave-w3-birth-extras-procedural-avatar-f
toasterson:claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs
toasterson:claude/wi-019f85ba-adversarial-review-mcp-tools-kg-operatio
toasterson:claude/cool-carson-b63ef4
toasterson:worktree-phase38f-pg-authoritative-workspaces
toasterson:feat/macmini
toasterson:claude/wi-019db054-phase-36-delegation-external-scheduling
toasterson:claude/wi-019db054-phase-32-llm-knowledge-extraction
toasterson:claude/wi-019db054-phase-30-procedural-skills
toasterson:claude/wi-019db054-phase-28-n-akh-semantic-router
toasterson:claude/wi-019db054-phase-24-sensory-grounding
toasterson:claude/wi-019db054-phase-23-affective-system
toasterson:claude/wi-019db054-phase-27-live-kg-llm-training
toasterson:claude/wi-019db054-phase-26-llm-vsa-deep-integration
toasterson:claude/wi-019db054-release-alpha-kubernetes-deployment
toasterson:claude/wi-019e3397-bug-infer-rules-creates-indiscriminate-p
toasterson:claude/wi-019dbc03-bootstrap-embedding-nlu-llm-models-via-o
toasterson:claude/wi-019db054-phase-20-active-inference
toasterson:claude/wi-019dd0c7-phase-42h-cross-tool-bridge-daemon-opena
toasterson:claude/wi-019dd0c6-phase-42g-akhipedia-auto-extraction-from
toasterson:claude/wi-019e5982-akhomed-migrate-from-redb-to-postgres-fo
toasterson:claude/wi-019e481e-mcp-provenance-filter-find-triples-by-de
toasterson:claude/wi-019e481d-bounded-snapshot-mcp-workspace-snapshot
toasterson:claude/wi-019dd122-phase-41h-ooda-thinkingloop-integration
toasterson:claude/wi-019dd121-2026-04-28-synthesis-prompt-plan-tool-ca
toasterson:claude/wi-019dd0c5-phase-41-the-thinking-engine-unified-thi
toasterson:claude/wi-019dc9c9-phase-39a-llmbackend-trait-candlelocal-i
toasterson:claude/wi-019dc9c9-phase-38a-workspace-entity-lifecycle-loa
toasterson:claude/wi-019dc614-custom-cnpg-image-bake-with-age-pgvector
toasterson:claude/wi-019dc599-phase-38-relocatable-session-based-akh-w
toasterson:claude/wi-019db054-phase-35-t5-training-infrastructure
toasterson:claude/wi-019db054-phase-34-communicative-intelligence
toasterson:claude/wi-019db054-phase-29-capability-exposure
toasterson:archive/2026-09-27-hephaistos-worktree-adr-054-vsa-jump
toasterson:claude/wi-019e26ba-bug-byte-index-panic-on-utf-8-boundary-i
toasterson:claude/wi-019e1598-high-fix-agent-memory-rs-456-byte-index
toasterson:claude/wi-019e3b34-fix-akhomed-llm-integration-for-teacher
toasterson:claude/wi-019dd0c6-phase-42d-hybrid-retrieval-pgvec-vsa-kg
toasterson:claude/wi-019dd0c6-phase-42e-heka-mcp-server-8-tools-rememb
toasterson:claude/wi-019dd0c6-phase-42f-akh-awakening-per-tool-init-cl
toasterson:claude/wi-019e4909-ennead-agents-lack-proper-identity-no-ri
toasterson:claude/wi-019e4909-vsa-symbols-never-grounded-ground-symbol
toasterson:claude/wi-019e3eb9-ground-vsa-symbols-in-tecton-workspace-a
No reviewers
No labels
follow-up
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
toasterson/akh-medu!512
Loading…
Reference in a new issue
No description provided.
Delete branch "claude/wi-01a08262-thinking-persistence"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Work item: WI-406 (
01a08262-3f5d-7bb0-b621-d5dc4a7c9092).PostgreSQL-backed thinking previously used the in-memory persistence seam, losing interrupted traces at process exit. This adds Akh/workspace-scoped trace and step tables, stable durable IDs, ordered duplicate-idempotent writes, and atomic versioned checkpoints under the existing pinned residency owner and snapshot fence. Engine thinking now uses that backend and exposes interrupted listing plus explicit resume after cold wake; memory/null backends remain available.
Before acknowledging each boundary, the exact installed graph WAL drains with failure/overflow refusal. The checkpoint's symbol metadata closure is committed in the same WAL transaction and validated during cold restore, so a newly created goal or first-use predicate survives a crash even when it postdates the snapshot. Canonical checkpoint encoding, predicate identity validation, and stale-owner/current-thread refusal prevent ambiguous recovery.
Validation: 67 executed tests passed: store19, SQLite4, store PostgreSQL1, thinking/snapshot41, cold-wake PostgreSQL1, daemon disconnected-backend1 (one existing root test ignored). No-default lib and server lib/bin checks pass. Ordinary Clippy passes with baseline warnings; strict Clippy fails seven unchanged grug-data findings. Two independent source reviews approved tested source
bd8c34bff49e5490028fbbc30fad97e2b4c957b3; final head adds only the committed validation receipt. The real PostgreSQL tests used an owned disposable local container and simulated loss after a committed boundary; this is not a deployment/runtime outage witness.Design and exact local validation. The pending WI-293 dependency witness, draft phase, parent hold and canonical exact-head review/native CI remain unchanged. Envelope foreign-key integration remains in parent WI-50 as scoped by the brief. No deployment or production database action.
View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.