Skip to content

fix(storage): record truthful per-section directory versions (G-F0.1) - #5

Open
jarmen423 wants to merge 2 commits into
agent/txn-session-batch-20260726from
fix/f0-1-truthful-section-directory-versions
Open

fix(storage): record truthful per-section directory versions (G-F0.1)#5
jarmen423 wants to merge 2 commits into
agent/txn-session-batch-20260726from
fix/f0-1-truthful-section-directory-versions

Conversation

@jarmen423

Copy link
Copy Markdown

Summary

  • Add GrafeoFileManager::write_versioned_sections so each directory entry records the section's declared format version
  • Keep legacy write_sections as a version-1 delegate for tests/opaque callers
  • Engine flush retains Section::version() through the shared writer
  • Unknown optional section types are skipped; unknown required types fail closed
  • Document truthful directory versions and historical outer-v1 payload caveat

Packet

G-F0.1 — independent format maintenance (not an E-0 / RO-evidence prerequisite)

Verification

  • Focused grafeo-storage lib tests (debug + release): version preservation, legacy v1, historical outer-v1, encryption, unknown optional/required
  • Focused grafeo-engine --test section_directory_versions (debug + release): Catalog/LPG, CompactStore, VectorStore, TextIndex, PropertyIndex writer, outer-v1 CompactStore reopen, future payload reject

Stacking

Base is agent/txn-session-batch-20260726 (9781320f…) while that lineage remains unlanded on main. Independent of G-E0.1.

Commit

0d1211abf4e7bef924528b773e2943d428fdc16d

Preserve each Section::version() in the container directory via
write_versioned_sections and engine flush. Keep legacy write_sections
at directory version 1, skip unknown optional section types, fail closed
on unknown required types, and document historical outer-v1 compatibility.
Apply rustfmt --edition 2024 to the four files that failed targeted
format check. Formatting-only; no semantic changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant