Utvid @bot-konvensjonen: generell samtalepartner med node-fangst

@bot er først og fremst en samtalepartner som svarer på alt.
I tillegg fanger den opp actionable innhold og oppretter noder
i bakgrunnen (bugs, ideer, features, tech-debt) med riktige
tags og mentions-edges. Brukeren ser bare chat-svaret.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
vegard 2026-03-18 10:30:25 +00:00
parent dac20102f5
commit 82c8f01c31

View file

@ -140,27 +140,62 @@ Bare **Neste → Pågår → Review → Ferdig** er aktive kanban-lanes.
## 6. @bot-konvensjonen ## 6. @bot-konvensjonen
`@bot` er Synops sin generiske markør for AI-assistanse i `@bot` er Synops sin generiske markør for AI-assistanse i
samtaler. Ruteren i maskinrommet bestemmer hvilken modell eller samtaler. Boten er først og fremst en **samtalepartner** — den
agent som svarer — brukeren trenger ikke vite om det er Claude, svarer på spørsmål, forklarer, diskuterer og hjelper. I tillegg
en annen modell, eller en spesialisert agent. fanger den opp actionable innhold og oppretter noder i bakgrunnen.
### Boten er en generell samtalepartner
`@bot` svarer på alt:
```
"Hva betyr CTR?"
→ Forklaring i chatten. Ingen node.
"Lydkvaliteten var dårlig i dag"
→ Svar + diskusjon i chatten.
→ work_item i innboks: "Undersøk lydkvalitet" + tagged "bug"
"Kan du sjekke om RSS-feeden oppdaterte seg?"
→ Kjører synops-rss, rapporterer resultat i chatten.
"Vi bør legge til kapittelmerkering"
→ Diskuterer i chatten.
→ work_item i innboks: "Kapittelmerkering i podcast" + tagged "idea"
"Forklar hvordan edge-validering fungerer"
→ Forklaring i chatten. Ingen node.
```
Brukeren merker bare at de får svar. Noder dukker opp i
innboksen i bakgrunnen for Vegard å triagere.
### To output-kanaler
1. **Chat-svar** (alltid) — boten svarer i samtalen
2. **Noder** (når relevant) — boten oppretter work_items,
melder fra om feil, fanger opp forslag
Kanal 2 er usynlig for brukeren. De ser bare svaret.
### Slik fungerer det ### Slik fungerer det
1. En bruker skriver i en kommunikasjonsnode der bot-agenten er 1. En bruker skriver i en kommunikasjonsnode der bot-agenten er
`member_of`. `member_of`.
2. Maskinrommet trigger `agent_respond`-jobb (eksisterende flow). 2. Portvokteren trigger `agent_respond`-jobb (eksisterende flow).
3. Boten svarer i samtalen. 3. Boten svarer i samtalen.
4. **Nytt:** Hvis samtalen inneholder actionable innhold, oppretter 4. Boten vurderer: er noe her actionable?
boten også `work_item`-noder. 5. Hvis ja: oppretter riktig node-type med riktig tag.
### Når opprettes work items? ### Hva fanges opp?
Deteksjonsheuristikker (i `synops-respond` eller et nytt | Innhold | Resultat | Tag |
`synops-triage`-verktøy): |---------|----------|-----|
| Bug / feil / noe virker ikke | work_item + mentions berørt cli_tool | `bug` |
- Imperative setninger: "Fiks ...", "Legg til ...", "Vi bør ..." | Idé / forslag / "vi bør" | work_item | `idea` |
- Spørsmål som impliserer arbeid: "Kan vi endre ...?" | Feature-forespørsel | work_item | `feature` |
- Eksplisitte markører: "TODO:", "oppgave:", "ide:" | Teknisk gjeld / "dette er rotete" | work_item | `tech-debt` |
| Generelt spørsmål | Bare chat-svar, ingen node | — |
### Hva opprettes? ### Hva opprettes?
@ -169,6 +204,8 @@ For hvert actionable element:
- `belongs_to`-edge → arbeidstavlen - `belongs_to`-edge → arbeidstavlen
- `status`-edge med `value: "innboks"` - `status`-edge med `value: "innboks"`
- `source_material`-edge → chat-meldingen (proveniens) - `source_material`-edge → chat-meldingen (proveniens)
- `tagged`-edge med riktig kategori
- `mentions`-edges til berørte noder (verktøy, features)
- Eventuelt `assigned_to`-edge til agent-noden (om boten kan - Eventuelt `assigned_to`-edge til agent-noden (om boten kan
gjøre det selv) gjøre det selv)
@ -176,7 +213,7 @@ Vegard triagerer innboksen og prioriterer.
### Ruting ### Ruting
`@bot` rutes av maskinrommet basert på kontekst: `@bot` rutes av portvokteren basert på kontekst:
- Standard: Claude (nåværende `agent_respond`-flyt) - Standard: Claude (nåværende `agent_respond`-flyt)
- Fremtidig: spesialiserte agenter, andre modeller, eller - Fremtidig: spesialiserte agenter, andre modeller, eller
regelbaserte svar — uten endring i brukergrensesnittet regelbaserte svar — uten endring i brukergrensesnittet