docs(ISSUE-WP-0006): Forgejo-only language and projection boundary
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

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
This commit is contained in:
tegwick 2026-09-14 04:52:58 +02:00
parent f9d276dadf
commit ee9b85215d
34 changed files with 410 additions and 263 deletions

View file

@ -87,7 +87,7 @@ without naming UUIDv7 or the human-facing id.
**Why it matters:** Mapping implementation and CLI (`issue project
ISSUE-WP-…`) will almost always start from the **canonical name**; storage
key should be UUID. INTENTs UUID-only phrasing can steer readers to hide
canonical ids or treat Gitea numbers as peer identity to human task names.
canonical ids or treat Forgejo numbers as peer identity to human task names.
**Recommendation:** In INTENT “Why / Mapping”, say:
@ -215,7 +215,7 @@ Framework makes `lane` mandatory on every work record; tags and budgets are
normative.
INTENT is silent — **acceptable** if projections never invent parallel
lane/budget models on issues. Soft risk if Gitea labels start carrying a
lane/budget models on issues. Soft risk if Forgejo labels start carrying a
second autonomy model (`lane:green` as issue labels without mapping rules).
**Recommendation:** Mapping/projection: lane, tags, budget stay on the work
@ -231,7 +231,7 @@ INTENTs “What it is” lists responsibilities that mix **shipped** and
| Responsibility in INTENT | Shipped? |
| --- | --- |
| Projection / CRUD on backends | **Yes** (SQLite, Gitea) |
| Projection / CRUD on backends | **Yes** (SQLite, Forgejo) |
| Mapping UUID ↔ external id | **No** — design only |
| Two-way boundary sync | **No** — CLI backend sync ≠ work-record boundary sync |
| CLI + REST | **Yes** |
@ -295,7 +295,7 @@ defaults, rewriting AGENT_INTEGRATION examples — those are separate work.
| Connector role | Yes | Yes | Yes |
| Not work origin | Yes | §3.1 | Yes |
| Mapping | Target | Design + not shipped | Yes if INTENT softens “What it is” |
| Backends | SQLite + Gitea (+ planned) | Same | Yes |
| Backends | SQLite + Forgejo (+ planned) | Same | Yes |
| REST TaskSpec | Optional intentional | Full contract | Yes |
| State-hub runtime events from package | Downstream mention | Explicitly not shipped | Mild aspirational gap in older SCOPE; current SCOPE honest |