Skip to content

nvt M3: driver-lease — headless/hands-on/ekstern på samme work-in-progress #99

Description

@olebhansen

Del av #95. Se doc/plans/nvt-agent-integrasjon.md (PR #94), avsnittet «Driver-lease». Forutsetter M1 (+ M2 for UI-togglen).

Mål

Kontrollert veksling mellom tre måter å drive samme work-in-progress (nvt-instansens workspace + agent-branch): headless (pipelinen driver), hands-on (operatør i code-server/tmux i samme miljø) og ekstern (sr-dev/Claude Code på egen sjekkout av samme branch).

Leveranser

  1. Lease-fil per topic i bridgens state ({mode, holder, acquired_at, note}); endringer publiseres som events (synlig i konsollen).
  2. Bridge-håndheving: prompts injiseres kun i headless; events til topics med annen lease blir liggende i innboksen (opphavstråden beholder «working»-reaksjonen — ingenting tapt, ingenting fabrikkert).
  3. Sjekkpunkt-protokoll ved leasebytte: før frigivelse fra headless ber bridgen agenten committe og pushe WIP (prompt + vent på signal done); ved gjenopptak er første prompt «pull og les deg opp på ny historikk». Samme forventning dokumenteres for ekstern driver (push før leasen gis tilbake).
  4. Toggle i konsollen (via bridge-API) + CLI-fallback.

Akseptansekriterier

  • Bytte headless → hands-on → headless midt i en oppgave uten tapte events eller commit-kollisjoner.
  • Ekstern modus verifisert: sr-dev fortsetter på samme branch fra egen sjekkout, og nvt-agenten plukker opp historikken ved gjenopptak.
  • Lease-endringer er sporbare (events + konsoll).
  • Leasen er koordinering, ikke sikkerhetsgrense — dokumentert eksplisitt.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions