--- id: ISSUE-WP-0006 type: workplan title: "Forgejo-only forge + projection boundary (not ops queue)" domain: infotech repo: issue-core status: ready owner: grok topic_slug: issue-core priority: medium created: "2026-08-03" updated: "2026-08-03" depends_on: [] related: - ACT-ADR-005 - ACTIVITY-WP-0022 - ISSUE-WP-0004 - ISSUE-WP-0005 state_hub_workstream_id: "0b75b7ae-c8e3-4737-8fa8-2f60a12e6d14" --- # ISSUE-WP-0006 — Forgejo-only projection boundary ## Origin ACT-ADR-005 and founder direction (2026-08-03): 1. **Gitea is no longer relevant** — self-hosted forge is **Forgejo** only. 2. issue-core must not be used as the **ops claim queue** for activity-core. 3. issue-core remains the **multi-tracker facade** (project/link external issues). ## Goal Align code, docs, and env names so operators and agents never plan on Gitea, and so rein-aharness stops treating issue-core as the primary automation queue (handoff language to ops_run in ACTIVITY-WP-0026 / REIN-A-0002). ## Tasks ### T01 — Terminology sweep: Gitea → Forgejo (product language) ```task id: ISSUE-WP-0006-T01 status: todo priority: high state_hub_task_id: "e2148c3f-fe46-4397-af23-dda7eab5534e" ``` Sweep INTENT, SCOPE, README, ROADMAP, workplans, comments: - Prefer **Forgejo** for the self-hosted forge product. - Where code talks to the Forgejo HTTP API that is Gitea-compatible, say **“Forgejo (Gitea-compatible API)”** once — do not present Gitea as a supported second product or migration target. - Rename operator-facing env docs that say `GITEA_*` for forge access to `FORGEJO_*` **or** document aliases: `FORGEJO_TOKEN` preferred; legacy `GITEA_*` only as deprecated alias if code still requires it. **Done when:** `rg -i gitea` in docs is zero for “we use Gitea”, or only compatibility notes remain. --- ### T02 — INTENT/SCOPE: ops queue non-goal ```task id: ISSUE-WP-0006-T02 status: todo priority: high state_hub_task_id: "78247ad9-65fb-4966-96ec-0a0c70620b0e" ``` Explicit section: - Internal scheduled automation claim/execute → **activity-core ops_run** (ACT-ADR-005). - issue-core does **not** provide the fleet ops claim queue. - `POST /issues/` = external tracker create/link only. - Default activity-core sink remains state-hub progress + ops_run; **not** rest to issue-core for Binky/FI. **Done when:** INTENT/SCOPE quote ACT-ADR-005; no contradiction with “poll us for automation.” --- ### T03 — Connector docs: projection path only ```task id: ISSUE-WP-0006-T03 status: todo priority: medium state_hub_task_id: "41bd7596-62cb-475b-8ad0-648066ffd8b8" ``` Update AGENT_INTEGRATION / connector docs: 1. Author work record in repo → hub index. 2. Optional: project/link via issue-core to **Forgejo** (or GitHub/Jira later). 3. Mapping UUID ↔ `(backend=forgejo, external_id)`. **Done when:** happy path diagram has no “activity-core → issue-core → harness” as the primary automation loop. --- ### T04 — Coordinate rein-aharness intake docs ```task id: ISSUE-WP-0006-T04 status: todo priority: low state_hub_task_id: "8f217196-ab3e-4443-b0c8-c670cf9c33f5" ``` Message or PR note for REIN-A-0002-T06: issue-core poll = legacy/external only. No code change required in issue-core if rein owns the doc cut. **Done when:** cross-link in ISSUE-WP-0006 and REIN-A-0002. ## Acceptance - [ ] No Gitea-as-product planning - [ ] Projection boundary clear - [ ] Ops claim queue explicitly out of scope for issue-core ## Out of scope - Implementing ops_run (ACTIVITY-WP-0026) - Fixing Forgejo PAT for rest sink (only if projection needs it later) - GitHub/Jira connectors