# SCOPE.md — Field test scope freeze (Session 1, analysis only) Status: **proposed — awaiting human confirmation (Phase 0 STOP)** Every line is marked `[observed]` (verified by command output in this session) or `[inferred]` (derived, not verified). ## 1. Reference state | Item | Value | Source | |---|---|---| | Neckbeard reference | `v0.1.1` @ `823a08cac6b03a47d7e2f661200a49ac6e09d38d` | `git describe --tags --always`, `git log -1` `[observed]` | | Neckbeard branch / cleanliness | `main`, clean worktree | `git status --porcelain` empty `[observed]` | | Neckbeard origin | `https://git.lab/oss-projekte/ai/neckbeard.git` | `git remote -v` `[observed]` | | Management HEAD | `2f012a6cd2964fbc114bf7da6942ddd30f3dee70` (2026-08-09, `docs: AAR for 2026-08-09 …`) | `git log -1` `[observed]` | | Management branch / cleanliness | `main`, clean worktree | `git status --porcelain` empty `[observed]` | | Management origin | `https://git.lab/axion1337.chat/management.git` — **canonical git.lab, not the Gitea mirror** | `git remote -v` `[observed]` | | Management commits / span | 86 commits, 2026-07-30 … 2026-08-09 | `git rev-list --count`, `git log --date=short` `[observed]` | | Analysis branch | `Neckbeard-v0.1.1-analyse-1`, branched from `main` (created as `analysis/neckbeard-fieldtest`, renamed at session close per the human) | `git checkout -b`, `git branch -m` `[observed]` | The reference standard for every "neckbeard mechanism" field in Phase 2 findings is neckbeard `v0.1.1` as pinned above (per ADR-0006). ### Working-copy safety Both repos are **fresh clones** made by this session into `/Users/thore/Documents/neckbeard-test-1/`; no pre-existing working copy of the human's was touched. As an additional guard, the push URL of both clones was set to the invalid value `DISABLED-no-push`, so nothing from this session can reach git.lab. `[observed]` Consequence for the Phase-0 mandate "verify that the working copy's remote points at the canonical git.lab origin": verified **for this session's clone** (it is canonical by construction). Whether the human's own working copy points at git.lab or at the Gitea mirror is **not observable from here** — carried into Phase 3 as an open question. ## 2. Gate-0 suspension (explicit, per session mandate) `PROJECT.md` is absent from the management repo `[observed]`. Per the override in the session mandate, AGENTS.md §2 does **not** fire here: its absence is an observation for the report, not a task. Gate 0 for the management repo belongs to Session 2. ## 3. Components in scope The five ThreadNet repos of the GitLab group `axion1337.chat`. Display names come from the mandate; slugs were **not** guessable from the display names and were resolved against repo documents and then verified against git.lab with `git ls-remote` (read-only, no clone). | # | Display name | Repo slug | Slug evidence | `ls-remote` | Availability | |---|---|---|---|---|---| | 1 | ThreadNet Call | `threadnet-call` | `vision/threadnet.md:10`, `hosts/overmind.md:29` | OK (2 heads) `[observed]` | **clone required** from `https://git.lab/axion1337.chat/threadnet-call.git` | | 2 | ThreadNet Git | `thread-net-git` | `vision/threadnet.md:10`, `hosts/overmind.md:29` | OK (2 heads) `[observed]` | **clone required** from `https://git.lab/axion1337.chat/thread-net-git.git` | | 3 | ThreadNet Operating | `threadnet-operating` | `README.md:78`, `CLAUDE.md:4`, `hosts/overmind.md:29` | OK (2 heads) `[observed]` | **clone required** from `https://git.lab/axion1337.chat/threadnet-operating.git` | | 4 | ThreadNet Server Suite | `axion1337.chat-gitops` | `CLAUDE.md:6` states the equation verbatim: „ESS-/Flux-Details in ‚ThreadNet Server Suite' = `axion1337.chat-gitops`" | OK (3 heads) `[observed]` | **clone required** from `https://git.lab/axion1337.chat/axion1337.chat-gitops.git` | | 5 | ThreadNet Web | `ThreadNet-Web` | `roadmap.md:53`, `hosts/overmind.md:28`, `hosts/matrix.md:20` | OK (3 heads) `[observed]` | **clone required** from `https://git.lab/axion1337.chat/ThreadNet-Web.git` | No local checkout of any component existed before this session; the working directory was empty. `[observed]` No `.gitmodules` exists in the management repo, so submodule discovery yields nothing. `[observed]` ### Slug irregularities already visible (carried into Phase 2, not fixed) - **`thread-net-git`** breaks the `threadnet-*` pattern of its four siblings. `https://git.lab/axion1337.chat/threadnet-git.git` returns "project could not be found". `[observed]` - **`ThreadNet-Web`** is the only CamelCase slug. `ThreadNet-Web` and `threadnet-web` resolve to byte-identical ref lists, i.e. the same project reached through GitLab's case-insensitive path handling `[observed]`; docs and CI use both spellings plus a lowercase registry path `registry.git.lab/axion1337.chat/threadnet-web/desktop-build` (`hosts/overmind.md:54`). - **`axion1337.chat-gitops`** carries no ThreadNet name at all; the display name "ThreadNet Server Suite" exists only inside prose. These are recorded as scope facts here and will be turned into findings in Phase 2, not corrected. ## 4. Out of scope (fixed by the human, not re-derived) Not analysis targets: `game-operating`, `gameserver`, the `vendor` subgroup, the `Archiv` subgroup. Cross-references from the management repo into them are still recorded in `links.tsv` / `claims.tsv` as `points-outside-scope` — they are evidence about the management repo. Already sighted in the management repo and to be recorded that way: `hosts/overmind.md:29` (`game-operating`), `hosts/overmind.md:33` (`gameserver`), `hosts/overmind.md:23` (`vendor/windows`). `[observed]` Also referenced but outside the five components: the `homelab` group (`docs`, `wiki`, `wiki-bookstack`) and the Gitea host `rohana.axion1337.de`. Treated as `points-outside-scope`, not analysed. ## 5. GitLab API access — decision required `GITLAB_ACCESS` was left blank in the mandate. Findings: - `glab` is **not installed** `[observed]`; no `~/.config/glab-cli/`. - No GitLab token in any environment variable `[observed]`. - A token file **exists** at `~/.config/gitlab-lab/token` — exactly the path the management repo's `CLAUDE.md:112` names as the sanctioned way to reference lab credentials. `[observed]` Its value has not been read, printed or logged, per `CLAUDE.md:109`. - Anonymous API: `GET /api/v4/groups/axion1337.chat` → HTTP 200; `GET /api/v4/projects/axion1337.chat%2Fmanagement/issues` → `404 Project Not Found`, i.e. issues are not readable anonymously. `[observed]` So the ticket dimension of Phase 1/2 (`gitlab_issues.json`, the backlog duality check) is reachable **only** if the human authorises use of that token file. Without it, backlog duality is analysed from in-repo evidence only and the gap is recorded as an explicit non-goal in REPORT.md. Web-UI scraping is excluded by the mandate and will not be attempted. ## 6. Open questions for the Phase-0 STOP 1. **Clone the five component repos?** All five need cloning; approval is required before any clone happens. 2. **May this session read the git.lab API using `~/.config/gitlab-lab/token`** (read-only: group and project issues, metadata only, no descriptions)? Or is the ticket dimension a non-goal for this session? 3. **Is `axion1337.chat-gitops` = "ThreadNet Server Suite" correct?** The equation rests on a single sentence in `CLAUDE.md:6`. It is a large, infrastructure-heavy repo; confirming it fixes the scope. 4. **Does the human's own management working copy point at git.lab or at the Gitea mirror?** Not observable from this session.