agent/tests/cli
Snider 7a9dbadb57 feat(agent/fleet): core login CODE + fleet connect/poll/heartbeat (#539)
Per RFC §9 Fleet Mode: device pairing + SSE-with-poll-fallback +
heartbeat + status reporting now wired.

Lands:
* pkg/agentic/fleet_login.go — `core login CODE` POSTs /v1/device/pair
  with the 6-digit code; writes {agent_api_key, agent_id, expires_at}
  to ~/.core/agent.key (mode 0600). Errors clean (no panic) on invalid
  code / network fail.
* pkg/agentic/fleet_connect.go — Connect(ctx) opens SSE to
  /v1/fleet/events with Bearer auth; reconnect backoff 1s→2s→4s→8s→
  16s→30s. PollFallback via /v1/fleet/task/next every 30s when SSE
  keeps failing. Heartbeat goroutine POSTs /v1/fleet/heartbeat every
  60s with {agent_id, status}. Persists last-known fleet snapshot to
  ~/.core/fleet.status.json so fleet/status survives restart.
* pkg/agentic/fleet_mode.go — `core fleet` top-level + `fleet/nodes`
  (lists registered nodes) + `fleet/status` (connection state, last
  heartbeat, last task). All exit cleanly on API-unreachable.
* commands.go — registerFleetCommands wired into registerCommands.
* AX-10 tests + CLI Taskfiles for login + nodes (unreachable-API
  asserted clean-exit, no panic).

Sandbox blocked from go test by go.work + private-module-graph
(pre-existing); gofmt clean.

Co-authored-by: Codex <noreply@openai.com>
Closes tasks.lthn.sh/view.php?id=539
2026-04-26 00:13:19 +01:00
..
_lib revert fcb9c189e5 2026-04-23 12:32:57 +01:00
agent feat(ax-10): bring agent to v0.8.0-alpha.1 + CLI test scaffold 2026-04-24 23:48:34 +01:00
brain revert fcb9c189e5 2026-04-23 12:32:57 +01:00
branch feat(agent/pipeline): wire branch cleanup into createPR + cmdComplete success paths (#545) 2026-04-25 23:56:34 +01:00
check revert fcb9c189e5 2026-04-23 12:32:57 +01:00
credits revert fcb9c189e5 2026-04-23 12:32:57 +01:00
dispatch revert fcb9c189e5 2026-04-23 12:32:57 +01:00
env revert fcb9c189e5 2026-04-23 12:32:57 +01:00
extract revert fcb9c189e5 2026-04-23 12:32:57 +01:00
fleet feat(agent/fleet): core login CODE + fleet connect/poll/heartbeat (#539) 2026-04-26 00:13:19 +01:00
issue revert fcb9c189e5 2026-04-23 12:32:57 +01:00
lang revert fcb9c189e5 2026-04-23 12:32:57 +01:00
message revert fcb9c189e5 2026-04-23 12:32:57 +01:00
mirror revert fcb9c189e5 2026-04-23 12:32:57 +01:00
pipeline feat(agent/pipeline): implement pipeline/budget + pipeline/training (#536) 2026-04-25 23:57:27 +01:00
plan revert fcb9c189e5 2026-04-23 12:32:57 +01:00
pr revert fcb9c189e5 2026-04-23 12:32:57 +01:00
prompt revert fcb9c189e5 2026-04-23 12:32:57 +01:00
repo revert fcb9c189e5 2026-04-23 12:32:57 +01:00
restart feat(agent/state): OnStartup queue+registry restore from .core/db.duckdb (#537) 2026-04-26 00:04:56 +01:00
scan revert fcb9c189e5 2026-04-23 12:32:57 +01:00
session revert fcb9c189e5 2026-04-23 12:32:57 +01:00
sprint revert fcb9c189e5 2026-04-23 12:32:57 +01:00
state revert fcb9c189e5 2026-04-23 12:32:57 +01:00
status revert fcb9c189e5 2026-04-23 12:32:57 +01:00
sync feat(agent/sync): WorkspacePushed IPC → go-scm local repo sync (#546) 2026-04-25 23:33:38 +01:00
version revert fcb9c189e5 2026-04-23 12:32:57 +01:00
workspace revert fcb9c189e5 2026-04-23 12:32:57 +01:00
.DS_Store revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Taskfile.yaml revert fcb9c189e5 2026-04-23 12:32:57 +01:00