Skip to content

Brain integration candidate: queue operations and fleet automation - #2

Draft
litbitrim wants to merge 341 commits into
mainfrom
review/brain-int04-queueops-20260928
Draft

litbitrim wants to merge 341 commits into
mainfrom
review/brain-int04-queueops-20260928

Conversation

@litbitrim

@litbitrim litbitrim commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Problem und Ergebnis

Dieser Draft führt die zuvor lokal entwickelte Brain-Flottensteuerung und die administrativen Queue-Operationen zur Prüfung auf Linux, macOS und Windows zusammen. Er umfasst Supervisor/Runner, Modellfamilienprüfung beim Review-Routing, Zustellung, Koordinationsereignisse, Dokumentation und die Turn-Ansicht.

Der erste CI-Lauf deckte plattformspezifische Testfehler und einen echten Fehler bei der Abgabe von Belegen über Windows-Kurzpfade auf. Vier Folgecommits beheben diese Befunde:

  • Native Runner-Journeys werden unter Windows ausgeführt; andere Plattformen prüfen die bereits vorhandene ausdrückliche Ablehnung.
  • Pfad-Fixtures vergleichen kanonische Verzeichnisse auch bei macOS-Alias und Windows-Kurzpfaden.
  • Die Abgabeprüfung löst Workspace und Beleg mit der nativen Dateisystem-API auf. Regressionen prüfen gültige Windows-Kurzpfade sowie abgewiesene Junction- und Sibling-Ausbrüche.
  • Der Test zur atomaren Fehlerverbuchung wartet auf das Ende des anhand von PID und Startzeit verifizierten Testprozesses statt auf feste 300 Millisekunden.

Aktuelle Kandidatenrevision: 2a580931686dcb760ed8609c68dff8f18e3b30f0.

Validierung

Auf der vorherigen Revision 2dbabd3 unter Windows/Node 24:

  • Vollsuite: 532 bestanden, 0 fehlgeschlagen, 54 übersprungen; Exit 0.
  • Core-Typecheck: Exit 0.
  • Secret-Scan: 387 versionierte Dateien, sauber.
  • Unabhängige Google-Gemini-Reviews der Änderungen und des exakten Kandidaten: PASS. Die Reviews sind Quellprüfungen; die Testergebnisse stammen aus separaten lokalen Ausführungen.

CI-Lauf 36370711537 bestand unter Windows. Linux und macOS fanden genau einen Fehler im neuen Testaufbau: Bei der Registrierung fehlte das Pflichtfeld account. Folgecommit 2a58093 ergänzt dieses Feld, verwendet den vorhandenen Fixturemodus ok und zeigt Registrierungsfehler im Assertion-Text. Unabhängiger Google-Review PASS, lokale Runner-Tests 11 PASS / 1 SKIP / Exit 0, Typecheck Exit 0. Die Nicht-Windows-Prüfung muss die nächste exakte CI bestätigen. Die früheren Paketbau- und UI-Typecheck-Ergebnisse bezogen sich auf den vorherigen Integrationsstand und ersetzen diese Prüfung nicht.

Git-Historie

Commit 467e5bb verbindet die zuvor unabhängigen Historien mit öffentlichem main 9b1b52b. Sein Quellbaum ist exakt identisch mit dem lokal geprüften Integrationsstand 9dd3e10. Die vier CI-Korrekturen folgen als gewöhnliche Commits. Vor der ersten Veröffentlichung wurden zusätzlich 1383 neue Git-Blobs auf Geheimnisse geprüft; die elf Treffer waren belegte synthetische Erkennungs- und Canary-Fixtures.

Freigabegrenzen

Draft zur CI und Quellprüfung. Kein automatischer Merge und kein Release. Der Owner verlangt signierte Installer vor einer lokalen Installation. Es werden hier keine Installationspakete veröffentlicht. Installiert bleibt 0.3.0; die Paketversion im Quellstand lautet 0.3.1.

Update 29.09.2026

Aktueller PR-HEAD: ea2260a5f59d84c5daccf1835b1e4e82b6f68bc4. Der Plattformfix lehnt den Supervisor auf Nicht-Windows vor Datenbankzugriff ab und prueft Standardlauf sowie --once. Der exakte CI-Lauf ist auf Linux, macOS und Windows gruen; der enge Fix erhielt ein unabhaengiges Cross-Family-Review mit PASS. Der PR umfasst weiterhin 123 Dateien und bleibt fuer eine vollstaendige Integrationspruefung Draft. Der oeffentliche v0.3.1-Quellstand wurde separat ueber PR #1 in main gemergt; ohne signierten Installer erfolgt kein Release oder lokales Update.

plugmil and others added 30 commits September 23, 2026 09:19
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

# Conflicts:
#	src/store/schema.ts
…in integration

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tion

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The owner's fleet runs on surfaces that cannot be pushed to (Freebuff tabs,
AGY, the Codex app, Claude Code). The Brain becomes their check-in desk:

- worker profiles bind each agent to its surface, a non-secret account label
  and optionally an exclusive resource key, so one BYOK key carries exactly
  one active worker while a subscription can carry many tabs;
- the turn protocol records start/end (working, needs-task, awaiting-commit,
  blocked, paused) and answers with the ping: unread messages, the next or
  claimed queue task and whether the host has room for test/build/worktree;
- the integrator approves a pending commit through the worker's inbox;
- the board shows every worker once, with account, turn state, unread
  messages, task, leases, worktree branch and uncommitted files, overlaps
  and attention flags (awaiting-commit, needs-task, blocked, quota, stale);
- host resources (disk, RAM, CPU) and reported account quotas drive
  admission: no build/install/worktree under 20 GB free, no tests under 5 GB.

Reachable as `plugbrain swarm …` (store-direct, no Core key needed), as HTTP
routes (/api/agent/profile|turn|approve-commit, /api/agents/board,
/api/resources[/quota]) and as MCP tools (swarm_turn, swarm_board,
swarm_resources). Labels, notes and summaries refuse credential-shaped text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A retired worker keeps identity and history, frees its resource key and
leaves the fleet count. Used for legacy agents from earlier missions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CLI workers (Freebuff, AGY, Codex) can now declare the paths they write.
A second writer on the same path is refused with the holder named, and the
board shows every lease under its worker.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The live planet held 260 000 files, 4.7 million symbols and 16.4 million
edges from 66 checkouts, a handful of them current. Narrowing the selection
hides those rows but the indexer cannot remove them: every file delete
cascades through edges.src_file and edges.dst_file, which are indexed only
behind workspace_id, so each one paid two scans of the edge table (700 ms
each on the live store), about four days for the backlog.

`plugbrain planet prune` deletes set-wise in bounded batches with the WAL
truncated in between. The foreign-key actions are read from the schema and
replayed explicitly, each child is reached through an index proven by the
query plan before the first batch, ownership is mirrored onto path_owner,
nothing is tombstoned, and PRAGMA foreign_key_check closes the run.
`plugbrain compact` merges the FTS indexes and vacuums, refusing when the
disk cannot hold the copy.

A write through the access layer now names its checkout. Without it the row
was outside every live projection until the next full pass, and a prune took
it for a pre-planet leftover.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
plugmil and others added 29 commits September 27, 2026 03:09
The public repository and local integration have independent roots. Preserve the reviewed 9dd3e10 candidate tree exactly and add public main 9b1b52b as the second parent so the authorized draft PR can run CI. No tracked file changes.
Keep the seven Windows process-ownership journeys on Windows and verify the explicit no-launch refusal on Linux and macOS. Profile, argument, and prompt tests remain cross-platform.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants