skip to main content

CHANGES

v0.0.19 (2026-10-10)

Harvey now knows the Raspberry Pi AI HAT+ 2 (hailo-ollama) as a model engine beside Ollama, learns and respects each model’s prompt-size limit, and finds models where each model system keeps them. Several behaviours change for existing setups; they come first.

Upgrade notes

If you… What changed What to do
keep .gguf files in ~/Models for llama.cpp llama.cpp models are now looked for in llama.cpp’s own cache ($LLAMA_CACHE, else $XDG_CACHE_HOME/llama.cpp, else ~/.cache/llama.cpp). ~/Models is scanned for llamafiles only (harvey DR-0031, proposed). Set llama_cpp.models_dir: ~/Models in agents/harvey.yaml to keep the old behaviour. An explicit models_dir is still honoured.
relied on the skills catalog being in the system prompt skills.catalog is off by default: skills still load and their commands still register, but the catalog is not sent (it cost about 38% of a typical prompt on every turn and the model cannot load a skill itself). Set skills: catalog: full to restore it. A value other than off or full is a config error (exit 78).
have a setting in harvey.yaml that you also pass on the command line The command line now wins for --ollama, -m/--model, --llamafile-url, --llamafile-dir, -r, --record-file, --resume, --continue, --replay, --replay-output and --replay-continue; it used to lose to the file. HARVEY_LLAMAFILE_DIR now beats llamafile.models_dir, as CONFIGURATION.md always said. Nothing, unless you depended on the file overriding a flag.
script harvey against a server that closes the chat stream early A stream that ends before its final chunk is now an error (ErrStreamTruncated, exit 74) instead of an empty reply recorded as a success. Treat 74 as a failed turn.
ask for a model name that two engines both have /model use, -m and ollama.model accept engine/model (hailo/llama3.2:3b, ollama/llama3.2:3b). A bare name found on both Ollama and Hailo asks at a terminal and is a usage error (exit 2) when unattended. Write engine/model in scripts.
answer a “Write …?” offer with anything but Enter, y or yes Other text no longer counts as yes. A line that is a command (/exit, !ls, any /name) ends the offers and is run, and end of input ends them. Nothing; this only removes accidental writes.

Added

Changed

Fixed

v0.0.18 (2026-10-02)

Changed

Fixed

Fixed (continued)

Project layout

v0.0.17 (2026-09-27)

Breaking (exit codes)

Both harvey and assay now use the workspace exit-code convention (workspace DR-0003; harvey DR-0005) instead of exiting only 0 or 1. A script or an embedding tool that reads either binary’s exit status should check these against the new table (0 ok, 1 negative, 2 usage, 65 data, 66 no_input, 69 unavailable, 70 internal, 73 cant_create, 74 io, 75 temp_fail, 77 no_permission, 78 config — see harvey/CLAUDE.md, “Exit codes”). Five cases that used to exit 0 now fail:

Case Was Now
harvey --continue names a session that does not exist 0 66
harvey --record-file names a path that cannot be created 0 73
harvey.yaml is malformed, in a non-interactive session 0 78
No backend reachable, in a non-interactive session 0 69
assay: every model call fails (the backend is down) 0 69

Every other case that used to exit 1 now exits the more specific code for its cause (2 usage, 65 data, 66 no_input, 69 unavailable, 73 cant_create, 77 no_permission — see exit-codes-survey.md’s baseline table and harvey/decisions/0005-*.md for the full list and the reasoning). harvey --help/-h, --version, -l, help, and assay --help/--version are unchanged, at 0. An error nothing classified is 70, never 1 — a 70 anywhere is a bug, not a documented class. Verified old-versus-new against the v0.0.16 baseline with scripts/compare-exit-codes.py: every changed code above and none unexpected, no exit 70, no hang.

Other

Added (harvey DR-0006)

v0.0.16 (2026-09-24)

New features

Bug fixes

Internal

v0.0.15 (2026-06-26)

New features

Bug fixes

v0.0.14 (2026-06-21)

New features

Documentation

v0.0.13 (2026-06-19)

New features

Bug fixes

v0.0.12 (2026-06-17)

New features

Bug fixes

v0.0.11 (2026-06-11)

New features

v0.0.10 (2026-06-09)

New features

v0.0.9 (2026-06-09)

Added /loop command

v0.0.8 (2026-06-05)

Initial profile template system

v0.0.7 (2026-06-02)

New features

assay evaluation harness — a new bin/assay tool for running a prompt corpus against one or more Ollama models and producing a Markdown report plus JSON results for human review and automated checking.

File attachment commands

Knowledge discoverability

Persistent command history — the REPL input history is saved to agents/harvey_history on exit (capped at 1000 entries, most recent kept) and reloaded on the next startup; history is per-workspace to avoid leaking commands and paths between projects.

Bug fixes

v0.0.6 (2026-05-30)

New features

Remote protocol integration — Harvey can now read files from remote storage over s3://, http://, https://, sftp://, and scp:// URIs anywhere a local path was accepted (/read, /attach, RAG ingest).

Unified memory system

Pipeline support

Security fixes

Bug fixes

v0.0.5 (2026-05-17)