...- Each code item must include: code, quote (<=20 words), line (format L0001).
- Output must be exactly one JSON object and nothing else.

JSON schema:
{{"block_id":"{block_id}","codes":[{{"code":"LSM_...","quote":"...","line":"L0001"}}]}}

TEXT (with line numbers):
{numbered}
"""


def main():
    ap = argparse.ArgumentParser()
    ap.add_argument("blocks_root")
    ap.add_argument("out_jsonl")
    a...