The Gitea mirror is private to the owner. An earlier draft inferred 'public' from an anonymous git ls-remote succeeding on the owner's machine, which does not follow -- corrected in F-002, F-003, F-006, REPORT.md and HANDOFF.md. The exposure is prospective and sits on the git.lab side: content there may later be pushed to GitHub. No such path is configured today (no remote besides origin, no github.com reference in any of the six CI configs). The severity ranking is unchanged and its reasoning is now stated: a protection believed present but absent is what would make a later outward push unsafe.
4.4 KiB
F-002: The timestamp anonymisation rule reaches one of six repos; 237 commits still carry real working hours
category: claim-vs-reality confidence: high
evidence:
-
CLAUDE.md:116-134declares the rule for "alle Repos der Gruppeaxion1337.chatund die ThreadNet-Dienste": author and committer date set to 12:00:00 UTC, with the stated purpose "damit sich aus der Historie keine persönlichen Arbeitszeiten ablesen lassen". -
Measured over every ref of all six repos (
analysis/data/timestamp_anonymisation.tsv, produced byanalysis/scripts/inv_timestamps.py, author time rendered in UTC):repo own/agent commits with real clock time management 0 axion1337.chat-gitops 187 threadnet-operating 21 thread-net-git 11 threadnet-call 14 (all on origin/livekit)ThreadNet-Web 4 Total 237. Upstream Element/Matrix commits are excluded from that count — they were never this project's to rewrite.
-
thread-net-gitandthreadnet-operatingwere not rewritten at all: they hold no 12:00:00 commits and appear in no section ofshared/commit-zuordnung-2026-08-07.md(sections cover gitops, management, ThreadNet-Web, threadnet-call only). -
The exposed times are exactly the ones the rule exists to hide. On
axion1337.chat-gitops'sturn-secret-rotation-20260728-192656branch alone, the hour-of-day distribution of the 41 commits is 00h ×1, 01h ×6, 21h ×8, 22h ×1, 23h ×6. -
Reach of the exposure, stated precisely. Observed: all six repos mirror to
rohana.axion1337.deandgit ls-remotesucceeded there without credentials from the owner's machine (see F-013). Not observed: that this host is reachable by anyone else. The human states the Gitea host is private to them, and an earlier draft of this finding wrongly inferred "public" from "readable from here" — corrected. The exposure that matters is therefore prospective and on the git.lab side: content from git.lab may be pushed to GitHub, which is public. No such push path is configured today — no repo has a remote other thanorigin, and no.gitlab-ci.ymlin the six repos referencesgithub.com(the.github/workflows/mentions inhosts/cfgmon.md:60,105are inherited Element files that were removed). The rule exists for the day that changes, and on that day 237 commits would go out with real clock times unless the gap is closed first. -
CLAUDE.md:143-147does carry a caveat, but it names push times, issue and comment timestamps, pipeline runs and package publications — not the git history itself.shared/commit-zuordnung-2026-08-07.md:41-44discloses the untouched pre-boundary commits, but frames it as an SHA matter ("haben ihre SHA behalten"), not as a 147-commit hole in the privacy goal.
impact: The rule's stated goal is not achieved for five of six repos, while both the rule
and its caveat read as though the remaining exposure were limited to non-git surfaces.
Anyone reading CLAUDE.md would reasonably conclude the git history is clean. Effort was
spent (a 251-commit rewrite, three restarted release pipelines, a mapping document) for a
result that a git log on any side branch undoes.
The cost is not damage already done — both hosts are private today. It is that the
protection is believed to be in place and is not, so the decision to open any repo
outward (a GitHub push, an added collaborator, a public project toggle) would be taken on
a false premise. That is the moment the gap becomes irreversible: history, once pushed,
cannot be recalled.
root-cause pattern: Rule declared repo-wide, applied to a subset — and the gap between the two is documented in a third place, in different terms.
neckbeard mechanism: Gap in neckbeard. Nothing in AGENTS.md, WORKFLOW.md,
schema.yaml or scripts/validate.py concerns commit hygiene, author identity or history
rewriting; docs/aar/2026-08-09-neckbeard-v1-creation.md ("Git is the changelog") treats
git as a given, not as an artifact under governance. The nearest applicable rule is
AGENTS.md:50-55 ("Never claim something works without evidence... Uncertainty is
reported, never swallowed"), which is a behavioural rule for an agent, not a check on the
repo. A field test finding worth carrying back: a framework that governs documents while
the project's most sensitive claims are about its git history leaves that surface
unguarded.