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

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/

Pitanja


Odgovori