KAOS/TASKS/review/T20.md
djuka 500899121b T20: Workflow dugmad po statusu taska (blocked/review/run/approve/done)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:13:55 +00:00

151 lines
5.0 KiB
Markdown

# T20: Fix — dugmad po statusu taska (workflow kontrole)
**Kreirao:** planer
**Datum:** 2026-02-20
**Agent:** coder
**Model:** Sonnet
**Zavisi od:** T19 ✅
---
## Opis
Svaki task prikazuje RAZLIČITO dugme zavisno od stanja i uslova.
Operater mora da pregleda i odobri pre pokretanja.
## Dugmad po stanju
### backlog/ — zavisnosti NISU ispunjene
```
┌────────────────────────────┐
│ T18 │
│ End-to-end test │
│ coder · Sonnet │
│ Zavisi od: T17 ⏳ │
│ [Blokiran 🔒] │ ← sivo, nije klikabilno
└────────────────────────────┘
```
### backlog/ — zavisnosti JESU ispunjene
```
┌────────────────────────────┐
│ T16 │
│ SSE auto-refresh │
│ coder · Sonnet │
│ Zavisi od: T15 ✅ │
│ [Pregledaj 👁] │ ← otvori sadržaj taska
└────────────────────────────┘
```
Klik "Pregledaj 👁" → otvori task sadržaj u panelu.
U panelu prikaži dugme [Odobri ✅] koje premesti u ready/.
### ready/ — odobren, spreman za rad
```
┌────────────────────────────┐
│ T16 │
│ SSE auto-refresh │
│ coder · Sonnet │
│ Zavisi od: T15 ✅ │
│ [Pusti ▶] │ ← pokreni agenta
└────────────────────────────┘
```
Klik "Pusti ▶" → pokreni Claude Code u čistoj sesiji.
SAMO ready/ taskovi imaju Play dugme.
### active/ — agent radi
```
┌────────────────────────────┐
│ T16 │
│ SSE auto-refresh │
│ coder · Sonnet │
│ [Radi ⚙️] │ ← informativno, nije klikabilno
└────────────────────────────┘
```
### review/ — agent završio, čeka pregled
```
┌────────────────────────────┐
│ T16 │
│ SSE auto-refresh │
│ coder · Sonnet │
│ [Pregledaj 👁] │ ← otvori izveštaj
└────────────────────────────┘
```
Klik → otvori izveštaj + task sadržaj u panelu.
U panelu dva dugmeta:
- [Odobri ✅] → premesti u done/
- [Vrati ↩] → premesti u ready/ (za doradu)
### review/ — agent ima pitanje
```
┌────────────────────────────┐
│ T16 │
│ SSE auto-refresh │
│ coder · Sonnet │
│ ❓ Pitanje čeka odgovor │
│ [Odgovori 💬] │ ← otvori pitanje
└────────────────────────────┘
```
Klik → otvori task sa pitanjem. Operater vidi ## Pitanja sekciju.
Treba mogućnost da upiše odgovor u ## Odgovori sekciju.
Posle odgovora: dugme [Nastavi ▶] pokrene agenta ponovo.
### done/ — završen
```
┌────────────────────────────┐
│ T01 ✅ │
│ Inicijalizacija Go projekta│
│ v0.1.1 │
│ [Izveštaj 📊] │ ← otvori report
└────────────────────────────┘
```
## Logika za server
```
Za svaki task:
1. Pročitaj zavisnosti iz fajla (## Zavisi od)
2. Proveri da li su sve zavisnosti u done/
3. Ako je review/ → proveri da li ## Pitanja postoji i nije prazno
4. Na osnovu toga odluči koje dugme
Funkcija: resolveTaskAction(task) → action string
- "blocked" → zavisnosti nisu ispunjene
- "review" → u backlog/, zavisnosti ok, čeka pregled
- "run" → u ready/, spreman za pokretanje
- "running" → u active/
- "question" → u review/, ima pitanje bez odgovora
- "approve" → u review/, završen, čeka odobrenje
- "done" → u done/
```
## Pozicija dugmeta
Uvek desno dole na kartici. Kartica ima `display: flex; flex-direction: column;`
Dugme u `margin-top: auto;` kontejneru da bude na dnu.
## Testovi
- Task u backlog/ bez zavisnosti → "Pregledaj 👁"
- Task u backlog/ sa blokirajućom zavisnošću → "Blokiran 🔒"
- Task u ready/ → "Pusti ▶"
- Task u active/ → "Radi ⚙️" (neklikabilno)
- Task u review/ završen → "Pregledaj 👁"
- Task u review/ sa pitanjem → "Odgovori 💬"
- Task u done/ → "Izveštaj 📊"
- Klik "Odobri" na backlog task → premešten u ready/
- Klik "Pusti" na ready task → agent pokrenut
- Klik "Odobri" na review task → premešten u done/
---
## Pitanja
---
## Odgovori