ReMe/tests/unit
imrewce 354837f9af
feat(proactive): separate proactive refresh from auto dream (#488)
* refractor(proactive): upgrade proactive feature with disentangled job and steps

* refactor(proactive): apply audit fixes

- rename read-side job 'proactive' -> 'proactive_read' (less confusing vs the refresh pipeline)
- drop dedicated agent_wrapper.proactive; extraction reuses the default wrapper
- simplify schema: remove unused ProactiveExtractOutput/TopicUpdate, drop resource_paths
- extract no longer scans resource/ directly (daily notes already carry resource content)
- update tests and docs accordingly

* feat(proactive): strict extract-output gate and prompt total budget

- parse_extract_reply now requires a contract section (follow_ups/extends/updates
  as a list); non-empty replies with misspelled section names trigger the
  existing one-shot retry instead of silently checkpointing changed files
- pack_paths gains max_total_chars; extract packs newest daily material first,
  keeps the first file on overflow, and records omitted files in a trailer
  (default budget 300000 chars, configurable via max_total_chars)
- tests: schema gate unit, schema-error retry e2e, budget unit + e2e

* feat(proactive): add scenario-card plan step and generative agenda step

* feat(proactive): digest-personal profile personalization and leaner LLM contract

- extract/plan/agenda now draw a user profile block from <digest_dir>/personal/*.md
  (frontmatter description + body excerpt, per-file budget, profile.md fallback)
- all daily access honours the configured daily_dir (prompt paths parameterized,
  config-driven fallbacks) so workspaces using e.g. memory/ work unchanged
- schema trim: drop dead fields errors/material_paths, carry_forward_all -> count
- shrink LLM output contract: new topics emit title/reason/confidence/paths only;
  keywords removed end-to-end, evidence derived from paths[0] (updates keep it)

* fix(proactive): skip checkpoint when extract reply stays unusable after retry

Two consecutive unparseable replies now short-circuit the round without
checkpointing, so the same material is retried next round instead of being
silently consumed (closes the residual audit #1 gap: the structural gate
detected schema-wrong output but a double failure still checkpointed).

* fix(proactive): replace running bool with reference-counted job activity tracker for the idle gate

* refactor(proactive): remove job activity tracking and idle gate, restore job tree to upstream

* fix(proactive): address second audit round (readonly reader, mtime checkpoint, wider fallbacks, profile containment, horizon content, expiry boundary)

* refactor(dream): strip interests.yaml ownership from dream, proactive is now the sole writer

* refactor(dream): separate proactive topic generation

* ci: update renamed auto dream smoke test

* fix(proactive): complete refresh migration and docs

---------

Co-authored-by: jinli.yl <jinli.yl@alibaba-inc.com>
2026-09-07 17:23:37 +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): interpret image resources into daily notes (#500) 2026-09-07 12:00:38 +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_auto_dream.py feat(proactive): separate proactive refresh from auto dream (#488) 2026-09-07 17:23:37 +08:00
test_auto_image_steps.py feat(auto_resource): interpret image resources into daily notes (#500) 2026-09-07 12:00:38 +08:00
test_auto_memory_cc.py refactor(agent): unify agent subprocess env, sessions, skills, and MCP/service jobs (#382) 2026-07-20 23:52:14 +08:00
test_auto_resource_review_regressions.py feat(auto_resource): interpret image resources into daily notes (#500) 2026-09-07 12:00:38 +08:00
test_background_steps.py feat(Tag filter): Add an optional rebuildable tag index for file frontmatter (#517) 2026-09-07 15:52:17 +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_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(evaluation): track job calls and agent token usage in benchmarks (#406) 2026-08-04 11:42:18 +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(proactive): separate proactive refresh from auto dream (#488) 2026-09-07 17:23:37 +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_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_dingtalk_wait.py fix(release): harden embedding store and plugins for ReMe 0.4.1.9 (#503) 2026-08-28 11:35:04 +08:00
test_embedded_consumer_compat.py feat(core): support live component replacement (#505) 2026-08-28 16:04:02 +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(Tag filter): Add an optional rebuildable tag index for file frontmatter (#517) 2026-09-07 15:52:17 +08:00
test_faiss_index_maintenance.py feat(faiss_file_store): upgrade FAISS to HNSW index with async reindex (#390) 2026-07-27 19:54:38 +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(Tag filter): Add an optional rebuildable tag index for file frontmatter (#517) 2026-09-07 15:52:17 +08:00
test_frontmatter_steps.py fix(file_io): auto appending suffix for all related steps (#430) 2026-08-11 11:09:28 +08:00
test_graph_snapshot_step.py feat: add frontend-ready wikilink graph APIs (#414) 2026-08-05 16:45:50 +08:00
test_http_client.py feat(benchmark): add lme benchmark steps (#326) 2026-07-07 18:53:39 +09:00
test_http_web_workspace.py feat(service): expose MCP through HTTP backend (#498) 2026-08-27 17:23:11 +08:00
test_injected_job_kwargs.py feat(Tag filter): Add an optional rebuildable tag index for file frontmatter (#517) 2026-09-07 15:52:17 +08:00
test_job.py feat(core): support live component replacement (#505) 2026-08-28 16:04:02 +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 fix(index): make embedding rebuild explicit and scoped (#508) 2026-08-28 23:25:17 +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): expose MCP through HTTP backend (#498) 2026-08-27 17:23:11 +08:00
test_markdown_file_chunker.py fix(index): tolerate invalid text encoding (#490) 2026-08-26 16:16:26 +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 ci(deps): automate AgentScope updates (#504) 2026-08-28 13:27:21 +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 feat(benchmark): extract BEAM and LongMemEval into standalone plugins (#512) 2026-09-03 14:06:39 +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_refresh.py feat(proactive): separate proactive refresh from auto dream (#488) 2026-09-07 17:23:37 +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 feat(benchmark): extract BEAM and LongMemEval into standalone plugins (#512) 2026-09-03 14:06:39 +08:00
test_service.py refactor(agent): unify agent subprocess env, sessions, skills, and MCP/service jobs (#382) 2026-07-20 23:52:14 +08:00
test_service_utils.py feat: add entry-point plugin system and extract Auto Fin (#459) 2026-08-19 17:23:23 +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(Tag filter): Add an optional rebuildable tag index for file frontmatter (#517) 2026-09-07 15:52:17 +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(file_store): add ZvecLocalFileStore backend (#410) 2026-08-05 22:08:30 +08:00