You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Make the anonymous-operator audit gate config-driven: add compliance.allow_anonymous_operator beside FORGELM_ALLOW_ANONYMOUS_OPERATOR #913
Whether the audit logger refuses to start when no operator identity resolves is decided only by the FORGELM_ALLOW_ANONYMOUS_OPERATOR=1 environment variable (read in AuditLogger.__init__, and again in doctor and approve). The config-driven principle keeps behaviour gates in validated YAML and environment variables for secrets. The PR #29 plan adds compliance.allow_anonymous_operator: bool = False, with YAML taking precedence and the variable kept as a CI fallback.
Condition or budget
None recorded. Settle #706 first: it proposes the opposite fix (documenting identity variables as permitted), which would make this row moot.
State today (re-checked 2026-10-09)
No allow_anonymous_operator field exists; AuditLogger takes no config, so the field has to be threaded through its call sites.
Related
#706 (CR-A13-063) — the competing fix; #714 (CR-A04-086) asks for one shared operator-identity helper.
The row is removed from the deferral table and the CHANGELOG names its ID (the table's removal contract).
Recorded in docs/roadmap/risks-and-decisions.md (read at f94595f) and re-checked against the code on 2026-10-09. The row leaves that table only when the fix is on main, the CHANGELOG names its ID and any promised guard exists.
Activity