| 19 | |
| 20 | |
| 21 | def parser() -> argparse.ArgumentParser: |
| 22 | p = argparse.ArgumentParser(description=__doc__ or "lint grounding") |
| 23 | p.add_argument("--note-plan", required=True, help="note_plan JSON path or JSON string.") |
| 24 | p.add_argument( |
| 25 | "--source-manifest", |
| 26 | required=True, |
| 27 | help="Source manifest JSON path or JSON string.", |
| 28 | ) |
| 29 | p.add_argument( |
| 30 | "--bundle-json", |
| 31 | default="", |
| 32 | help="Optional synthesis bundle JSON path or JSON string.", |
| 33 | ) |
| 34 | p.add_argument( |
| 35 | "--figure-decisions", |
| 36 | required=True, |
| 37 | help="Figure/table decisions JSON path or JSON string.", |
| 38 | ) |
| 39 | p.add_argument("--output", default="", help="Output JSON path.") |
| 40 | return p |
| 41 | |
| 42 | |
| 43 | def load_record(value: str) -> dict[str, Any]: |