Skip to content

Add mapping-only structured serialization module - #466

Merged
Frotty merged 1 commit into
masterfrom
codex/serializable-field-mapping
Aug 13, 2026
Merged

Add mapping-only structured serialization module#466
Frotty merged 1 commit into
masterfrom
codex/serializable-field-mapping

Conversation

@Frotty

@Frotty Frotty commented Aug 12, 2026

Copy link
Copy Markdown
Member

Summary

  • add SerializableFieldMapping for compiler-mapped DAO fields without adding a competing serialize/deserialize lifecycle
  • support classes that temporarily retain legacy Serializable during backwards-compatible migrations
  • document that field-level persistence annotations are not available and runtime-only state belongs in a separate DAO
  • add a focused transition-class roundtrip test

Verification

  • grill typecheck --quiet
  • grill test SerializableTests --quiet
  • grill test --quiet

@Frotty

Frotty commented Aug 12, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 👍

Reviewed commit: b3992f9425

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@Frotty

Frotty commented Aug 12, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b3992f9425

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +214 to +218
function writeSerializedFields(FieldSerializationWriter writer)
wurstForFields((fieldName, value) -> writer.write(fieldName, value))

function readSerializedFields(FieldSerializationReader reader)
wurstMapFields((fieldName, value) -> value.readSerializedField(reader, fieldName))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve the older field-intrinsic aliases

When consumers use a compiler predating the canonical #1224 intrinsic names, these wurstForFields/wurstMapFields calls are not lowered, so any class adopting the new module fails to compile. This package explicitly preserves those compiler versions immediately below in SerializableFields by calling the recognized forFields/mapFields aliases; use the same aliases here so the new public module retains that compatibility.

AGENTS.md reference: AGENTS.md:L3-L6

Useful? React with 👍 / 👎.

@Frotty
Frotty merged commit 98b1140 into master Aug 13, 2026
3 checks passed
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