Returns the structured-data JSON artefacts the pipeline extracted from a filing's source PDFs. Use this when the question is about **rating mechanics, data tables, risk curves, calculation steps, or coverage / form definitions** — anything where the narrative summary isn't enough and the LLM needs the actual structured rows.
Whitelist (and what each contains):
- `calculations.json` — step-by-step rate calculation walk-through (base rate, factor application, final premium). One entry per documented example calculation.
- `coverages.json` — coverage definitions: which perils / lines / risk types the filing addresses, with limits and applicability.
- `deductibles.json` — deductible options offered, dollar amounts, and any peril-specific rules.
- `discounts.json` — available discounts / surcharges, eligibility criteria, and the corresponding multiplicative factors.
- `endorsements.json` — optional endorsements / riders attached to the filing.
- `examples.json` — worked policyholder examples (sample insureds with calculated premiums).
- `exclusions.json` — coverage exclusions and conditions under which they apply.
- `extraction_summary.json` — structured machine-readable form of the same content `get_filing_summary` returns as Markdown; useful when you want filing-type / what-this-filing-does fields as JSON rather than prose.
- `final_rating_calculation.json` — the canonical rating expression / equation the filing prescribes (base × factor1 × factor2 …).
- `forms.json` — policy form numbers, edition dates, and the form types associated with the filing.
- `rates_data.json` — the rate tables themselves: rows of (segment / cell / factor) values. **The biggest file by far** — can be hundreds of thousands of rows for territory-detailed filings. See truncation below.
- `underwriting_guidelines.json` — eligibility and underwriting rules (e.g. credit-tier bands, prior-loss caps).
**Truncation**: any returned file whose JSON contains an array longer than 100 rows is truncated to the first 100 rows. The truncated file gets a `_truncated` envelope describing the original total. For a lighter table-of-contents view (counts, item names, source pages — no payloads) call `get_filing_extract_meta` instead; it's the right surface for "what's in this filing" questions. `rates_data.json` is the common case where truncation fires.
Args: `serff` (required), `files` (optional array — narrows the response to a subset of the whitelist; pass empty / omit for everything).
Returns: `{ serff, files: { "<name>": <parsed json> | { content, _truncated } }, count, skipped, truncated }`.