Trader chat issue-reporting: turn a Matrix message into an incident #9
Labels
No labels
correctness
coverage
milestone:M4
polish
security
tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
public/warden#9
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal: let any (allowlisted) chat participant report an issue to warden from the room, so traders can flag problems directly — a first-class inbound issue source.
Today: there is no chat->incident path. Detection is scheduled detectors/checks + mesh sensor findings.
matrix_listen.pyinbound is guidance-only for already-open incidents (see the guide-the-agent loop), gated toWARDEN_GUIDANCE_ALLOWED_SENDERS.Proposal: a room listener that recognises a report syntax (e.g.
@warden report <subject>: <text>), validates the sender against an allowlist + rate-limits it, and emits aFinding/opens an incident (source-tagged as chat-reported) that flows through the normal ladder. Reuse the existingMatrixListenerpoll + theFinding/engine.emit path.Guardrails: sender allowlist (reuse the guidance allowlist pattern), per-sender rate limit, a distinct
chat-reportcheck_id/source so these are auditable and can't collide with detector findings (source-scoped fingerprints from issue #1), and they must NOT auto-trigger remediation without the same gate/verify as any other incident.Fits existing seams; additive. Surfaced in a status review 2026-09-10.
Shipped in v0.19.0. Allowlisted (WARDEN_REPORT_ALLOWED_SENDERS, inert if unset, separate from guidance) Matrix
@warden report/!warden report-> source-scoped (chat:) incident via engine.emit; per-sender sliding-window rate limit; check_id always namespaced (chat-report/chat-report:) so it matches no runbook and reaches humans, never auto-remediation (chat reports do not even reach the remediator). Whole-branch review: APPROVE, no findings.