ReMe/reme
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
..
components feat(docker): add container deployment and multi-platform release workflow (#582) 2026-10-03 23:54:58 +08:00
config feat(proactive): accept host delivery receipts 2026-10-16 11:09:54 +08:00
enumeration feat(Tag filter): Add an optional rebuildable tag index for file frontmatter (#517) 2026-09-07 15:52:17 +08:00
schema feat(proactive): accept host delivery receipts 2026-10-16 11:09:54 +08:00
steps feat(proactive): accept host delivery receipts 2026-10-16 11:09:54 +08:00
utils fix(agent): preserve Unicode separators in saved state (#594) 2026-10-05 11:25:37 +08:00
__init__.py chore: bump ReMe and OpenClaw versions (#549) 2026-09-15 18:29:25 +08:00
application.py feat(docker): add container deployment and multi-platform release workflow (#582) 2026-10-03 23:54:58 +08:00
constants.py feat(service): support explicit wildcard network binds (#547) 2026-09-15 14:26:33 +08:00
entry_point.py feat: simplify plugin setup and add management CLI (#485) 2026-08-23 17:58:20 +08:00
plugin.py feat: simplify plugin setup and add management CLI (#485) 2026-08-23 17:58:20 +08:00
plugin_cli.py feat: simplify plugin setup and add management CLI (#485) 2026-08-23 17:58:20 +08:00
plugin_manifest.py feat: simplify plugin setup and add management CLI (#485) 2026-08-23 17:58:20 +08:00
reme.py feat: simplify plugin setup and add management CLI (#485) 2026-08-23 17:58:20 +08:00