Pin Jerboa list assignability for SSD OCR

ober

6198caf8ad78dd37db11ffdf93a131d2ab4aa4bc

diff --git a/.build.yml b/.build.yml
index 4cc5aee..6326009 100644
--- a/.build.yml
+++ b/.build.yml
@@ -5,7 +5,7 @@ packages:
   - make=4.4.1-r4
 sources:
   # Build dependency: full immutable commit, mirrored in dependencies.lock.json.
-  - "https://git.sr.ht/~lisp/jerboa#16d9b38de7ea4d1c90c12087d94775958450d207"
+  - "https://git.sr.ht/~lisp/jerboa#3c4bedd1ae46a385df7ee25f576f55ed448586c1"
   # The second source is the build subject selected by the SourceHut submitter.
   - https://git.sr.ht/~lisp/jerboa-android
 tasks:
@@ -14,6 +14,6 @@ tasks:
       test "$(apk info -v chez-scheme)" = chez-scheme-10.3.0-r2
       test "$(apk info -v git)" = git-2.54.0-r0
       test "$(apk info -v make)" = make-4.4.1-r4
-      test "$(git -C ../jerboa rev-parse HEAD)" = af4e25b78c7dbfee06a40057c5b951f032f234de
-      test "$(git -C ../jerboa rev-parse 'HEAD^{tree}')" = 6380710ae1d3ba7c6a3dfd5321f725d511d9e492
+      test "$(git -C ../jerboa rev-parse HEAD)" = 3c4bedd1ae46a385df7ee25f576f55ed448586c1
+      test "$(git -C ../jerboa rev-parse 'HEAD^{tree}')" = ed0e590577c49db0c4762f848d6106de36dc6350
       JERBOA="chez --libdirs .:../jerboa/lib --script" make test
diff --git a/dependencies.lock.json b/dependencies.lock.json
index 4f7381f..038660c 100644
--- a/dependencies.lock.json
+++ b/dependencies.lock.json
@@ -11,8 +11,8 @@
   "generator_runtime": {
     "name": "jerboa",
     "repository": "https://git.sr.ht/~lisp/jerboa",
-    "commit": "16d9b38de7ea4d1c90c12087d94775958450d207",
-    "tree": "b29d882643d64238e849ba26ed665a69d9388831"
+    "commit": "3c4bedd1ae46a385df7ee25f576f55ed448586c1",
+    "tree": "ed0e590577c49db0c4762f848d6106de36dc6350"
   },
   "assurance_tools": {
     "osv_scanner": {
diff --git a/scripts/verify-supply-chain.sh b/scripts/verify-supply-chain.sh
index 03d437b..fc1ad81 100755
--- a/scripts/verify-supply-chain.sh
+++ b/scripts/verify-supply-chain.sh
@@ -3,8 +3,8 @@ set -eu
 
 repo=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd -P)
 lock="$repo/dependencies.lock.json"
-jerboa_commit=16d9b38de7ea4d1c90c12087d94775958450d207 # gitsafe:ignore
-jerboa_tree=b29d882643d64238e849ba26ed665a69d9388831 # gitsafe:ignore
+jerboa_commit=3c4bedd1ae46a385df7ee25f576f55ed448586c1 # gitsafe:ignore
+jerboa_tree=ed0e590577c49db0c4762f848d6106de36dc6350 # gitsafe:ignore
 gradle_sha=20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78
 jdk_macos_sha=8fa1eff40bb637a33613b2ccb8b12c70dc3661cc22cf8e784943715769a05336
 jdk_linux_sha=d8afc263758141a66e0e3aafc321e783f7016696f4eaea067d340a269037d331
diff --git a/templates/ssd-review.ss b/templates/ssd-review.ss
index f7f451c..a3b4e34 100644
--- a/templates/ssd-review.ss
+++ b/templates/ssd-review.ss
@@ -3113,7 +3113,7 @@
     (typed-kotlin-file "com/sfb/ssdreview/OcrCandidateSelect.kt"
       (kotlin-imports (android content Context))
       (typed-library (com sfb ssdreview)
-        (export bestOcrCandidate applyOcrGuesses)
+        (export bestOcrCandidate applyOcrGuesses applyDefaultOcrGuesses)
         (type Context)
         (type Int32)
         (type Float32)
@@ -3236,7 +3236,11 @@
                        session
                        patterns
                        race
-                       (list-ref (SsdSession-groups session) i)))))))))
+                       (list-ref (SsdSession-groups session) i)))))))
+        (def (applyDefaultOcrGuesses
+               (context : Context)
+               (session : SsdSession)) : Int32
+          (applyOcrGuesses context session (ocrPatterns)))))
 
     (typed-kotlin-file "com/sfb/ssdreview/LearnedSuppression.kt"
       (kotlin-imports (org json JSONObject))
@@ -7878,7 +7882,7 @@
        "                    }"
        "                    applyInitialGuesses(this, session)"
        "                    ssdSessionAddOcrWords(session, ssdOcrRecognizeWords(bitmap))"
-       "                    ocrGuesses = applyOcrGuesses(this, session, SsdOcr.patterns)"
+       "                    ocrGuesses = applyDefaultOcrGuesses(this, session)"
        "                }"
        "                val learnedGuesses = learnedGuessesForDetection(truthStore, session, existingTruthGroupCount)"
        "                runOnUiThread {"