Split CSV into complete records under row and byte limits
Keep quoted commas and newlines inside complete records. This synthetic handoff uses at most two data rows and 48 UTF-8 bytes per part; an oversized record is rejected, never cut.
Repeat the header in each part. Each part has at most two data rows and 48 UTF-8 bytes. The quoted comma in A002 and quoted newline in A003 are each one record.
Part
Record IDs
Data rows
UTF-8 bytes
part-001.csv
A001 / A002
2
48
part-002.csv
A003 / A004
2
48
Preserve record boundaries first
Do not cut by counting visible commas or newlines. Interpret quotes to identify each record, then carry the header, order and complete rows into each part.
record A002: "comma,inside" record A003: "line 1\nline 2" part limit: 2 rows / 48 UTF-8 bytes
Do not call an oversized row success
oversized-record.csv exceeds 48 bytes as one complete record. Do not cut it, shorten it or silently move it to another part; reject the split and ask for review.
Measure serialized UTF-8 bytes, not a character-count substitute.
Scope
This is static synthetic handoff material. It accepts no input, upload, storage or external transmission, and does not restore customer data or promise delivery success.