← Back to brief

feedback stay green discipline

memory · feedback_stay_green_discipline.md

Rule

Heartbeat status field is one of ok | partial | skipped | error per reference_heartbeat_schema.md. Never use YELLOW / RED / GREEN / other values — those are health-classification colors used by nightly-consolidation Section F, not heartbeat statuses.

Why: Joseph hardwired stay-green discipline 2026-05-02 PM. Non-actionable warnings were yellowing the system: soft-bounces (informational, mail will retry), connector-permission gaps when fallback paths work, off-cadence re-fires, known-acknowledged duplicate contacts. The system was YELLOW for noise rather than real signal. Stay-green policy: only flag partial when there's something the operator should actually act on.

How to apply (decision logic per skill)

Apply in order — first match wins:

1. error: skill couldn't complete primary mission (auth broken, file missing, helper crashed). errors array non-empty. Health classifies as RED.

2. skipped: nothing to do (no new data, preconditions not met, monthly budget hit). Health classifies as GREEN.

3. partial: completed BUT operator action is required. Reserve for:
- Real deliverability issues (hard_count > 0)
- Unmatched data needing manual reconciliation
- New unflagged drift (NOT already-acknowledged drift in a known-issues ledger)
- Stage-drift warnings that need operator review
- Failed remediation that shouldn't auto-retry

4. ok: everything else. Health classifies as GREEN.

What NOT to flag as partial

What goes in warnings array

Only items that genuinely warrant operator attention. Specifically:

warnings array non-empty → Section F classifies as YELLOW. So be disciplined about what goes in there.

What goes in metrics (numbers, not warnings)

Forensic precedent (2026-05-02 PM stay-green sweep)

Before the sweep, GC was YELLOW because:

After the sweep:

System target: GREEN baseline; YELLOW only when operator action is genuinely required; RED only when something is broken. Don't dilute the signal.

When operator says "stay green"

Don't gaslight by hiding real problems. Genuine RED conditions stay RED. Genuine YELLOW (operator-action-needed) stays YELLOW. The discipline is:

If you're tempted to suppress a real warning to "get to green", stop. Surface it explicitly to the operator — let them choose to acknowledge it via a known-issues ledger or fix it.