You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: app/AGENTS.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,7 @@ AI-powered code review bot that monitors GitHub PRs and GitLab MRs. When a user
5
5
## Architecture
6
6
7
7
-**Async-first** — built on aiohttp + asyncio; all I/O (HTTP, git, agent) is non-blocking.
8
+
-**Two-layer config** — mutable `*Settings` models (`config/models.py`) parse YAML/env vars; `loader.py` transforms them into frozen `*Config` models (`config/config.py`, `config/kubernetes.py`) that application code consumes. See `docs/architecture.md` for details.
8
9
-**Protocol-based platforms** — GitHub and GitLab implement the same `Platform` / `ReviewerPlatform` protocols, making it easy to add new providers.
9
10
-**Per-PR job serialisation** — `JobQueue` protocol with two implementations (`AsyncioJobQueue` for in-process, `RedisJobQueue` for Kubernetes) guarantees only one agent job runs per PR at a time, preventing race conditions on the same workspace.
10
11
-**Multi-turn conversations** — `ConversationStore` maps (platform, repo, PR, bot) to conversation IDs and message histories so conversations resume across comments.
@@ -85,7 +86,13 @@ The dispatcher in `agent/invoke.py` routes based on the agent config type (`CliA
85
86
```
86
87
nominal_code/
87
88
├── main.py # Entry point: dispatches to webhook server, CLI, or CI
88
-
├── config.py # Frozen dataclass config loaded from env vars / files
0 commit comments