1ffdb99650
CI / test-go (push) Failing after 36s
CI / iace-gt-coverage (push) Successful in 23s
CI / test-python-backend (push) Has been skipped
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
CI / detect-changes (push) Successful in 6s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / build-sha-integrity (push) Failing after 5s
CI / validate-canonical-controls (push) Successful in 12s
CI / loc-budget (push) Failing after 14s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Has been skipped
extractNarrativeFromMetadata looked for field names that don't exist in the real limits-form schema (interfaces_description, control_system_description, energy_sources, space_limits, foreseeable_misuse), so it effectively read only general_description + intended_purpose. The electrical/mechanical/pneumatic/ software interface fields — each a hazard source — were silently dropped, which is why electrical hazard coverage was 9% for the Kistenhubgeraet. Now reads the actual schema fields incl. electrical_interfaces / mechanical_interfaces / pneumatic_hydraulic_interfaces / software_interfaces / energy_supply / spatial_limits / foreseeable_misuses, plus array fields (operating_modes, person_groups, industry_sectors). Legacy names kept. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>