hermes-plugin-qdrant-memory 0.5.2__tar.gz → 0.5.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. {hermes_plugin_qdrant_memory-0.5.2/hermes_plugin_qdrant_memory.egg-info → hermes_plugin_qdrant_memory-0.5.4}/PKG-INFO +23 -17
  2. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/README.md +22 -16
  3. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/docs/local-embedding.md +3 -3
  4. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4/hermes_plugin_qdrant_memory.egg-info}/PKG-INFO +23 -17
  5. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/hermes_plugin_qdrant_memory.egg-info/SOURCES.txt +6 -0
  6. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/pyproject.toml +1 -1
  7. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/cli.py +296 -195
  8. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/config.py +21 -9
  9. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/config_schema.py +23 -4
  10. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/dedupe.py +14 -7
  11. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/event_quarantine.py +43 -25
  12. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/ledger.py +126 -90
  13. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/managed_setup.py +5 -5
  14. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/migration.py +94 -45
  15. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/native_owner.py +112 -62
  16. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/owner_lifecycle.py +83 -60
  17. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/owner_llm.py +61 -39
  18. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/plugin.yaml +1 -1
  19. hermes_plugin_qdrant_memory-0.5.4/qdrant_memory/provider.py +1410 -0
  20. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/qdrant_store.py +53 -34
  21. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/quality_metrics.py +126 -74
  22. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/remote_client.py +126 -97
  23. hermes_plugin_qdrant_memory-0.5.4/qdrant_memory/remote_gateway.py +444 -0
  24. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/reset.py +4 -3
  25. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/runtime.py +148 -102
  26. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/shared_client.py +28 -26
  27. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/shared_reader.py +37 -24
  28. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/shared_recall.py +85 -46
  29. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/shared_service.py +356 -249
  30. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/standalone.py +140 -105
  31. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/version.py +1 -1
  32. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/scripts/demo.sh +1 -1
  33. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/security/test_shared_security.py +6 -3
  34. hermes_plugin_qdrant_memory-0.5.4/tests/soak/test_harness.py +334 -0
  35. hermes_plugin_qdrant_memory-0.5.4/tests/soak/test_invariants.py +676 -0
  36. hermes_plugin_qdrant_memory-0.5.4/tests/soak/test_supervisor.py +169 -0
  37. hermes_plugin_qdrant_memory-0.5.4/tests/soak/test_workflow_gates.py +393 -0
  38. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_device_grants.py +2 -1
  39. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_event_quarantine.py +2 -1
  40. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_event_quarantine_security.py +8 -4
  41. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_owner_events.py +6 -3
  42. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_owner_lifecycle.py +4 -2
  43. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_owner_llm.py +6 -6
  44. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_remote_client.py +2 -1
  45. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_remote_gateway.py +2 -1
  46. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_remote_retry_contract.py +15 -9
  47. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_reset_receipts.py +2 -1
  48. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_shared_evaluation.py +2 -1
  49. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_shared_reader.py +16 -10
  50. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_checkpoint_lifecycle.py +30 -0
  51. hermes_plugin_qdrant_memory-0.5.4/tests/test_cross_process_lifecycle_recovery.py +193 -0
  52. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_dependency_inputs.py +22 -11
  53. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_dependency_security.py +3 -1
  54. hermes_plugin_qdrant_memory-0.5.4/tests/test_initialization_failures.py +391 -0
  55. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_input_validation.py +2 -1
  56. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_inventory_export.py +92 -78
  57. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_maintenance.py +14 -7
  58. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_migration_progress.py +2 -1
  59. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_native_owner.py +27 -8
  60. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_native_unadmitted.py +4 -2
  61. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_openrouter_http.py +2 -1
  62. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_openrouter_models.py +2 -1
  63. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_openrouter_preflight.py +2 -1
  64. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_openrouter_runner.py +6 -3
  65. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_openrouter_workflow.py +2 -1
  66. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_provider.py +32 -1
  67. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_quality_metrics.py +4 -2
  68. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_quality_profiles.py +4 -2
  69. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_readme_release_contract.py +2 -2
  70. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_remote_qdrant.py +94 -1
  71. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_reset_recovery.py +16 -8
  72. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_review_regressions.py +25 -9
  73. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_setup_contract.py +2 -1
  74. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_shared_recall.py +11 -5
  75. hermes_plugin_qdrant_memory-0.5.4/tests/test_shutdown_contract.py +357 -0
  76. hermes_plugin_qdrant_memory-0.5.4/tests/test_writer_ownership.py +318 -0
  77. hermes_plugin_qdrant_memory-0.5.2/qdrant_memory/provider.py +0 -753
  78. hermes_plugin_qdrant_memory-0.5.2/qdrant_memory/remote_gateway.py +0 -338
  79. hermes_plugin_qdrant_memory-0.5.2/tests/test_shutdown_contract.py +0 -100
  80. hermes_plugin_qdrant_memory-0.5.2/tests/test_writer_ownership.py +0 -168
  81. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/LICENSE +0 -0
  82. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/MANIFEST.in +0 -0
  83. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/hermes_plugin_qdrant_memory.egg-info/dependency_links.txt +0 -0
  84. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/hermes_plugin_qdrant_memory.egg-info/entry_points.txt +0 -0
  85. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/hermes_plugin_qdrant_memory.egg-info/requires.txt +0 -0
  86. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/hermes_plugin_qdrant_memory.egg-info/top_level.txt +0 -0
  87. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/__init__.py +0 -0
  88. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/embedding.py +0 -0
  89. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/extraction.py +0 -0
  90. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/inventory.py +0 -0
  91. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/local_embedding.py +0 -0
  92. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/local_model.py +0 -0
  93. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/mcp_server.py +0 -0
  94. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/models.py +0 -0
  95. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/ownership.py +0 -0
  96. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/policy_admin.py +0 -0
  97. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/private_paths.py +0 -0
  98. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/progress.py +0 -0
  99. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/remote_protocol.py +0 -0
  100. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/retry.py +0 -0
  101. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/shared_protocol.py +0 -0
  102. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/shared_security.py +0 -0
  103. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/shared_state.py +0 -0
  104. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/qdrant_memory/tools.py +0 -0
  105. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/requirements-local.txt +0 -0
  106. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/requirements.txt +0 -0
  107. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/setup.cfg +0 -0
  108. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/__init__.py +0 -0
  109. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/conftest.py +0 -0
  110. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/helpers.py +0 -0
  111. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/local_model/test_acceptance.py +0 -0
  112. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/remote/fixture.py +0 -0
  113. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/security/__init__.py +0 -0
  114. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/security/test_cloud_owner.py +0 -0
  115. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/security/test_cloud_owner_cleanup.py +0 -0
  116. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/security/test_device_server.py +0 -0
  117. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/security/test_shared_security_live.py +0 -0
  118. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/__init__.py +0 -0
  119. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_admission_control.py +0 -0
  120. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_explicit_writes.py +0 -0
  121. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_managed_setup.py +0 -0
  122. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_owner_context.py +0 -0
  123. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_owner_diagnostics.py +0 -0
  124. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_policy_admin.py +0 -0
  125. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_public_api.py +0 -0
  126. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_remote_listener.py +0 -0
  127. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_remote_listener_options.py +0 -0
  128. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_remote_service.py +0 -0
  129. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_shared_contracts.py +0 -0
  130. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_shared_response.py +0 -0
  131. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_shared_service.py +0 -0
  132. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_shared_visibility.py +0 -0
  133. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/standalone/test_standalone.py +0 -0
  134. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_backend_contracts.py +0 -0
  135. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_bot_scope.py +0 -0
  136. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_bounded_recovery.py +0 -0
  137. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_ci_gate.py +0 -0
  138. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_ci_infrastructure_retry.py +0 -0
  139. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_cli_output.py +0 -0
  140. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_config_embedding.py +0 -0
  141. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_deletion_ordering.py +0 -0
  142. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_discovery_cli.py +0 -0
  143. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_explicit_dedupe.py +0 -0
  144. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_fastembed_compat.py +0 -0
  145. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_host_lifecycle.py +0 -0
  146. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_host_pins.py +0 -0
  147. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_live_metrics.py +0 -0
  148. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_local_embedding.py +0 -0
  149. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_local_embedding_provider.py +0 -0
  150. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_local_model.py +0 -0
  151. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_manifest_contract.py +0 -0
  152. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_migration.py +0 -0
  153. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_migration_endpoints.py +0 -0
  154. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_migration_resume.py +0 -0
  155. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_migration_superseded.py +0 -0
  156. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_model_smoke.py +0 -0
  157. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_pi_quality_driver.py +0 -0
  158. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_profile_scope.py +0 -0
  159. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_quality_dependencies.py +0 -0
  160. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_quality_mutations.py +0 -0
  161. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_quality_ollama_setup.py +0 -0
  162. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_quality_runner.py +0 -0
  163. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_recovery_benchmark.py +0 -0
  164. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_recovery_evaluation.py +0 -0
  165. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_remote_shutdown.py +0 -0
  166. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_reset_inspection.py +0 -0
  167. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_restart_boundary.py +0 -0
  168. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_retention.py +0 -0
  169. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_session_provenance.py +0 -0
  170. {hermes_plugin_qdrant_memory-0.5.2 → hermes_plugin_qdrant_memory-0.5.4}/tests/test_store_runtime.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hermes-plugin-qdrant-memory
