← Back to brief

feedback no operator blame in external surfaces

memory · feedback_no_operator_blame_in_external_surfaces.md

Rule

External surfaces include:

Operator-private logs that may keep forensic detail:

Why

A reader sees the marker and immediately knows something is being hidden, which is worse than the original leak. The discipline is invisible scrub: drop the entire sentence / bullet / JSON field, so the file reads naturally with no breadcrumb.

How to apply

Every writer that emits to an external surface must route its final output through incident_commentary_filter.sanitize_for_external_surface():

python
from incident_commentary_filter import (
    sanitize_for_external_surface,
    should_skip_field,
    sanitize_dict,
)

For free-form text (markdown, brief body, advisory copy)

body = sanitize_for_external_surface(body)

For dict / JSON output — drops sentence-level commentary AND

entire key/value pairs whose key is incident-class metadata

clean = sanitize_dict(report_dict)

For per-field JSON building

if should_skip_field("operator_side_defect_noted", value): pass # do not emit else: out[field_name] = value

The filter strips entire sentences (not the matching phrase only) when it finds operator-blame language — so the surrounding prose flows naturally with no gap.

Wired into

Phrase classes the filter strips

Each match removes the entire sentence containing it:

Full phrase catalog in ~/Library/Application Support/SkyRun/incident_commentary_filter.py::OPERATOR_BLAME_PATTERNS.

Field-name drops (for JSON writers)

Any key matching these gets DROPPED (not emitted with a sanitized value):

SUSPICIOUS_FIELD_NAMES: operator_side_defect_noted, operator_side_defect, operator_triage_owed, bracket_leak_scrub_status, anomaly, anomaly_detail, _redacted.

Precedent — 2026-05-13

Joseph flagged: "Those markers ARE the callout — they scream 'something incriminating happened here that we covered up.' Worse than the original in some ways." Invisible-scrub re-pass + writer-side prevention shipped same day.