feat(workflow): let workflows add reactions to messages - #2494
Conversation
11039d7 to
cad2b53
Compare
|
I rebased this branch onto current The feature is still relevant, but the old branch omitted the target author's NIP-25 Head The affected package suites, strict Clippy, and Rust formatting were refreshed. The non-database tests passed. Nine unrelated relay media/admin tests could not obtain this host's local PostgreSQL pool, and a serial rerun hit the same boundary. The new ignored PostgreSQL regression compiled, but I am not presenting the unavailable database run as passing evidence. |
cad2b53 to
7f905a5
Compare
|
Rebased this branch onto current Head moved from Verification:
GitHub checks are rerunning on the new head. |
Co-authored-by: Brad Groux <bradgroux@hotmail.com> Signed-off-by: Brad Groux <bradgroux@hotmail.com>
7f905a5 to
1a4f5bd
Compare
|
Rebased onto current The rebase audit found one test defect rather than a production-path defect. The relay emits the kind-7 reaction with its target Published head: Verification passed for formatting, strict Clippy across the three affected packages, and the PostgreSQL/Redis-backed kind-7 persistence and deduplication regression. The repository |
Fixes #2395.
What changes
Workflow
add_reactionactions now publish a signed kind-7 reaction against the triggering message through the existing relay event path.The reaction includes:
etag;ktag;ptag required by NIP-25 clients and Buzz's author-targeted push subscription;The sink resolves the effective target author through the same attribution helper used by ingest, so reactions to agent-authored messages target the actual author rather than a relay signer. Duplicate execution remains idempotent. The relay-backed regression now subscribes to the reaction by its actual kind-7 and
e-tag shape, while the follow-up message retains its channel-scoped filter.Safety and scope
add_reactionbecause they have no triggering message ID.Verification
cargo fmt --all -- --checkcargo clippy -p buzz-workflow -p buzz-relay -p buzz-test-client --all-targets --all-features -- -D warningscargo test -p buzz-workflow -p buzz-relay -p buzz-test-client --no-fail-fast: workflow and test-client suites passed; the unprovisioned relay run reached only the existing database-dependent failures.cargo test -p buzz-relay workflow_sink::integration_tests::workflow_add_reaction_persists_attributed_kind_7_and_dedupes -- --ignored --nocapture: passed against PostgreSQL and Redis.just test: all nine unit/package/database stages passed. The workspace integration stage reproduced the unrelatedbuzz-agenttiming failuresteer_folds_into_active_turn_without_cancelling; that test passes in isolation, and this branch does not modifybuzz-agent.This refresh is not production deployment evidence.