Task: Interpret a bare quoted-printable soft break

TASK-DESCRIPTION

A real 2.1 card writes a quoted-printable soft break with no leading whitespace on the continuation line: ADR;...;ENCODING=QUOTED-PRINTABLE:...=0D=0A= followed by a line at column 0. The reader currently treats the continuation as a malformed property, so the address is truncated, the LABEL is dropped, and two warnings are raised.

The reader must join the next physical line when a quoted-printable property’s line ends with =, whether or not that line begins with whitespace. A non-quoted-printable line keeps a trailing = as text. A five-component ADR whose fifth part looks like a postal code is read as a postal code, so the short form ;;street;city;00000 displays without an extra comma. vcard-inspect reports the LABEL beside the address.

The fixture is synthetic: every value in it is invented, because a real card belongs to a person and the repository is public.

TASK-OUTPUT

Produce these complete files in this order, then the VERIFICATION: line: 1. dataflow.in/vcard/soft-break.vcf 2. sources/vcard/vcard_reader.cpp 3. sources/tools/vcard_inspect.cpp 4. tests/vcard_reader_test.cpp 5. tests/60-command-line-tools.sh 6. prompts/features/03-vcard-reader.md 7. documents/10-vcard-format.md 8. documents/12-vcard-knowns-and-unknowns.md 9. prompts/tasks/00-tasks.md 10. TODO.md

TASK-CONTEXT

The format research is in documents/10-vcard-format.md; the decisions and their reasons are in documents/12-vcard-knowns-and-unknowns.md. The supplied card that exposed the defect is not committed: the fixture mirrors its line structure with invented values.

Do not commit the supplied card, any value from it, or a fixture derived from its personal data.

TASK-FILES

Operation Path
create dataflow.in/vcard/soft-break.vcf
modify sources/vcard/vcard_reader.cpp
modify sources/tools/vcard_inspect.cpp
modify tests/vcard_reader_test.cpp
modify tests/60-command-line-tools.sh
modify prompts/features/03-vcard-reader.md
modify documents/10-vcard-format.md
modify documents/12-vcard-knowns-and-unknowns.md
modify prompts/tasks/00-tasks.md
modify TODO.md

TASK-VERIFY

TASK-FEATURES

TASK-ACCEPTANCE

OUTPUT: the complete files in the order listed, ending with the VERIFICATION: line.