@aiwg/cockpit 2026.7.21 → 2026.7.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,8 +8,21 @@ Observe live agent work, attach to sessions, handle approvals, launch runtime
8
8
  targets, and coordinate AIWG actions from one local operator surface. Cockpit
9
9
  fronts the AIWG CLI and the agentic-sandbox executor; it does not replace either.
10
10
 
11
+ If AIWG is not already connected to your project, paste this into your
12
+ supported provider first:
13
+
14
+ ```text
15
+ Install or repair AIWG for this project by following
16
+ https://raw.githubusercontent.com/jmagly/aiwg/main/setup.aiwg.yaml
17
+ Explain the plan before changing anything, preserve my existing work, and ask
18
+ me only for choices you cannot safely determine.
19
+ ```
20
+
11
21
  ```bash
12
22
  npm i -g aiwg # install the base AIWG CLI
23
+ aiwg use all --provider <provider>
24
+ aiwg index build --all
25
+ aiwg regenerate --provider <provider>
13
26
  aiwg use cockpit # install the opt-in Cockpit package, version-locked to AIWG
14
27
  aiwg cockpit # launch the local Bridge + web UI
15
28
  ```
@@ -34,6 +47,9 @@ version to the installed AIWG version.
34
47
 
35
48
  ```bash
36
49
  npm i -g aiwg
50
+ aiwg use all --provider <provider>
51
+ aiwg index build --all
52
+ aiwg regenerate --provider <provider>
37
53
  aiwg use cockpit
38
54
  aiwg cockpit --status
39
55
  aiwg cockpit
@@ -259,6 +275,33 @@ QEMU/VM launches. Cockpit does not replace attached sessions when provisioning;
259
275
  it refreshes inventory and leaves concurrency and resource admission to
260
276
  agentic-sandbox.
261
277
 
278
+ For VM rows, Inventory renders provider-aware fast-start actions only when the
279
+ executor advertises the matching instance capability. Cloud Hypervisor rows can
280
+ offer snapshot, restore, fork, and warm-pool handoff. Libvirt rows can offer
281
+ checkpoint, restore, and warm-pool handoff when advertised. Cockpit sends
282
+ restore, fork, and warm-pool requests through the unified sandbox
283
+ `runtime_options` launch intent, polls the async operation resource to terminal
284
+ state, and records request/terminal audit evidence through the Bridge. VFIO
285
+ constraint exclusions keep unsafe fast-start actions disabled with the
286
+ executor-provided reason.
287
+
288
+ ### VM provider and GPU/VFIO posture
289
+
290
+ The Launch instance modal uses sandbox loadout compatibility metadata instead
291
+ of assuming every VM provider supports every launch mode. Operators can select
292
+ an advertised VM provider and GPU/VFIO posture. Required GPU passthrough sends
293
+ `required_capabilities: ['device.vfio']`, excludes fast-start capabilities, and
294
+ sets `fallback_mode: 'fail'` so Cockpit requests a cold VM launch rather than a
295
+ snapshot/checkpoint path that would be unsafe for assigned devices. Inventory
296
+ then displays assigned VFIO devices and executor-provided incompatibility
297
+ reasons; it does not make VFIO generally available on hosts or loadouts that
298
+ cannot provide it.
299
+
300
+ The Apple Silicon validation path is preview-only. The sandbox `v2026.7.14`
301
+ macOS artifact is an unsigned, unnotarized developer package, and native macOS
302
+ is expected to lack Linux VM, Cloud Hypervisor, VFIO/GPU, vsock, and systemd
303
+ capabilities unless the executor reports otherwise.
304
+
262
305
  ### Recover stale agents
263
306
 
264
307
  When a container, Docker, or VM runtime is still running but its agent
@@ -271,18 +314,25 @@ resolve an agent id.
271
314
  The Bridge handles recovery through:
272
315
 
273
316
  1. executor-owned reconnect endpoints when the sandbox exposes one, then
274
- 2. local Docker fallback: `docker exec <container> agent-reconnect`, or
317
+ 2. local Docker fallback, only when
318
+ `AIWG_COCKPIT_LOCAL_DOCKER_FALLBACK=1`: `docker exec <container> agent-reconnect`,
319
+ or
275
320
  3. VM fallback (#1778): the same reconnect SIGHUP delivered through the libvirt
276
321
  qemu-guest-agent channel (`virsh qemu-agent-command <domain> guest-exec
