docs: retire the central tracker entirely
All 234 issues were verified and moved to the repo that owns the code; the 26 epics were dissolved into per-repo issues held together by a shared title prefix and sibling cross-links. Nothing is filed here now.
This commit is contained in:
1 parent
8fa2456ba6
commit
07361be7ed
1 file changed
+12
-7
@@ -1119,24 +1119,29 @@ dotnet test --filter "Category=Unit" # Unit tests only
|
|||||||
| Python art pipeline, model backends, its Dockerfiles | `spikersoft-artpipe` |
|
| Python art pipeline, model backends, its Dockerfiles | `spikersoft-artpipe` |
|
||||||
| Native mobile apps | `spikersoft-ios` / `spikersoft-android` |
|
| Native mobile apps | `spikersoft-ios` / `spikersoft-android` |
|
||||||
| Godot client | `spikersoft-games-godot` |
|
| Godot client | `spikersoft-games-godot` |
|
||||||
| **Cross-repo epics only** | `spikersoft-issues` |
|
|
||||||
|
**There is no central tracker.** `spikerj/spikersoft-issues` was retired on 2026-08-07 and
|
||||||
|
now holds this README only — do not file there.
|
||||||
|
|
||||||
The reason is mechanical: Gitea auto-closes an issue when a merged PR says `fixes #N`
|
The reason is mechanical: Gitea auto-closes an issue when a merged PR says `fixes #N`
|
||||||
**only within the same repo**. A ticket filed in a central tracker can never close itself,
|
**only within the same repo**. A ticket filed in a central tracker can never close itself,
|
||||||
so completed work silently accumulates as an open backlog. That is exactly what happened —
|
so completed work silently accumulates as an open backlog. That is exactly what happened —
|
||||||
the umbrella tracker reached 234 open issues, a large share of which were already shipped.
|
the umbrella tracker reached 234 open issues before it was broken up.
|
||||||
|
|
||||||
Rules that follow from this:
|
Rules that follow from this:
|
||||||
|
|
||||||
- A ticket must be **closeable by merging in one repo**. If it isn't, it's really several
|
- A ticket must be **closeable by merging in one repo**. If it isn't, it's really several
|
||||||
tickets.
|
tickets.
|
||||||
- Work spanning repos becomes **one narrowly-scoped issue per repo**, cross-linked to its
|
- Work spanning repos becomes **one narrowly-scoped issue per repo**. There is no epic
|
||||||
siblings by full reference (`spikerj/spikersoft-backend#12`) and pointing at its epic.
|
parent — a unit is held together by two things instead:
|
||||||
- **Epics live in [`spikerj/spikersoft-issues`](https://git.spikersoft.com/spikerj/spikersoft-issues)**
|
1. a **shared title prefix**, e.g. `[Scheduling] Backend: recurrence expansion`, so the
|
||||||
and hold no implementation work of their own — only a checklist of per-repo children.
|
whole unit is one search away; and
|
||||||
They are the one thing that legitimately closes by hand.
|
2. a **sibling cross-link block** in every issue body listing the unit by full reference.
|
||||||
- Reference issues across repos with the **full `owner/repo#N` form**. A bare `#N` resolves
|
- Reference issues across repos with the **full `owner/repo#N` form**. A bare `#N` resolves
|
||||||
against the repo you're writing in, which silently points at an unrelated ticket.
|
against the repo you're writing in, which silently points at an unrelated ticket.
|
||||||
|
- When an epic-sized idea has genuinely undecided design, file a **decision issue** stating
|
||||||
|
the concrete options and what must be settled. That is a real, closeable deliverable; a
|
||||||
|
vague "implement X" stub is not.
|
||||||
|
|
||||||
### QA: Gitea issues and the AI agent (MCP)
|
### QA: Gitea issues and the AI agent (MCP)
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user