Skip to content

feat: add native decision cards - #5172

Draft
camelludo wants to merge 3 commits into
block:mainfrom
camelludo:codex/buzz-native-decision-card-sidequest
Draft

feat: add native decision cards#5172
camelludo wants to merge 3 commits into
block:mainfrom
camelludo:codex/buzz-native-decision-card-sidequest

Conversation

@camelludo

Copy link
Copy Markdown

Summary

  • add typed, signed DecisionCard and DecisionResponse events with Markdown fallbacks
  • render polished theme-adaptive cards directly in the Buzz timeline
  • record four human intents as durable thread receipts: Approve, Redraft, Escalate, Reject
  • bind the response to the exact rendered payload hash and fail closed on tampering or prior-response lookup failure
  • keep this proof explicitly shadow-only at the operating layer: no external delivery or business mutation

Event contract

  • 40009: decision card
  • 40010: signed decision response
  • h scopes both events to a channel
  • e keeps the response in the originating thread
  • payload_hash binds the human response to the structured payload
  • ordinary Markdown remains readable in older clients

Verification

  • cargo test -p buzz-core -p buzz-sdk
  • relay scope tests for channel-scoped content and per-kind allowlists
  • desktop parser/timeline tests (34 passed)
  • desktop TypeScript and targeted Biome checks
  • compiled Desktop Playwright proof in light and dark themes (2 passed)
  • isolated non-production relay + fresh Postgres round-trip: signed card and response accepted and queried back durably

Boundary

This PR adds a native collaboration/intent surface. It does not call Stomaton, send externally, or treat a Buzz decision as delivery proof.

Signed-off-by: camelludo <sezaisuda@gmail.com>
Signed-off-by: camelludo <sezaisuda@gmail.com>
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