KAOS/TASKS/done/T04.md
djuka 9d2c249ed1 T03: Runner — pokretanje Claude Code
- RunTask sa timeout-om, stdout/stderr capture, exit code
- buildPrompt generiše prompt za Claude CLI
- CommandBuilder interfejs za mock testiranje
- 7 runner testova — svi prolaze
- T04 premešten u done/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:46:07 +00:00

1.9 KiB

T04: Checker — verifikacija posle agenta

Kreirao: planer Datum: 2026-02-20 Agent: coder Model: Sonnet Zavisi od: T01


Opis

Posle svake Claude Code sesije, nezavisno pokrene build + test + vet. Parsira output, broji testove, meri vreme svake provere.

Fajlovi za kreiranje

code/internal/supervisor/
├── checker.go       ← Verify(), CheckResult, VerifyResult
└── checker_test.go  ← testovi sa privremenim Go projektom

Strukture

type CheckResult struct {
    Name      string        // "build", "test", "vet"
    Status    string        // "pass", "fail"
    Output    string        // stdout + stderr
    Duration  time.Duration
    TestCount int           // samo za test (parsira "ok ... N tests")
}

type VerifyResult struct {
    Build     CheckResult
    Vet       CheckResult
    Test      CheckResult
    AllPassed bool
}

Funkcije

  • Verify(projectPath string) VerifyResult — pokrene sva tri checka
  • runCheck(name, command, projectPath string) CheckResult — pokrene jednu komandu
  • parseTestCount(output string) int — parsira broj testova iz go test outputa

Komande koje pokreće

go build ./...
go vet ./...
go test ./... -count=1 -v

Testovi

  • Napravi temp Go projekat koji prolazi → Verify vraća AllPassed=true
  • Napravi temp Go projekat sa syntax error → Build fail, ostalo preskočeno
  • Napravi temp Go projekat sa failing testom → Test fail
  • parseTestCount: "ok github.com/dal/kaos 0.003s" → parsira tačno
  • parseTestCount: "FAIL" → 0
  • Proveri da Duration > 0 za svaki check
  • Proveri da se Output popunjava

Očekivani izlaz

Verify pokrene tri komande, parsira svaku, vrati VerifyResult. go test ./internal/supervisor/ -v — svi testovi zeleni.


Pitanja

(agent piše pitanja ovde, planer odgovara)


Odgovori

(planer piše odgovore ovde)