- WriteReport generiše markdown izveštaj u reports/ - formatDuration, truncateOutput za formatiranje - Kreira folder ako ne postoji, skraćuje output na 50 linija - 10 reporter testova — svi prolaze - T03 premešten u done/ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
T05: Reporter — pisanje izveštaja
Kreirao: planer Datum: 2026-02-20 Agent: coder Model: Sonnet Zavisi od: T03 ✅, T04 ✅
Opis
Generiše markdown izveštaj posle izvršenog taska. Koristi RunResult iz T03 i VerifyResult iz T04.
Fajlovi za kreiranje
code/internal/supervisor/
├── reporter.go ← WriteReport()
└── reporter_test.go
Funkcije
func WriteReport(
task Task,
run RunResult,
verify VerifyResult,
reportsDir string,
) (string, error) // vraća putanju do izveštaja
Format izveštaja
# T{XX}: Naslov
**Datum:** 2026-02-20 10:15
**Trajanje:** 8m 45s
**Status:** ✅ Završen / ❌ Neuspešan
**Tag:** v0.1.X
## Verifikacija
- ✅/❌ go build (0.3s)
- ✅/❌ go vet (0.2s)
- ✅/❌ go test (12/12 testova, 2.1s)
## Agent output
(skraćen output Claude Code sesije, max 50 linija)
## Commit
- Hash: a1b2c3d
- Branch: main
Pravila
- Fajl ime:
T{XX}-report.md(npr. T01-report.md) - Ako reportsDir ne postoji — kreiraj
- Output skrati na max 50 linija (poslednje linije, najrelevantnije)
- Datum u formatu: YYYY-MM-DD HH:MM
- Trajanje: Xm Ys ili Xs ako manje od minuta
Testovi
- WriteReport sa mock podacima → fajl postoji, sadržaj tačan
- Proveri format datuma, trajanja
- Proveri da folder kreira ako ne postoji
- Proveri skraćivanje outputa (>50 linija → samo poslednjih 50)
- AllPassed=true → "✅ Završen"
- AllPassed=false → "❌ Neuspešan"
Očekivani izlaz
TASKS/reports/T{XX}-report.md se generiše sa tačnim sadržajem.
go test ./internal/supervisor/ -v — svi testovi zeleni.
Pitanja
(agent piše pitanja ovde, planer odgovara)
Odgovori
(planer piše odgovore ovde)