5.0 KiB
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/