ReMe/tests/unit
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
..
__init__.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
auto_resource_test_plugin.py feat(auto_resource): interpret image resources into daily notes (#500) 2026-09-07 12:00:38 +08:00
auto_resource_test_support.py feat(auto-resource): unify text and image auto-resource using agentwrapper (#555) 2026-09-23 10:20:35 +08:00
test_agent_state_io.py fix(agent): preserve Unicode separators in saved state (#594) 2026-10-05 11:25:37 +08:00
test_app_config_step.py feat: add workspace web APIs and star growth report (#416) 2026-08-05 18:03:37 +08:00
test_application_config.py feat: add entry-point plugin system and extract Auto Fin (#459) 2026-08-19 17:23:23 +08:00
test_as_embedding_lazy.py fix(embedding): isolate caches by vector space (#442) 2026-08-10 22:42:16 +08:00
test_as_llm_lazy.py feat(docker): add container deployment and multi-platform release workflow (#582) 2026-10-03 23:54:58 +08:00
test_auto_dream.py feat(docker): add container deployment and multi-platform release workflow (#582) 2026-10-03 23:54:58 +08:00
test_auto_image_steps.py feat(auto-resource): unify text and image auto-resource using agentwrapper (#555) 2026-09-23 10:20:35 +08:00
test_auto_memory_cc.py feat(evolve): tag auto-dream outputs (#538) 2026-09-11 14:08:29 +08:00
test_auto_memory_direct_images.py feat(auto-memory): add session image support (#532) 2026-09-20 15:35:00 +08:00
test_auto_resource_agent_inputs.py feat(auto-resource): unify text and image auto-resource using agentwrapper (#555) 2026-09-23 10:20:35 +08:00
test_auto_resource_batch_lookup.py feat(auto-resource): unify text and image auto-resource using agentwrapper (#555) 2026-09-23 10:20:35 +08:00
test_auto_resource_review_regressions.py feat(auto-resource): unify text and image auto-resource using agentwrapper (#555) 2026-09-23 10:20:35 +08:00
test_auto_tag.py feat: auto-tag plugin-generated reports (#534) 2026-09-11 11:52:52 +08:00
test_background_steps.py chore(ci): harden and split workflows (#539) 2026-09-11 18:21:49 +08:00
test_base_agent_wrapper.py feat: refine local-first research and memory workflows (#444) 2026-08-11 23:32:34 +08:00
test_base_component.py feat(core): support live component replacement (#505) 2026-08-28 16:04:02 +08:00
test_bm25_live_length.py perf(bm25): maintain live document length incrementally (#590) 2026-10-03 22:38:11 +08:00
test_cc_agent_wrapper.py feat(evaluation): track job calls and agent token usage in benchmarks (#406) 2026-08-04 11:42:18 +08:00
test_codex_agent_wrapper.py feat(auto-resource): unify text and image auto-resource using agentwrapper (#555) 2026-09-23 10:20:35 +08:00
test_common_steps.py feat: add frontend-ready wikilink graph APIs (#414) 2026-08-05 16:45:50 +08:00
test_component_registry.py feat: add entry-point plugin system and extract Auto Fin (#459) 2026-08-19 17:23:23 +08:00
test_compressor_step.py feat(benchmark): enhance session memory retrieval and isolate benchmark assets (#409) 2026-08-05 19:23:42 +08:00
test_config_parser.py feat(jobs): add a unified enabled switch for all job types (#580) 2026-09-30 18:30:36 +08:00
test_cookbook_config.py refactor(auto-fin): one note per topic, merged by a separate digest step (#558) 2026-09-20 14:52:56 +08:00
test_crud_steps.py fix(file_io): auto appending suffix for all related steps (#430) 2026-08-11 11:09:28 +08:00
test_daily_note_links.py feat(auto_resource): reuse parsed resource ownership per batch (#529) 2026-09-14 16:55:42 +08:00
test_daily_steps.py fix(auto-memory): preserve message timestamps (#310) 2026-07-01 17:15:07 +08:00
test_default_file_chunker.py fix(index): tolerate invalid text encoding (#490) 2026-08-26 16:16:26 +08:00
test_docker_runtime.py feat(docker): add container deployment and multi-platform release workflow (#582) 2026-10-03 23:54:58 +08:00
test_embedded_consumer_compat.py feat(docker): add container deployment and multi-platform release workflow (#582) 2026-10-03 23:54:58 +08:00
test_evaluation_interface.py feat(evaluation): track job calls and agent token usage in benchmarks (#406) 2026-08-04 11:42:18 +08:00
test_evolve_utils.py feat: auto-tag plugin-generated reports (#534) 2026-09-11 11:52:52 +08:00
test_faiss_index_maintenance.py feat(tags): add configurable tag indexing and filtered hybrid search (#530) 2026-09-10 18:01:09 +08:00
test_file_catalog.py feat(core): support live component replacement (#505) 2026-08-28 16:04:02 +08:00
test_file_graph.py fix(persistence): avoid duplicate index dumps (#489) 2026-08-26 16:51:00 +08:00
test_file_store_consistency.py feat(tags): add configurable tag indexing and filtered hybrid search (#530) 2026-09-10 18:01:09 +08:00
test_frontmatter_steps.py refactor(auto-fin): one note per topic, merged by a separate digest step (#558) 2026-09-20 14:52:56 +08:00
test_graph_snapshot_step.py feat: add frontend-ready wikilink graph APIs (#414) 2026-08-05 16:45:50 +08:00
test_hermes_agent_integration.py fix(hermes): preserve profile context and reset invalid provider state (#554) 2026-09-16 16:01:15 +08:00
test_http_client.py feat(service): support explicit wildcard network binds (#547) 2026-09-15 14:26:33 +08:00
test_http_web_workspace.py feat(jobs): add a unified enabled switch for all job types (#580) 2026-09-30 18:30:36 +08:00
test_injected_job_kwargs.py feat: auto-tag plugin-generated reports (#534) 2026-09-11 11:52:52 +08:00
test_job.py feat(jobs): add a unified enabled switch for all job types (#580) 2026-09-30 18:30:36 +08:00
test_json_file_chunker.py refactor(agent): unify agent subprocess env, sessions, skills, and MCP/service jobs (#382) 2026-07-20 23:52:14 +08:00
test_jsonl_file_chunker.py feat: add Auto Fin cookbook and managed outbound proxy support (#392) 2026-07-25 18:09:39 +08:00
test_keyword_index.py feat(tags): add configurable tag indexing and filtered hybrid search (#530) 2026-09-10 18:01:09 +08:00
test_line_anchor.py feat: simplify wikilink semantics and support line anchors (#412) 2026-08-05 11:47:50 +08:00
test_link_expansion.py feat: simplify wikilink semantics and support line anchors (#412) 2026-08-05 11:47:50 +08:00
test_local_embedding_store.py fix(embedding): retry 429 rate-limit errors instead of dropping the batch (#525) 2026-09-07 14:31:48 +08:00
test_logging_config.py feat: add Auto Fin cookbook and managed outbound proxy support (#392) 2026-07-25 18:09:39 +08:00
test_logo_utils.py feat(service): support explicit wildcard network binds (#547) 2026-09-15 14:26:33 +08:00
test_markdown_file_chunker.py fix(index): tolerate invalid text encoding (#490) 2026-08-26 16:16:26 +08:00
test_mcp_client.py feat(service): support explicit wildcard network binds (#547) 2026-09-15 14:26:33 +08:00
test_outbound_proxy.py feat: add Auto Fin cookbook and managed outbound proxy support (#392) 2026-07-25 18:09:39 +08:00
test_package_versions.py feat(plugins): extract DingTalk integration (#551) 2026-09-15 20:05:52 +08:00
test_packaging.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
test_path_permission.py feat(Step tools): add white/black path prefix permission filtering to read, edit, write (#391) 2026-07-27 17:20:21 +08:00
test_plugin.py Separate benchmark judge plugins (#535) 2026-09-10 20:16:46 +08:00
test_plugin_cli.py fix(release): harden embedding store and plugins for ReMe 0.4.1.9 (#503) 2026-08-28 11:35:04 +08:00
test_proactive_feedback.py feat(proactive): accept host delivery receipts 2026-10-16 11:09:54 +08:00
test_proactive_refresh.py feat(proactive): accept host delivery receipts 2026-10-16 11:09:54 +08:00
test_prompt_handler.py fix(prompt): default omitted conditional flags to false (#424) 2026-08-06 16:22:59 +08:00
test_read_image_steps.py docs: rename vault_dir to workspace_dir in documentation and examples (#286) 2026-06-22 16:58:57 +08:00
test_read_with_neighbors.py feat: simplify wikilink semantics and support line anchors (#412) 2026-08-05 11:47:50 +08:00
test_reindex.py feat(Tag filter): Add an optional rebuildable tag index for file frontmatter (#517) 2026-09-07 15:52:17 +08:00
test_reme_cli.py feat: simplify plugin setup and add management CLI (#485) 2026-08-23 17:58:20 +08:00
test_runtime_context.py feat(benchmark): add lme benchmark steps (#326) 2026-07-07 18:53:39 +09:00
test_search_step.py refactor(auto-fin): one note per topic, merged by a separate digest step (#558) 2026-09-20 14:52:56 +08:00
test_service.py feat(jobs): add a unified enabled switch for all job types (#580) 2026-09-30 18:30:36 +08:00
test_service_utils.py feat(docker): add container deployment and multi-platform release workflow (#582) 2026-10-03 23:54:58 +08:00
test_shell_step.py feat(core): add shell execution and runtime memory status (#344) 2026-07-14 16:31:41 +08:00
test_source_format_merge.py refactor: derive dialog paths from session_dir (#421) 2026-08-06 17:07:14 +08:00
test_status_step.py fix: skip dependency bindings in status memory walk (#510) 2026-08-31 16:24:41 +08:00
test_tag_index.py feat: auto-tag plugin-generated reports (#534) 2026-09-11 11:52:52 +08:00
test_token_usage.py feat(evaluation): track job calls and agent token usage in benchmarks (#406) 2026-08-04 11:42:18 +08:00
test_tokenizer.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
test_tushare.py refactor: rebuild auto-fin and daily-paper cookbooks on structured-output agents (#432) 2026-08-07 23:53:14 +08:00
test_utils.py feat(evaluation): track job calls and agent token usage in benchmarks (#406) 2026-08-04 11:42:18 +08:00
test_wikilink_utils.py feat: simplify wikilink semantics and support line anchors (#412) 2026-08-05 11:47:50 +08:00
test_workspace_web_steps.py feat(backend): improve workspace support for web clients (#420) 2026-08-07 23:52:56 +08:00
test_write_metadata_lock.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
test_zvec_file_store.py feat(tags): add configurable tag indexing and filtered hybrid search (#530) 2026-09-10 18:01:09 +08:00