Del av #95. Se doc/plans/nvt-agent-integrasjon.md (PR #94), avsnittene «Arkitektur» og «M1». Forutsetter funnene fra M0.
Mål
Ny utførende agent nvt-fat-developer bak uendret filkontrakt, med en deterministisk nvt-bridge som mapper topic → levende nvt-instans.
Leveranser
agents/nvt-fat-developer/: triggers/-kontrakt som i dag, README, .env.example, og en instruks-mal som rendres inn i instansens AGENTS.local.md (tilpasset utgave av kodeagent-protokollen: «kjenn din begrensning», branch+PR-kontrakt med --base og Closes #, retro/KB-læringer, resultatlinje-format — men uten innboks-polling: oppgaver kommer som prompts, og agentdctl signal done sendes etter resultatlinja).
- nvt-bridge (Node/TS): poller inbox (samme dedupe-regel: id uten linje i results), topic =
payload.origin.event_id uten delta-suffiks, topic→instans-state, agent-init/agent-up on demand, prompt-injeksjon via docker exec agentdctl prompt --source host --external, fallback-resultatlinje med status:"error" (aldri fabrikert suksess) hvis signal done kommer uten resultatlinje. Serielt per topic, parallelt på tvers (maks N). TTL-basert agent-down for inaktive topics (workspace beholdes).
- Container-kjøring av bridgen (docker-outside-of-docker): node-slim + docker/compose-cli, hostens socket mountet, nvt-sjekkout + agentkatalog mountet på samme absolutte sti som på hosten. Fallback: samme kode som node-prosess under WSL2.
- Mount av
triggers/ inn i instansene som /triggers — agenten skriver resultatlinjer selv, så integrations er uendret.
- Én ny rute i
AGENT_ROUTES (kun config i deploy-klonens .env), oppdatering av solution-proposal-skillens valgkriterier, doc/log.md.
Akseptansekriterier
Sikkerhet
- Delegerte prompts er upålitelig input;
--external-preamblen skal alltid med.
- Ingen hemmeligheter i image, logger, events eller resultatlinjer; tokens kun i
.broker/ på hosten.
- Bot-kontoen skal ikke inn i
GITHUB_ALLOWED_USERS; kontonavn holdes utenfor repoet (kun env/broker-config).
Del av #95. Se
doc/plans/nvt-agent-integrasjon.md(PR #94), avsnittene «Arkitektur» og «M1». Forutsetter funnene fra M0.Mål
Ny utførende agent
nvt-fat-developerbak uendret filkontrakt, med en deterministisk nvt-bridge som mapper topic → levende nvt-instans.Leveranser
agents/nvt-fat-developer/:triggers/-kontrakt som i dag, README,.env.example, og en instruks-mal som rendres inn i instansensAGENTS.local.md(tilpasset utgave av kodeagent-protokollen: «kjenn din begrensning», branch+PR-kontrakt med--baseogCloses #, retro/KB-læringer, resultatlinje-format — men uten innboks-polling: oppgaver kommer som prompts, ogagentdctl signal donesendes etter resultatlinja).payload.origin.event_iduten delta-suffiks, topic→instans-state,agent-init/agent-upon demand, prompt-injeksjon viadocker exec agentdctl prompt --source host --external, fallback-resultatlinje medstatus:"error"(aldri fabrikert suksess) hvissignal donekommer uten resultatlinje. Serielt per topic, parallelt på tvers (maks N). TTL-basertagent-downfor inaktive topics (workspace beholdes).triggers/inn i instansene som/triggers— agenten skriver resultatlinjer selv, så integrations er uendret.AGENT_ROUTES(kun config i deploy-klonens.env), oppdatering av solution-proposal-skillens valgkriterier,doc/log.md.Akseptansekriterier
Sikkerhet
--external-preamblen skal alltid med..broker/på hosten.GITHUB_ALLOWED_USERS; kontonavn holdes utenfor repoet (kun env/broker-config).