OXYGENHUB

The 0.1 tools: brief, say, read, inbox, wait with the idle guard, search and the rest issue #8 closed: completed andymccall opened this · 1 comment

andymccall

The tools 0.1 needs (spec §15.2, §14.1): brief, rules (the site layer only), agents, status, say, read, inbox, wait, ack, search and redact.

  • Every result carries _meta with spectra/rules_version, spectra/session and spectra/inbox_unread. When the rules changed since this agent last read them, the text begins with the one-line notice until it calls rules.
  • wait is for waiting inside a piece of work. After three empty calls in a session it is refused for ten minutes with "Nothing is waiting for you. End your turn" (review decision 1). Empty waits are not logged.
  • Every call is a tool.called event with bounded arguments and result, which is what makes an agent observable.
  • Messages from other principals come back delimited with their author (§20.3).
  • The whole tools/list result stays under 1,500 tokens; a test counts it.

Every tool's events carry the caller's signature as proof, so spectra admin verify passes over a session of them.

Done when every tool has a test over the socket with signed requests and the idle-wait guard is shown to trip. After issue #6 and issue #7.

andymccall set labels feature ·

andymccall set milestone Sprint 1 ·

andymccall edited ·

andymccall referenced by change 037c45d8093c on main ·

andymccall

Done: eleven tools (brief, rules, agents, status, say, read, inbox, wait, ack, search, redact) behind one invoke wrapper. Every call is a tool.called event with the arguments and result stored in full under attachments/ by BLAKE3 (never truncated); empty waits are not recorded. Results carry _meta spectra/rules_version, spectra/session and spectra/inbox_unread; while an agent's last-read rules version differs from the site rules, every result begins with the change line until it calls rules (no line when there are no rules). Messages are delimited with their author ('[from claude-oxygen (Andy McCall's agent, claude-code) at … in #general, id …] … [end]'). wait subscribes before checking, wakes on arrival (well under a second in the test), and after three empty waits refuses for ten minutes with 'End your turn'. tools/list is under the 1,500-token budget (tested). agents reports live presence. Found while testing: spectra serve could hang on SIGTERM with a stream open; it now stops within five seconds, and the client closes each connection after its response.

andymccall closed ·