277
- pkill -HUP -x agent-client`). Sessions survive reconnect on agentic-sandbox
322
+ pkill -HUP -x agent-client`). The libvirt fallback is automatic on Linux;
323
+ on non-Linux hosts set `AIWG_COCKPIT_LOCAL_LIBVIRT_FALLBACK=1` for explicit
324
+ local-development use. Sessions survive reconnect on agentic-sandbox
278
325
  2026.7.8+ agents; older agents preserve only detached tmux sessions
279
326
  (agentic-sandbox#634).
280
327
 
281
328
  The Docker fallback requires sandbox images that include the `agent-reconnect`
282
329
  helper (agentic-sandbox v2026.7.5+ images); the VM fallback requires virsh
283
- access to the domain from the Bridge host. If **Reconnect** reports that no
284
- reconnect path is available, rebuild or repull the sandbox image, then start the
285
- instance again. For host targets, prefer starting Cockpit with the host daemon:
330
+ access to the domain from the Bridge host. If **Reconnect** reports
331
+ `local_docker_fallback_disabled` or `local_libvirt_fallback_disabled`, either
332
+ let the sandbox handle reconnect through its own endpoint or enable the matching
333
+ local-development fallback intentionally. If no reconnect path is available,
334
+ rebuild or repull the sandbox image, then start the instance again. For host
335
+ targets, prefer starting Cockpit with the host daemon:
286
336
 
287
337
  ```bash
288
338
  AIWG_COCKPIT_START_HOST_DAEMON=1 npm run cockpit:up
@@ -317,6 +367,7 @@ Tests run **at stages** — committed harnesses, never `/tmp` rigs (#1635):
317
367
  | **Dev e2e** (full control-plane chain: health→inventory→create session→attach) | `npm run e2e:cockpit-dev` | **real**, safe-skip when absent | non-blocking |
318
368
  | **Daily Linux operator gate** (protected auth + host/container + recovery + upgrade/rollback, #1842) | `npm run uat:cockpit-daily` | **real**, required/fail-closed | operator-scheduled |
319
369
  | **Release matrix** (host/docker/vm + provider workload, #1621) | `npm run uat:cockpit-live:matrix` | **real**, all three families | release gate |
370
+ | **Provider-aware VM fast start** (#1843) | `npm --prefix apps/cockpit/web run test -- Inventory.test.tsx` · `node apps/cockpit/bridge/src/smoke.mjs` | **mock** plus live executor for release signoff | required before enabling new VM controls |
320
371
 
321
372
  ```bash
322
373
  npm --prefix apps/cockpit run check # build web + typecheck + render/a11y tests + smokes + PoCs
@@ -333,7 +384,10 @@ host/container working-directory expectations, cleanup boundary, and report
333
384
  schema are documented in
334
385
  [Cockpit Daily Linux Operator Gate](../../docs/cockpit/daily-operator-gate.md).
335
386
  VM and Apple remain reported preview tiers and do not block the first Linux
336
- supported result.
387
+ supported result. Apple preview evidence is based on the agentic-sandbox
388
+ developer package, `darwin/arm64` host runtime discovery, and Docker Desktop
389
+ runtime posture; production signing/notarization is tracked separately and is
390
+ not required to pass the Cockpit Linux gate.
337
391
 
338
392
  The React UI is also browser-verified per surface (see `.playwright-mcp/cockpit-*.png`).
339
393
  Conformance (`agentic-sandbox-conformance`) was 33 pass / 0 fail / 17 skip; the