issue-core/workplans/ISSUE-WP-0006-forgejo-only-projection-boundary.md
tegwick ee9b85215d
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Container Image / build-and-push (push) Successful in 34s
docs(ISSUE-WP-0006): Forgejo-only language and projection boundary
Prefer Forgejo as the self-hosted forge product. Keep Gitea only as the
Gitea-compatible API identifier (module backends/gitea, type string
gitea). FORGEJO_TOKEN is preferred; GITEA_* remains a deprecated alias.

INTENT/SCOPE quote ACT-ADR-005: issue-core is not the fleet ops claim
queue. Connector docs describe repo work record → hub index → optional
Forgejo projection, not activity-core → issue-core → harness.

Assistant: grok
Assistant-Session: 01a09dc6-3f0d-7c93-8b11-8e83c0623d49
2026-09-14 04:52:58 +02:00

150 lines
4.5 KiB
Markdown

---
id: ISSUE-WP-0006
type: workplan
title: "Forgejo-only forge + projection boundary (not ops queue)"
domain: infotech
repo: issue-core
status: finished
owner: grok
topic_slug: issue-core
priority: medium
created: "2026-08-03"
updated: "2026-09-14"
depends_on: []
related:
- ACT-ADR-005
- ACTIVITY-WP-0022
- ISSUE-WP-0004
- ISSUE-WP-0005
- REIN-A-0002
- REINAH-WP-0005
state_hub_workstream_id: "4d465264-cbe1-56ba-84ed-bd580b649b76"
---
# 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: done
priority: high
state_hub_task_id: "927eee42-e22d-5c0d-a4f8-dcd36c53c8e9"
```
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: done
priority: high
state_hub_task_id: "a1d69a48-833b-5e5e-8286-14f5aba627f3"
```
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: done
priority: medium
state_hub_task_id: "75eef8a3-abd7-50dd-9171-3488fda84da5"
```
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: done
priority: low
state_hub_task_id: "5be0bce4-1816-599f-a98b-4fa1565a8b0e"
```
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.
**Closed 2026-09-14:** REIN-A-0002 was completed as **REINAH-WP-0005**. T06
there already marked issue-core poll as legacy/external. Cross-links added:
- this workplan `related: REIN-A-0002`, `REINAH-WP-0005`
- `~/rein-aharness/workplans/REINAH-WP-0005-ops-run-claim-loop.md` T06 note
+ `related: ISSUE-WP-0006`
- `~/rein-aharness/docs/task-intake.md` (legacy/external section)
- State Hub message to `rein-aharness`
## Acceptance
- [x] No Gitea-as-product planning
- [x] Projection boundary clear
- [x] Ops claim queue explicitly out of scope for issue-core
## Out of scope
- Implementing ops_run (ACTIVITY-WP-0026) — lives in activity-core / REINAH-WP-0005
- Fixing Forgejo PAT for rest sink (only if projection needs it later) — ISSUE-WP-0003 residual / deploy
- GitHub/Jira connectors — product growth, not this workplan
No new residual: those items already have live work records elsewhere.
## Close note (2026-09-14)
Product language is **Forgejo** only. The HTTP API is Gitea-compatible;
module `issue_core.backends.gitea` and backend type `gitea` remain as
identifiers. `FORGEJO_TOKEN` is preferred; `GITEA_*` is a deprecated alias.
INTENT/SCOPE quote ACT-ADR-005: issue-core is not the ops claim queue.