Skip to content

Record ignore_actors refusals so ignored spam is auditable - #21

Open
varunsood189 wants to merge 1 commit into
theschoolofai:mainfrom
varunsood189:fix/record-ignore-actors-refusals
Open

varunsood189 wants to merge 1 commit into
theschoolofai:mainfrom
varunsood189:fix/record-ignore-actors-refusals

Conversation

@varunsood189

Copy link
Copy Markdown

Summary

Subscription ignore_actors dropped matching events quietly. No refusal was written and no decision appeared in the overnight report, so deliberate ignores looked like silence.

This PR records an ignore_actors refusal + decision (with reason) and returns ignored in the process outcome, without starting an agent.

What was broken

  1. Actor on ignore_actors was filtered out with no ledger entry.
  2. Morning report / refusals could not show why spam was ignored.
  3. Other controls (self_trigger, budgets, etc.) already recorded refusals — ignore_actors did not.

Fix

  • File: s16code/events/engine.py
  • On ignore_actors match: record_refusal(control="ignore_actors", ...), add_decision(...), include in decisions, set ignored count.
  • No agent / relevance LLM call for ignored actors.

Proof

Check Result
Unit uv run pytest tests/test_autonomous_events.py::test_ignore_actors_are_recorded_and_do_not_start_agents -q → passed
Behavior ignored actor never reaches relevance gate; refusals[0].control == "ignore_actors"

Diff is only engine + test. No .env, tokens, or real channel traffic.

Test plan

  • uv run pytest tests/test_autonomous_events.py::test_ignore_actors_are_recorded_and_do_not_start_agents -q
  • Confirm ignored actor does not start an agent
  • Confirm refusal control is ignore_actors and reason names the actor
  • Confirm PR files are only:
    • s16code/events/engine.py
    • tests/test_autonomous_events.py

Made with Cursor

Previously listed actors were dropped quietly with no refusal or decision, so the overnight report could not show why spam was ignored.

Co-authored-by: Cursor <cursoragent@cursor.com>
@theschoolofai

Copy link
Copy Markdown
Owner

Session 16 — graded ✅

Score: +100.

ignore_actors refusals were dropped rather than recorded, so the loop-protection the session teaches left no audit trail. An assistant that ignores something must be able to show it did.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants