Implement Prototype(left,right string) int with uncached recursive prefix comparisons; Solve uses Levenshtein DP in O(nm) time and O(min(n,m)) auxiliary space after rune decoding. Unit insertion/deletion/substitution, exact code points; transposition costs two edits. No folding/normalization. Empty string distance equals the other's rune length. Rune conversion itself uses O(n+m) storage in Go.
Edit exercise.go; retain the public types and signatures. prototype and final are separate stages. The executable tests recover panics as failures, report named checks, and exit nonzero on any failure. A successful run must execute at least one check. Tests use logical time or explicit synchronization where relevant.
Complete the starter code, then run the checks.
Results and errors will appear here.