fix(collab): verlaten runtime-mappen opruimen en de service onder launchd houden - #8
Merged
Merged
Conversation
…nchd houden /tmp/ensemble hield op 03-09-2026 34 mappen vast: naast tien afgeronde teams 22 mappen van launches die stierven voordat een agent iets zei, en veertig lock-mapjes die de testsuite zelf achterliet (de afterEach van de team-say-tests verwijderde alleen messages.jsonl, niet de map met het lockbestand ernaast). collab-cleanup.sh keek alleen naar mappen met een .finished-marker en liet de rest voor eeuwig staan. De cleanup kent nu ook verlaten mappen: geen marker en nooit een bericht, na 24 uur weg. Een map met berichten blijft altijd staan, want het team kan nog lopen en collab-history.py leest die berichten later. COLLAB_RUNTIME_ROOT maakt de root overschrijfbaar, zodat de tests niet in de echte map werken. De team-say- tests ruimen hun hele map op. De service draaide als losse `tsx server.ts` zonder launchd-agent: weg na een herstart van de Mac, en met de hand te herstarten na elke codewijziging. scripts/install-launchd.sh registreert hem als launchd-agent met KeepAlive en de PATH van de installerende shell, zodat de agent-CLI's gevonden worden. Nagemeten: na een kill staat hij binnen vijf seconden weer op, en hij leest zijn eigen bestanden in ~/Documents zonder EPERM. Preflight herstart een service ouder dan 24 uur nu zelf via launchctl kickstart in plaats van de gebruiker een shell-regel te geven. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…s alleen op macOS
Met alleen afgeronde mappen en niets verlatens (of andersom) stopte
collab-cleanup.sh onder de macOS-bash 3.2 met "ABANDONED[@]: unbound variable"
vóór de statistieken, omdat set -u daar een lege array als ongezet ziet. De
lussen gebruiken nu de ${ARR[@]+"${ARR[@]}"}-vorm; twee tests dekken beide
lege kanten.
De tests voor install-launchd.sh draaien alleen op macOS: het script weigert
elders bewust, en de CI-runner is Linux.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Wat
Twee restpunten uit de review van 01-09-2026.
Verlaten runtime-mappen.
/tmp/ensemblehield 34 mappen vast: tien afgeronde teams, 22 launches die stierven voordat een agent iets zei, en veertig lock-mapjes die de testsuite zelf achterliet.collab-cleanup.shkeek alleen naar mappen met een.finished-marker. Hij kent nu ook verlaten mappen (geen marker, nooit een bericht) en ruimt die na 24 uur op. Een map met berichten blijft altijd staan: het team kan nog lopen, encollab-history.pyleest die berichten later.COLLAB_RUNTIME_ROOTmaakt de root overschrijfbaar voor de tests, en de team-say-tests ruimen hun hele map op.Service onder launchd. De service draaide als losse
tsx server.ts: weg na een herstart van de Mac, handmatig te herstarten na elke codewijziging.scripts/install-launchd.shregistreert hem als launchd-agent met KeepAlive en de PATH van de installerende shell. Preflight herstart een service ouder dan 24 uur nu zelf vialaunchctl kickstartin plaats van een shell-regel voor te schrijven; zonder launchd-agent blijft de oude melding staan, met een verwijzing naar het script.Test
tests/collab-cleanup.test.ts: verlaten map weg, lock-mapje weg, verse map zonder berichten blijft, oude map mét berichten blijft, dry-run raakt niets aan.tests/install-launchd.test.ts: geldige plist (plutil -lint) met repo-pad, KeepAlive, RunAtLoad, log en PATH;--uninstallverwijdert hem.npm test(115 tests), typecheck en lint groen.🤖 Generated with Claude Code