Commit graph

9 commits

Author SHA1 Message Date
1f21f90f76 Seed-orkestreringer og flerords-verbstøtte (oppgave 24.9)
Fem standard-orkestreringer opprettet som seed-data:
- Podcast-pipeline (transkriber → oppsummer → RSS)
- Publiseringsflyt (render → indeks → RSS)
- AI-beriking (foreslå koblinger ved nytt innhold)
- Planlagt publisering (render ved tidspunkt)
- Podcast TTS (kaskade fra pipeline → les opp oppsummering)

Podcast-pipeline → TTS demonstrerer kaskade via triggers-edge.

Script-kompilatoren utvidet med flerords-verbstøtte: aliaser som
"generer feed", "les opp", "foreslå koblinger" matcher nå korrekt
selv om parseren splitter ved første mellomrom. Prøver verb + N
første ord av objekt opptil 3 ord.
2026-03-18 18:11:02 +00:00
44327df370 Kaskade: triggers-edge mellom orkestreringer (oppgave 24.8)
Etter vellykket pipeline-utførelse sjekker handle_orchestrate() om
orkestreringen har utgående triggers-edges til andre orchestration-noder.
Hvert gyldig mål enqueues som ny orchestrate-jobb med kaskade-kontekst.

Syklusdeteksjon via cascade_chain i jobb-payload:
- Sporer alle orchestration-IDer allerede utført i kjeden
- Blokkerer target som allerede finnes i kjeden (direkte + indirekte syklus)
- Dybdegrense på 10 ledd (MAX_CASCADE_DEPTH)
- Blokkerte kaskader logges i orchestration_log med status=skipped

Nedstrøms orkestreringer mottar:
- trigger_event: "cascade"
- upstream_orchestration_id i trigger_context
- {event.upstream_orchestration_id} tilgjengelig i script

Kaskade-feil er ikke-fatale — selve orkestreringen rapporteres som suksess.

8 nye enhetstester for syklusdeteksjon og dybdegrense.
2026-03-18 17:57:26 +00:00
b759808831 Orkestrering: menneskelig scriptspråk med kompilator til CLI-kall
To lag av samme script:
- Menneskelig: "transkriber lydfilen (stor modell)"
- Teknisk: "synops-transcribe --cas-hash {event.cas_hash} --model large"

Kompilator matcher verb mot cli_tool-aliases, argumenter mot
args_hints, variabler fra trigger-kontekst. Rust-stil feilmeldinger.
Tre visninger i editoren (Enkel/Teknisk/Kompilert).

Oppgaver restrukturert: kompilator, alias-metadata, executor,
UI med tre visninger, AI-assistert oppretting, kaskade, seed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 16:52:21 +00:00
77e3d59b46 Orkestrering: AI kun ved oppretting, eventually-modus for Claude Code
Fundamentalt restrukturert:
- AI genererer script ved oppretting, ikke ved kjøring
- Vaktmesteren validerer script før lagring (verktøy finnes? variabler ok?)
- Systemprompt bygges automatisk fra cli_tool-noder i PG
- Kjøring er alltid deterministisk script, ingen AI
- Feil → work_item, ikke AI-eskalering
- "Eventually"-modus: forespørsel lagres, Claude Code (betalt)
  genererer script i neste sesjon med Opus — ingen API-kostnad,
  bedre kvalitet, ingen hastverk

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 16:40:34 +00:00
7b601ead1f Orkestrering: målet er alltid script — AI er overgang, ikke driftsmodus
Nytt prinsipp: enhver orkestrering skal bli et deklarativt script.
Hvis det ikke er mulig, lag bedre verktøy eller stram opp spec.
AI som permanent feilhåndtering er et tegn på at noe er galt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 16:00:37 +00:00
fd0b75ee13 Orkestrering: tre nivåer (script/fritekst/drøm) + rename portvokter→vaktmester
Orkestrering restrukturert med deklarativt script som primærnivå:
- Nivå 1: eksakte CLI-kall med {event.*}-variabler, ingen AI
- Nivå 2: fritekst tolket av bot med function calling
- Nivå 3: drømmemodus — bruker skriver fritt, mangler→work_items
- Auto-eskalering: script→bot ved uventet feil

Rename portvokter→vaktmester i alle docs — bedre navn for en
tjeneste som gjør ting, ikke bare sjekker legitimasjon.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 15:59:29 +00:00
e0988711d8 Spesifiser interaksjonsmodell: drag-and-drop som universell grammatikk
Ny retning som formaliserer Synops sin interaksjonsfilosofi:
- Inn=transformer, ut=skap nytt (to retninger)
- Body=engang, header=vedvarende (to mål)
- Konsistent overalt: AI, orkestrering, tema, lyd, kalender
- Visuell feedback med to drop-soner (grønn=engang, blå=vedvarende)
- Fire prinsipper: reversibilitet, konsistens, synlighet, gradvis dybde

Også: observes-edge i orkestrering og edges.md for eksplisitt
kobling mellom orkestrering og observerte noder.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 13:41:06 +00:00
118a6741ce Legg til drømmemodus i orkestrering: brukeren skriver fritt, mangler blir feature requests
Brukeren begrenses ikke til kjente verktøy. Boten prøver,
og manglende funksjonalitet fanges opp som work_items med
source_material-edge tilbake til orkestreringen. Systemet
lærer hva brukerne vil ha fra det som ikke lykkes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 13:22:04 +00:00
79acf0bb0a Spesifiser orkestrering: trigger-drevne noder som utfører seg selv
Nytt konseptdokument for orchestration-noder ():
- Fritekst-instruksjoner som boten tolker og utfører
- Strukturerte triggere (portvokteren evaluerer uten LLM)
- Naturlig progresjon: fritekst → observér → kompilér → DSL
- Kompilerte pipelines med bot-fallback ved feil
- Kaskade mellom orkestreringer via triggers-edges
- Visuell editor med tekstbokser per steg og test-kjøring

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 13:17:53 +00:00