# Operational Issue Capture

`capture_issue(...)` is the single best-effort sink for provider and execution
issues. It resolves omitted `user_id`, `organization_id`, `conversation_id`,
and `request_id` from the active `AppContext` before detaching the database
write. Callers may override any identity explicitly, but request-scoped callers
must not restate identity already carried by the context.

`ops_issue_event.organization_id` is required. A real AI request therefore must
already have an organization on its `AppContext`; API boundaries own that
validation. Capture never guesses a tenant and never substitutes an unrelated
organization. A missing context remains loud because it is a broken execution
boundary, not an optional telemetry condition.
