September 18, 2026 at 12:00:00 AM UTC
atperson persistence layer modularisation
atpersonrefactorpersistencec
Following the v6 persistence feature (#72) and a dead/duplicate logic cleanup pass, modularise the persistence layer to satisfy the atperson naming convention and eliminate duplicated section-walk scaffolding.
Changes
- New atoms:
persistence/sections.{c,h}(shared section codecs),persistence/v5.{c,h}(legacy format),persistence/v6.{c,h}(explicit architecture format),persistence/save.c(public save dispatch) - Reader helpers:
atp_reader_next_sectionandatp_load_finishinreader.cshared by both loaders - Deleted:
encode_common.c,encode_v6.c,encode.c,decode_common.c,decode_v6.c,decode.c— all violated the "no underscored file names, ever" rule - Required-section masks: Fixed bit positions (bit N-1 for tag N): v5 =
0x3F(tags 1–6), v6 =0x43F(+ ARCH bit 10)
Verification
All three CI configs (network ON/OFF, ASan) 49/49 green.
Commit: 71a3605
all entries