# T07: Integracija — sve zajedno **Kreirao:** planer **Datum:** 2026-02-20 **Agent:** coder **Model:** Sonnet **Zavisi od:** T06 --- ## Opis End-to-end tok: CLI pozove run → učita task → pokrene agenta → verifikuje → napiše izveštaj → premesti task. Sve komponente povezane u jedan flow. ## Fajlovi za izmenu ``` code/internal/supervisor/ ├── supervisor.go ← Supervisor struct, Run() metoda └── supervisor_test.go ← end-to-end testovi ``` ## Supervisor struct ```go type Supervisor struct { Config *config.Config TasksDir string CodeDir string ReportsDir string } func NewSupervisor(cfg *config.Config) *Supervisor func (s *Supervisor) Run(taskID string) error func (s *Supervisor) RunNext() error ``` ## Run() tok ```go func (s *Supervisor) Run(taskID string) error { // 1. ScanTasks(s.TasksDir) // 2. FindTask(taskID) — proveri da je u ready/ // 3. MoveTask → active/ // 4. RunTask(task, s.CodeDir, s.Config.Timeout) // 5. Verify(s.CodeDir) // 6. WriteReport(task, runResult, verifyResult, s.ReportsDir) // 7. Ako AllPassed → MoveTask → review/ // 8. Ako !AllPassed → MoveTask → review/ (sa statusom failed u izveštaju) // 9. Prikaži rezime } ``` ## RunNext() tok ```go func (s *Supervisor) RunNext() error { // 1. ScanTasks // 2. NextTask — prvi iz ready/ sa ispunjenim zavisnostima // 3. Ako nema → vrati poruku "nema taskova" // 4. Run(task.ID) } ``` ## Integracija sa CLI main.go poziva: - `run T01` → supervisor.Run("T01") - `run` (bez ID) → supervisor.RunNext() - `status` → ScanTasks + ispis - `next` → NextTask + ispis - `verify` → Verify + ispis - `history` → čitaj reports/ + ispis ## Testovi - End-to-end: napravi temp TASKS/ strukturu, stavi task u ready/, pokreni Run() sa mock komandom → proveri da je task u review/, izveštaj napisan, output tačan - RunNext: dva taska u ready/, jedan sa neispunjenom zavisnošću → pokrene pravi - Nema taskova u ready/ → graceful poruka - Task koji je već active/ → greška - Failed verifikacija → task u review/ sa failed statusom u izveštaju - Config greška → graceful poruka ## Očekivani izlaz `kaos-supervisor run T01` prolazi ceo tok od učitavanja do izveštaja (sa mock agentom). `go test ./... -v` — svi testovi zeleni. --- ## Pitanja *(agent piše pitanja ovde, planer odgovara)* --- ## Odgovori *(planer piše odgovore ovde)*