BusDK Update
Dev-task workerit saavat eristetyt Git-worktreet
bus-integration-task tekee paikallisesta rinnakkaiskehityksestä turvallisemman: task-container saa workspace-näkymän read-only-muodossa ja kirjoittaa vain oman vastaanottajansa eristettyyn Git-worktreehen.
Malli sopii BusDK:n superprojektiin, mutta sitä ei ole sidottu BusDK:n hakemistorakenteeseen. Worker lukee Git-superprojektin riippuvuudet .gitmodules-tiedostosta ja root-repository valitaan konfiguroidulla vastaanottajanimellä.
4.5.2026bus-integration-taskGit worktreeparallel agents
Paikallisessa kehityspinoissa task-worker käynnistetään nyt niin, että worktree-eristys on normaali toimintatapa. Oleellinen konfiguraatio näyttää tältä:
BUS_DEV_TASK_WORKSPACE_ROOT=/workspace
BUS_DEV_TASK_WORKSPACE_HOST_ROOT=/path/to/project
BUS_DEV_TASK_WORKSPACE_RECIPIENT=busdk
BUS_DEV_TASK_WORKTREE=true
BUS_DEV_TASK_WORKTREE_ROOT=/workspace/tmp/bus-dev-task-worktrees
BUS_DEV_TASK_COMMIT=true
Kun tehtävä osoitetaan esimerkiksi vastaanottajalle @bus-bank, worker valmistelee bus-bank-repositoryn erillisen task-worktreen ja antaa containerille write-oikeuden vain siihen. Muut superprojektin repositoryt näkyvät dependency-polkuina read-only-näkymän kautta. Jos tehtävän oikea kohde on superprojekti itse, se lähetetään erilliselle workspace-vastaanottajalle, esimerkiksi BusDK:ssa @busdk.
Tämä tekee rinnakkaisesta työstä käytännössä hallittavampaa. Useat Codex-workerit voivat ajaa eri moduleissa samaan aikaan ilman, että yksi worker jättää toisen moduulin checkoutin task-branchille tai muuttaa dependency-repositorya sivuvaikutuksena. Container vain muokkaa tiedostoja; onnistuneen ajon jälkeen trusted bridge palauttaa mahdollisesti uudelleenkirjoitetun .git-osoittimen, tekee deterministisen task-commitin ja promotedaa työn päächeckouttiin konservatiivisella fast-forward-polulla. Dirty checkout tai non-fast-forward-tilanne pysäyttää tehtävän ennen kuin päächeckoutia muutetaan.
Operaattorin näkyvä pinta on dokumentoitu bus-integration-task-moduulisivulla. Sama mount-sopimus kulkee provider-neutralin bus containers -pinnan läpi, ja paikallinen Docker-toteutus on bus integration docker.