Local Quench

用 Local Quench 做的改动

在 Local Quench 里、用本地运行的模型完成的 Local Quench 改动。每次尝试都列出来,失败的也一样,并写明模型、量化方式和所用的硬件。

各条记录(标题、任务、经过和检查方式)是开发时用英文写的,这里保留原文。

Local Quench 0.1.2

Voice input: push-to-talk speech-to-text

已发布。A microphone button in the message box records while pressed and puts the text a local faster-whisper model hears into the box; nothing leaves the computer. Off by default (Settings), with the optional "speech" extra installed. The model planned it, wrote the backend, the button and the tests, moved the work to the newer code, and fixed the bugs a code review found.

当时给出的任务:Plan voice input for the chat: local speech-to-text with faster-whisper on the CPU, a POST /api/transcribe endpoint, a push-to-talk button in the message box, tests; then build it step by step, and move the work from the 0.1.0 code to the newer 0.1.1 code.

尝试 1 次,成功 0 次。

#模型和配置结果人工帮助检查方式
1Ternary Bonsai 2 27B, PTQ1_0
LM Studio with PrismML's llama.cpp fork (about 2.59.99), 90k context, KV cache q4_0
NVIDIA RTX 5060 Laptop GPU
Local Quench 0.1.2 development builds (main, 2026-10-24 to 2026-10-28),default harness
3 次会话,工作 451 分钟,379 步,19,337,956 token
部分成功:Two bugs showed only when the merged feature ran in a browser: every recorded chunk was dropped (a Blob has size, not byteLength), and a fresh install of the speech extra failed on every transcription (av 19 is incompatible with faster-whisper 1.2.1). Both were fixed by hand.有人手动改了代码:In the chat: the steps of the task, how to restore its work from a git stash, which files belonged in the commit, and a code review that listed five bugs (recorder never started, a wrong faster-whisper argument, an inverted switch, Safari, spacing), all fixed by the model. By hand after the merge: the Blob size line, a message for an empty recording, and the av<19 pin.14 speech tests; a browser run with a fake microphone up to /api/transcribe; faster-whisper tiny on a test tone. Not yet tried with a real voice.

Doctor: a note when the KV cache is below q8_0

已发布。"Check this model" now shows a KV cache line: a note when the cache is below q8_0 (lower KV precision can hurt long-context accuracy for some models; q8_0 halves the memory of f16 with little loss), a pass at q8_0 or f16. The model wrote the check, the Note badge and the tests, then committed and pushed its own branch.

当时给出的任务:In the Model Compatibility Doctor, add a soft note when the loaded model's KV cache is quantized below q8_0: not a warning and not a failure, with tests for q4_0, q8_0, f16 and an unknown or missing type; run the tests and ruff.

尝试 1 次,成功 1 次。

#模型和配置结果人工帮助检查方式
1Spark X2.6 4B, Q8_0
LM Studio (llama.cpp CUDA runtime 2.67.0), KV cache q4_0
NVIDIA RTX 5060 Laptop GPU
Local Quench 0.1.2 development build (main, 2026-10-30),default harness
1 次会话,工作 62 分钟,74 步,5,642,492 token
成功有人手动改了代码:Review after the merge found: it overwrote forge/advisor.py with the one line it meant to change (create_file instead of an edit) and restored it with git; two of its tests depended on this computer's LM Studio settings and failed on a clean checkout, and a model without a reported KV type showed the check as "Cancelled". In the chat: one wrong value pointed out (q5_1 is 6.0 bits, not 5.5), which the model fixed before committing. After the merge: the tests isolated from the local LM Studio settings, and the check given a pass for q8_0 / f16 and a skip when the type is not reported. The harness changes this run led to (the edit tool for Spark, a guard against overwriting a long file, a reasoning time limit that follows the model's speed) are separate commits.23 Doctor tests; ruff.

Settings: switches for the experimental harness behaviours

已发布。The Experimental section of the Settings window has a switch and a one-line explanation for each behaviour, so they can be tried without editing the settings file. The model wrote the switches and the test, set up its own branch from the current code, and committed and pushed it.

