Problem
looper project add skips pull-request discovery and snapshot capture for Forgejo projects. Existing open PRs therefore do not get the same initial inventory, status visibility, and snapshot-backed operator experience as GitHub projects.
Forgejo snapshots are captured only when later role execution happens, which makes a newly added project appear incomplete until automation touches each PR.
Desired outcome
Add provider-aware initial PR discovery and snapshot capture for Forgejo projects.
Scope
- Discover existing open Forgejo PRs during project add.
- Capture normalized PR metadata, head/base SHAs, labels, author, draft/state, diff summary, and available review/check state.
- Support existing snapshot modes or clearly define Forgejo equivalents.
- Queue bounded asynchronous snapshot work for large repositories.
- Refresh snapshots through polling/webhook reconciliation.
- Use provider-qualified repository identity.
Authority and trade-off
The authority is fresh Forgejo PR state. Snapshots are cached observations for status and drift detection, not authority for side-effecting actions.
Concrete failure prevented: missing existing work and misleading project/status output after onboarding.
Cost: project-add latency, API pagination, diff size, storage growth, stale snapshots, and migration of snapshot keys.
A simpler approach of waiting for Reviewer discovery is insufficient because project inventory and operator status should not depend on enabling or triggering a role.
Acceptance criteria
- Project add reports discovered Forgejo PR and snapshot counts.
- Existing open PRs appear in project/PR status without first running Reviewer.
- Snapshot keys do not collide across providers.
- Full, async, and off modes have explicit Forgejo behavior.
- Large diffs and long comment histories are bounded.
- Side effects always re-read Forgejo rather than trusting a snapshot.
- Contract and live sandbox tests cover initial import, refresh, deletion/closure, and partial failure.
Problem
looper project addskips pull-request discovery and snapshot capture for Forgejo projects. Existing open PRs therefore do not get the same initial inventory, status visibility, and snapshot-backed operator experience as GitHub projects.Forgejo snapshots are captured only when later role execution happens, which makes a newly added project appear incomplete until automation touches each PR.
Desired outcome
Add provider-aware initial PR discovery and snapshot capture for Forgejo projects.
Scope
Authority and trade-off
The authority is fresh Forgejo PR state. Snapshots are cached observations for status and drift detection, not authority for side-effecting actions.
Concrete failure prevented: missing existing work and misleading project/status output after onboarding.
Cost: project-add latency, API pagination, diff size, storage growth, stale snapshots, and migration of snapshot keys.
A simpler approach of waiting for Reviewer discovery is insufficient because project inventory and operator status should not depend on enabling or triggering a role.
Acceptance criteria