KAOS/TASKS/reports/T22-report.md
djuka b3645beea0 T22: Prijava — dva moda (klijent forma + operater chat sa Claude API)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:38:05 +00:00

79 lines
2.6 KiB
Markdown

# T22 Izveštaj: Prijava — dva moda (klijent i operater)
**Agent:** coder
**Model:** Opus
**Datum:** 2026-02-20
---
## Šta je urađeno
Nova sekcija "Prijava" sa dva moda: klijent (prosta forma) i operater (chat sa Claude API).
### Izmenjeni/kreirani fajlovi
| Fajl | Izmena |
|------|--------|
| `internal/server/submit.go` | NOVO — handleri za oba moda, nextTaskNumber, Claude API streaming, chatState |
| `web/templates/submit.html` | NOVO — template sa toggle klijent/operater, forma, chat UI |
| `internal/server/server.go` | chatMu/chats polja, 4 nove rute, sync import |
| `internal/server/render.go` | renderSubmitPage(), registracija submit.html template |
| `internal/server/server_test.go` | 13 novih testova |
| `web/static/style.css` | CSS za submit, form, chat, priority |
| `web/templates/layout.html` | Prijava nav tab |
| `web/templates/console.html` | Prijava nav tab |
| `web/templates/docs-list.html` | Prijava nav tab |
| `web/templates/docs-view.html` | Prijava nav tab |
### Klijent mod
- Forma: naslov (obavezno), opis (opciono), prioritet (Nizak/Srednji/Visok)
- POST /submit/simple → kreira task u backlog/
- Auto-numeracija: skenira sve taskove, nađe max T{XX}, inkrementiraj
- Task format sa svim standardnim KAOS poljima + Prioritet + Izvor
- Vizuelna potvrda sa task ID-em
### Operater mod
- Chat interfejs sa Claude API (Sonnet model)
- System prompt: CLAUDE.md + trenutno stanje svih taskova
- SSE streaming odgovora (Anthropic streaming API → browser)
- Višestruke poruke u istoj sesiji (chat_id)
- Automatsko onemogućenje inputa dok Claude odgovara
### Endpointi
| Endpoint | Metod | Opis |
|----------|-------|------|
| /submit | GET | Stranica za prijavu |
| /submit/simple | POST | Klijent forma → backlog/ |
| /submit/chat | POST | Operater poruka → Claude API |
| /submit/chat/stream/:id | GET | SSE stream odgovora |
### Navigacija
Novi tab "Prijava" dodat u header svih stranica (Kanban, Dokumenti, Konzola, Prijava).
### Novi testovi — 13 PASS
```
TestSubmitPage PASS
TestSubmitPage_ClientModeIsDefault PASS
TestSimpleSubmit_CreatesTask PASS
TestSimpleSubmit_MissingTitle PASS
TestSimpleSubmit_AutoNumbering PASS
TestSimpleSubmit_DefaultPriority PASS
TestChatSubmit_NoAPIKey PASS
TestChatSubmit_EmptyMessage PASS
TestChatStream_NotFound PASS
TestNextTaskNumber PASS
TestBuildTaskContext PASS
TestSubmitPage_HasPrijavaNav PASS
TestDashboard_HasPrijavaNav PASS
```
### Ukupno projekat: 155 testova, svi prolaze
- `go vet ./...` — čist
- `go build ./...` — prolazi