commit log
- Move SSD client diagnostics JSON to typed Kotlin 33777fe ober
- Move SSD client log payload to typed Kotlin 911c2ce ober
- Move SSD truth store JSON envelopes to typed Kotlin f1aaa47 ober
- Move SSD event JSON to typed Kotlin 6fda69f ober
- Move SSD detect log fields to typed Kotlin abaab6e ober
- Move SSD learned example JSON to typed Kotlin 90eaea7 ober
- Move SSD truth application to typed Kotlin 2a922e0 ober
- Move SSD learned guess application to typed Kotlin e212dfb ober
- Move SSD digest hex formatting to typed Kotlin 1372eb6 ober
- Move SSD PDF choice sorting to typed Kotlin d8a5f6d ober
- Move SSD PDF found status to typed Kotlin f0f8fb9 ober
- Move SSD remote truth query to typed Kotlin c6553c4 ober
- Move SSD remote truth selection to typed Kotlin e78c614 ober
- Move SSD learned guess selection to typed Kotlin c887b5d ober
- Move SSD cell sorting to typed Kotlin 6cda393 ober
- Move SSD PDF choice helpers to typed Kotlin d716e3a ober
- Move SSD truth index selection to typed Kotlin 22e7dba ober
- Move SSD PDF choice labels to typed Kotlin 3e54f16 ober
- Move SSD selected cell membership to typed Kotlin f24b5bd ober
- Move SSD truth cell id set to typed Kotlin bf3fc32 ober
- Move SSD detected cell filtering to typed Kotlin 42e7101 ober
- Move SSD box type display lookup to typed Kotlin ba4e115 ober
- Move SSD group selection to typed Kotlin 4b84072 ober
- Move SSD area bounds to typed Kotlin eb2b1d8 ober
- Move SSD group cell updates to typed Kotlin d8b8408 ober
- Move SSD OCR word bounds to typed Kotlin aa0832a ober
- Move SSD detector cell mapping to typed Kotlin 17ef884 ober
- Move SSD review selection matching to typed Kotlin b6b4869 ober
- Move SSD review hit testing to typed Kotlin e9d9b21 ober
- Move SSD detector initial grouping to typed Kotlin 15d309b ober
- Move SSD box label helpers to typed Kotlin aff26cc ober
- Move SSD detector shrink bounds to typed Kotlin 8ec1c05 ober
- Move SSD native detection JSON assembly to typed Kotlin 5656a1a ober
- Move SSD box type CSV parsing to typed Kotlin f1ca6d7 ober
- Move SSD OCR patterns to typed Kotlin ffd64e0 ober
- Move SSD box weapon wrapper to typed Kotlin e009bd7 ober
- Move SSD OCR application loop to typed Kotlin 6c4ec13 ober
- Move SSD OCR candidate selection to typed Kotlin 54e235b ober
- Move SSD initial guessing loop to typed Kotlin f95fa47 ober
- Move SSD truth cell remap to typed Kotlin bc8ac4d ober
- Move SSD OCR guess mutation to typed Kotlin 303d60e ober
- Move SSD initial guess mutation to typed Kotlin 7bf6a9d ober
- Move SSD weapon box type matching to typed Kotlin da004d7 ober
- Move SSD box type resolution to typed Kotlin 7de68e6 ober
- Move SSD box type label helpers to typed Kotlin df4de56 ober
- Move SSD group suppression to typed Kotlin 67aaad2 ober
- Move SSD truth cell IDs to typed Kotlin e30d1e6 ober
- Move SSD truth session JSON to typed Kotlin 57ea004 ober
- Move SSD OCR nearby text to typed Kotlin dbe9f64 ober
- Move SSD truth matching to typed Kotlin bae4bc7 ober