- Razbijen monolitni server_test.go na fokusirane test fajlove: api_test.go, dashboard_test.go, docs_test.go, search_test.go, submit_test.go, task_detail_test.go, console_test.go, sse_test.go, timestamp_test.go, ui_test.go, test_helpers_test.go - Dodat logs.go handler (handleLogsTail) koji je nedostajao - Dodat LogFile u config - Fix konzola: prompt se šalje preko fajla umesto direktno u PTY - 192 testova prolazi Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
KAOS — Specifikacija
Verzija: 0.3.0 Poslednje azuriranje: 2026-02-21
Pregled
KAOS je sistem za razvoj softvera sa AI agentima pod ljudskim nadzorom. Web dashboard omogucava operateru da upravlja taskovima, pokrece claude agente, i prati rad u realnom vremenu kroz konzolne terminale.
Funkcionalnosti
Kanban Board
- 5 kolona: Backlog, Ready, Active, Review, Done
- Drag & drop premestanje taskova (Sortable.js)
- SSE auto-refresh kad se stanje promeni
- Dugmad po statusu: Odobri, Pusti, Proveri, Izvestaj
- Task detail modal sa markdown renderovanjem
Konzola (Task PTY Sessions)
- Svaki task dobija sopstvenu claude CLI sesiju u PTY
- "Pusti" dugme: premesta task u active, pokrece interaktivni claude
- "Proveri" dugme: pokrece review claude sesiju za task u review/
- Terminali u browseru via xterm.js + WebSocket
- Replay buffer (1MB ring buffer) za reconnect
- Sesije prezivljavaju page reload
- Dinamicko dodavanje/brisanje terminala po aktivnim sesijama
- Kill dugme za zavrsavanje sesije
Pretraga
- Pretrazuje taskove, dokumente i izvestaje
- Case-insensitive, sa snippet kontekstom
- Real-time rezultati (htmx delay:300ms)
Dokumenti
- Pregled svih .md fajlova u projektu
- Sidebar + main layout
- Markdown renderovanje sa tabelama
- Breadcrumbs navigacija
- HTMX fragmenti za client-side navigaciju
Prijava taskova
- Klijent mod: jednostavna forma (naslov + opis + prioritet)
- Operater mod: chat sa claude CLI za kreiranje taska
Server logovi
- GET /api/logs/tail - poslednjih 100 linija loga
- Modal prikaz na dashboardu
Vremena (Timestamps)
- Svaki prelaz taska belexi timestamp u Vremena tabelu
- Automatski u task .md fajl
Task workflow
backlog --> ready --> active --> review --> done
| | |
<---------- |
<-------------------
| Prelaz | Ko | Kako |
|---|---|---|
| backlog -> ready | operater | Odobri dugme |
| ready -> active | server | Pusti dugme (automatski) |
| active -> review | claude agent | Kad zavrsi rad |
| review -> done | operater/checker | Odobri ili Proveri |
| review -> active | operater/checker | Vrati na doradu |
| ready -> backlog | operater | Vrati dugme |
API endpointi
| Metod | Putanja | Opis |
|---|---|---|
| GET | / | Dashboard (Kanban) |
| GET | /api/tasks | Svi taskovi (JSON) |
| GET | /api/task/:id | Detalj taska (JSON) |
| POST | /api/task/:id/move?to= | Premesti task |
| GET | /task/:id | Task detail (HTML) |
| POST | /task/:id/move?to= | Premesti + vrati board |
| POST | /task/:id/run | Pusti task (active + claude) |
| POST | /task/:id/review | Pokreni review sesiju |
| GET | /report/:id | Izvestaj/task modal |
| GET | /events | SSE stream |
| GET | /search?q= | Pretraga |
| GET | /console | Konzola stranica |
| GET | /console/sessions | Aktivne sesije (JSON) |
| POST | /console/kill/:taskID | Ubij sesiju |
| GET | /console/ws/:key | WebSocket terminal |
| GET | /api/logs/tail | Server logovi |
| GET | /docs | Lista dokumenata |
| GET | /docs/*path | Pregled dokumenta |
| GET | /submit | Prijava stranica |
| POST | /submit/simple | Prijava forme |
| POST | /submit/chat | Operater chat |
| GET | /submit/chat/stream/:id | Chat SSE stream |