diff --git a/scripts/run-next-task.sh b/scripts/run-next-task.sh index b78bf2f..fd323af 100755 --- a/scripts/run-next-task.sh +++ b/scripts/run-next-task.sh @@ -41,6 +41,7 @@ declare -A PHASE_DEPS=( [21]="2" [22]="12" [23]="22" + [24]="23" ) # --- Finn blokkerte faser --- diff --git a/tasks.md b/tasks.md index f434286..c366f7c 100644 --- a/tasks.md +++ b/tasks.md @@ -44,6 +44,7 @@ Fase 2 → Fase 21 (CLI-verktøy — unix-filosofi) Alt → Fase 12 (herding) Fase 12 → Fase 22 (SpacetimeDB-migrering) Fase 22 → Fase 23 (validering — alle faser) +Fase 23 → Fase 24 (orkestrering) ``` Hvis en oppgave er `[?]` eller `[!]`, hoppes den over — og alle @@ -305,3 +306,18 @@ med spesifikasjon for det som trenger en dedikert sesjon. - [ ] 23.9 Valider fase 19–20 (arbeidsflaten + universell overføring): canvas pan/zoom, BlockShell, layout-persistering, snarveier, transfer service, alle panelreworks (chat, kanban, kalender, editor, studio). - [ ] 23.10 Valider fase 21 (CLI-verktøy): kjør hvert synops-*-verktøy, verifiser --help, --payload-json, output-format, feilhåndtering, synops-common integrasjon. - [ ] 23.11 Valider fase 22 (STDB-migrering): WebSocket-sanntid fungerer, PG LISTEN/NOTIFY-triggere, ingen STDB-rester i kode/konfig/docs. + +## Fase 24: Orkestrering — trigger-drevne automatiseringer + +Ref: `docs/concepts/orkestrering.md`. Orkestreringsnoder (`node_kind: 'orchestration'`) +med fritekst-instruksjoner som boten utfører via function calling. Strukturerte triggere, +automatisk eskalering av intelligens ved feil, kompilering av velprøvde mønstre. + +- [ ] 24.1 Orchestration node-type: legg til `orchestration` i maskinrommets node-validering. Metadata-skjema: `trigger` (event + conditions), `executor`, `intelligence`, `effort`, `compiled`, `pipeline`. Valider trigger-events mot kjent liste. +- [ ] 24.2 Trigger-evaluering i portvokteren: ved node/edge-events, sjekk om noen `orchestration`-noder matcher triggeren. Effektiv lookup (indeksert på `metadata.trigger.event`). Ingen LLM-kall for trigger-matching. +- [ ] 24.3 Bot-utførelse: utvid `synops-respond` (eller nytt `synops-orchestrate`) til å ta orchestration-node som input. Bygg prompt med trigger-kontekst + instruksjoner + tilgjengelige verktøy. Function calling for hvert steg. Logg i `orchestration_log`. +- [ ] 24.4 Auto-eskalering: start med lavt intelligens/effort-nivå. Ved feil (tool_error, ambiguous_instruction) bump automatisk til neste nivå og retry. Maks 3 nivåer. +- [ ] 24.5 Orchestration UI: editor for orkestreringsnoder i frontend. Trigger-velger (dropdown), betingelser, tekstbokser per steg, "Test kjøring"-knapp (dry-run), kjørehistorikk med status. +- [ ] 24.6 Kaskade: `triggers`-edge mellom orkestreringer. Output fra én trigrer neste. Syklusdeteksjon for å unngå uendelige loops. +- [ ] 24.7 Kompilering: observer hvilke verktøy/sekvenser som gjentas. Foreslå kompilering etter N kjøringer. Kompilert pipeline med `fallback: "bot"`. Ingen LLM for standardsteg. +- [ ] 24.8 Seed-orkestreringer: opprett standard-orkestreringer for podcast-pipeline, publiseringsflyt, og AI-beriking basert på eksisterende hardkodet logikk i portvokteren.