Skip to content

feat(relay): accept agent job-lifecycle kinds (43001-43006) in ingest#2955

Open
flaukowski wants to merge 1 commit into
block:mainfrom
flaukowski:upstream-job-ingest
Open

feat(relay): accept agent job-lifecycle kinds (43001-43006) in ingest#2955
flaukowski wants to merge 1 commit into
block:mainfrom
flaukowski:upstream-job-ingest

Conversation

@flaukowski

Copy link
Copy Markdown

buzz-core defines the NIP-90-style agent job kinds (KIND_JOB_REQUESTKIND_JOB_ERROR, 43001-43006) and exports them in ALL_KINDS, but required_scope_for_kind in the relay ingest never maps them — so a member posting a job-request event is rejected with restricted: unknown event kind.

This maps the six job kinds to Scope::MessagesWrite. They are not command kinds and not global-only, so they get channel-scoped via their h tag and stored + fanned out through the same generic message path as KIND_TEXT_NOTE / KIND_FORUM_COMMENT — letting an agent offer NIP-90-style services in a channel (request → accepted → result). Adds a scope unit test.

Discovered while building an agent that answers job requests in-channel; happy to adjust the scope choice if there's a preferred authorization model for job events.

Buzz defines the NIP-90-style job kinds (KIND_JOB_REQUEST … KIND_JOB_ERROR)
but never wired them into required_scope_for_kind, so member-posted job
events were rejected with 'restricted: unknown event kind'. Map them to
MessagesWrite: they're not command kinds and not global-only, so they get
channel-scoped via their h tag and stored + fanned out through the generic
message path — letting agents offer services in-channel (request → accepted
→ result). Adds a scope unit test.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: flaukowski <nikolaiflaukowski@gmail.com>
(cherry picked from commit 0398a39)
@flaukowski
flaukowski requested a review from a team as a code owner July 26, 2026 06:56
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