Skip to content

implement a task output aggregator and use it#5

Merged
rjbs merged 13 commits intofastmail:mainfrom
rjbs:taskstream
Feb 23, 2026
Merged

implement a task output aggregator and use it#5
rjbs merged 13 commits intofastmail:mainfrom
rjbs:taskstream

Conversation

@rjbs
Copy link
Member

@rjbs rjbs commented Feb 21, 2026

No description provided.

rjbs and others added 9 commits February 21, 2026 17:04
Dobby::Boxmate::LogStream -- which almost certainly should get spun out
into something more reusable, at least once it's more proven --
implements a tiny state machine that transitions between named tasks,
gathers input, and either discards it on task success or flushes it on
error.

Co-Authored-By: Claude <noreply@anthropic.com>
demo-logstream just spits out lines, with delays so timers can run, and
with task directives.  Useful to test the aggregator with deterministic
(but slow enough) input.

logstream-pipe reads from STDIN and applies the logstream protocol to
it.

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Is anyone running box headless?
…to tell commands they can emit directives
Co-Authored-By: Claude <noreply@anthropic.com>
rjbs and others added 4 commits February 23, 2026 11:43
"logstream" felt confusing, because what we're sending aren't exactly
logs, especially in the "we should use logfmt" world.

Co-Authored-By: Claude <noreply@anthropic.com>
* add a output_ok test helper
* stop repeating the \x{...} codes over and over
* use Test::Deep

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
@rjbs rjbs merged commit 03469fd into fastmail:main Feb 23, 2026
6 checks passed
@rjbs rjbs deleted the taskstream branch March 16, 2026 17:57
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