chore(just): add grouped justfile with test and stats for opsdesk
Das Repo hatte kein justfile. Neu angelegt mit 11 Rezepten, jedes mit
[doc()] und [group()], damit opsdesk sie ueber `just --dump --dump-format
json` als Aktionsspalte rendern kann. Gruppen in Contract-Reihenfolge:
run, check, build, setup, opsdesk.
Als Sammelrepo bildet das Root-justfile nur die uebergreifenden Ablaeufe ab;
die Unterwerkzeuge sind Parameter (`just agent diagram|health|vercel`),
keine eigenen Rezepte.
`just test` — es gibt im ganzen Repo KEINE Testdateien (kein test_*.py,
kein *.test.ts). Das Rezept legt keine an, sondern ruft aus, was es gibt:
- Python: compileall ueber alle 22 getrackten .py — gruen
- TypeScript: tsc --noEmit in agents-vercel-sdk — ROT, siehe unten
`just stats` liefert 6 KPIs nach opsdesk Spec 15 (aktuelle Werte):
agents 4 · tools 13 · python_lines 8328 · ts_lines 1932 ·
tests 0 (status=warn) · commits_30d 3
Python laeuft durchgehend ueber `uv run --with-requirements`, Node ueber
pnpm. `uv pip` ist bewusst nicht benutzt (Legacy-Interface). Dazu die
pnpm-native Lockfile, damit `just setup`/`just build` reproduzierbar sind.
VORBESTEHEND ROT (nicht von mir verursacht, nicht repariert):
- tsc --noEmit: 2x TS2322 in agents-vercel-sdk/src/agents.ts:200 und :252
(Tool<...> nicht auf Tool<ToolParameters, unknown> zuweisbar). Belegt
vorbestehend: package-lock.json und pnpm loesen identisch auf
(ai@4.3.19, zod@3.25.76, typescript@5.9.3) — der Fehler haengt nicht am
Paketmanager-Wechsel. Damit sind `just test` und `just build` rot.
- ruff check: 62 Findings (44 autofixbar). `just lint` ist rot.
Nicht gefixt, weil das eine reine Formatierungs-/Aufraeumaenderung ohne
Bezug zu diesem Ticket waere.
`just hub` ruft agent_hub/app.py direkt statt ueber
start-agent-frontend.sh: das Skript startet ein blankes `python3` ohne
Abhaengigkeiten und reicht seinen Port-Parameter nie an die App weiter —
der Port ist in app.py fest auf 7860 verdrahtet. Das Skript bleibt
unveraendert liegen.