3
- Version: 0.5.2
3
+ Version: 0.5.4
4
4
  Summary: Durable Qdrant memory for Hermes, standalone CLI and local MCP
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/cnkang/hermes-plugin-qdrant-memory
@@ -38,7 +38,7 @@ Skills—with explicit access control, conflict-safe updates, and crash recovery
38
38
  Shared deployment hardening in this checkout is documented in the
39
39
  [protected destination guide](docs/shared-memory/deployment-security.md) and
40
40
  [versioned threat model](docs/shared-memory/threat-model-v1.md). These additions
41
- are included in Runtime 0.5.2. Remote access needs the `[remote]` extra.
41
+ are included in Runtime 0.5.4. Remote access needs the `[remote]` extra.
42
42
 
43
43
  ## One Memory, Multiple Agents — opt-in shared owner
44
44
 
@@ -51,19 +51,21 @@ Runtime 0.5.0 adds an opt-in authenticated local shared owner and stdio bridge.
51
51
  [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/)
52
52
  [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
53
53
 
54
- > **Runtime 0.5.2** keeps the opt-in authenticated local shared owner and the stdio
54
+ > **Runtime 0.5.4** keeps the opt-in authenticated local shared owner and the stdio
55
55
  > bridge for explicit shared memory. It keeps the optional offline CPU embedding,
56
56
  > trusted setup and MCP Python SDK 1.x/2.x support from 0.3.0.
57
57
  > Explicit writes retain canonical-text deduplication without an LLM.
58
58
  > This patch makes a restart-interrupted write replayable with the same request
59
- > identifier. It changes no schema and no collection identity.
60
- > This guide selects Runtime 0.5.2. Check its availability on
61
- > [PyPI](https://pypi.org/project/hermes-plugin-qdrant-memory/0.5.2/) before installation.
59
+ > identifier. This patch fixes partially initialized providers after startup failures,
60
+ > protects required checkpoints, and preserves WriterLease ownership through cleanup.
61
+ > It changes no schema or collection identity. This guide selects Runtime 0.5.4.
62
+ > Check its availability on
63
+ > [PyPI](https://pypi.org/project/hermes-plugin-qdrant-memory/0.5.4/) before installation.
62
64
  > The generic MCP distribution and managed launcher select their own exact Runtime
63
65
  > dependency and are released independently.
64
66
  > The Hermes Plugin Catalog has its own reviewed immutable pin. A PyPI release
65
67
  > does not upgrade it. One writer per destination remains required.
66
- > See [release notes](docs/releases/0.5.2.md) and [validation](docs/validation.md).
68
+ > See [release notes](docs/releases/0.5.4.md) and [validation](docs/validation.md).
67
69
 
68
70
  [English](README.md) | [简体中文](README.zh-CN.md)
69
71
 
@@ -81,7 +83,7 @@ as a community-maintained plugin.
81
83
  ## How it works
82
84
 
83
85
  For non-Hermes users, install in a private Python 3.11+
84
- environment: `pip install 'hermes-plugin-qdrant-memory[mcp]==0.5.2'` (omit `[mcp]`
86
+ environment: `pip install 'hermes-plugin-qdrant-memory[mcp]==0.5.4'` (omit `[mcp]`
85
87
  for CLI only). `qdrant-memory` is the CLI and `mcp` is its server subcommand.
86
88
  Standalone does not require Hermes. See [setup and quick start](docs/standalone.md).
87
89
  MCP-focused agents may instead use the [metadata-only distribution](https://github.com/cnkang/qdrant-memory-mcp).
@@ -185,7 +187,7 @@ Choose the **active profile's** home explicitly. Do not reuse another profile's
185
187
  **Catalog option: install the version reviewed by the official Hermes Plugin Catalog.**
186
188
 
187
189
  The Catalog selects its own fixed revision, which may be older than Runtime
188
- 0.5.2. To use the current release, including opt-in shared memory, follow the
190
+ 0.5.4. To use the current release, including opt-in shared memory, follow the
189
191
  recommended version-locked installation below.
190
192
 
191
193
  ```bash
@@ -203,7 +205,7 @@ The install resolves the catalog's reviewed commit and prints the entry's declar
203
205
  tools, requirements and known issues before it clones anything.
204
206
  `hermes plugins enable` prepares the declared dependencies through Hermes PM.
205
207
 
206
- **Recommended: install the version-locked Runtime 0.5.2 source through the Hermes CLI.**
208
+ **Recommended: install the version-locked Runtime 0.5.4 source through the Hermes CLI.**
207
209
 
208
210
  This immutable source revision includes opt-in shared memory. It does not depend
209
211
  on a PyPI release or a catalog update.
@@ -213,25 +215,26 @@ export HERMES_HOME="/absolute/path/to/your/hermes-profile"
213
215
  ollama pull qwen3-embedding:4b
214
216
  # Start Ollama if it is not running. Keep its service available.
215
217
  hermes plugins install https://github.com/cnkang/hermes-plugin-qdrant-memory \
216
- --ref 604793341226e45f04500cd1d53fd668ddf89d63 # Runtime 0.5.2 release
218
+ --ref b293b953de7aa4715ccb3fed63e8cc64bda7443c # Runtime 0.5.4 release
217
219
  hermes plugins enable qdrant-memory
218
220
  hermes memory setup
219
221
  hermes config set memory.provider qdrant-memory
220
222
  hermes qdrant-memory init
221
223
  ```
222
224
 
223
- **Previous verified source: install Runtime 0.3.0 through the Hermes CLI.**
225
+ **Previous verified source: install Runtime 0.5.3 through the Hermes CLI.**
224
226
 
225
- This older immutable source revision includes optional CPU embedding and guided
226
- setup, but it predates opt-in shared memory. For the current release use
227
- Runtime 0.5.2 above. It does not depend on a PyPI release or a catalog update.
227
+ This earlier verified source revision includes the provider lifecycle fix and
228
+ opt-in shared memory, but it predates the 0.5.4 maintainability changes. For the
229
+ current release use Runtime 0.5.4 above. It does not depend on a PyPI release or
230
+ a catalog update.
228
231
 
229
232
  ```bash
230
233
  export HERMES_HOME="/absolute/path/to/your/hermes-profile"
231
234
  ollama pull qwen3-embedding:4b
232
235
  # Start Ollama if it is not running. Keep its service available.
233
236
  hermes plugins install https://github.com/cnkang/hermes-plugin-qdrant-memory \
234
- --ref 534562f1df43541dbf906d248bb11cd085b211ee # verified Runtime 0.3.0 source
237
+ --ref 0c83c2279ddd62f1aba98657aecc14a71a3dbf73 # verified Runtime 0.5.3 source
235
238
  hermes plugins enable qdrant-memory
236
239
  hermes memory setup
237
240
  hermes config set memory.provider qdrant-memory
@@ -248,7 +251,7 @@ environment. Omit `--ref` to track `main`, the development line.
248
251
  **Historical release: clone a published tag manually.**
249
252
 
250
253
  The v0.1.0 tag below predates the standalone interfaces and the explicit-write
251
- fix. Use the pinned source above for Runtime 0.5.2.
254
+ fix. Use the pinned source above for Runtime 0.5.4.
252
255
 
253
256
  ```bash
254
257
  export HERMES_HOME="/absolute/path/to/your/hermes-profile"
@@ -566,6 +569,9 @@ Run Ruff lint and format checks before you commit. Install the repository
566
569
  pre-commit hook as described in [development setup](docs/development.md). The hook
567
570
  checks the staged snapshot. CI runs lint, both Python versions, Snyk and
568
571
  SonarCloud. See [CI services](docs/ci.md) for the tested host versions and lanes.
572
+ The staged [soak system](docs/testing/soak.md) runs real Owner, Gateway, Ledger
573
+ and Qdrant windows on x64 and ARM64 runners, and admits a five-hour matrix only
574
+ after the short matrix passes.
569
575
 
570
576
  Build isolated dependency environments with Hermes PM. Then run the host's
571
577
  canonical test runner against this repository's tests. The tests import the real
@@ -11,7 +11,7 @@ Skills—with explicit access control, conflict-safe updates, and crash recovery
11
11
  Shared deployment hardening in this checkout is documented in the
12
12
  [protected destination guide](docs/shared-memory/deployment-security.md) and
13
13
  [versioned threat model](docs/shared-memory/threat-model-v1.md). These additions
14
- are included in Runtime 0.5.2. Remote access needs the `[remote]` extra.
14
+ are included in Runtime 0.5.4. Remote access needs the `[remote]` extra.
15
15
 
16
16
  ## One Memory, Multiple Agents — opt-in shared owner
17
17
 
@@ -24,19 +24,21 @@ Runtime 0.5.0 adds an opt-in authenticated local shared owner and stdio bridge.
24
24
  [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/)
25
25
  [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
26
26
 
27
- > **Runtime 0.5.2** keeps the opt-in authenticated local shared owner and the stdio
27
+ > **Runtime 0.5.4** keeps the opt-in authenticated local shared owner and the stdio
28
28
  > bridge for explicit shared memory. It keeps the optional offline CPU embedding,
29
29
  > trusted setup and MCP Python SDK 1.x/2.x support from 0.3.0.
30
30
  > Explicit writes retain canonical-text deduplication without an LLM.
31
31
  > This patch makes a restart-interrupted write replayable with the same request
32
- > identifier. It changes no schema and no collection identity.
33
- > This guide selects Runtime 0.5.2. Check its availability on
34
- > [PyPI](https://pypi.org/project/hermes-plugin-qdrant-memory/0.5.2/) before installation.
32
+ > identifier. This patch fixes partially initialized providers after startup failures,
33
+ > protects required checkpoints, and preserves WriterLease ownership through cleanup.
34
+ > It changes no schema or collection identity. This guide selects Runtime 0.5.4.
35
+ > Check its availability on
36
+ > [PyPI](https://pypi.org/project/hermes-plugin-qdrant-memory/0.5.4/) before installation.
35
37
  > The generic MCP distribution and managed launcher select their own exact Runtime
36
38
  > dependency and are released independently.
37
39
  > The Hermes Plugin Catalog has its own reviewed immutable pin. A PyPI release
38
40
  > does not upgrade it. One writer per destination remains required.
39
- > See [release notes](docs/releases/0.5.2.md) and [validation](docs/validation.md).
41
+ > See [release notes](docs/releases/0.5.4.md) and [validation](docs/validation.md).
40
42
 
41
43
  [English](README.md) | [简体中文](README.zh-CN.md)
42
44
 
@@ -54,7 +56,7 @@ as a community-maintained plugin.
54
56
  ## How it works
55
57
 
56
58
  For non-Hermes users, install in a private Python 3.11+
57
- environment: `pip install 'hermes-plugin-qdrant-memory[mcp]==0.5.2'` (omit `[mcp]`
59
+ environment: `pip install 'hermes-plugin-qdrant-memory[mcp]==0.5.4'` (omit `[mcp]`
58
60
  for CLI only). `qdrant-memory` is the CLI and `mcp` is its server subcommand.
59
61
  Standalone does not require Hermes. See [setup and quick start](docs/standalone.md).
60
62
  MCP-focused agents may instead use the [metadata-only distribution](https://github.com/cnkang/qdrant-memory-mcp).
@@ -158,7 +160,7 @@ Choose the **active profile's** home explicitly. Do not reuse another profile's
158
160
  **Catalog option: install the version reviewed by the official Hermes Plugin Catalog.**
159
161
 
160
162
  The Catalog selects its own fixed revision, which may be older than Runtime
161
- 0.5.2. To use the current release, including opt-in shared memory, follow the
163
+ 0.5.4. To use the current release, including opt-in shared memory, follow the
162
164
  recommended version-locked installation below.
163
165
 
164
166
  ```bash
@@ -176,7 +178,7 @@ The install resolves the catalog's reviewed commit and prints the entry's declar
176
178
  tools, requirements and known issues before it clones anything.
177
179
  `hermes plugins enable` prepares the declared dependencies through Hermes PM.
178
180
 
179
- **Recommended: install the version-locked Runtime 0.5.2 source through the Hermes CLI.**
181
+ **Recommended: install the version-locked Runtime 0.5.4 source through the Hermes CLI.**
180
182
 
181
183
  This immutable source revision includes opt-in shared memory. It does not depend
182
184
  on a PyPI release or a catalog update.
@@ -186,25 +188,26 @@ export HERMES_HOME="/absolute/path/to/your/hermes-profile"
186
188
  ollama pull qwen3-embedding:4b
187
189
  # Start Ollama if it is not running. Keep its service available.
188
190
  hermes plugins install https://github.com/cnkang/hermes-plugin-qdrant-memory \
189
- --ref 604793341226e45f04500cd1d53fd668ddf89d63 # Runtime 0.5.2 release
191
+ --ref b293b953de7aa4715ccb3fed63e8cc64bda7443c # Runtime 0.5.4 release
190
192
  hermes plugins enable qdrant-memory
191
193
  hermes memory setup
192
194
  hermes config set memory.provider qdrant-memory
193
195
  hermes qdrant-memory init
194
196
  ```
195
197
 
196
- **Previous verified source: install Runtime 0.3.0 through the Hermes CLI.**
198
+ **Previous verified source: install Runtime 0.5.3 through the Hermes CLI.**
197
199
 
198
- This older immutable source revision includes optional CPU embedding and guided
199
- setup, but it predates opt-in shared memory. For the current release use
200
- Runtime 0.5.2 above. It does not depend on a PyPI release or a catalog update.
200
+ This earlier verified source revision includes the provider lifecycle fix and
201
+ opt-in shared memory, but it predates the 0.5.4 maintainability changes. For the
202
+ current release use Runtime 0.5.4 above. It does not depend on a PyPI release or
203
+ a catalog update.
201
204
 
202
205
  ```bash
203
206
  export HERMES_HOME="/absolute/path/to/your/hermes-profile"
204
207
  ollama pull qwen3-embedding:4b
205
208
  # Start Ollama if it is not running. Keep its service available.
206
209
  hermes plugins install https://github.com/cnkang/hermes-plugin-qdrant-memory \
207
- --ref 534562f1df43541dbf906d248bb11cd085b211ee # verified Runtime 0.3.0 source
210
+ --ref 0c83c2279ddd62f1aba98657aecc14a71a3dbf73 # verified Runtime 0.5.3 source
208
211
  hermes plugins enable qdrant-memory
209
212
  hermes memory setup
210
213
  hermes config set memory.provider qdrant-memory
@@ -221,7 +224,7 @@ environment. Omit `--ref` to track `main`, the development line.
221
224
  **Historical release: clone a published tag manually.**
222
225
 
223
226
  The v0.1.0 tag below predates the standalone interfaces and the explicit-write
224
- fix. Use the pinned source above for Runtime 0.5.2.
227
+ fix. Use the pinned source above for Runtime 0.5.4.
225
228
 
226
229
  ```bash
227
230
  export HERMES_HOME="/absolute/path/to/your/hermes-profile"
@@ -539,6 +542,9 @@ Run Ruff lint and format checks before you commit. Install the repository
539
542
  pre-commit hook as described in [development setup](docs/development.md). The hook
540
543
  checks the staged snapshot. CI runs lint, both Python versions, Snyk and
541
544
  SonarCloud. See [CI services](docs/ci.md) for the tested host versions and lanes.
545
+ The staged [soak system](docs/testing/soak.md) runs real Owner, Gateway, Ledger
546
+ and Qdrant windows on x64 and ARM64 runners, and admits a five-hour matrix only
547
+ after the short matrix passes.
542
548
 
543
549
  Build isolated dependency environments with Hermes PM. Then run the host's
544
550
  canonical test runner against this repository's tests. The tests import the real
@@ -35,11 +35,11 @@ python -m pip install '.[mcp,local]'
35
35
 
36
36
  For a published package, install the same extras with the release version:
37
37
 
38
- Check [PyPI](https://pypi.org/project/hermes-plugin-qdrant-memory/0.5.2/) for
39
- Runtime 0.5.2 availability before running this command.
38
+ Check [PyPI](https://pypi.org/project/hermes-plugin-qdrant-memory/0.5.4/) for
39
+ Runtime 0.5.4 availability before running this command.
40
40
 
41
41
  ```sh
42
- python -m pip install 'hermes-plugin-qdrant-memory[mcp,local]==0.5.2'
42
+ python -m pip install 'hermes-plugin-qdrant-memory[mcp,local]==0.5.4'
43
43
  ```
44
44
 
45
45
  Choose **one** setup command and replace the profile path with a new absolute
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hermes-plugin-qdrant-memory
3
- Version: 0.5.2
3
+ Version: 0.5.4
4
4
  Summary: Durable Qdrant memory for Hermes, standalone CLI and local MCP
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/cnkang/hermes-plugin-qdrant-memory
@@ -38,7 +38,7 @@ Skills—with explicit access control, conflict-safe updates, and crash recovery
38
38
  Shared deployment hardening in this checkout is documented in the
39
39
  [protected destination guide](docs/shared-memory/deployment-security.md) and
40
40
  [versioned threat model](docs/shared-memory/threat-model-v1.md). These additions
41
- are included in Runtime 0.5.2. Remote access needs the `[remote]` extra.
41
+ are included in Runtime 0.5.4. Remote access needs the `[remote]` extra.
42
42
 
43
43
  ## One Memory, Multiple Agents — opt-in shared owner
44
44
 
@@ -51,19 +51,21 @@ Runtime 0.5.0 adds an opt-in authenticated local shared owner and stdio bridge.
51
51
  [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/)
52
52
  [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
53
53
 
54
- > **Runtime 0.5.2** keeps the opt-in authenticated local shared owner and the stdio
54
+ > **Runtime 0.5.4** keeps the opt-in authenticated local shared owner and the stdio
55
55
  > bridge for explicit shared memory. It keeps the optional offline CPU embedding,
56
56
  > trusted setup and MCP Python SDK 1.x/2.x support from 0.3.0.
57
57
  > Explicit writes retain canonical-text deduplication without an LLM.
58
58
  > This patch makes a restart-interrupted write replayable with the same request
59
- > identifier. It changes no schema and no collection identity.
60
- > This guide selects Runtime 0.5.2. Check its availability on
61
- > [PyPI](https://pypi.org/project/hermes-plugin-qdrant-memory/0.5.2/) before installation.
59
+ > identifier. This patch fixes partially initialized providers after startup failures,
60
+ > protects required checkpoints, and preserves WriterLease ownership through cleanup.
61
+ > It changes no schema or collection identity. This guide selects Runtime 0.5.4.
62
+ > Check its availability on
63
+ > [PyPI](https://pypi.org/project/hermes-plugin-qdrant-memory/0.5.4/) before installation.
62
64
  > The generic MCP distribution and managed launcher select their own exact Runtime
63
65
  > dependency and are released independently.
64
66
  > The Hermes Plugin Catalog has its own reviewed immutable pin. A PyPI release
65
67
  > does not upgrade it. One writer per destination remains required.
66
- > See [release notes](docs/releases/0.5.2.md) and [validation](docs/validation.md).
68
+ > See [release notes](docs/releases/0.5.4.md) and [validation](docs/validation.md).
67
69
 
68
70
  [English](README.md) | [简体中文](README.zh-CN.md)
69
71
 
@@ -81,7 +83,7 @@ as a community-maintained plugin.
81
83
  ## How it works
82
84
 
83
85
  For non-Hermes users, install in a private Python 3.11+
84
- environment: `pip install 'hermes-plugin-qdrant-memory[mcp]==0.5.2'` (omit `[mcp]`
86
+ environment: `pip install 'hermes-plugin-qdrant-memory[mcp]==0.5.4'` (omit `[mcp]`
85
87
  for CLI only). `qdrant-memory` is the CLI and `mcp` is its server subcommand.
86
88
  Standalone does not require Hermes. See [setup and quick start](docs/standalone.md).
87
89
  MCP-focused agents may instead use the [metadata-only distribution](https://github.com/cnkang/qdrant-memory-mcp).
@@ -185,7 +187,7 @@ Choose the **active profile's** home explicitly. Do not reuse another profile's
185
187
  **Catalog option: install the version reviewed by the official Hermes Plugin Catalog.**
186
188
 
187
189
  The Catalog selects its own fixed revision, which may be older than Runtime
188
- 0.5.2. To use the current release, including opt-in shared memory, follow the
190
+ 0.5.4. To use the current release, including opt-in shared memory, follow the
189
191
  recommended version-locked installation below.
190
192
 
191
193
  ```bash
@@ -203,7 +205,7 @@ The install resolves the catalog's reviewed commit and prints the entry's declar
203
205
  tools, requirements and known issues before it clones anything.
204
206
  `hermes plugins enable` prepares the declared dependencies through Hermes PM.
205
207
 
206
- **Recommended: install the version-locked Runtime 0.5.2 source through the Hermes CLI.**
208
+ **Recommended: install the version-locked Runtime 0.5.4 source through the Hermes CLI.**
207
209
 
208
210
  This immutable source revision includes opt-in shared memory. It does not depend
209
211
  on a PyPI release or a catalog update.
@@ -213,25 +215,26 @@ export HERMES_HOME="/absolute/path/to/your/hermes-profile"
213
215
  ollama pull qwen3-embedding:4b
214
216
  # Start Ollama if it is not running. Keep its service available.
215
217
  hermes plugins install https://github.com/cnkang/hermes-plugin-qdrant-memory \
216
- --ref 604793341226e45f04500cd1d53fd668ddf89d63 # Runtime 0.5.2 release
218
+ --ref b293b953de7aa4715ccb3fed63e8cc64bda7443c # Runtime 0.5.4 release
217
219
  hermes plugins enable qdrant-memory
218
220
  hermes memory setup
219
221
  hermes config set memory.provider qdrant-memory
220
222
  hermes qdrant-memory init
221
223
  ```
222
224
 
223
- **Previous verified source: install Runtime 0.3.0 through the Hermes CLI.**
225
+ **Previous verified source: install Runtime 0.5.3 through the Hermes CLI.**
224
226
 
225
- This older immutable source revision includes optional CPU embedding and guided
226
- setup, but it predates opt-in shared memory. For the current release use
227
- Runtime 0.5.2 above. It does not depend on a PyPI release or a catalog update.
227
+ This earlier verified source revision includes the provider lifecycle fix and
228
+ opt-in shared memory, but it predates the 0.5.4 maintainability changes. For the
229
+ current release use Runtime 0.5.4 above. It does not depend on a PyPI release or
230
+ a catalog update.
228
231
 
229
232
  ```bash
230
233
  export HERMES_HOME="/absolute/path/to/your/hermes-profile"
231
234
  ollama pull qwen3-embedding:4b
232
235
  # Start Ollama if it is not running. Keep its service available.
233
236
  hermes plugins install https://github.com/cnkang/hermes-plugin-qdrant-memory \
234
- --ref 534562f1df43541dbf906d248bb11cd085b211ee # verified Runtime 0.3.0 source
237
+ --ref 0c83c2279ddd62f1aba98657aecc14a71a3dbf73 # verified Runtime 0.5.3 source
235
238
  hermes plugins enable qdrant-memory
236
239
  hermes memory setup
237
240
  hermes config set memory.provider qdrant-memory
@@ -248,7 +251,7 @@ environment. Omit `--ref` to track `main`, the development line.
248
251
  **Historical release: clone a published tag manually.**
249
252
 
250
253
  The v0.1.0 tag below predates the standalone interfaces and the explicit-write
251
- fix. Use the pinned source above for Runtime 0.5.2.
254
+ fix. Use the pinned source above for Runtime 0.5.4.
252
255
 
253
256
  ```bash
254
257
  export HERMES_HOME="/absolute/path/to/your/hermes-profile"
@@ -566,6 +569,9 @@ Run Ruff lint and format checks before you commit. Install the repository
566
569
  pre-commit hook as described in [development setup](docs/development.md). The hook
567
570
  checks the staged snapshot. CI runs lint, both Python versions, Snyk and
568
571
  SonarCloud. See [CI services](docs/ci.md) for the tested host versions and lanes.
572
+ The staged [soak system](docs/testing/soak.md) runs real Owner, Gateway, Ledger
573
+ and Qdrant windows on x64 and ARM64 runners, and admits a five-hour matrix only
574
+ after the short matrix passes.
569
575
 
570
576
  Build isolated dependency environments with Hermes PM. Then run the host's
571
577
  canonical test runner against this repository's tests. The tests import the real
@@ -66,6 +66,7 @@ tests/test_ci_gate.py
66
66
  tests/test_ci_infrastructure_retry.py
67
67
  tests/test_cli_output.py
68
68
  tests/test_config_embedding.py
69
+ tests/test_cross_process_lifecycle_recovery.py
69
70
  tests/test_deletion_ordering.py
70
71
  tests/test_dependency_inputs.py
71
72
  tests/test_dependency_security.py
@@ -74,6 +75,7 @@ tests/test_explicit_dedupe.py
74
75
  tests/test_fastembed_compat.py
75
76
  tests/test_host_lifecycle.py
76
77
  tests/test_host_pins.py
78
+ tests/test_initialization_failures.py
77
79
  tests/test_input_validation.py
78
80
  tests/test_inventory_export.py
79
81
  tests/test_live_metrics.py
@@ -128,6 +130,10 @@ tests/security/test_cloud_owner_cleanup.py
128
130
  tests/security/test_device_server.py
129
131
  tests/security/test_shared_security.py
130
132
  tests/security/test_shared_security_live.py
133
+ tests/soak/test_harness.py
134
+ tests/soak/test_invariants.py
135
+ tests/soak/test_supervisor.py
136
+ tests/soak/test_workflow_gates.py
131
137
  tests/standalone/__init__.py
132
138
  tests/standalone/test_admission_control.py
133
139
  tests/standalone/test_device_grants.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "hermes-plugin-qdrant-memory"
7
- version = "0.5.2"
7
+ version = "0.5.4"
8
8
  description = "Durable Qdrant memory for Hermes, standalone CLI and local MCP"
9
9
  readme = "README.md"
10
10
  license = "MIT"