2026-08-10 12:00:00 +00:00
|
|
|
# F-007: How many repos are mirrored has three different answers, and one of them is wrong
|
|
|
|
|
|
|
|
|
|
category: claim-vs-reality
|
|
|
|
|
confidence: high
|
|
|
|
|
|
|
|
|
|
evidence:
|
|
|
|
|
- `CLAUDE.md:36-37` — "**Gespiegelt wird nur die Gruppe `axion1337.chat`** (die **fünf**
|
|
|
|
|
Produkt-Repos und `management`)" — i.e. six repos.
|
|
|
|
|
- `hosts/overmind.md:27-31` — "Stand 2026-08-09 **sieben**: die **sechs** Produkt-Repos
|
|
|
|
|
(ThreadNet-Web, threadnet-call, thread-net-git, threadnet-operating,
|
|
|
|
|
axion1337.chat-gitops, seit heute auch `game-operating`) **und `management`**".
|
|
|
|
|
- Both files were last committed on the same day, 2026-08-09
|
|
|
|
|
(`git log -1 main -- <file>`), so this is not a lag between an old and a new statement;
|
|
|
|
|
the repo asserts five and six product repos simultaneously.
|
|
|
|
|
- Measured (`git ls-remote` against both hosts, heads of `main`):
|
|
|
|
|
- management, axion1337.chat-gitops, ThreadNet-Web, threadnet-call, thread-net-git,
|
|
|
|
|
threadnet-operating -> **all six in sync**, identical SHAs.
|
|
|
|
|
- `game-operating` -> git.lab `ead1272823`, `rohana.axion1337.de/sorb/game-operating`
|
|
|
|
|
-> **no repository**. The "seit heute auch `game-operating`" claim does not hold.
|
|
|
|
|
- `gameserver` -> git.lab `d5c6ccb2e9`, Gitea `48441a500f`, **diverged** — which is
|
|
|
|
|
exactly what `hosts/overmind.md:33-35` says and management#32 tracks.
|
|
|
|
|
- Caveat on the negative result: the mirror naming convention is `sorb/<name>` for all
|
|
|
|
|
six verified repos; a `game-operating` mirror under a different name would not have
|
|
|
|
|
been found. Confidence high on the contradiction, medium on the specific cause.
|
|
|
|
|
|
2026-08-10 12:00:00 +00:00
|
|
|
post-analysis addendum (2026-08-10, session close): **the "is not mirrored" conclusion is
|
|
|
|
|
withdrawn.** A controlled re-probe showed Gitea answers identically for a definitely
|
|
|
|
|
nonexistent repo and for `sorb/game-operating` (auth prompt — existence is hidden), while
|
|
|
|
|
`sorb/gameserver` and `sorb/management` answer anonymously. The original measurement
|
|
|
|
|
discarded stderr and misread an auth prompt as absence. The human states the mirror
|
|
|
|
|
exists; the observable difference is therefore **visibility** (not anonymously readable,
|
|
|
|
|
unlike the six ThreadNet mirrors), not absence. The five-vs-six document contradiction
|
|
|
|
|
between `CLAUDE.md:36` and `hosts/overmind.md:28` stands unchanged. The human also
|
|
|
|
|
clarified scope: `game-operating` has nothing to do with ThreadNet beyond its planned
|
|
|
|
|
inclusion in monitoring.
|
|
|
|
|
|
2026-08-10 12:00:00 +00:00
|
|
|
impact: The mirror set is the answer to "what can the Hetzner cluster still reach when the
|
|
|
|
|
lab is down" — the reason the two-host topology exists at all (`CLAUDE.md:26-33`). A repo
|
|
|
|
|
believed mirrored but not mirrored is a gap in exactly that guarantee, and the belief is
|
|
|
|
|
recorded in the file that is meant to be authoritative for host questions.
|
|
|
|
|
management#28 ("MIRROR-01: Ein Ausfall der Push-Mirrors bleibt unbemerkt") shows the risk
|
|
|
|
|
class is known; it sits in the backlog at `priority:low` with no status label.
|
|
|
|
|
|
|
|
|
|
root-cause pattern: **Decision executed in the tool, documentation not carried along** —
|
|
|
|
|
here in the inverse direction: the document was updated ahead of the tool, and the number
|
|
|
|
|
in the *other* document was not touched at all.
|
|
|
|
|
|
|
|
|
|
neckbeard mechanism: `WORKFLOW.md:136-138` (Knowledge Handling) is the governing rule:
|
|
|
|
|
"Contradictions are resolved or explicitly flagged — never left silently coexisting", with
|
|
|
|
|
the detection ritual at `WORKFLOW.md:126` (refinement item 4: "Wiki lint (content-level,
|
|
|
|
|
beyond `validate.py`): contradictions between pages, claims superseded by newer sources").
|
|
|
|
|
`AGENTS.md:50-52` adds "Never claim something works without evidence".
|
|
|
|
|
**Partial gap:** the rule exists, the detection is a human ritual on a weekly cadence, and
|
|
|
|
|
`scripts/validate.py` checks structure and link targets only — two numbers contradicting
|
|
|
|
|
each other across two files is invisible to it. `AGENTS.md:101-103` ("If a deterministic job
|
|
|
|
|
lacks a script, propose one") points the right way, but "is this claim still true" is not
|
|
|
|
|
deterministic in general. The tractable subset — a claim of the form "N repos are mirrored"
|
|
|
|
|
— is checkable, and this field test wrote such a check ad hoc.
|