Real procedure data from EP API
Optional events from /procedures/{process-id}/events endpoint for timeline enrichment
Named sub-steps that already failed before this call
(e.g. ["events-lookup"] when the events API call threw an error)
Structured legislative tracking data
Build a legislative tracking result from a real EP API Procedure.
Most fields are derived directly from the API response. Amendment counts and voting records are placeholders (zeros / empty array) because the single-procedure endpoint does not supply them; these are surfaced in LegislativeProcedure.dataQualityWarnings.
Per-step enrichment failures are tracked and returned in LegislativeProcedure.enrichmentFailures so that consumers can identify exactly which data dimensions are incomplete and weight per-field confidence accordingly.