Skip to content

1.2.0: small models can change your files - #19

Merged
jaymar921 merged 58 commits into
mainfrom
feat/1.2.0
Nov 6, 2026
Merged

jaymar921 merged 58 commits into
mainfrom
feat/1.2.0

Conversation

@jaymar921

Copy link
Copy Markdown
Owner

Small models can now change part of an existing file. On the edit benchmark, llama3.2:1b went from 0 of 12 to 12 of 12 on the suite used during development, and from 0 of 12 to 9 of 12 on the later Python suite, with no damaged file in any 1.2.0 run. All benchmark numbers are from machine B on 2026-10-09.

What changed

  • Ollama context window: nothing set num_ctx, so Ollama dropped the start of long prompts. Each model now gets one window, 8k on the constrained tier and 16k on the full tier. The new setting is hirayacoder.ollama.contextLength.
  • edit_file: changes part of a file and goes through the existing writeFile path, so the permission gate, diff, content guards and audit log all still apply.
  • Dictated edits for small models: on the constrained tier, the extension finds the lines itself and asks for the rewrite in plain words. It checks the answer before writing anything.
  • Memory and translator: file-change notes now come from the diff, and memory lists what each changed file provides.
  • Panel: two-row header, context use on each reply, and a What it remembered panel.
  • Tooling: new benchmark, tools/bench-edit.js.

Full notes are in CHANGELOG.md.

Worth checking in review

Dependency overrides. package.json now pins glob ^14.0.3 and minimatch ^11.0.5, scoped to Mocha and @vscode/vsce. Current Mocha 12 still asks for a vulnerable glob, so upgrading would not have fixed it. npm audit went from 13 dev-only advisories to 0. Nothing here ships, and the pins can go once both tools depend on fixed versions.

3B models. llama3.2:latest gets no benefit by default: it stays on Tier A and passed 0 of 8 and 2 of 8. Forced to Tier B it passed 16 of 16. The default line has not moved, because the other benchmarks have not been re-run with it moved. The changelog recommends the override.

Testing

Run for this PR, on Windows:

  • npm run lint: 0 errors, 85 warnings, all reviewed in the SAST report
  • Unit tests: 1709 passing, 2 pending
  • node tools/bench-edit.js --selftest: passed, with a real Python on PATH (the python command on this machine is the Microsoft Store stub, and the inventory suite fails with it)
  • npm audit: 0 vulnerabilities
  • npm run package: builds hirayacoder-1.2.0.vsix

Not run:

  • Integration tests were not run locally, so CI is the first run on all three platforms.
  • No model was run this time, because none is installed on this machine. The benchmark figures were not re-run, and this final state has not been exercised against a live Ollama.

Tagging

The version is already 1.2.0 and the changelog is dated 2026-11-06. After merging, tag v1.2.0 on main. If the merge lands on a later day, update the changelog date first.

Each file is its own signed commit, so please merge with a merge commit rather than squashing if you want to keep that history.

@jaymar921 jaymar921 self-assigned this Nov 6, 2026
@jaymar921
jaymar921 merged commit 3ee3279 into main Nov 6, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant