64 lines
2.0 KiB
Markdown
64 lines
2.0 KiB
Markdown
---
|
|
id: 231645fd-79ae-4e01-b251-7720c16dc998
|
|
type: decision
|
|
title: "PR Reviewer: Scheduled Poller over Webhook Trigger"
|
|
tags: [pr-reviewer, claude-scheduled, architecture, decision, gitea, automation]
|
|
importance: 0.7
|
|
confidence: 0.8
|
|
created: "2026-03-02T21:57:09.031172+00:00"
|
|
updated: "2026-03-02T21:57:57.700704+00:00"
|
|
relations:
|
|
- target: b27fb831-811e-4103-b5f1-3c36d5b1ad20
|
|
type: RELATED_TO
|
|
direction: outgoing
|
|
strength: 0.89
|
|
edge_id: 44a626e5-f886-4b18-b52e-c2b32a37b2db
|
|
- target: b27fb831
|
|
type: RELATED_TO
|
|
direction: outgoing
|
|
strength: 0.87
|
|
edge_id: db2ba3c1-d4b7-4085-990b-17fb3b4a49e6
|
|
- target: 4321bee8-105e-4fc8-b645-964d1234c966
|
|
type: RELATED_TO
|
|
direction: outgoing
|
|
strength: 0.86
|
|
edge_id: f41d9186-c094-40fe-98e7-c6ed8b20e682
|
|
- target: b79abde1-7076-4448-aa8e-65a08f354d93
|
|
type: REQUIRES
|
|
direction: incoming
|
|
strength: 0.9
|
|
edge_id: 6e79537d-bc7c-4822-975b-de2b72a85649
|
|
- target: cb5e8814
|
|
type: BUILDS_ON
|
|
direction: outgoing
|
|
strength: 0.8
|
|
edge_id: d9322a8c-bb94-4af7-bf17-0fc0948d6d44
|
|
- target: 3e0406ac-549d-4509-b918-ad638c883448
|
|
type: RELATED_TO
|
|
direction: incoming
|
|
strength: 0.7
|
|
edge_id: 3ae9d41b-27ed-488e-8941-7bfa2fb07df9
|
|
---
|
|
|
|
# PR Reviewer: Scheduled Poller over Webhook Trigger
|
|
|
|
## Decision
|
|
Chose **Approach C (scheduled poller)** over webhook-triggered (Approach A) or CI-only API call (Approach B).
|
|
|
|
## Rationale
|
|
- Reuses 90% of existing claude-scheduled infrastructure
|
|
- systemd timers
|
|
- Runner patterns
|
|
- MCP configs
|
|
- Discord notifications
|
|
- No webhook receiver server needed
|
|
- Full local environment available with MCP servers and cognitive memory
|
|
|
|
## Trade-offs
|
|
- **Latency**: Up to 30 minutes before review appears after PR is opened
|
|
- Acceptable for current workflow — we are not a high-velocity team
|
|
|
|
## Alternatives Considered
|
|
- **Approach A (webhook)**: Would require a persistent webhook receiver service. More complex infra.
|
|
- **Approach B (CI API call)**: Would run inside Gitea Actions, losing access to local MCP servers and cognitive memory.
|