110 lines
2.9 KiB
Markdown
110 lines
2.9 KiB
Markdown
# T19: Dugme "Pusti" na svakom tasku — pokreni agenta u čistoj sesiji
|
|
|
|
**Kreirao:** planer
|
|
**Datum:** 2026-02-20
|
|
**Agent:** coder
|
|
**Model:** Sonnet
|
|
**Zavisi od:** T14 ✅
|
|
|
|
---
|
|
|
|
## Opis
|
|
|
|
Svaki task u backlog/ready koloni ima dugme "Pusti".
|
|
Klik → server pokrene NOVI Claude Code proces sa ČISTIM kontekstom.
|
|
Agent zna SAMO: CLAUDE.md + svoj task fajl. Ništa drugo.
|
|
|
|
## KLJUČNO — čist kontekst
|
|
|
|
Svaki task se pokreće u zasebnom `claude` procesu:
|
|
```bash
|
|
claude --dangerously-skip-permissions -p "Pročitaj CLAUDE.md i radi task TASKS/ready/T{XX}.md"
|
|
```
|
|
|
|
Agent NEMA kontekst iz prethodnih taskova.
|
|
Agent NEMA istoriju razgovora.
|
|
Agent čita CLAUDE.md → razume pravila → čita task → radi.
|
|
|
|
## Workflow sa dugmetom
|
|
|
|
1. Operater vidi task karticu na boardu
|
|
2. Klik "Pusti ▶" na kartici
|
|
3. Ako je task u backlog/ → server ga premesti u ready/ pa pokrene
|
|
4. Ako je task u ready/ → server ga odmah pokrene
|
|
5. Server pokrene novi `claude` proces (čist kontekst)
|
|
6. Output ide u konzolu (sesija 1 ili 2, prva slobodna)
|
|
7. Kartica se pomeri u Active kolonu (automatski)
|
|
|
|
## Izgled kartice
|
|
|
|
```
|
|
┌────────────────────────────┐
|
|
│ T15 │
|
|
│ Fix — docs širina │
|
|
│ coder · Sonnet │
|
|
│ Zavisi od: T12 ✅ │
|
|
│ [Pusti ▶] │
|
|
└────────────────────────────┘
|
|
```
|
|
|
|
Dugme se prikazuje SAMO za:
|
|
- backlog/ taskove čije su zavisnosti ispunjene (sve u done/)
|
|
- ready/ taskove
|
|
- review/ taskove koji imaju odgovor (## Odgovori nije prazan)
|
|
|
|
Dugme se NE prikazuje za:
|
|
- active/ taskove (već rade)
|
|
- done/ taskove (završeni)
|
|
- backlog/ taskove čije zavisnosti nisu ispunjene
|
|
|
|
## Endpointi
|
|
|
|
```
|
|
POST /task/{id}/run → pokreni task u čistoj sesiji
|
|
Response: {"session": 1, "status": "started"}
|
|
|
|
POST /task/{id}/run?session=2 → pokreni u konkretnoj sesiji
|
|
```
|
|
|
|
## Server logika za /task/{id}/run
|
|
|
|
```
|
|
1. Nađi task (ScanTasks)
|
|
2. Proveri da zavisnosti su u done/
|
|
3. Ako je u backlog/ → premesti u ready/
|
|
4. Nađi slobodnu sesiju (1 ili 2)
|
|
5. Ako nema slobodne → vrati 409 "Obe sesije zauzete"
|
|
6. Pokreni: claude --dangerously-skip-permissions -p "..."
|
|
7. Poveži output sa konzolom sesije
|
|
8. Vrati session ID
|
|
9. Dashboard se ažurira (SSE ili HTMX swap)
|
|
```
|
|
|
|
## Prompt za agenta
|
|
|
|
```
|
|
Pročitaj CLAUDE.md u root-u projekta.
|
|
Tvoj task: TASKS/ready/T{XX}.md
|
|
Pročitaj task fajl i uradi šta piše.
|
|
Prati pravila iz CLAUDE.md — build, test, commit, tag, izveštaj.
|
|
```
|
|
|
|
Kratak, čist. Agent sam čita CLAUDE.md i task.
|
|
|
|
## Testovi
|
|
|
|
- POST /task/T15/run → pokrene proces, vrati session ID
|
|
- Task premešten u active/ posle pokretanja
|
|
- Druga sesija: POST /task/T16/run → pokrene u sesiji 2
|
|
- Obe sesije zauzete: POST /task/T17/run → 409
|
|
- Task sa neispunjenim zavisnostima → 400
|
|
- Task koji je već active → 400
|
|
|
|
---
|
|
|
|
## Pitanja
|
|
|
|
---
|
|
|
|
## Odgovori
|