feat(examples): add provider-agnostic Last30Days agent - #4162
Open
bossriceshark wants to merge 1 commit into
Open
feat(examples): add provider-agnostic Last30Days agent#4162bossriceshark wants to merge 1 commit into
bossriceshark wants to merge 1 commit into
Conversation
Add an examples-only reference agent that advertises /last30days through the existing ACP slash pass-through (block#919): 10 independent analysis workers plus one synthesis call against any OpenAI-compatible endpoint, with adopter-owned credentials, content-only success gating, sanitized public errors, private artifacts, and cooldown/quota/spend gates on by default. Relates to block#4158 Signed-off-by: bossriceshark <194162663+bossriceshark@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an examples-only reference agent that implements
/last30days <topic>through the existing ACP slash pass-through from #919 — no core, relay, or Desktop changes.The example runs 10 independent analysis workers plus one synthesis call against any OpenAI-compatible endpoint, then publishes one sourced brief back to the originating thread. It follows the focused-reference style of
examples/countdown-bot(#516) and the persona-pack layout ofexamples/meadow-core.Closes the proposal in #4158.
Why this shape
Provider-agnostic by design
OPENAI_API_KEY.envdiscovery, no bundled credentials.OPENAI_BASE_URLhttps://openrouter.ai/api/v1deepseek/deepseek-v4-pro10--enforce-gates, min-success always equals the worker count.Safety properties
shell=False, and treats the topic as one opaque argv element. Shell-string templates are rejected, as are shell-interpreter-ctemplates containing placeholders.--topic-stdin/--topic-file; no documented invocation interpolates a topic into a shell line.--enforce-gates: event-id idempotency, per-requester cooldown and daily quota, global daily spend ceiling with per-run reservation, and a concurrency cap. Gate state is a single file written with temp + fsync + atomicos.replaceunder a lock, and fails closed on unparseable state.0700/0600).Testing
Offline and fully mocked — no network, no provider calls, no credentials required. Coverage includes injection regressions (malicious topics stay inert; shell templates rejected), gate transactionality (torn state fails closed, replace-failure preserves prior state), min-success enforcement, and redaction.
Manual test steps are in
examples/last30days-agent/README.md(quickstart, config table, security notes).Known follow-ups