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

4.5 KiB

id type title domain repo status owner topic_slug priority created updated depends_on related state_hub_workstream_id
ISSUE-WP-0006 workplan Forgejo-only forge + projection boundary (not ops queue) infotech issue-core finished grok issue-core medium 2026-08-03 2026-09-14
ACT-ADR-005
ACTIVITY-WP-0022
ISSUE-WP-0004
ISSUE-WP-0005
REIN-A-0002
REINAH-WP-0005
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)

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

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

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

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

  • 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) — 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.