github code-yeongyu/oh-my-opencode v3.8.5

7 hours ago

✏️ Significantly Improved Editing Accuracy

This release is the result of @minpeter's careful and sustained work to properly fix the hashline implementation that had been incorrectly ported from oh-my-pi. The effort involved deep understanding of how models actually interpret and apply structured line references — the kind of problem that looks simple on the surface but isn't.

The outcome: agent editing accuracy has improved substantially. Based on our current assessment, this implementation now outperforms the original oh-my-pi version it was ported from.

Good test harness design matters here. It's easy to write tests that pass without reflecting real model behavior — writing ones that actually do requires understanding both sides of the fence.

Beyond hashline, a number of other bugs were also resolved in this cycle.

Big shoutout to @minpeter. 🎉


  • e997e00 Merge pull request #2088 from minpeter/feat/hashline-edit-error-hints
  • b8257dc fix(hashline-edit): tolerate >>> prefix and spaces around # in line refs
  • 365d863 fix(hashline-edit): use instanceof for hash mismatch error detection
  • 1785313 fix(hashline-read-enhancer): skip hashifying OpenCode-truncated lines
  • ac962d6 fix(hashline-edit): add same-line operation precedence ordering
  • d61c0f8 fix(hashline-read-enhancer): guard against overwriting error output with success message
  • a567cd0 fix(hashline-edit): address Oracle review feedback
  • 55ad429 fix(hashline-edit): widen non-numeric prefix detection and remove duplicate try-catch
  • c6a6989 fix(hashline-read-enhancer): simplify write tool output to line count summary
  • 2aeb96c fix(hashline-edit): improve error messages for invalid LINE#ID references
  • 5fd65f2 Merge pull request #2086 from code-yeongyu/refactor/hashline-legacy-cleanup
  • b03aae5 fix: remove accidentally committed node_modules symlink
  • 8c3a0ca refactor(hashline-edit): rename legacy operation names in error messages
  • 9a2e0f1 refactor(hashline-edit): remove unnecessary barrel re-exports of internal primitives
  • d28ebd1 refactor(hashline-edit): remove HASHLINE_LEGACY_REF_PATTERN and legacy ref compat
  • fb92bab refactor(hashline-edit): remove dead applyInsertBetween function
  • 5d30ec8 Merge pull request #2079 from minpeter/feat/hashline-edit-op-schema
  • f50f3d3 fix(hashline-edit): clarify LINE#ID placeholder to prevent literal interpretation
  • 833c26a sisyphus waits for oracle
  • 60cf2de fix(hashline-edit): detect overlapping ranges and prevent false unwrap of blank-line spans
  • c7efe8f fix(hashline-edit): preserve intentional whitespace removal in autocorrect
  • 54b756c refactor(hashline): change content separator from colon to pipe
  • 1cb3627 fix(hashline-read-enhancer): handle inline tag from updated OpenCode read tool
  • 08b663d refactor(hashline-edit): enforce three-op edit model
  • fddd6f1 @Firstbober has signed the CLA in #2080
  • e11c217 fix(tools/background-task): respect block=true even when full_session=true
  • 6ec0ff7 refactor(hashline-edit): align tool payload to op/pos/end/lines

Thank you to 1 community contributor:

  • @minpeter:
    • refactor(hashline-edit): align tool payload to op/pos/end/lines
    • refactor(hashline-edit): enforce three-op edit model
    • fix(hashline-read-enhancer): handle inline tag from updated OpenCode read tool
    • refactor(hashline): change content separator from colon to pipe
    • fix(hashline-edit): preserve intentional whitespace removal in autocorrect
    • fix(hashline-edit): detect overlapping ranges and prevent false unwrap of blank-line spans
    • fix(hashline-edit): improve error messages for invalid LINE#ID references
    • fix(hashline-read-enhancer): simplify write tool output to line count summary

Don't miss a new oh-my-opencode release

NewReleases is sending notifications on new releases.