|
|
85b86a918a
|
ganymede: extract lib/llm.py from evaluate.py (Phase 3c)
CI / lint-and-test (pull_request) Has been cancelled
- What: LLM transport (OpenRouter, Claude CLI), prompt templates
(triage/domain/Leo), and review runner functions moved to lib/llm.py.
evaluate.py retains PR lifecycle orchestration, SQLite state, Forgejo
posting, rate limit backoff, and evaluate_cycle.
- Why: evaluate.py was 734 lines mixing orchestration with LLM concerns.
Now 455 lines orchestration + 250 lines LLM transport. Each module has
a single responsibility.
- Connections: completes Phase 3 structural refactor (forgejo.py + domains.py
+ llm.py). teleo-pipeline.py updated to import kill_active_subprocesses
from lib.llm.
Pentagon-Agent: Ganymede <F99EBFA6-547B-4096-BEEA-1D59C3E4028A>
|
2026-03-13 15:40:18 +00:00 |
|
|
|
ff5162d5ba
|
ganymede: extract lib/domains.py — single domain→agent mapping
CI / lint-and-test (pull_request) Has been cancelled
- What: Unified DOMAIN_AGENT_MAP, VALID_DOMAINS, agent_for_domain(),
detect_domain_from_diff(), detect_domain_from_branch() into lib/domains.py.
Removed duplicated mappings from evaluate.py and merge.py. VALID_DOMAINS in
validate.py now derives from DOMAIN_AGENT_MAP.keys() (single source of truth).
- Why: Phase 3 structural refactor. Domain mapping was duplicated across evaluate.py
(DOMAIN_AGENT_MAP) and merge.py (agent_domain dict). Adding a domain required
editing 3 files; now it requires editing 1.
- Connections: evaluate.py uses agent_for_domain() + detect_domain_from_diff(),
merge.py uses detect_domain_from_branch(), validate.py uses VALID_DOMAINS.
Pentagon-Agent: Ganymede <F99EBFA6-547B-4096-BEEA-1D59C3E4028A>
|
2026-03-13 15:33:18 +00:00 |
|
|
|
9d69629893
|
ganymede: extract lib/forgejo.py — single Forgejo API client
CI / lint-and-test (pull_request) Has been cancelled
- What: Unified forgejo_api(), get_pr_diff(), get_agent_token(), repo_path()
into lib/forgejo.py. Removed 3 duplicate _forgejo_api functions (evaluate.py,
merge.py, validate.py), 2 duplicate _get_pr_diff functions (evaluate.py,
validate.py), and 1 _agent_token function (evaluate.py).
- Why: Phase 3 structural refactor. Single source of truth for all Forgejo HTTP
calls. Eliminates ~90 lines of duplicated code across 3 modules.
- Connections: All hardcoded repo paths now use repo_path() helper. Consumer
modules no longer reference config.FORGEJO_URL/OWNER/REPO/TOKEN_FILE directly.
Pentagon-Agent: Ganymede <F99EBFA6-547B-4096-BEEA-1D59C3E4028A>
|
2026-03-13 15:29:34 +00:00 |
|