open-swe/agent/utils
Johannes du Plessis ccea80b887
feat: inline AGENTS.md into reviewer system prompt (#1328)
* feat(reviewer): inline AGENTS.md into reviewer system prompt

Fetches AGENTS.md from the PR's head_sha via the GitHub contents API
during reviewer setup and inlines it as a "Repository conventions"
block in the system prompt. Mirrors how the per-repo review style
prompt is already wired.

The main agent has long had a mandatory step to read AGENTS.md after
cloning, but the reviewer often skips cloning entirely (it can
`gh pr diff` directly), so it never saw the file. Loading it
deterministically means the reviewer judges findings against the
project's own conventions instead of relying on the model to fetch
the file itself.

* fix(reviewer): fetch AGENTS.md from base_sha, not head_sha

The reviewer inlines AGENTS.md into its system prompt. Reading from
head_sha means a PR author can edit AGENTS.md in the same PR being
reviewed and smuggle instructions like "ignore all bugs" / "publish
no findings" into the reviewer's prompt. Switch to base_sha (the
target branch's pre-PR state, which is trusted) and update the prompt
text to reflect that the contents come from the base, not the head.

---------

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
2026-05-22 14:58:27 -07:00
..
agents_md.py feat: inline AGENTS.md into reviewer system prompt (#1328) 2026-05-22 14:58:27 -07:00
auth.py feat: add Agents chat UI for cloud threads (#1323) 2026-05-22 18:15:59 +00:00
authorship.py Revert "fix: Auto assign PRs to creator (#1211)" (#1214) 2026-04-22 13:46:44 -07:00
comments.py chore: Drop monorepo (#1029) 2026-03-06 16:10:34 -08:00
github_app.py feat: TTL and revocation handling for cached GitHub OAuth tokens [closes AB-2322] (#1280) 2026-05-08 22:57:01 +00:00
github_comments.py feat: TTL and revocation handling for cached GitHub OAuth tokens [closes AB-2322] (#1280) 2026-05-08 22:57:01 +00:00
github_org_membership.py feat: gate @open-swe mentions on public repos to org members (#1273) 2026-05-08 11:38:29 -07:00
github_token.py feat: TTL and revocation handling for cached GitHub OAuth tokens [closes AB-2322] (#1280) 2026-05-08 22:57:01 +00:00
github_user_email_map.py adding myself as user (#1162) 2026-04-03 15:52:04 -07:00
langsmith.py feat: add Slack reaction feedback to LangSmith (#1231) 2026-05-08 14:24:12 -07:00
linear.py fix: use thread-level LangSmith URLs instead of run-level URLs to fix broken trace links (#1217) 2026-04-23 13:46:28 -07:00
linear_team_repo_map.py chore: Add langsmith deployments data plane linear project (#1044) 2026-03-09 18:36:00 -07:00
messages.py chore: Drop monorepo (#1029) 2026-03-06 16:10:34 -08:00
model.py feat: tune reviewer for precision — web/wiki tools + recalibrated prompt (#1312) 2026-05-20 18:35:00 +00:00
multimodal.py feat: add Slack image support with url_private auth and content-type validation [closes: OPE-23] (#1073) 2026-03-20 14:34:14 -07:00
repo.py feat: extract repo parsing into shared util, add linear comment repo override (#1103) 2026-03-20 13:34:00 -07:00
sandbox.py fix: keep sandbox backend stable across recovery (#1294)w 2026-05-11 16:03:38 -07:00
sandbox_paths.py fix: better custom backend support (#1071) 2026-03-17 11:55:36 -07:00
sandbox_state.py fix: keep sandbox backend stable across recovery (#1294)w 2026-05-11 16:03:38 -07:00
slack.py chore: remove slack assistants api feature flag (#1295) 2026-05-12 00:41:51 +00:00
slack_feedback.py feat: add Slack reaction feedback to LangSmith (#1231) 2026-05-08 14:24:12 -07:00
thread_ops.py feat: add Agents chat UI for cloud threads (#1323) 2026-05-22 18:15:59 +00:00