hermes-agent/tests/plugins
ethernet c0bd7fca68 test: deflake hindsight prefetch op-completion tests
TestPrefetchServerRetainVisibility polled the mocked op-status endpoint at
the production _RETAIN_OP_POLL_INTERVAL_S of 0.5s, so each test burned ~1s
of real sleep plus a cross-thread hop to the shared hindsight event loop per
poll — all inside a 5.0s join on the background prefetch thread. On a busy
runner that thread is exactly what gets starved, so it outlived the join and
the assertion saw an empty order list: assert [] == ['recall'].

collapse the interval to 0.01s in these tests (against an AsyncMock there is
no server to be polite to) and route the joins through a helper that asserts
the thread actually finished, so a genuine wedge reports itself instead of
surfacing as a confusing empty-list mismatch.

also drop the two wall-clock assertions that measured runner load rather than
the contract under test: the drain-budget bound goes from 3.0s to budget+10s,
and the eviction test now asserts the status endpoint saw no further calls
(the actual "dropped ops aren't re-polled" contract) instead of timing the
second prefetch at <0.25s.

reproduced by pinning the tests to one core against N spinners on that same
core: at 16x oversubscription pre-fix failed 3/3 and post-fix passed 3/3.
class wall time drops 1.45s -> 0.44s for the recall test.
2026-08-05 00:22:10 -04:00
..
browser test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
dashboard_auth fix(dashboard): set headers for Nous JWKS requests 2026-07-31 10:17:30 -04:00
image_gen test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
memory test: deflake hindsight prefetch op-completion tests 2026-08-05 00:22:10 -04:00
model_providers test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
platforms test: importorskip discord.py in the slash-gate isolation test 2026-08-01 10:51:42 -07:00
transcription
tts
video_gen test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
web test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
__init__.py
test_a2a_phase23.py fix(a2a): JSON-RPC conformance for a2a-sdk 1.1.0 compatibility 2026-08-02 15:10:15 -07:00
test_a2a_plugin.py fix(a2a): JSON-RPC conformance for a2a-sdk 1.1.0 compatibility 2026-08-02 15:10:15 -07:00
test_achievements_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_chronos_cron.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_chronos_verify.py fix(cron): set headers for chronos JWKS requests 2026-07-31 10:17:30 -04:00
test_discord_runtime_failure.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_disk_cleanup_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_google_meet_audio.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_google_meet_node.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_google_meet_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_google_meet_realtime.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_hindsight_health_grace_timeout.py
test_hindsight_root_guard.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_holographic_vector_storage.py fix(memory): resolve dim=1 float32/float64 blob ambiguity 2026-08-02 22:33:13 +05:30
test_kanban_attachments.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_kanban_board_project_api.py feat(kanban): scope boards to a project 2026-07-30 07:18:08 -05:00
test_kanban_dashboard_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_kanban_estimate.py feat(kanban): task effort estimate via the auxiliary model 2026-07-30 07:18:08 -05:00
test_kanban_model_override.py feat(kanban): expose the per-task reasoning effort over REST 2026-08-01 16:10:03 -05:00
test_kanban_worker_runs.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_langfuse_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_nemo_relay_plugin.py Merge remote-tracking branch 'origin/main' into feat/hermes-relay-model-metrics 2026-07-30 11:12:51 -07:00
test_plugin_dashboard_auth_contract.py
test_raft_check_fn_silent.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_retaindb_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_security_guidance_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_teams_pipeline_plugin.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00