Files
management/analysis/SCOPE.md
Thore Cimbal e68b295249 analysis: complete the systematic claim verification; add F-017 and ADR-0010 draft
verify_claims.py gives all 813 claim rows a mechanical disposition;
the 28 flags were adjudicated by hand (REPORT.md appendix). Two survived
as genuine drift (F-017): a closed issue still described as open in
shared/lab-netzwerk.md, and a 'pending' decision block in hosts/cfgmon.md
whose premise the same file records as executed.

Also: narrow the vendored-path filter (it silently dropped 7 tracked
icon files and produced false path-miss flags), record the confirmed
canonical author identity in F-003, verify the Gitea#48->GitLab#46
numbering shift by title in F-005, and add the ADR-0010 draft under
analysis/drafts/ for the human to git-mv into decisions/.

Branch renamed to Neckbeard-v0.1.1-analyse-1 per the human.
2026-08-10 12:00:00 +00:00

131 lines
7.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.