feat: replace measurement floats with traffic-light accessibility levels - #124
Conversation
|
Claude finished @koinsaari's task in 3m 52s —— View job Review complete
🔴 ImportantExisting JSONB rows with numeric measurement values will fail to read after this change. Before this PR, These fields are now typed The PR body's claim "No DB migration — the affected columns are JSONB, unaffected by the field-type change" only holds for the column type (still
🟡 Nit
SummaryOne blocking issue: the switch from raw float measurements to the Note: I was unable to set the |
Entrance/pathway/restroom/parking/elevator measurement fields (width, slope, turning radius, etc.) now take an AccessibilityLevel enum (good/limited/no) instead of a raw float, submitted directly rather than measured. OSM ingestion still converts its two raw-value tags (width/door:width, incline) via threshold tables cited to SIA 500/ADA; the remaining measurement fields have no OSM equivalent and are populated only through direct submission.
a69eef6 to
9f6c703
Compare
|
I'll analyze this and get back to you. |

Summary
AccessibilityLevelenum (good/limited/no) instead of a raw float, submitted directly rather than measured.internal/a11yaudit-flag logic reads the enum directly; addedLevelForDoorWidth/LevelForSlopePercentfor raw-value conversion, threshold bands cited to SIA 500/ADA on the struct field doc comments.internal/sources/osmnow converts its two raw-value tags (width/door:width,incline) via those threshold functions. The remaining measurement fields have no OSM tag equivalent and stay submission-only.api/openapi.yamlgets a newAccessibilityLevelschema (same pattern as existingDoorType/SurfaceType); generated code regenerated.🤖 Generated with Claude Code