Skip to content

ollama_change_pack

Change pack (writes artifact). PACK. Runs the full change REVIEW job: assemble evidence (diff + paths + corpus if given) → triage_logs ONLY when log_text is provided → change_brief → targeted ollama_extract (narrow review schema: scripts_touched, config_surfaces, runtime_hints) → deterministic markdown+JSON artifact on disk. Change-first, not repo-first — this is about the DELTA, not a tour. Release note draft is a blockquote-wrapped DRAFT (not marketing copy). No VCS integration — caller hands in diff_text / source_paths / optional log_text. Response is compact; full brief + extracted facts live in the artifact.

Parameter Type Required Default Description
diff_text string no Unified-diff text (e.g. git diff output). Split per file on diff --git markers. At least one of diff_text or source_paths is required.
source_paths any no Changed files to read server-side (Claude does not preload). Alongside or instead of diff_text. Optional — diff-driven calls work without it; runtime requires at least one of diff_text or source_paths.
log_text string no Optional CI log that triggered this review. When present, triage_logs runs and its signal is surfaced in the Change section.
corpus string no Optional named corpus for architecture/doctrine context. Pulled in only when you need it to sharpen impact — this pack is about the delta, not a repo tour.
corpus_query string no Corpus query (defaults to the head of diff_text or first source path).
title string no Short human title — used in the artifact header and filename slug. Defaults to the change_summary head.
artifact_dir string no Directory to write the change.md + change.json artifact pair. Defaults to ~/.ollama-intern/artifacts/change/.
per_file_max_chars integer no
max_breakpoints integer no
max_validation_checks integer no

The JSON Schema below is generated from the same zod schema the server validates against at the wire — it cannot drift from runtime behavior.

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"diff_text": {
"description": "Unified-diff text (e.g. `git diff` output). Split per file on `diff --git` markers. At least one of diff_text or source_paths is required.",
"type": "string",
"minLength": 1
},
"source_paths": {
"description": "Changed files to read server-side (Claude does not preload). Alongside or instead of diff_text. Optional — diff-driven calls work without it; runtime requires at least one of diff_text or source_paths."
},
"log_text": {
"description": "Optional CI log that triggered this review. When present, triage_logs runs and its signal is surfaced in the Change section.",
"type": "string",
"minLength": 1
},
"corpus": {
"description": "Optional named corpus for architecture/doctrine context. Pulled in only when you need it to sharpen impact — this pack is about the delta, not a repo tour.",
"type": "string",
"pattern": "^[a-zA-Z0-9_-]+$"
},
"corpus_query": {
"description": "Corpus query (defaults to the head of diff_text or first source path).",
"type": "string",
"minLength": 1
},
"title": {
"description": "Short human title — used in the artifact header and filename slug. Defaults to the change_summary head.",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"artifact_dir": {
"description": "Directory to write the change.md + change.json artifact pair. Defaults to ~/.ollama-intern/artifacts/change/.",
"type": "string",
"minLength": 1
},
"per_file_max_chars": {
"type": "integer",
"minimum": 1000,
"maximum": 200000
},
"max_breakpoints": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"max_validation_checks": {
"type": "integer",
"minimum": 1,
"maximum": 15
}
}
}

Every tool returns the standard envelope — tier_used, model, tokens_in/tokens_out, elapsed_ms, backend provenance, warnings. See Envelope & tiers.

Schema + handler: src/tools/packs/changePack.ts · registration: src/index.ts


Back to the Tool Reference.