Benjamin Admin
eb48c5bd1e
feat(iace): OSHA minimum-distance library — Task #18
...
Verbatim OSHA 29 CFR 1910 Subpart O values anchored as the rechtssicher
zitierbare Werte-Basis for the IACE engine. Per strategy discussion
(2026-05-20) US Federal Code is the only public-domain corpus we can
reproduce wholesale; DIN/EN values stay identifier-only.
Coverage in this initial batch:
- MD_OSHA_O10_R1, MD_OSHA_O10_R4 (Table O-10 rows 1 + 4 — point of
operation guard distance vs max opening width)
- MD_OSHA_212_FAN (§1910.212(a)(5) fan-blade guards: 1/2 in)
- MD_OSHA_217_PSDI (§1910.217 hand-speed constant 63 in/s for
presence-sensing-device-initiation and two-hand-trip distances)
Each entry carries four parallel value sets:
- OriginalValue/Min/Max in source unit (verbatim, R1)
- ExactMM via deterministic conversion (mathematics, no copyright)
- RecommendedMM with safe-side rounding documented in RoundingNote
- EUNormHints — identifier-only references to EN ISO 13857, EN 13855,
EN 349 with a human-curated DINComparisonNote (qualitative judgement,
not a copy)
Open follow-ups (separate iterations):
- Full Table O-10 (rows 2-10) — same shape
- §1910.219 mechanical power-transmission distances
- Cross-reference IACE patterns to MD_OSHA_* identifiers so the Suppression
Engine surfaces concrete metric values in mitigation suggestions
- Frontend integration: <MinimumDistanceCard> for each measure
2026-05-21 23:43:51 +02:00
..
2026-05-21 10:51:08 +02:00
2026-05-13 01:02:33 +02:00
2026-05-15 10:03:23 +02:00
2026-05-15 10:08:21 +02:00
2026-05-14 23:10:15 +02:00
2026-05-17 01:39:17 +02:00
2026-04-19 10:03:44 +02:00
2026-04-19 10:03:44 +02:00
2026-05-21 23:36:26 +02:00
2026-05-09 07:25:39 +02:00
2026-05-09 07:25:39 +02:00
2026-05-09 21:32:23 +02:00
2026-05-21 10:51:08 +02:00
2026-05-09 21:32:23 +02:00
2026-05-07 14:23:15 +02:00
2026-05-10 21:23:46 +02:00
2026-05-10 21:23:46 +02:00
2026-04-19 09:29:54 +02:00
2026-04-19 09:29:54 +02:00
2026-04-19 09:29:54 +02:00
2026-05-13 01:02:33 +02:00
2026-05-13 01:02:33 +02:00
2026-05-10 09:15:43 +02:00
2026-05-10 22:24:02 +02:00
2026-05-10 22:24:02 +02:00
2026-05-10 22:24:02 +02:00
2026-05-12 09:45:18 +02:00
2026-05-16 21:11:02 +02:00
2026-05-13 11:41:26 +02:00
2026-04-19 09:35:02 +02:00
2026-04-19 09:35:02 +02:00
2026-04-19 09:35:02 +02:00
2026-04-19 09:29:54 +02:00
2026-04-19 09:29:54 +02:00
2026-04-19 09:29:54 +02:00
2026-04-19 09:29:54 +02:00
2026-04-19 09:35:02 +02:00
2026-04-19 09:35:02 +02:00
2026-04-19 09:35:02 +02:00
2026-04-19 09:35:02 +02:00
2026-05-21 23:36:26 +02:00
2026-05-16 21:11:02 +02:00
2026-05-16 21:11:02 +02:00
2026-05-14 23:04:31 +02:00
2026-05-16 21:11:02 +02:00
2026-05-16 21:11:02 +02:00
2026-05-12 08:50:14 +02:00
2026-05-17 02:15:51 +02:00
2026-05-16 21:11:02 +02:00
2026-05-16 21:11:02 +02:00
2026-05-16 21:11:02 +02:00
2026-05-16 21:11:02 +02:00
2026-05-17 01:59:16 +02:00
2026-05-17 01:59:16 +02:00
2026-05-17 01:59:16 +02:00
2026-05-16 22:00:06 +02:00
2026-05-16 21:11:02 +02:00
2026-05-17 01:59:16 +02:00
2026-05-07 14:05:58 +02:00
2026-05-16 22:00:06 +02:00
2026-05-15 00:05:28 +02:00
2026-05-17 01:59:16 +02:00
2026-05-16 21:11:02 +02:00
2026-05-16 21:11:02 +02:00
2026-05-07 10:53:26 +02:00
2026-05-17 01:59:16 +02:00
2026-05-14 23:04:31 +02:00
2026-05-17 01:59:16 +02:00
2026-05-17 01:59:16 +02:00
2026-05-17 01:59:16 +02:00
2026-05-16 21:11:02 +02:00
2026-05-17 01:59:16 +02:00
2026-05-16 21:11:02 +02:00
2026-05-16 21:11:02 +02:00
2026-05-17 01:59:16 +02:00
2026-05-15 00:01:51 +02:00
2026-05-17 01:59:16 +02:00
2026-05-17 01:59:16 +02:00
2026-05-17 01:59:16 +02:00
2026-05-21 23:36:26 +02:00
2026-05-16 21:11:02 +02:00
2026-05-15 00:05:28 +02:00
2026-05-15 00:01:51 +02:00
2026-05-17 01:59:16 +02:00
2026-05-17 01:59:16 +02:00
2026-05-17 01:59:16 +02:00
2026-05-10 08:52:56 +02:00
2026-05-15 00:01:51 +02:00
2026-05-17 01:59:16 +02:00
2026-05-07 10:53:26 +02:00
2026-05-21 10:51:08 +02:00
2026-05-16 23:04:56 +02:00
2026-05-16 23:04:56 +02:00
2026-05-17 02:15:51 +02:00
2026-05-10 09:15:43 +02:00
2026-05-16 13:08:52 +02:00
2026-05-10 07:07:34 +02:00
2026-05-10 08:43:21 +02:00
2026-05-10 07:07:34 +02:00
2026-05-16 13:08:52 +02:00
2026-05-16 10:12:55 +02:00
2026-05-12 07:20:38 +02:00
2026-05-10 07:07:34 +02:00
2026-05-10 07:07:34 +02:00
2026-05-10 08:52:56 +02:00
2026-05-17 02:15:51 +02:00
2026-05-21 23:43:51 +02:00
2026-05-18 22:31:30 +02:00
2026-05-18 22:31:30 +02:00
2026-05-07 10:53:26 +02:00
2026-05-12 09:15:43 +02:00
2026-05-10 08:05:02 +02:00
2026-05-13 10:19:45 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-09 07:58:58 +02:00
2026-05-17 02:15:51 +02:00
2026-05-10 08:22:55 +02:00
2026-05-17 02:03:10 +02:00
2026-05-21 23:36:26 +02:00
2026-05-10 20:55:26 +02:00
2026-05-13 01:02:33 +02:00
2026-05-17 02:03:10 +02:00
2026-05-10 09:15:43 +02:00
2026-05-21 23:36:26 +02:00
2026-05-05 09:29:03 +02:00
2026-05-08 01:49:14 +02:00
2026-05-17 01:39:17 +02:00
2026-04-19 09:35:02 +02:00
2026-05-18 22:31:30 +02:00
2026-05-08 01:02:41 +02:00
2026-04-19 09:35:02 +02:00
2026-05-11 09:17:50 +02:00
2026-05-18 19:55:13 +02:00
2026-05-08 07:03:44 +02:00
2026-05-19 11:46:34 +02:00
2026-04-19 09:29:54 +02:00
2026-05-21 10:51:08 +02:00
2026-05-05 09:29:03 +02:00
2026-04-19 10:03:44 +02:00
2026-04-19 10:03:44 +02:00
2026-05-08 01:02:41 +02:00
2026-04-19 10:03:44 +02:00