Commit Graph

19 Commits

Author SHA1 Message Date
wolfy 2aca1a3aa3 feat: adapt pullfrog for gitea + ollama 2026-05-31 03:16:29 -05:00
Colin McDonnell b8ac42e875 mcp: embed example calls in top-level tool descriptions (#723)
* mcp: embed example calls in top-level tool descriptions

agents (esp. claude sonnet) hallucinate param names from training-data
priors — `pr_number` instead of `pull_number`, `summary` instead of
`body`, full subcommand strings jammed into `git({command})` like it
were `shell({command})`. each error burns a tool round-trip plus a
follow-up ToolSearch, ~40+ events / 24h, no observable recovery cost
to us but visible to users in agent logs.

cheapest fix: add a sample formatted function call to every affected
tool's top-level description. example anchors are more reliable than
schema descriptions alone because the model treats descriptions as
narrative but call examples as canonical structure. for `git` and
`shell` (whose `command` fields collide), include explicit
counter-examples disambiguating which tool owns which shape.

no schema aliases / coercion yet — try the cheap thing first; if the
next audit window still shows the same hallucination rate, layer
aliases on top per #585's recommendation.

closes #585, closes #701

* mcp: drop negative anchors from tool descriptions

negation is a footgun in tool descriptions — telling the model "NOT
pr_number" makes pr_number more salient, not less. let the positive
example carry the schema and trust the model to read it.

removes:
- "the parameter is pull_number (a number), NOT pr_number" and
  similar across checkout_pr, get_pull_request, list_pull_request_reviews,
  get_review_comments, create_pull_request_review
- "NOT summary, message, or content" on report_progress
- "WRONG: git({ command: 'log --oneline' })" counter-example on git
- redundant param-type restatements after the example (e.g. "depth is a
  number, not a string" on git_fetch, "description is required" on shell)

keeps a single positive example per tool. for tools with multiple call
shapes (git, git_fetch, push_branch), two positive examples instead of
one + a counter-example.
2026-05-13 22:45:08 +00:00
Colin McDonnell 22704dda35 Improve prInfo. Fix prompt duplication 2026-01-21 03:12:44 +00:00
Colin McDonnell 69b9b96ddd Refactor (#109) 2026-01-16 18:43:09 +00:00
Colin McDonnell 9e019d89d2 Clean up actions and payloads (#98)
* Clean up actions and payloads

* Clean up action

* Cleanup
2026-01-16 07:16:25 +00:00
David Blass 90ed2648be refactor main 2025-12-17 16:28:17 -05:00
Colin McDonnell 9132a59758 Fix create_review and various opencode things 2025-12-16 22:14:41 -08:00
Colin McDonnell 1bff21f7fb overhaul git setup 2025-12-16 18:01:51 -08:00
Colin McDonnell 26336d0ac2 Tool factories 2025-12-15 23:04:20 -08:00
Colin McDonnell a19ae49224 Determinstically set up PR branch 2025-12-15 21:12:55 -08:00
Colin McDonnell 2f16d2ef0e Improve repo setup with gh cli 2025-12-15 20:21:56 -08:00
Colin McDonnell b7511752b6 Improve PR review on external PRs 2025-12-15 19:10:10 -08:00
Colin McDonnell e5878de9e4 Drop usage of execSync, switch to $ util 2025-11-20 15:37:34 -08:00
Colin McDonnell 85f8fbfaf5 Add additional tools 2025-11-20 00:34:03 -08:00
David Blass acb06634be rely primarily on inline pr feedback 2025-10-31 04:04:06 -04:00
David Blass 15a7154aea improve logging 2025-10-31 01:58:43 -04:00
David Blass 876663cd1a improve logging, remove act 2025-10-31 00:25:02 -04:00
David Blass b2badf6d16 improve pr approach 2025-10-30 14:16:44 -04:00
David Blass 05fb2065b2 initial version of pr review tools 2025-10-30 10:52:01 -04:00