当时给出的任务:Add a switch in the Settings window for each of the seven harness behaviours that are off by default (repeated-call block, re-read after compaction, own-check note, escalation ladder, finish gate, constrained retry, progress notes), with a test that each is saved; commit and push a branch.

尝试 1 次,成功 1 次。

#模型和配置结果人工帮助检查方式
1Spark X2.6 4B, Q8_0
LM Studio (llama.cpp CUDA runtime 2.67.0), KV cache q4_0
NVIDIA RTX 5060 Laptop GPU
Local Quench 0.1.2 development build (main, 2026-10-31),default harness
1 次会话,工作 20 分钟,48 步,2,451,037 token
成功有人手动改了代码:Review after the merge found: the switches copied the "on unless false" test of the default-on switches; it worked, but read the wrong way for settings that are off by default. After the merge: the switches show "on" only when the setting is on. The two tests it reported as failing on this computer were real but not its doing (they read the local LM Studio); they were isolated in a separate change.A test that all seven settings are saved through the settings API; the end-to-end tests; ruff.

Quench Protect: Go dependencies checked with govulncheck

已发布。Quench Protect runs govulncheck on Go projects (when it is installed) next to pip-audit and npm audit, and shows each known vulnerability with its CVE, where it is called and the version that fixes it. The model wrote the parser, the scanner entry and four tests, and committed and pushed its branch.

当时给出的任务:Add a govulncheck adapter to Quench Protect: parse its JSON output into findings (one per vulnerability and module, the called ones ranked above the imported ones, the fixed version as the fix), register the scanner, test it; commit and push a branch.

尝试 1 次,成功 1 次。

#模型和配置结果人工帮助检查方式
1Spark X2.6 4B, Q8_0
LM Studio (llama.cpp CUDA runtime 2.67.0), KV cache q4_0
NVIDIA RTX 5060 Laptop GPU
Local Quench 0.1.2 development build (main, 2026-10-31),default harness
1 次会话,工作 34 分钟,62 步,3,986,746 token
成功有人手动改了代码:Review after the merge found: the parser read the output line by line, but govulncheck prints each JSON object over many lines, so on real output it would have found nothing; its tests used one-line objects and passed. A called vulnerability reported after an import-only one kept the lower severity. After the merge: the stream is read object by object, the tests use govulncheck's indented output, and a called record replaces an import-only one.Five parser tests, including govulncheck's indented output; the Quench Protect tests; ruff. Not yet run against a real Go project.

Quench Protect: Rust dependencies checked with cargo-audit

已发布。Quench Protect runs cargo-audit on Rust projects (when it is installed) next to govulncheck, pip-audit and npm audit, and shows each known vulnerability with its RUSTSEC id, CVE and the version that fixes it, plus unmaintained and yanked crates. The model wrote the parser, the scanner entry and four tests, and committed and pushed its branch.

当时给出的任务:Add a cargo-audit adapter to Quench Protect: parse its JSON output into findings (one per vulnerability with its RUSTSEC id and CVEs, the patched versions as the fix, warnings such as unmaintained crates as info), register the scanner, test it; commit and push a branch.

尝试 1 次,成功 1 次。

#模型和配置结果人工帮助检查方式
1Spark X2.6 4B, Q8_0
LM Studio (llama.cpp CUDA runtime 2.67.0), KV cache q4_0
NVIDIA RTX 5060 Laptop GPU
Local Quench 0.1.2 development build (main, 2026-10-31),default harness
1 次会话,工作 30 分钟,43 步,2,037,715 token
成功有人手动改了代码:Review after the merge found: in cargo audit's real output the advisory's package is only the crate name (the package object with the version sits next to the advisory); the parser required an object there and would have rejected real output, and its test sample had been changed to match the parser. The program also needs its audit subcommand when run directly, and its advisory database cannot be written in the sandbox's hidden home folder. After the merge: the parser reads the real shape, the database goes to the sandbox's /tmp, and the tests use cargo audit's real structure, including a yanked crate without an advisory.Five parser tests on cargo audit's real output shape, a test of the scanner's command; the Quench Protect tests; ruff. Not yet run against a real Rust project.

Local Quench 0.1.1

这个版本里没有用 Local Quench 做的改动。

Local Quench 0.1.0

这个版本里没有用 Local Quench 做的改动。