ReMe/tests
imrewce a0f66c1779 feat(proactive): accept host delivery receipts
The refresh chain decides what is worth proposing but cannot know what the
host actually surfaced. Let a host agent report an agenda item back, so the
next round withholds it instead of proposing the same thing twice.

- proactive_feedback job: zero-LLM intake, idempotent upsert keyed on
  (topic_id, external_ref) and falling back to (topic_id, agenda_date,
  channel); status only moves forward out of a terminal value, and a failed
  report never blocks a retry
- truth source: optional ``deliveries`` section in daily/_proactive.yaml,
  trimmed by retention_days then max_deliveries, and salvaged entry by entry
  with the rest of the file
- reader side: proactive_read withholds agenda items inside
  delivery_cooldown_days and returns delivered_ids so a caller can see the
  suppression instead of guessing; include_delivered opts out
- agenda side: a reported candidate leaves the set before reminders are
  pinned and before the editor call, so the cooldown cannot be argued away
  by narrative coherence, and it is suppressed with an auditable
  "already delivered ..." reason
- tests: receipt intake, reader-side withholding and agenda-side suppression,
  each paired with an empty-deliveries no-change case, plus a round-trip of
  the report shape a consumer actually sends

Reporting stays optional: a host that never calls proactive_feedback keeps an
empty deliveries section and sees no behaviour change.
2026-10-16 11:09:54 +08:00
..
fixtures/config fix(ci): support AgentScope 2.0.6 initialization (#457) 2026-08-19 11:33:52 +08:00
integration feat(auto-resource): unify text and image auto-resource using agentwrapper (#555) 2026-09-23 10:20:35 +08:00
unit feat(proactive): accept host delivery receipts 2026-10-16 11:09:54 +08:00