Merge feature/orchestrator/s53-agent-presence into master
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> # Conflicts: # docs/requirements/001-agent-orchestrator.md # orchestrator/templates/page-board.js # tests/e2e/test_orchestrator_e2e.py
This commit is contained in:
commit
afebf24703
24 files changed
+798
-13
No files matched your search
@@ -334,6 +334,34 @@ from three views down to any agent, branch or artefact.
|
||||
remaining digits and hashes. Rejected for paths: every segment with
|
||||
"slash", the file name only, mapping to known repositories, not speaking
|
||||
paths.
|
||||
61. **Agent states** (operator 2026-11-10, decisions 61 to 64): the hub
|
||||
derives six states per agent session: sleeping (drain or suspend part,
|
||||
idle),
|
||||
suspending (drain or suspend part, still busy), working (process alive,
|
||||
busy), alive (process alive, idle), dead (process gone while a claim or
|
||||
task still names it) and unreachable (busy without an update for 15
|
||||
minutes, or a call without a receipt for 10 minutes). Inputs: the Claude
|
||||
Code session files (status, pid and its start tick), the night state and
|
||||
the radio receipts; a runtime without a session file shows alive or dead
|
||||
by its claim heartbeat. The hub's container sees neither the session
|
||||
files nor the host's processes, so a host timer
|
||||
(`kvb-orchestrator-sessions.timer`, every 15 seconds while the page
|
||||
polls) writes a snapshot with each process checked into the hub's
|
||||
state; one older than 5 minutes counts as absent. Rejected: an agent
|
||||
hook reporting its own state (a hook and a reinstall on every agent),
|
||||
the claim heartbeat alone (no working versus alive), the host's PID
|
||||
namespace or `/proc` in the container (every process's command line in
|
||||
reach of the web-facing hub).
|
||||
62. **State symbol**: an animated Bootstrap icon from the vendored sprite
|
||||
next to every agent in Orbit, Chord, Swimlane, Tree and 3D and in the
|
||||
agent panel; `prefers-reduced-motion` stops the animation. Rejected:
|
||||
emoji (font-dependent), a colored ring only (six states hard to tell
|
||||
apart).
|
||||
63. **Status menu**: a "Status" menu in the Agents toolbar holds one checkbox
|
||||
per state and "Faces in 3D", stored per browser like the saved views,
|
||||
no passkey. Rejected: hub-wide settings with a signature.
|
||||
64. **3D faces**: agent nodes in the 3D view show their face, on by default
|
||||
and switchable; repositories and branches stay spheres.
|
||||
|
||||
## Approach
|
||||
|
||||
@@ -785,6 +813,19 @@ flowchart TD
|
||||
- [ ] The spot shows the speaking caption, the last five sent messages and
|
||||
the stations with play and stop.
|
||||
|
||||
### Phase 6: agent states and 3D faces (S5.3)
|
||||
|
||||
- [ ] The state of every fixture session matches decision 61 for each of the
|
||||
six states and for a session without a session file (unit test).
|
||||
- [ ] Orbit, Chord, Swimlane, Tree, 3D and the agent panel show the state
|
||||
symbol of each fixture agent.
|
||||
- [ ] Unticking a state in the Status menu hides its symbols in every view;
|
||||
the choice survives a reload.
|
||||
- [ ] The 3D view shows agent faces by default and spheres after unticking
|
||||
"Faces in 3D".
|
||||
- [ ] `make orchestrator-install` enables `kvb-orchestrator-sessions.timer`,
|
||||
and `make orchestrator-check` reports it active.
|
||||
|
||||
### Tests
|
||||
|
||||
- **Unit**
|
||||
@@ -812,6 +853,10 @@ flowchart TD
|
||||
redirecting to `#stream` with the spot flag.
|
||||
- [ ] S5.5: ICAO digit words, Zulu times, DTG with offset conversion,
|
||||
dates, decimals and spoken paths.
|
||||
- [ ] S5.3: each agent state from a fixture snapshot, night state and
|
||||
receipts, a session without a record; the host client's snapshot
|
||||
from fixture session files with a reused pid; a stale or malformed
|
||||
snapshot read as absent.
|
||||
- **Integration**
|
||||
- [ ] Two scratch sessions exchange `post` and `call` through the real hook
|
||||
entry points (JSON on stdin): the post appears only on the callee's
|
||||
@@ -844,3 +889,6 @@ flowchart TD
|
||||
class sends from it, the icon-only Cancel mayday, the speaking
|
||||
caption and the stations inside the spot, in Chromium and Firefox at
|
||||
1920, 1366 and 390 px.
|
||||
- [ ] S5.3: state symbols in every Agents view and the panel, the Status
|
||||
menu toggles through a reload, 3D faces on and off, in Chromium and
|
||||
Firefox at 1920, 1366 and 390 px.
|
||||
Reference in new issue
Block a user