Skip to content

Fleet: LLooM leases in a band, agents' jobs as tiles - #2

Merged
data-angel merged 1 commit into
mainfrom
fleet-band
Oct 17, 2026
Merged

data-angel merged 1 commit into
mainfrom
fleet-band

Conversation

@data-angel

@data-angel data-angel commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Tessera now follows a LLooM head's schedule (Enntity/lloom#88), so how agents' jobs are going is visible on the board.

  • Settings → Fleet: the head's URL. Its admin key is kept in the Keychain and only ever sent to that URL.
  • Fleet band over the board: one chip per resource. Each shows whether it is free, or who holds it, how long they have left and who is waiting. A lease running out or a stuck restore turns it amber.
  • Jobs as tiles (flavor LLooM, Jobs chip): the card shows the latest note, a progress bar and metrics, and the job's notes act as its transcript.
    • Finished, failed and silent jobs, leases running out and stuck restores join the Needs-you lane, alerts and the phone.
    • Opening a job goes to the reporting agent's conversation when it named one.
  • AgentAppWatcher now merges sessions from other sources with its scan, without lighting up work that finished before launch.

Verification

  • swift test: 186 + 5 new LLoomScheduleTests. They decode a board produced by LLooM's own schedule module, including queued, warned and stuck leases and stalled, done and failed jobs.
  • A debug run against a throwaway local LLooM head showed the band, job tiles with progress, and the expiring lease and stalled job in the Needs-you lane.

🤖 Generated with Claude Code

Agents now lease shared machines and report long-running work to a LLooM
head (lloom reserve, lloom job). Tessera follows that head, so how a job is
going is on the board instead of in each agent's window.

- Settings → Fleet takes the head's address. Its admin key is kept in the
  Keychain and only ever sent to that address.
- A band over the board shows each resource: free, or who holds it, how long
  they have left and who is waiting. A lease running out or a failed restore
  turns it amber.
- Jobs are app-session tiles (flavor LLooM, Jobs chip), with the latest note,
  progress bar and metrics on the card and the notes as the transcript. A
  finished, failed or silent job, a lease running out and a stuck restore
  join the Needs-you lane, alerts and the phone like any conversation.
- Opening a job goes to the reporting agent's conversation when it named one
  (claude:/codex: tile ids, or a CLI session id a terminal or Claude app
  conversation carries).
- AgentAppWatcher takes sessions from other sources beside its scan. They
  join with the first scan, so work that finished before launch doesn't
  light up.

Tests decode a board produced by LLooM's own schedule module.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant