{"id":"avro-record-fields-wire-order","text":"Record fields are encoded and decoded in declaration order of the writer schema with no field names on the wire; reordering fields in the schema definition changes the binary format and breaks existing data.","truth_value":"IN","source":"entries/2026/05/29/avro-serializer-avro_serializer.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"for field in schema.fields:\n    write_datum(buf, field[\"type\"], record[field[\"name\"]])\n# fields written in declaration order, no field tags"},"explanation":{"steps":[{"node":"avro-record-fields-wire-order","truth_value":"IN","reason":"premise"}]}}