Production noise fix (kof22): the alerts-sink drain thread runs engine work through AlertsRuntime.asSystem without a QContext. AlertsSecurity.systemSession() called new QSystemUserSession(), which read a null instance. Every call logged the WARN "QInstance was not supplied when creating a QSystemUserSession", and the session had no core all-access keys.
New AlertsSecurity.systemSession(QInstance). asSystem passes the runtime's instance. The no-arg form now delegates using the context instance.
AlertsSystemSessionTest: asSystem with an empty QContext runs as the system user and logs no warning. It failed before this change.
./mvnw verify passes locally. The matching core fix for the qqq-jobs-sched-* threads is QRun-IO/qqq#1222. Merging with release:rc cuts the next RC.
Production noise fix (kof22): the `alerts-sink` drain thread runs engine work through `AlertsRuntime.asSystem` without a QContext. `AlertsSecurity.systemSession()` called `new QSystemUserSession()`, which read a null instance. Every call logged the WARN "QInstance was not supplied when creating a QSystemUserSession", and the session had no core all-access keys.
- New `AlertsSecurity.systemSession(QInstance)`. `asSystem` passes the runtime's instance. The no-arg form now delegates using the context instance.
- `AlertsSystemSessionTest`: `asSystem` with an empty QContext runs as the system user and logs no warning. It failed before this change.
`./mvnw verify` passes locally. The matching core fix for the `qqq-jobs-sched-*` threads is QRun-IO/qqq#1222. Merging with `release:rc` cuts the next RC.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Production noise fix (kof22): the
alerts-sinkdrain thread runs engine work throughAlertsRuntime.asSystemwithout a QContext.AlertsSecurity.systemSession()callednew QSystemUserSession(), which read a null instance. Every call logged the WARN "QInstance was not supplied when creating a QSystemUserSession", and the session had no core all-access keys.AlertsSecurity.systemSession(QInstance).asSystempasses the runtime's instance. The no-arg form now delegates using the context instance.AlertsSystemSessionTest:asSystemwith an empty QContext runs as the system user and logs no warning. It failed before this change../mvnw verifypasses locally. The matching core fix for theqqq-jobs-sched-*threads is QRun-IO/qqq#1222. Merging withrelease:rccuts the next RC.🤖 Generated with Claude Code