hermes-agent/tests
Teknium 3c070f9f9d
fix(curator): only mark agent-created for background-review sediment (#19621)
Tighten the provenance semantics added in #19618: skills a user asks a
foreground agent to write via skill_manage(create) now stay invisible to
the curator. Only skills the background self-improvement review fork
sediments through skill_manage get the created_by=agent marker.

- tools/skill_provenance.py — new ContextVar module mirroring the
  _approval_session_key pattern: set_current_write_origin / reset /
  get / is_background_review. Default origin is 'foreground'; the
  review fork sets 'background_review'.
- run_agent.py — run_conversation() binds the ContextVar from
  self._memory_write_origin at the top of each call. The review fork
  runs on its own thread (fresh context), so foreground and review
  contexts never cross-contaminate.
- tools/skill_manager_tool.py — skill_manage(action='create') now
  only calls mark_agent_created() when is_background_review(). All
  other cases (foreground create, patch, edit, write_file, delete)
  continue as before.
- tests: test_skill_provenance.py (6 tests covering the ContextVar
  surface), split test_full_create_via_dispatcher into foreground
  vs. review-fork variants, curator status tests now mark-first.

Why: the agent routinely edits existing user skills on the user's
behalf; those writes must never flip provenance. And when a user
explicitly asks the foreground agent to create a skill, that skill
belongs to the user. The curator should only be cleaning up after
its own autonomous sediment from the review nudge loop.
2026-05-04 02:42:16 -07:00
..
acp
…
acp_adapter
…
agent fix(skills): keep manual skills out of curator 2026-05-04 02:19:28 -07:00
cli fix(cli): local backend CLI always uses launch directory, stops .env sync of TERMINAL_CWD (#19334) 2026-05-04 11:36:19 +05:30
cron test(cron): cover null next_run_at recovery and non-dict origin tolerance 2026-05-04 01:32:58 -07:00
e2e fix(gateway): move quick-command dispatch before built-in handlers 2026-05-04 01:39:23 -07:00
environments/benchmarks
…
fakes
…
gateway fix: inherit reasoning config in API server runs 2026-05-04 01:44:16 -07:00
hermes_cli fix(curator): only mark agent-created for background-review sediment (#19621) 2026-05-04 02:42:16 -07:00
hermes_state
…
honcho_plugin
…
integration
…
openviking_plugin
…
plugins
…
run_agent fix(run_agent): gate iteration-limit provider routing to OpenRouter 2026-05-04 01:45:59 -07:00
skills
…
stress
…
tools fix(curator): only mark agent-created for background-review sediment (#19621) 2026-05-04 02:42:16 -07:00
tui_gateway
…
website
…
__init__.py
…
conftest.py
…
run_interrupt_test.py
…
test_account_usage.py
…
test_atomic_replace_symlinks.py
…
test_base_url_hostname.py
…
test_batch_runner_checkpoint.py
…
test_cli_file_drop.py
…
test_cli_manual_compress.py
…
test_cli_skin_integration.py
…
test_ctx_halving_fix.py
…
test_empty_model_fallback.py
…
test_evidence_store.py
…
test_get_tool_definitions_cache_isolation.py
…
test_hermes_constants.py
…
test_hermes_home_profile_warning.py
…
test_hermes_logging.py
…
test_hermes_state.py
…
test_honcho_client_config.py
…
test_install_sh_setup_wizard_tty_probe.py
…
test_ipv4_preference.py
…
test_mcp_serve.py
…
test_mini_swe_runner.py
…
test_minimax_model_validation.py
…
test_minimax_oauth.py
…
test_minisweagent_path.py
…
test_model_picker_scroll.py
…
test_model_tools.py
…
test_model_tools_async_bridge.py
…
test_ollama_num_ctx.py
…
test_packaging_metadata.py
…
test_plugin_skills.py
…
test_project_metadata.py
…
test_retry_utils.py
…
test_sql_injection.py
…
test_subprocess_home_isolation.py
…
test_timezone.py
…
test_toolset_distributions.py
…
test_toolsets.py
…
test_trajectory_compressor.py
…
test_trajectory_compressor_async.py
…
test_transform_tool_result_hook.py
…
test_tui_gateway_server.py
…
test_utils_truthy_values.py
…
test_yuanbao_integration.py
…
test_yuanbao_markdown.py
…
test_yuanbao_pipeline.py
…
test_yuanbao_proto.py
…