refactor: merge github_app + pr_review_agent into example_applications/pr-review-bot
One app instead of two packages with a lazy cross-import cycle. The engine is
now `review_engine/`, the GitHub transport sits at the top level, and the
Dockerfile builds a single package — it could not build at all before.
- Lifted the in-function `from pr_review_agent...` imports in app.py/worker.py
to the top; they only existed to dodge the package cycle.
- Removed the organism/prompt-evolution path end to end (review_diff's
organism_path, Reviewer.configure_from_organism and its three unread
override fields, AppConfig.organism_path). The evolver that produced those
JSON files is gone and no seed file ever existed in the repo.
- Removed benchmark-era config: benchmark_dir, clone_dir, output_dir,
skip_dir_creation. Every caller passed skip_dir_creation=True, so the
directory-creation block was dead.
- Deleted pipeline/{output_formatter,clone}.py and main.py: main.py was a
harness over a 50-PR dataset that is not in the repo, and it was the only
importer of those two modules.
- Added cli.py — review a PR by URL from the terminal, which is what main.py
should have been.
- clone_repo dropped its unused head_sha param and now uses an unauthenticated
URL when no token is set, so public repos work from the CLI.
- OpenAIProvider takes a base_url, so the reviewer can run against Morph's own
chat models (OPENAI_BASE_URL). WarpGrep pinned to morph-warp-grep-v2.1.
- Rewrote .env.example (it omitted OPENAI/GOOGLE keys while the engine defaults
to provider="openai") and the README. B
bhaktatejas922 committed
cb2ba9dbbab184b6ac4cca3ef7ec7c0e99b676c5
Parent: 4e2bd97