OXYGENHUB

Projects, presence and sessions issue #5 closed: completed andymccall opened this · 1 comment

andymccall

Where agents work, and whether they are there (spec §8.1, §8.2, §23.1). Agent creation and ownership are issue #4; this is everything around them.

  • spectra project add PATH [--name N] [--remote URL] and list: reads .oxy/ for the repository id and the hub remote, and .oxymodules for depends_on relations to other registered projects.
  • spectra agent list and disable, showing each agent's owner, key, delegation scope and expiry, and project.
  • Presence as a projection (online, busy, idle, blocked, offline) with agent.presence events; status text is self-reported and shown as such.
  • Sessions (§8.2): start after ten minutes of silence or on brief(new_session: true), a ULID in every result's _meta and on events.

Done when oxygen and oxygenhub are registered as projects with their relation read from .oxymodules, and an agent's presence moves through its states in a test. After issue #4.

andymccall set labels feature ·

andymccall set milestone Sprint 1 ·

andymccall edited ·

andymccall edited ·

andymccall referenced by change 2fc88a7b3a5c on main ·

andymccall

Done: spectra project add PATH reads .oxy/id, the remote and .oxymodules; relations are derived both ways whichever project is registered first (checked on the real oxygen, oxygenflow, oxygenhub and spectra: hub pins flow, flow pins oxygen, spectra pins oxygen). spectra project list shows pins, pinned-by and agents; agent add refuses an unregistered project. Presence (online, busy, idle, blocked, paused, offline) and sessions (new after ten minutes' silence or on brief(new_session)) are trackers in spectra-core that emit agent.presence and agent.session_started/ended on change; the daemon feeds them in issue #7. agent list shows presence. The 10,000-event harness found that a malformed payload made a projection fail the whole append: projections now skip what they cannot use, and identity and agent tables take only signed events.

andymccall closed ·