core/docs
Shay 2c49b05acc
feat(W-022): atomic engine-state checkpoint writes (L10b.1, ADR-0156) (#280)
ADR-0146 specified write-temp+rename for the engine-state
checkpoint to prevent corruption on mid-write process termination.
The W-008 implementation used Path.write_text directly, which
truncates the target before writing — SIGINT/SIGKILL between
truncate and write left a partial / empty file, breaking reboot
recovery (or worse, silently restoring half-state).

- engine_state._atomic_write_text: NamedTemporaryFile in target dir,
  flush + fsync, os.replace (atomic same-FS rename), best-effort
  cleanup of temp on failure
- All three EngineStateStore.save_* methods route through the helper
- Content bytes unchanged → round-trip regression guard passes

Pinned by tests/test_adr_0156_atomic_checkpoint.py (9 tests):
atomic create / overwrite / parent-mkdir, failed-replace preserves
prior target, failed-replace cleans temp, temp lives in target dir
(same-FS atomicity requirement), store-level failure preservation,
round-trip content regression guard.

CLI lanes: smoke (67) + cognition (120+1 skip) green.

Out of scope (next L10b chunks): reboot_event audit entry (W-024),
revision-mismatch warning on load (W-023), parent-dir fsync, cross-
process locking.
2026-05-25 19:41:11 -07:00
..
adr feat(runtime): opt-in unified-ingest path (ADR-0090, audit Findings 6+7) (#95) 2026-05-20 21:00:27 -07:00
architecture
audit fix(phase2): close W-006/W-010/W-013/W-014/W-019 operator decisions (#270) 2026-05-25 11:34:19 -07:00
briefs feat(W-019): learning-arc demo — engine-authored proposal from contemplation (ADR-0152) (#276) 2026-05-25 13:03:10 -07:00
curriculum
decisions feat(W-022): atomic engine-state checkpoint writes (L10b.1, ADR-0156) (#280) 2026-05-25 19:41:11 -07:00
evals
handoff docs(handoff): two Codex briefs — domain-pack closure cleanup + grc/he content phase II (#98) 2026-05-20 23:12:15 -07:00
implementation docs: propose semantic-symbolic binding graph layer (#170) 2026-05-23 09:58:39 -07:00
sessions docs: pedagogy research review + 2 deferred teaching-loop ADRs 2026-05-23 07:01:55 -07:00
capability_roadmap.md docs: Phase 5 GSM8K-math substrate completion sweep (ADR-0119 + sub-phases + ADR-0114a 10/10) 2026-05-22 20:39:24 -07:00
ethics_packs.md
EVAL_AUDIT_2026-05-20.md
eval_methodology.md feat: ADR-0113 rename expert-demoaudit-passed; reserve expert namespace (ADR-0114 GSM8K roadmap) 2026-05-22 15:36:10 -07:00
formation_pipeline_plan.md
frontier_baselines.md
gaps.md Add chain-first capability ledger and domain seeds (#97) 2026-05-20 21:33:24 -07:00
holdout_recipients.txt feat: ADR-0119.1 — seal fabrication_control holdout with age encryption (Obligation #1) 2026-05-22 17:22:46 -07:00
identity_packs.md
master-plan-post-substrate-audit.md docs: master plan post-substrate-audit (7 phases + EoD snapshot) (#262) 2026-05-25 06:08:47 -07:00
pack_inventory_2026-05-21.md
PROGRESS.md docs: Phase 5 GSM8K-math substrate completion sweep (ADR-0119 + sub-phases + ADR-0114a 10/10) 2026-05-22 20:39:24 -07:00
reviewers.yaml fix(quarantine): drain all 60 quarantined tests — QUARANTINE=∅ (#267) 2026-05-25 11:22:12 -07:00
runtime_contracts.md docs: Phase 5 GSM8K-math substrate completion sweep (ADR-0119 + sub-phases + ADR-0114a 10/10) 2026-05-22 20:39:24 -07:00
RUST.md
safety_packs.md
teaching_order.md
test-debt-quarantine.md ci: full-pytest gate + QUARANTINE registry (49 known failures, uv) (#263) 2026-05-25 06:21:04 -07:00
truth_seeking_schema.md
Whitepaper.md docs: Phase 5 GSM8K-math substrate completion sweep (ADR-0119 + sub-phases + ADR-0114a 10/10) 2026-05-22 20:39:24 -07:00
Yellowpaper.md docs: Phase 5 GSM8K-math substrate completion sweep (ADR-0119 + sub-phases + ADR-0114a 10/10) 2026-05-22 20:39:24 -07:00