Most posts about getting structured data out of an LLM stop at the prompt: ask for JSON, maybe hand it a schema, done. That's necessary but not sufficient — the harder problem shows up on the other end, in the code that has to trust what came back. I hit this building the import pipeline for a CRM (Anguardia) that reads AI-generated prospect research, and the parser ended up teaching me more than the prompt did.

The format isn't the hard part

The prompt asks for a fixed markdown shape — headings, a table, checkbox tasks:

<!-- anguardia-dossier v1 -->

# Dossier: <Company Name>