Skip to content

feat(leitstand): Fluss tab at /leitstand/fluss (COMP-3-3) - #1486

Merged
mergify[bot] merged 2 commits into
mainfrom
claude/comp-3-3-flow-tab
Oct 15, 2026
Merged

mergify[bot] merged 2 commits into
mainfrom
claude/comp-3-3-flow-tab

Conversation

@Cuarroc

@Cuarroc Cuarroc commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

Im Leitstand gibt es jetzt einen Reiter „Fluss“ (Adresse #/leitstand/fluss), der zeigt, welcher Agent welchen anderen gestartet hat. Läuft kein Agent, steht dort ein kurzer Hinweis statt eines leeren Bildes; wer „reduzierte Bewegung“ eingestellt hat, sieht keine bewegten Linien. Kann die Agentenliste nicht gelesen werden, steht dort „Offline“ und nicht fälschlich „keine Agenten“.

Report

Was geändert (COMP-3-3, Plan 10.1b; nutzt den Fluss-Graphen aus COMP-3-2, #1458)

  • src/screens/leitstand/LeitstandRoute.tsx: neue Route FLUSS_PATH, Reiter „Fluss“ zwischen Haupt und Betrieb, rendert FlowGraph mit layoutFlow aus den Agenten der Board-Daten. Während das Board lädt, wird nichts behauptet; ohne lesbare Daten (und ohne Karten) erscheint der Offline-Zustand. Fragen werden auf diesem Reiter nicht geladen (wie bei Betrieb).
  • src/shell/mount/routing.ts: isNewLeitstand kennt /leitstand/fluss.
  • src/i18n/de.ts: leitstand.tab.fluss.
  • src/shell/routes.ts bewusst unverändert: Betrieb steht dort auch nicht; die Leitstand-Reiter kommen aus LeitstandTabs.
  • Reduced Motion und Leer-Hinweis kommen unverändert aus FlowGraph (COMP-3-2). Der Text-Umzug von flow/texts.ts ins Wörterbuch bleibt außerhalb dieses Pakets.
  • Diff: 69 Zeilen hinzu, 6 entfernt (4 Dateien, davon 44 Zeilen Test).

Red-first

  • Commit 1 (202c7abc) enthält nur die Tests und war rot: npx vitest run src/screens/leitstand/LeitstandRoute.test.tsx → Exit 1, 3 Tests rot.
  • Commit 2 (30b801b2) baut die Route; vier Test-First:-Trailer.
  • BASE_SHA=6bd3ac87… HEAD_SHA=30b801b2… bash scripts/ci/red-first.sh → Exit 0 (alle vier Tests an der Merge-Base rot/fehlend, am Kopf grün).

Belege

  • npx vitest run src/screens/leitstand src/shell → Exit 0 (31 Dateien, 251 Tests).
  • bash scripts/ci/gates.sh lane prepush (im Pre-Push-Hook, Kopf 30b801b2) → Exit 0, alle 26 Gates grün, Push mit git ls-remote bestätigt.
  • Zwei frühere Läufe von fe-test unter hoher Rechnerlast schlugen an Zeitlimits fehl (TerminalRoute, mount, erster Test in LeitstandRoute); einzeln liefen dieselben Dateien grün (Exit 0), und ein Lauf mit VITEST_MAX_WORKERS=2 ab fe-test war grün (Exit 0). Kein Test und kein Zeitlimit wurde geändert.

Architecture drift: keine neuen Funde (Gate architecture-drift grün), keine Allowlist-Änderung.

NICHT ABGEDECKT

  • Plattform Linux: die #[cfg(windows)]-Tests (run_in_pty, npm_shim, ConPTY, DPAPI) und die Windows-Arme von clippy. Dieser Lauf belegt die Linux-Hälfte, nicht die Windows-Hälfte; die Windows-Bahn läuft in der Merge-Queue.
  • Bahn prepush ist die schnelle Schleife: Browser-Smoke, Frontend-Build und die Workflow-Gates laufen erst in der Bahn linux.
  • Der Zustand externer Dienste (Updater-Endpoint, OmniRoute, Mirror) wird von keinem Gate geprüft.
  • Kein Screenshot: der Reiter wurde nur im Test (jsdom) gerendert, nicht im Browser angesehen; das Aussehen des Graphen stammt unverändert aus COMP-3-2.

Review: ausstehend (Stufe B; Root beauftragt einen Prüfer aus einer anderen Modellfamilie).

🤖 Generated with Claude Code

Review disposition (Root, round 1)

Tier B (frontend TS, author family Anthropic). Reviewer google/gemini-3.8-flash (Google) at head 30b801b2: REQUEST CHANGES; adjudicated:

ID Severity Finding Disposition
R1486-G1 medium missing key in src/i18n/en.ts rejected: there is no en.ts on main; German is the only locale
R1486-G2 medium LeitstandRoute.tsx:36-37 compares the raw path while the tabs use trim(path) follow-up: pre-existing pattern of the Betrieb tab (line 36) copied for Fluss; fix both in one small package
R1486-G3 low layout recomputed every render follow-up (performance, not observed as a problem)
R1486-G4 low no test that /leitstand/fluss stays off without the flag follow-up together with G2

Cuarroc and others added 2 commits October 15, 2026 03:49
Red first: the route does not exist yet, so the flow graph, its tab link
and the empty hint are missing.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Mounts the flow graph (COMP-3-2) as a Leitstand tab beside Haupt and
Betrieb: one node per agent of the active project, edges from the agent
that started another. Reduced motion and the empty hint come from the
graph itself; an unread or unreadable board shows the offline state
instead of claiming "no agents".

Test-First: src/screens/leitstand/LeitstandRoute.test.tsx::renders the flow graph at /leitstand/fluss and marks its tab as the current one
Test-First: src/screens/leitstand/LeitstandRoute.test.tsx::shows the empty hint at /leitstand/fluss while no agent runs
Test-First: src/screens/leitstand/LeitstandRoute.test.tsx::reaches Fluss from Haupt by its tab link
Test-First: src/screens/leitstand/LeitstandRoute.test.tsx::does not claim an empty flow when the board cannot be read at /leitstand/fluss

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@Cuarroc
Cuarroc marked this pull request as ready for review October 15, 2026 02:33
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-15T02:33:46.035661Z 30b801b Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@Cuarroc

Cuarroc commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

Root: gates (linux) red only in src/screens/einstellungen/tresor/TresorPanel.test.tsx > keeps the newer vault read busy when the replaced read goes idle (run 38671642849). This PR does not touch the vault panel; main is green at b8546e9. Treated as a flake, failed job rerun once. A second failure goes to KNOWN_ISSUES with a red-first package.

@Cuarroc Cuarroc added the review-ok Pipeline: review disposition complete, no open high finding label Oct 15, 2026
@Cuarroc

Cuarroc commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

review-ok bound to head 30b801b2 (tier B, google/gemini-3.8-flash round 1 adjudicated, no open high; checks green after one flake rerun of the unrelated TresorPanel test). @Mergifyio queue

@mergify mergify Bot added the queued label Oct 15, 2026
@mergify mergify Bot mentioned this pull request Oct 15, 2026
30 of 46 tasks
@mergify
mergify Bot merged commit e806580 into main Oct 15, 2026
25 of 26 checks passed
@mergify

mergify Bot commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

  • ✅ Entered queue — 2026-10-15 03:08 UTC · Rule: default · triggered by merge protections
  • ✅ Checks passed · on draft merge queue: checking #1486 on main (d727f87) #1492
  • ✅ Merged — 2026-10-15 03:18 UTC · at e80658037445eeb6f444f3d67e1f82d1e7164272 · merge

This pull request spent 10 minutes 25 seconds in the queue, including 9 minutes 42 seconds running CI.

Required conditions to merge
  • check-success = gates (linux)
  • check-success = gates (windows)
  • check-success = red-first
  • github-review-approved [🛡 GitHub repository ruleset rule main-pr-required-checks]
  • label != do-not-merge
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-success = @github-actions/gates (linux)
    • check-neutral = @github-actions/gates (linux)
    • check-skipped = @github-actions/gates (linux)
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-success = @github-actions/gates (windows)
    • check-neutral = @github-actions/gates (windows)
    • check-skipped = @github-actions/gates (windows)
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-success = @github-actions/red-first
    • check-neutral = @github-actions/red-first
    • check-skipped = @github-actions/red-first
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-neutral = @mergify/Mergify Merge Protections
    • check-skipped = @mergify/Mergify Merge Protections
    • check-success = @mergify/Mergify Merge Protections

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review-ok Pipeline: review disposition complete, no open high finding

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant