evarness 0.2.2__tar.gz → 0.2.3__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 (971) hide show
  1. {evarness-0.2.2 → evarness-0.2.3}/PKG-INFO +26 -17
  2. {evarness-0.2.2 → evarness-0.2.3}/README.md +10 -5
  3. {evarness-0.2.2 → evarness-0.2.3}/pyproject.toml +54 -37
  4. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/__init__.py +1 -1
  5. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/governance.py +66 -4
  6. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/run.py +3 -0
  7. {evarness-0.2.2 → evarness-0.2.3}/LICENSE +0 -0
  8. {evarness-0.2.2 → evarness-0.2.3}/config/behaviors/reminders.default.md +0 -0
  9. {evarness-0.2.2 → evarness-0.2.3}/config/channels.yaml +0 -0
  10. {evarness-0.2.2 → evarness-0.2.3}/config/cron/audit-compact.cron +0 -0
  11. {evarness-0.2.2 → evarness-0.2.3}/config/digest.yaml +0 -0
  12. {evarness-0.2.2 → evarness-0.2.3}/config/docs_search.yaml +0 -0
  13. {evarness-0.2.2 → evarness-0.2.3}/config/doctor.yaml +0 -0
  14. {evarness-0.2.2 → evarness-0.2.3}/config/escalation.yaml +0 -0
  15. {evarness-0.2.2 → evarness-0.2.3}/config/governance/egress.yaml +0 -0
  16. {evarness-0.2.2 → evarness-0.2.3}/config/governance/identity.yaml +0 -0
  17. {evarness-0.2.2 → evarness-0.2.3}/config/governance/mcp-serve.yaml +0 -0
  18. {evarness-0.2.2 → evarness-0.2.3}/config/governance/mcp-signing.yaml +0 -0
  19. {evarness-0.2.2 → evarness-0.2.3}/config/governance/mcp-trust.yaml +0 -0
  20. {evarness-0.2.2 → evarness-0.2.3}/config/governance/sandbox.yaml +0 -0
  21. {evarness-0.2.2 → evarness-0.2.3}/config/governance/taint-policy.yaml +0 -0
  22. {evarness-0.2.2 → evarness-0.2.3}/config/governance/threat-detection.yaml +0 -0
  23. {evarness-0.2.2 → evarness-0.2.3}/config/governance/tool-access.yaml +0 -0
  24. {evarness-0.2.2 → evarness-0.2.3}/config/governor/policy.yaml +0 -0
  25. {evarness-0.2.2 → evarness-0.2.3}/config/health_watch.yaml +0 -0
  26. {evarness-0.2.2 → evarness-0.2.3}/config/heartbeats.yaml +0 -0
  27. {evarness-0.2.2 → evarness-0.2.3}/config/identity/active.default.md +0 -0
  28. {evarness-0.2.2 → evarness-0.2.3}/config/identity/episodic.default.md +0 -0
  29. {evarness-0.2.2 → evarness-0.2.3}/config/identity/soul.default.md +0 -0
  30. {evarness-0.2.2 → evarness-0.2.3}/config/identity/soul_layers.yaml +0 -0
  31. {evarness-0.2.2 → evarness-0.2.3}/config/intent_anchors.yaml +0 -0
  32. {evarness-0.2.2 → evarness-0.2.3}/config/intent_keywords.yaml +0 -0
  33. {evarness-0.2.2 → evarness-0.2.3}/config/intercepts.yaml +0 -0
  34. {evarness-0.2.2 → evarness-0.2.3}/config/knowledge/wiki_schema.yaml +0 -0
  35. {evarness-0.2.2 → evarness-0.2.3}/config/learning/strategies.yaml +0 -0
  36. {evarness-0.2.2 → evarness-0.2.3}/config/llm_tiers.yaml +0 -0
  37. {evarness-0.2.2 → evarness-0.2.3}/config/memory/entity_aliases.yaml +0 -0
  38. {evarness-0.2.2 → evarness-0.2.3}/config/memory/extraction.yaml +0 -0
  39. {evarness-0.2.2 → evarness-0.2.3}/config/memory/learning.yaml +0 -0
  40. {evarness-0.2.2 → evarness-0.2.3}/config/memory/mappings.yaml +0 -0
  41. {evarness-0.2.2 → evarness-0.2.3}/config/memory/ontology.yaml +0 -0
  42. {evarness-0.2.2 → evarness-0.2.3}/config/memory/recall.yaml +0 -0
  43. {evarness-0.2.2 → evarness-0.2.3}/config/memory/retention.yaml +0 -0
  44. {evarness-0.2.2 → evarness-0.2.3}/config/memory/shapes.yaml +0 -0
  45. {evarness-0.2.2 → evarness-0.2.3}/config/memory/summary.yaml +0 -0
  46. {evarness-0.2.2 → evarness-0.2.3}/config/multi_step.yaml +0 -0
  47. {evarness-0.2.2 → evarness-0.2.3}/config/notifications.yaml +0 -0
  48. {evarness-0.2.2 → evarness-0.2.3}/config/outcomes.yaml +0 -0
  49. {evarness-0.2.2 → evarness-0.2.3}/config/playground/README.md +0 -0
  50. {evarness-0.2.2 → evarness-0.2.3}/config/playground/core-deterministic.yaml +0 -0
  51. {evarness-0.2.2 → evarness-0.2.3}/config/playground/injection-pressure.yaml +0 -0
  52. {evarness-0.2.2 → evarness-0.2.3}/config/playground/intercepts-live.yaml.example +0 -0
  53. {evarness-0.2.2 → evarness-0.2.3}/config/playground/memory-continuity.yaml +0 -0
  54. {evarness-0.2.2 → evarness-0.2.3}/config/playground/memory-graph.yaml +0 -0
  55. {evarness-0.2.2 → evarness-0.2.3}/config/playground/routing-breadth.yaml +0 -0
  56. {evarness-0.2.2 → evarness-0.2.3}/config/profiles/default.yaml +0 -0
  57. {evarness-0.2.2 → evarness-0.2.3}/config/profiles/email.yaml +0 -0
  58. {evarness-0.2.2 → evarness-0.2.3}/config/profiles/minimal.yaml +0 -0
  59. {evarness-0.2.2 → evarness-0.2.3}/config/search_providers.yaml +0 -0
  60. {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/daily-repo-brief/manifest.yaml +0 -0
  61. {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/harness-core/manifest.yaml +0 -0
  62. {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/harness-core/tools.py +0 -0
  63. {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/harness-tasks/manifest.yaml +0 -0
  64. {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/harness-tasks/tools.py +0 -0
  65. {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/morning-briefing/manifest.yaml +0 -0
  66. {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/sample-brief/manifest.yaml +0 -0
  67. {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/web-fetch/manifest.yaml +0 -0
  68. {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/web-fetch/tools.py +0 -0
  69. {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-followup/agent.md +0 -0
  70. {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-followup/manifest.yaml +0 -0
  71. {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-followup/tools.py +0 -0
  72. {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-triage/agent.md +0 -0
  73. {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-triage/manifest.yaml +0 -0
  74. {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-triage/tools.py +0 -0
  75. {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/gmail-inbox/agent.md +0 -0
  76. {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/gmail-inbox/manifest.yaml +0 -0
  77. {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/gmail-inbox/tools.py +0 -0
  78. {evarness-0.2.2 → evarness-0.2.3}/config/skills/rag/docs-search/agent.md +0 -0
  79. {evarness-0.2.2 → evarness-0.2.3}/config/skills/rag/docs-search/manifest.yaml +0 -0
  80. {evarness-0.2.2 → evarness-0.2.3}/config/skills/rag/docs-search/tools.py +0 -0
  81. {evarness-0.2.2 → evarness-0.2.3}/config/skills/system/system-status/agent.md +0 -0
  82. {evarness-0.2.2 → evarness-0.2.3}/config/skills/system/system-status/manifest.yaml +0 -0
  83. {evarness-0.2.2 → evarness-0.2.3}/config/skills/system/system-status/tools.py +0 -0
  84. {evarness-0.2.2 → evarness-0.2.3}/config/webui/nav.yaml +0 -0
  85. {evarness-0.2.2 → evarness-0.2.3}/config/welcome.yaml +0 -0
  86. {evarness-0.2.2 → evarness-0.2.3}/config/write_claims.yaml +0 -0
  87. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/__init__.py +0 -0
  88. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/agent_executor.py +0 -0
  89. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/agent_metadata.py +0 -0
  90. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/agentic_core.py +0 -0
  91. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/answer_guard.py +0 -0
  92. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/context_budget.py +0 -0
  93. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/context_health.py +0 -0
  94. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/dateparse.py +0 -0
  95. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/escalation.py +0 -0
  96. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/heartbeat.py +0 -0
  97. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/intent_router.py +0 -0
  98. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/outcomes.py +0 -0
  99. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/provenance.py +0 -0
  100. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/response_curator.py +0 -0
  101. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/run_review.py +0 -0
  102. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/task_planner.py +0 -0
  103. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/task_spec.py +0 -0
  104. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/tool_runner.py +0 -0
  105. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/__init__.py +0 -0
  106. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/api_client.py +0 -0
  107. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/approvals.py +0 -0
  108. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/behaviors.py +0 -0
  109. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/commands.py +0 -0
  110. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/context_health.py +0 -0
  111. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/device.py +0 -0
  112. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/docs.py +0 -0
  113. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/doctor.py +0 -0
  114. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/facts.py +0 -0
  115. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/health.py +0 -0
  116. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/intentions.py +0 -0
  117. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/interactive.py +0 -0
  118. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/learning.py +0 -0
  119. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/logs.py +0 -0
  120. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/mcp.py +0 -0
  121. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/memory.py +0 -0
  122. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/mission.py +0 -0
  123. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/modes.py +0 -0
  124. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/ontology.py +0 -0
  125. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/playground.py +0 -0
  126. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/plugin_scaffold.py +0 -0
  127. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/plugins.py +0 -0
  128. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/push.py +0 -0
  129. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/queue.py +0 -0
  130. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/render.py +0 -0
  131. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/repl.py +0 -0
  132. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/run_inspect.py +0 -0
  133. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/serve.py +0 -0
  134. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/session.py +0 -0
  135. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/setup.py +0 -0
  136. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/signals.py +0 -0
  137. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/_common/pyproject.toml.tmpl +0 -0
  138. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/_common/src/__tmpl_package/__init__.py +0 -0
  139. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/_common/tests/test_stable_tier.py +0 -0
  140. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/channel/README.md +0 -0
  141. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/channel/src/__tmpl_package/manifest.yaml +0 -0
  142. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/channel/src/__tmpl_package/plugin.py +0 -0
  143. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/channel/tests/test_plugin.py +0 -0
  144. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/kinds.yaml +0 -0
  145. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/mail-provider/README.md +0 -0
  146. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/mail-provider/src/__tmpl_package/manifest.yaml +0 -0
  147. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/mail-provider/src/__tmpl_package/plugin.py +0 -0
  148. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/mail-provider/tests/test_plugin.py +0 -0
  149. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/research-provider/README.md +0 -0
  150. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/research-provider/src/__tmpl_package/manifest.yaml +0 -0
  151. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/research-provider/src/__tmpl_package/plugin.py +0 -0
  152. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/research-provider/tests/model_script.yaml +0 -0
  153. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/research-provider/tests/test_plugin.py +0 -0
  154. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/skill/README.md +0 -0
  155. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/skill/src/__tmpl_package/functions.py +0 -0
  156. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/skill/src/__tmpl_package/manifest.yaml +0 -0
  157. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/skill/tests/model_script.yaml +0 -0
  158. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/skill/tests/test_plugin.py +0 -0
  159. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/tool/README.md +0 -0
  160. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/tool/src/__tmpl_package/manifest.yaml +0 -0
  161. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/tool/src/__tmpl_package/plugin.py +0 -0
  162. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/tool/tests/model_script.yaml +0 -0
  163. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/tool/tests/test_plugin.py +0 -0
  164. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/web_commands.py +0 -0
  165. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/welcome.py +0 -0
  166. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/__init__.py +0 -0
  167. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/activity.py +0 -0
  168. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/auth.py +0 -0
  169. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/capabilities.py +0 -0
  170. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/capability_fields.py +0 -0
  171. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/clock.py +0 -0
  172. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/console.py +0 -0
  173. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/data/__init__.py +0 -0
  174. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/data/dues_vocabulary.py +0 -0
  175. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/env.py +0 -0
  176. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/eventbus/__init__.py +0 -0
  177. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/eventbus/bus.py +0 -0
  178. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/eventbus/topics.py +0 -0
  179. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/file_lock.py +0 -0
  180. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/ids.py +0 -0
  181. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/legacy.py +0 -0
  182. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/logsafe.py +0 -0
  183. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/__init__.py +0 -0
  184. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/audit_view.py +0 -0
  185. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/host_pressure.py +0 -0
  186. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/instruments.py +0 -0
  187. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/logging_setup.py +0 -0
  188. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/metrics_summary.py +0 -0
  189. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/otlp_setup.py +0 -0
  190. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/session_log.py +0 -0
  191. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/trace_builder.py +0 -0
  192. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/tracer.py +0 -0
  193. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/paths.py +0 -0
  194. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/persistence/__init__.py +0 -0
  195. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/persistence/embedding.py +0 -0
  196. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/persistence/sqlite.py +0 -0
  197. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/plugin_dirs.py +0 -0
  198. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/process_state.py +0 -0
  199. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/public_url.py +0 -0
  200. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/__init__.py +0 -0
  201. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/catalog.py +0 -0
  202. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/catalog.yaml +0 -0
  203. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/env_overrides.py +0 -0
  204. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/restart.py +0 -0
  205. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/store.py +0 -0
  206. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/AGENTS.md +0 -0
  207. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/__init__.py +0 -0
  208. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/__init__.py +0 -0
  209. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/__init__.py +0 -0
  210. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/channels/__init__.py +0 -0
  211. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/channels/base.py +0 -0
  212. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/channels/cli_channel.py +0 -0
  213. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/channels/web_channel.py +0 -0
  214. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/events.py +0 -0
  215. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/gate.py +0 -0
  216. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/queue.py +0 -0
  217. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/router.py +0 -0
  218. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/schema.sql +0 -0
  219. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/service.py +0 -0
  220. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/store.py +0 -0
  221. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/__init__.py +0 -0
  222. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/archive/__init__.py +0 -0
  223. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/archive/compact.py +0 -0
  224. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/archive/markers.py +0 -0
  225. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/archive/query.py +0 -0
  226. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/archive/writer.py +0 -0
  227. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/digest.py +0 -0
  228. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/log.py +0 -0
  229. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/proof_bundle.py +0 -0
  230. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/proof_bundle.schema.json +0 -0
  231. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/replay.py +0 -0
  232. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/sequence.py +0 -0
  233. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/spool.py +0 -0
  234. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/view.py +0 -0
  235. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/write_health.py +0 -0
  236. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/call_context.py +0 -0
  237. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/caller_policy.py +0 -0
  238. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/cost/__init__.py +0 -0
  239. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/cost/pricing.py +0 -0
  240. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/cost/store.py +0 -0
  241. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/cost/summary.py +0 -0
  242. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/devices/__init__.py +0 -0
  243. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/devices/schema.sql +0 -0
  244. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/devices/service.py +0 -0
  245. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/devices/store.py +0 -0
  246. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/devices/throttle.py +0 -0
  247. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/disclosure.py +0 -0
  248. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/display_mask.py +0 -0
  249. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/egress_policy.py +0 -0
  250. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/__init__.py +0 -0
  251. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/client.py +0 -0
  252. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/drift_exemptions.py +0 -0
  253. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/embeddings.py +0 -0
  254. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/flagged_runs.py +0 -0
  255. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/hook.py +0 -0
  256. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/judge.py +0 -0
  257. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/judge_template.py +0 -0
  258. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/registry.py +0 -0
  259. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/__init__.py +0 -0
  260. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/action_repeat.py +0 -0
  261. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/classification_violation.py +0 -0
  262. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/cost_budget.py +0 -0
  263. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/goal_drift.py +0 -0
  264. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/loop_detect.py +0 -0
  265. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/step_cap.py +0 -0
  266. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/tool_failure_streak.py +0 -0
  267. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/types.py +0 -0
  268. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/external_content.py +0 -0
  269. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/external_content_allow.py +0 -0
  270. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/file_scan.py +0 -0
  271. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/hooks/__init__.py +0 -0
  272. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/hooks/response_payload.py +0 -0
  273. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/hooks/result_text.py +0 -0
  274. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/hooks/tool_payload.py +0 -0
  275. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/hooks/types.py +0 -0
  276. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/identity_config.py +0 -0
  277. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/identity_redaction.py +0 -0
  278. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/kernel.py +0 -0
  279. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_clients.py +0 -0
  280. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/__init__.py +0 -0
  281. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/config.py +0 -0
  282. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/keys.py +0 -0
  283. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/launcher.py +0 -0
  284. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/spec.py +0 -0
  285. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/trust.py +0 -0
  286. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/verifier.py +0 -0
  287. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/owner_identity.py +0 -0
  288. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/owner_matchers.py +0 -0
  289. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/owner_pii.py +0 -0
  290. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugin_egress.py +0 -0
  291. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/__init__.py +0 -0
  292. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/caller_policy.py +0 -0
  293. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/capability_redaction.py +0 -0
  294. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/classifier.py +0 -0
  295. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/command_sandbox.py +0 -0
  296. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/cost_limiter.py +0 -0
  297. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/credential_broker.py +0 -0
  298. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/destructive_approval.py +0 -0
  299. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/egress_gate.py +0 -0
  300. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/external_content_floor.py +0 -0
  301. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/fs_jail.py +0 -0
  302. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/input_safety.py +0 -0
  303. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/mcp_allowlist.py +0 -0
  304. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/mcp_client_egress.py +0 -0
  305. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/network_egress.py +0 -0
  306. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/output_classifier.py +0 -0
  307. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/owner_pii_shadow.py +0 -0
  308. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/persona_surface.py +0 -0
  309. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/plugin_egress.py +0 -0
  310. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/post_tool_use_ledger.py +0 -0
  311. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/pre_tool_use_ledger.py +0 -0
  312. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/prompt_guard.py +0 -0
  313. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/redaction.py +0 -0
  314. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/regex_packs.py +0 -0
  315. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/response_safety.py +0 -0
  316. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/tool_policy.py +0 -0
  317. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/public_suffix.py +0 -0
  318. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/public_suffix_icann.dat +0 -0
  319. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/reentry.py +0 -0
  320. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/side_effects/__init__.py +0 -0
  321. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/side_effects/probes.py +0 -0
  322. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/side_effects/schema.sql +0 -0
  323. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/side_effects/store.py +0 -0
  324. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/taint_policy.py +0 -0
  325. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/__init__.py +0 -0
  326. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/availability.py +0 -0
  327. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/backends.py +0 -0
  328. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/battery.py +0 -0
  329. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/config.py +0 -0
  330. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/detector.py +0 -0
  331. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/types.py +0 -0
  332. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/turn_label.py +0 -0
  333. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/unmask_grants.py +0 -0
  334. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/__init__.py +0 -0
  335. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/credentials.py +0 -0
  336. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/handle.py +0 -0
  337. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/keys.py +0 -0
  338. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/secret_store.py +0 -0
  339. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/store.py +0 -0
  340. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/wiring.py +0 -0
  341. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/__init__.py +0 -0
  342. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/audit.py +0 -0
  343. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/exceptions.py +0 -0
  344. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/models.py +0 -0
  345. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/policy.py +0 -0
  346. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/rate_limiter.py +0 -0
  347. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/service.py +0 -0
  348. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/__init__.py +0 -0
  349. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/arbiter.py +0 -0
  350. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/budget.py +0 -0
  351. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/client.py +0 -0
  352. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/copilot_auth.py +0 -0
  353. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/egress.py +0 -0
  354. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/embeddings.py +0 -0
  355. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/errors.py +0 -0
  356. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/fake.py +0 -0
  357. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/locality.py +0 -0
  358. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/model_metadata.py +0 -0
  359. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/narrate.py +0 -0
  360. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/providers.py +0 -0
  361. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/tier_edits.py +0 -0
  362. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/tier_router.py +0 -0
  363. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/main.py +0 -0
  364. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/__init__.py +0 -0
  365. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/coherence.py +0 -0
  366. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/compactor.py +0 -0
  367. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/coordinator.py +0 -0
  368. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/export.py +0 -0
  369. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/fact_extractor.py +0 -0
  370. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/fact_keys.py +0 -0
  371. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/fact_statements.py +0 -0
  372. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/fact_validation.py +0 -0
  373. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/gate_audit.py +0 -0
  374. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/gate_audit_corpus.py +0 -0
  375. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/graph.py +0 -0
  376. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/graph_context.py +0 -0
  377. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/identity/__init__.py +0 -0
  378. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/identity/loader.py +0 -0
  379. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/__init__.py +0 -0
  380. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/connectors/__init__.py +0 -0
  381. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/connectors/base.py +0 -0
  382. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/connectors/obsidian.py +0 -0
  383. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/entity_extractor.py +0 -0
  384. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/event_subscribers.py +0 -0
  385. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/models.py +0 -0
  386. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/page_manager.py +0 -0
  387. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/wiki_engine.py +0 -0
  388. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/wiki_index.py +0 -0
  389. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/lessons.py +0 -0
  390. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/log_archive.py +0 -0
  391. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/map_exclusions.py +0 -0
  392. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/ontology.py +0 -0
  393. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/profile.py +0 -0
  394. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/profile_recall.py +0 -0
  395. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/removal.py +0 -0
  396. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/resolution.py +0 -0
  397. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/retention.py +0 -0
  398. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/retriever.py +0 -0
  399. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/semantic_index.py +0 -0
  400. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/standing_instructions.py +0 -0
  401. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/state/__init__.py +0 -0
  402. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/state/chat.py +0 -0
  403. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/state/continuations.py +0 -0
  404. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/state/store.py +0 -0
  405. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/statement_migration.py +0 -0
  406. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/store.py +0 -0
  407. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/triage.py +0 -0
  408. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/vocabulary.py +0 -0
  409. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/__init__.py +0 -0
  410. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/assertions.py +0 -0
  411. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/baseline.py +0 -0
  412. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/drift.py +0 -0
  413. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/loader.py +0 -0
  414. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/models.py +0 -0
  415. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/runner.py +0 -0
  416. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/service.py +0 -0
  417. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/AGENTS.md +0 -0
  418. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/__init__.py +0 -0
  419. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/code_exec/__init__.py +0 -0
  420. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/code_exec/handler.py +0 -0
  421. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/code_exec/manifest.yaml +0 -0
  422. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/code_exec/plugin.py +0 -0
  423. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/__init__.py +0 -0
  424. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/cli.py +0 -0
  425. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/graphiti.yaml +0 -0
  426. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/manifest.yaml +0 -0
  427. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/mappings.yaml +0 -0
  428. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/plugin.py +0 -0
  429. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/reader.py +0 -0
  430. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/__init__.py +0 -0
  431. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/cache.py +0 -0
  432. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/engine.py +0 -0
  433. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/extract.py +0 -0
  434. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/guard.py +0 -0
  435. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/language.py +0 -0
  436. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/manifest.yaml +0 -0
  437. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/models.py +0 -0
  438. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/news_policy.py +0 -0
  439. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/news_sources.yaml +0 -0
  440. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/plugin.py +0 -0
  441. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/privacy.py +0 -0
  442. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/__init__.py +0 -0
  443. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/base.py +0 -0
  444. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/brave.py +0 -0
  445. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/duckduckgo.py +0 -0
  446. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/exa.py +0 -0
  447. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/searxng.py +0 -0
  448. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/tavily.py +0 -0
  449. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/rank.py +0 -0
  450. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/rerank.py +0 -0
  451. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/tool.py +0 -0
  452. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/tools.py +0 -0
  453. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/system/__init__.py +0 -0
  454. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/system/manifest.yaml +0 -0
  455. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/system/plugin.py +0 -0
  456. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/telegram_channel/__init__.py +0 -0
  457. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/telegram_channel/manifest.yaml +0 -0
  458. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/telegram_channel/plugin.py +0 -0
  459. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_channel/__init__.py +0 -0
  460. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_channel/connector.py +0 -0
  461. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_channel/manifest.yaml +0 -0
  462. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_channel/plugin.py +0 -0
  463. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_push_channel/__init__.py +0 -0
  464. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_push_channel/manifest.yaml +0 -0
  465. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_push_channel/plugin.py +0 -0
  466. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/py.typed +0 -0
  467. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/__init__.py +0 -0
  468. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/action_center.py +0 -0
  469. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/activity_notices.py +0 -0
  470. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/agent_console.py +0 -0
  471. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/agent_panels.py +0 -0
  472. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/agent_settings_store.py +0 -0
  473. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/api_routes.py +0 -0
  474. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/bootstrap.py +0 -0
  475. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/brief_tools.py +0 -0
  476. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/capabilities.py +0 -0
  477. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/channel_wiring.py +0 -0
  478. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/classifiers.py +0 -0
  479. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/client_config.py +0 -0
  480. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/confirmations.py +0 -0
  481. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/continuations.py +0 -0
  482. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/egress_access.py +0 -0
  483. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/egress_transport.py +0 -0
  484. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/escalation_actions.py +0 -0
  485. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/eval_runtime.py +0 -0
  486. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/external_text.py +0 -0
  487. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/external_tools.py +0 -0
  488. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/facade.py +0 -0
  489. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/governance_judge.py +0 -0
  490. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/governed_http.py +0 -0
  491. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/__init__.py +0 -0
  492. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/brief_formats.py +0 -0
  493. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/brief_prefs.py +0 -0
  494. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/general.py +0 -0
  495. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/general_invoke.py +0 -0
  496. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/general_support.py +0 -0
  497. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/general_tools.py +0 -0
  498. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/local_skills.py +0 -0
  499. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/react.py +0 -0
  500. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/skill_brief.py +0 -0
  501. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/ticks.py +0 -0
  502. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/harness_services.py +0 -0
  503. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/identity_redaction.py +0 -0
  504. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/intercept_dispatch.py +0 -0
  505. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/intercepts.py +0 -0
  506. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/judges.py +0 -0
  507. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/learning_builders.py +0 -0
  508. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/learning_controls.py +0 -0
  509. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/mcp_serve.py +0 -0
  510. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/mission_proposals.py +0 -0
  511. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/nlu_parsing.py +0 -0
  512. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/__init__.py +0 -0
  513. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/api.py +0 -0
  514. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/declarative.py +0 -0
  515. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/dump.py +0 -0
  516. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/harness_topics.py +0 -0
  517. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/inventory.py +0 -0
  518. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/loader.py +0 -0
  519. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/manifest.py +0 -0
  520. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/mcp_host.py +0 -0
  521. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/nav.py +0 -0
  522. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/profile.py +0 -0
  523. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/registry.py +0 -0
  524. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/react_tools.py +0 -0
  525. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/replies.py +0 -0
  526. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/rollout_flags.py +0 -0
  527. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/router_audit.py +0 -0
  528. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/routine_authoring.py +0 -0
  529. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/self_learning_loop.py +0 -0
  530. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/session_memory.py +0 -0
  531. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/settings_catalog.py +0 -0
  532. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/shadow.py +0 -0
  533. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/skill_matching.py +0 -0
  534. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/skill_tool_specs.py +0 -0
  535. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/tool_access.py +0 -0
  536. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/tool_call_parsing.py +0 -0
  537. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/tool_service.py +0 -0
  538. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/__init__.py +0 -0
  539. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/host.py +0 -0
  540. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/pipeline.py +0 -0
  541. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/__init__.py +0 -0
  542. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/classify.py +0 -0
  543. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/curate.py +0 -0
  544. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/execute.py +0 -0
  545. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/guard.py +0 -0
  546. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/intercept.py +0 -0
  547. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/notice.py +0 -0
  548. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/opener.py +0 -0
  549. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/plan.py +0 -0
  550. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/record.py +0 -0
  551. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/resolve.py +0 -0
  552. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/route.py +0 -0
  553. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/screen.py +0 -0
  554. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/state.py +0 -0
  555. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn_capture.py +0 -0
  556. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn_context.py +0 -0
  557. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/types.py +0 -0
  558. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/welcome.py +0 -0
  559. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/AGENTS.md +0 -0
  560. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/__init__.py +0 -0
  561. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/activities.py +0 -0
  562. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/activity.py +0 -0
  563. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/approvals.py +0 -0
  564. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/audit.py +0 -0
  565. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/capabilities.py +0 -0
  566. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/channels.py +0 -0
  567. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/cli.py +0 -0
  568. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/config.py +0 -0
  569. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/content.py +0 -0
  570. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/digest.py +0 -0
  571. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/docs.py +0 -0
  572. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/events.py +0 -0
  573. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/health.py +0 -0
  574. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/heartbeat.py +0 -0
  575. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/http.py +0 -0
  576. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/identity.py +0 -0
  577. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/learning.py +0 -0
  578. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/llm.py +0 -0
  579. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/logging.py +0 -0
  580. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/mcp.py +0 -0
  581. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/memory.py +0 -0
  582. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/parsing.py +0 -0
  583. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/pending_actions.py +0 -0
  584. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/persistence.py +0 -0
  585. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/process_state.py +0 -0
  586. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/rag.py +0 -0
  587. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/reminders.py +0 -0
  588. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/research.py +0 -0
  589. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/sandbox.py +0 -0
  590. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/services.py +0 -0
  591. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/stable_tier.yaml +0 -0
  592. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/tasks.py +0 -0
  593. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/time.py +0 -0
  594. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/tools.py +0 -0
  595. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/types.py +0 -0
  596. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/vault.py +0 -0
  597. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/__init__.py +0 -0
  598. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/auth.py +0 -0
  599. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/channel_gateway/__init__.py +0 -0
  600. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/channel_gateway/main.py +0 -0
  601. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/channel_gateway/main_types.py +0 -0
  602. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/channel_gateway/telegram.py +0 -0
  603. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/evaluator/__init__.py +0 -0
  604. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/evaluator/main.py +0 -0
  605. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/governor/__init__.py +0 -0
  606. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/governor/main.py +0 -0
  607. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/__init__.py +0 -0
  608. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/action_center_routes.py +0 -0
  609. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/agent_routes.py +0 -0
  610. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/chat_routes.py +0 -0
  611. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/detached_turns.py +0 -0
  612. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/device_routes.py +0 -0
  613. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/digest_feedback_routes.py +0 -0
  614. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/digest_routes.py +0 -0
  615. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/governance_routes.py +0 -0
  616. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/health_routes.py +0 -0
  617. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/learning_routes.py +0 -0
  618. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/main.py +0 -0
  619. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/mcp_server.py +0 -0
  620. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/memory_routes.py +0 -0
  621. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/ops_routes.py +0 -0
  622. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/playground_routes.py +0 -0
  623. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/push_routes.py +0 -0
  624. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/routines_routes.py +0 -0
  625. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/runtime_access.py +0 -0
  626. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/session_routes.py +0 -0
  627. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/settings_routes.py +0 -0
  628. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/static_ui.py +0 -0
  629. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/apple-touch-icon.png +0 -0
  630. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/ActionCenter-DPme58BE.js +0 -0
  631. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/ActivityFeed-Nm_RwwAz.js +0 -0
  632. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/AgentDashboard-Dojfdzf7.js +0 -0
  633. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Agents-Dq0I6VuX.js +0 -0
  634. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/CallTrace-D3vtSjfn.js +0 -0
  635. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Card-CXQcUgWe.js +0 -0
  636. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Chat-Bvcg3Bl-.js +0 -0
  637. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/ConfirmDialog-cQm1i1sw.js +0 -0
  638. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/CopyBlock-B9Rb1MjP.js +0 -0
  639. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Devices-BQf0mwTM.js +0 -0
  640. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Digest-DJTcX1sk.js +0 -0
  641. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/DigitalTwin-BnDh4-mJ.js +0 -0
  642. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Governance-B0IndDdb.js +0 -0
  643. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Health-CVZaordF.js +0 -0
  644. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Heartbeats-li6F-3b8.js +0 -0
  645. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Inbox-C2i3gjPa.js +0 -0
  646. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Knowledge-DH_1HKQr.js +0 -0
  647. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Learning-DfGC54J2.js +0 -0
  648. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Markdown-j0pwcwK-.js +0 -0
  649. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Memory-Zxz0DoSW.js +0 -0
  650. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/More-BgCWK7Nx.js +0 -0
  651. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Onboarding-Dnsw2VLB.js +0 -0
  652. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Overview-CTa_iRzh.js +0 -0
  653. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Pair-DlnVXM2M.js +0 -0
  654. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Playground-CVikP4hH.js +0 -0
  655. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/PluginDetail-Cm4lwuyQ.js +0 -0
  656. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Portfolio-DkvcQom8.js +0 -0
  657. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Rag-CH3QNZm0.js +0 -0
  658. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/ReconnectSheet-BjnZlyy-.js +0 -0
  659. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Reminder-CSFxYBCa.js +0 -0
  660. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Routines-CY3M7E32.js +0 -0
  661. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Sessions-CTrqPfxf.js +0 -0
  662. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Settings-C6ywirYS.js +0 -0
  663. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Setup-C6cEFSk8.js +0 -0
  664. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Switch-BH9PZxoY.js +0 -0
  665. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/SystemCheck-Cn9RsJui.js +0 -0
  666. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/breakpoint-CLJTHGon.js +0 -0
  667. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/check-D0NYL5pb.js +0 -0
  668. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/dagre-B_OITo6c.js +0 -0
  669. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/dagre-DLioOiRN.css +0 -0
  670. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/dialog-C6T5mW7y.js +0 -0
  671. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/es2015-BjHWtMgl.js +0 -0
  672. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/http-BUcIPk9n.js +0 -0
  673. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/index-Cv_Iyn0z.css +0 -0
  674. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/index-WB9vDf9y.js +0 -0
  675. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/input-Cbj0uKBG.js +0 -0
  676. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/layout-WFL9FQeY.js +0 -0
  677. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/nodeMeta-D76FxGpn.js +0 -0
  678. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/parts-B0DqHYDY.js +0 -0
  679. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/parts-BJHhvYsv.js +0 -0
  680. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/thumbs-down-DaIvDjt_.js +0 -0
  681. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/useQuery-CXR1pn6x.js +0 -0
  682. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/icon-192.png +0 -0
  683. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/icon-512-maskable.png +0 -0
  684. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/icon-512.png +0 -0
  685. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/index.html +0 -0
  686. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/manifest.webmanifest +0 -0
  687. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/offline.html +0 -0
  688. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/sw.js +0 -0
  689. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/write_guard.py +0 -0
  690. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/__init__.py +0 -0
  691. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/activities/__init__.py +0 -0
  692. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/activities/events.py +0 -0
  693. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/activities/models.py +0 -0
  694. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/activities/runner.py +0 -0
  695. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/activities/store.py +0 -0
  696. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/__init__.py +0 -0
  697. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/approval_commands.py +0 -0
  698. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/approval_delivery.py +0 -0
  699. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/channel_config.py +0 -0
  700. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/connectors/__init__.py +0 -0
  701. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/connectors/console.py +0 -0
  702. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/connectors/telegram.py +0 -0
  703. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/connectors/telegram_poller.py +0 -0
  704. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/connectors/ws_client.py +0 -0
  705. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/gateway.py +0 -0
  706. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/models.py +0 -0
  707. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/protocol.py +0 -0
  708. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/reminder_commands.py +0 -0
  709. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/__init__.py +0 -0
  710. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/connector.py +0 -0
  711. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/encryption.py +0 -0
  712. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/keys.py +0 -0
  713. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/store.py +0 -0
  714. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/vapid.py +0 -0
  715. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/__init__.py +0 -0
  716. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/edits.py +0 -0
  717. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/expiry.py +0 -0
  718. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/footer.py +0 -0
  719. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/learned.py +0 -0
  720. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/run_first.py +0 -0
  721. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/settings.py +0 -0
  722. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digests/__init__.py +0 -0
  723. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digests/store.py +0 -0
  724. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/docs_search/__init__.py +0 -0
  725. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/docs_search/corpus.py +0 -0
  726. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/docs_search/search.py +0 -0
  727. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/__init__.py +0 -0
  728. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/checks.py +0 -0
  729. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/credentials.py +0 -0
  730. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/governance.py +0 -0
  731. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/heartbeat.py +0 -0
  732. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/incidents.py +0 -0
  733. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/jobs.py +0 -0
  734. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/models.py +0 -0
  735. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/pending_actions.py +0 -0
  736. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/repair.py +0 -0
  737. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/service.py +0 -0
  738. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/skills.py +0 -0
  739. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/watch.py +0 -0
  740. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/watch_edits.py +0 -0
  741. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/__init__.py +0 -0
  742. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/config.py +0 -0
  743. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/diagnostics.py +0 -0
  744. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/models.py +0 -0
  745. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/run_store.py +0 -0
  746. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/schedule_text.py +0 -0
  747. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/scheduler.py +0 -0
  748. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/slots.py +0 -0
  749. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/__init__.py +0 -0
  750. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/analyst.py +0 -0
  751. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/behavior_miner.py +0 -0
  752. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/crystallizer.py +0 -0
  753. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/dedup.py +0 -0
  754. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/engine.py +0 -0
  755. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/escalation_priors.py +0 -0
  756. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_adapter.py +0 -0
  757. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_docker.py +0 -0
  758. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_harness.py +0 -0
  759. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_preflight.py +0 -0
  760. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_replay_cli.py +0 -0
  761. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_runtime.py +0 -0
  762. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_workload.py +0 -0
  763. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/experiment_loop.py +0 -0
  764. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/intelligence.py +0 -0
  765. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/intention_rollup.py +0 -0
  766. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/lesson_capture.py +0 -0
  767. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/metrics.py +0 -0
  768. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/models.py +0 -0
  769. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/preflight.py +0 -0
  770. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/promote.py +0 -0
  771. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/proposal_quality.py +0 -0
  772. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/retriever.py +0 -0
  773. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/signals.py +0 -0
  774. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/store.py +0 -0
  775. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/strategies.py +0 -0
  776. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/suppression.py +0 -0
  777. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/__init__.py +0 -0
  778. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/engine.py +0 -0
  779. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/handlers.py +0 -0
  780. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/models.py +0 -0
  781. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/proposer.py +0 -0
  782. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/store.py +0 -0
  783. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/__init__.py +0 -0
  784. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/bills.py +0 -0
  785. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/channels.py +0 -0
  786. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/events.py +0 -0
  787. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/health.py +0 -0
  788. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/models.py +0 -0
  789. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/recurrence.py +0 -0
  790. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/snooze.py +0 -0
  791. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/store.py +0 -0
  792. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/targets.py +0 -0
  793. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/__init__.py +0 -0
  794. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/chunker.py +0 -0
  795. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/documents.py +0 -0
  796. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/index.py +0 -0
  797. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/ingest.py +0 -0
  798. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/ingest_gate.py +0 -0
  799. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/ingest_source.py +0 -0
  800. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/loaders.py +0 -0
  801. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/models.py +0 -0
  802. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/obsidian.py +0 -0
  803. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/ocr.py +0 -0
  804. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/qa.py +0 -0
  805. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/retrieve.py +0 -0
  806. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/sensitivity.py +0 -0
  807. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/store.py +0 -0
  808. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/research/__init__.py +0 -0
  809. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/research/providers.py +0 -0
  810. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/__init__.py +0 -0
  811. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/authoring.py +0 -0
  812. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/models.py +0 -0
  813. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/reflection.py +0 -0
  814. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/seeded.py +0 -0
  815. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/store.py +0 -0
  816. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/__init__.py +0 -0
  817. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/doctor.py +0 -0
  818. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/inventory.py +0 -0
  819. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/setup_state.py +0 -0
  820. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/status.py +0 -0
  821. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/telegram_pairing.py +0 -0
  822. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/__init__.py +0 -0
  823. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/brief_view.py +0 -0
  824. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/events.py +0 -0
  825. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/models.py +0 -0
  826. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/pending_actions.py +0 -0
  827. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/store.py +0 -0
  828. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/__init__.py +0 -0
  829. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/conformance.py +0 -0
  830. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/harness.py +0 -0
  831. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/network_imports.py +0 -0
  832. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/proof_bundle.py +0 -0
  833. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/stable.py +0 -0
  834. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/__init__.py +0 -0
  835. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/mcp/__init__.py +0 -0
  836. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/mcp/server.py +0 -0
  837. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/mcp_bridge.py +0 -0
  838. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/propose_skill_from_sandbox.py +0 -0
  839. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/Dockerfile +0 -0
  840. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/Dockerfile.eval +0 -0
  841. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/__init__.py +0 -0
  842. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/config.py +0 -0
  843. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/docker_sandbox.py +0 -0
  844. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/egress.py +0 -0
  845. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/egress_proxy.py +0 -0
  846. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/exceptions.py +0 -0
  847. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/models.py +0 -0
  848. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/runtime.py +0 -0
  849. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/workspace.py +0 -0
  850. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox_tools.py +0 -0
  851. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/__init__.py +0 -0
  852. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/hot_reload.py +0 -0
  853. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/loader.py +0 -0
  854. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/models.py +0 -0
  855. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/registry.py +0 -0
  856. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/semantic_router.py +0 -0
  857. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/skill_synthesizer.py +0 -0
  858. {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/stock_quote.py +0 -0
  859. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/__init__.py +0 -0
  860. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/connections/__init__.py +0 -0
  861. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/connections/google.py +0 -0
  862. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/connections/google_routes.py +0 -0
  863. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/__init__.py +0 -0
  864. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/accounts.py +0 -0
  865. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/agent_tools.py +0 -0
  866. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/analysis.py +0 -0
  867. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/categories.py +0 -0
  868. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/category_store.py +0 -0
  869. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/contracts.py +0 -0
  870. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/digest.py +0 -0
  871. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/events.py +0 -0
  872. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/feedback_keys.py +0 -0
  873. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/provider_api.py +0 -0
  874. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/providers.py +0 -0
  875. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/semantic_index.py +0 -0
  876. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/send_tools.py +0 -0
  877. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/store.py +0 -0
  878. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/sweep.py +0 -0
  879. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/sweep_gate.py +0 -0
  880. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/trash_tools.py +0 -0
  881. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/write_approvals.py +0 -0
  882. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/__init__.py +0 -0
  883. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/__init__.py +0 -0
  884. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/agent.py +0 -0
  885. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/cli.py +0 -0
  886. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/cli_setup.py +0 -0
  887. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/cli_writes.py +0 -0
  888. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/__init__.py +0 -0
  889. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/corpus.json +0 -0
  890. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/corpus.py +0 -0
  891. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/fake_model.yaml +0 -0
  892. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/home.py +0 -0
  893. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/provider.py +0 -0
  894. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/digest_focus.py +0 -0
  895. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/discovery.py +0 -0
  896. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/first_digest.py +0 -0
  897. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/followup.py +0 -0
  898. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/holdout.py +0 -0
  899. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/inbox_mix.py +0 -0
  900. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/job_watch.py +0 -0
  901. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/job_watch.yaml +0 -0
  902. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge.py +0 -0
  903. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge.yaml +0 -0
  904. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_api.py +0 -0
  905. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_cards.py +0 -0
  906. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_chat.py +0 -0
  907. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_config.py +0 -0
  908. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_corrections.py +0 -0
  909. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_digest.py +0 -0
  910. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_labels.py +0 -0
  911. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_surfaces.py +0 -0
  912. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_view.py +0 -0
  913. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_wiring.py +0 -0
  914. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_words.py +0 -0
  915. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judgments.py +0 -0
  916. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/knn_gate.py +0 -0
  917. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/manifest.yaml +0 -0
  918. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/map_exclusions.py +0 -0
  919. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/memory_map.yaml +0 -0
  920. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/onboarding.py +0 -0
  921. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/onboarding.yaml +0 -0
  922. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/onboarding_api.py +0 -0
  923. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/plugin.py +0 -0
  924. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/semantic_heartbeat.py +0 -0
  925. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/sweep_health.py +0 -0
  926. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/tools.py +0 -0
  927. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/triage.py +0 -0
  928. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/wiki_ingestion.py +0 -0
  929. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/writes_health.py +0 -0
  930. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/__init__.py +0 -0
  931. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/cli.py +0 -0
  932. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/gmail_attachments.py +0 -0
  933. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/gmail_fetch.py +0 -0
  934. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/gmail_oauth.py +0 -0
  935. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/manifest.yaml +0 -0
  936. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/plugin.py +0 -0
  937. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/provider.py +0 -0
  938. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/vendor_categories.py +0 -0
  939. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/vendor_categories.yaml +0 -0
  940. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/__init__.py +0 -0
  941. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/account.py +0 -0
  942. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/cli.py +0 -0
  943. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/connection.py +0 -0
  944. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/health.py +0 -0
  945. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/keywords.py +0 -0
  946. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/manifest.yaml +0 -0
  947. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/mime.py +0 -0
  948. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/plugin.py +0 -0
  949. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/provider.py +0 -0
  950. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/state.py +0 -0
  951. {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/py.typed +0 -0
  952. {evarness-0.2.2 → evarness-0.2.3}/src/iris_harness/__init__.py +0 -0
  953. {evarness-0.2.2 → evarness-0.2.3}/src/iris_personal/__init__.py +0 -0
  954. {evarness-0.2.2 → evarness-0.2.3}/src/memris/__init__.py +0 -0
  955. {evarness-0.2.2 → evarness-0.2.3}/src/memris/graph.py +0 -0
  956. {evarness-0.2.2 → evarness-0.2.3}/src/memris/interchange/__init__.py +0 -0
  957. {evarness-0.2.2 → evarness-0.2.3}/src/memris/interchange/__main__.py +0 -0
  958. {evarness-0.2.2 → evarness-0.2.3}/src/memris/interchange/jsonld.py +0 -0
  959. {evarness-0.2.2 → evarness-0.2.3}/src/memris/interchange/mapping.py +0 -0
  960. {evarness-0.2.2 → evarness-0.2.3}/src/memris/learn.py +0 -0
  961. {evarness-0.2.2 → evarness-0.2.3}/src/memris/model/__init__.py +0 -0
  962. {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/__init__.py +0 -0
  963. {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/__main__.py +0 -0
  964. {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/compiler.py +0 -0
  965. {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/learned.py +0 -0
  966. {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/loader.py +0 -0
  967. {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/spec.py +0 -0
  968. {evarness-0.2.2 → evarness-0.2.3}/src/memris/resolve.py +0 -0
  969. {evarness-0.2.2 → evarness-0.2.3}/src/memris/store/__init__.py +0 -0
  970. {evarness-0.2.2 → evarness-0.2.3}/src/memris/store/memory.py +0 -0
  971. {evarness-0.2.2 → evarness-0.2.3}/src/memris/store/sqlite.py +0 -0
@@ -1,24 +1,23 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: evarness
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: The governed agent harness for small local models. It proves what it did.
5
- License: Apache-2.0
5
+ License-Expression: Apache-2.0
6
6
  License-File: LICENSE
7
7
  Keywords: ai,llm,agent,harness,governance,privacy,ollama,local-first,mcp,plugins
8
8
  Author: Evarness contributors
9
9
  Requires-Python: >=3.12,<3.14
10
10
  Classifier: Development Status :: 3 - Alpha
11
- Classifier: Environment :: Console
12
- Classifier: Environment :: Web Environment
13
11
  Classifier: Intended Audience :: End Users/Desktop
14
- Classifier: License :: OSI Approved :: Apache Software License
15
12
  Classifier: Operating System :: OS Independent
16
13
  Classifier: Programming Language :: Python :: 3
17
14
  Classifier: Programming Language :: Python :: 3.12
18
15
  Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
19
17
  Classifier: Topic :: Communications :: Email
20
18
  Classifier: Topic :: Office/Business :: Scheduling
21
- Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
19
+ Classifier: Environment :: Console
20
+ Classifier: Environment :: Web Environment
22
21
  Provides-Extra: all
23
22
  Provides-Extra: email
24
23
  Provides-Extra: ml
@@ -29,9 +28,12 @@ Requires-Dist: cryptography (>=43,<51)
29
28
  Requires-Dist: ddgs (>=9.14,<10.0)
30
29
  Requires-Dist: duckdb (>=1.1,<2)
31
30
  Requires-Dist: fastapi (>=0.109,<1)
32
- Requires-Dist: google-api-python-client (>=2.0,<3.0) ; extra == "email" or extra == "all"
33
- Requires-Dist: google-auth (>=2.0,<3.0) ; extra == "email" or extra == "all"
34
- Requires-Dist: google-auth-oauthlib (>=1.0,<2.0) ; extra == "email" or extra == "all"
31
+ Requires-Dist: google-api-python-client (>=2.0,<3.0) ; extra == "all"
32
+ Requires-Dist: google-api-python-client (>=2.0,<3.0) ; extra == "email"
33
+ Requires-Dist: google-auth (>=2.0,<3.0) ; extra == "all"
34
+ Requires-Dist: google-auth (>=2.0,<3.0) ; extra == "email"
35
+ Requires-Dist: google-auth-oauthlib (>=1.0,<2.0) ; extra == "all"
36
+ Requires-Dist: google-auth-oauthlib (>=1.0,<2.0) ; extra == "email"
35
37
  Requires-Dist: httpcore (>=1,<2)
36
38
  Requires-Dist: httpx (>=0.27,<1)
37
39
  Requires-Dist: keyring (>=25.0.0,<26.0.0)
@@ -55,15 +57,17 @@ Requires-Dist: pytesseract (>=0.3.13,<0.4.0)
55
57
  Requires-Dist: python-dotenv (>=1.2.1,<2.0.0)
56
58
  Requires-Dist: python-multipart (>=0.0.31)
57
59
  Requires-Dist: pyyaml (>=6.0,<7.0)
58
- Requires-Dist: scikit-learn (>=1.3) ; extra == "email" or extra == "all"
59
- Requires-Dist: sentence-transformers (>=5.5.1,<6.0.0) ; extra == "ml" or extra == "all"
60
+ Requires-Dist: scikit-learn (>=1.3) ; extra == "all"
61
+ Requires-Dist: scikit-learn (>=1.3) ; extra == "email"
62
+ Requires-Dist: sentence-transformers (>=5.5.1,<6.0) ; extra == "all"
63
+ Requires-Dist: sentence-transformers (>=5.5.1,<6.0) ; extra == "ml"
60
64
  Requires-Dist: starlette (>=1.3.1,<2)
61
65
  Requires-Dist: trafilatura (>=2.1.0,<3.0.0)
62
66
  Requires-Dist: uvicorn (>=0.27,<1)
63
67
  Requires-Dist: watchdog (>=4.0.0,<5.0.0)
64
68
  Project-URL: Bug Tracker, https://github.com/evarness-ai/evarness/issues
65
69
  Project-URL: Changelog, https://github.com/evarness-ai/evarness/blob/main/CHANGELOG.md
66
- Project-URL: Documentation, https://github.com/evarness-ai/evarness/blob/main/README.md
70
+ Project-URL: Documentation, https://evarness-ai.github.io/evarness/
67
71
  Project-URL: Homepage, https://github.com/evarness-ai/evarness
68
72
  Project-URL: Repository, https://github.com/evarness-ai/evarness
69
73
  Description-Content-Type: text/markdown
@@ -109,12 +113,14 @@ adaptation. Governance provides authority.
109
113
  ## Try it in three minutes
110
114
 
111
115
  You need [uv](https://docs.astral.sh/uv/) or [pipx](https://pipx.pypa.io/)
112
- ([install notes](https://evarness-ai.github.io/evarness/getting-started/install/)). On
113
- Windows, one script sets everything up in Docker Desktop; see the
116
+ ([install notes](https://evarness-ai.github.io/evarness/getting-started/install/)), and
117
+ Python 3.12 or 3.13: `uv` fetches one if you have neither, and a uv or pipx pinned to
118
+ another Python says `No solution found`; pass `--python 3.13` then. On Windows, one script
119
+ sets everything up in Docker Desktop; see the
114
120
  [Windows guide](https://evarness-ai.github.io/evarness/guides/windows/).
115
121
 
116
122
  ```bash
117
- uv tool install "evarness[email]" # or: pipx install "evarness[email]"
123
+ uv tool install "evarness[email]" --upgrade # or: pipx install "evarness[email]"
118
124
  evarness doctor # can Evarness run here, and what to fix
119
125
  evarness email demo # a synthetic mailbox, a scripted model, no network
120
126
  ```
@@ -126,8 +132,7 @@ touches yours. Export that home's proof bundle, ledger and session logs both, an
126
132
  offline:
127
133
 
128
134
  ```bash
129
- evarness governance proof-bundle export --db ~/.evarness-demo/governance/audit.db \
130
- --session-logs ~/.evarness-demo/logs --out bundle.json
135
+ evarness governance proof-bundle export --home ~/.evarness-demo --out bundle.json
131
136
  evarness governance proof-bundle verify bundle.json # exit 0 verified, 1 a violation
132
137
  ```
133
138
 
@@ -255,6 +260,10 @@ poetry run evarness email demo # the whole stack from source: no accou
255
260
  scripts/ci_local.sh --fast # ruff, black, mypy, import contracts, the tests for what changed
256
261
  ```
257
262
 
263
+ `uv sync` in a clone installs the package and the `evarness` command too
264
+ (`uv run evarness doctor`); the gate's tools are Poetry's dev group, so `poetry install`
265
+ is the step to work on the code.
266
+
258
267
  [CONTRIBUTING.md](CONTRIBUTING.md) has the governance rules every change keeps, the DCO
259
268
  sign-off, the stable-tier rule and **where help is wanted**. Read the
260
269
  [code of conduct](CODE_OF_CONDUCT.md). Coding agents: [AGENTS.md](AGENTS.md). Questions and
@@ -39,12 +39,14 @@ adaptation. Governance provides authority.
39
39
  ## Try it in three minutes
40
40
 
41
41
  You need [uv](https://docs.astral.sh/uv/) or [pipx](https://pipx.pypa.io/)
42
- ([install notes](https://evarness-ai.github.io/evarness/getting-started/install/)). On
43
- Windows, one script sets everything up in Docker Desktop; see the
42
+ ([install notes](https://evarness-ai.github.io/evarness/getting-started/install/)), and
43
+ Python 3.12 or 3.13: `uv` fetches one if you have neither, and a uv or pipx pinned to
44
+ another Python says `No solution found`; pass `--python 3.13` then. On Windows, one script
45
+ sets everything up in Docker Desktop; see the
44
46
  [Windows guide](https://evarness-ai.github.io/evarness/guides/windows/).
45
47
 
46
48
  ```bash
47
- uv tool install "evarness[email]" # or: pipx install "evarness[email]"
49
+ uv tool install "evarness[email]" --upgrade # or: pipx install "evarness[email]"
48
50
  evarness doctor # can Evarness run here, and what to fix
49
51
  evarness email demo # a synthetic mailbox, a scripted model, no network
50
52
  ```
@@ -56,8 +58,7 @@ touches yours. Export that home's proof bundle, ledger and session logs both, an
56
58
  offline:
57
59
 
58
60
  ```bash
59
- evarness governance proof-bundle export --db ~/.evarness-demo/governance/audit.db \
60
- --session-logs ~/.evarness-demo/logs --out bundle.json
61
+ evarness governance proof-bundle export --home ~/.evarness-demo --out bundle.json
61
62
  evarness governance proof-bundle verify bundle.json # exit 0 verified, 1 a violation
62
63
  ```
63
64
 
@@ -185,6 +186,10 @@ poetry run evarness email demo # the whole stack from source: no accou
185
186
  scripts/ci_local.sh --fast # ruff, black, mypy, import contracts, the tests for what changed
186
187
  ```
187
188
 
189
+ `uv sync` in a clone installs the package and the `evarness` command too
190
+ (`uv run evarness doctor`); the gate's tools are Poetry's dev group, so `poetry install`
191
+ is the step to work on the code.
192
+
188
193
  [CONTRIBUTING.md](CONTRIBUTING.md) has the governance rules every change keeps, the DCO
189
194
  sign-off, the stable-tier rule and **where help is wanted**. Read the
190
195
  [code of conduct](CODE_OF_CONDUCT.md). Coding agents: [AGENTS.md](AGENTS.md). Questions and
@@ -1,18 +1,17 @@
1
- [tool.poetry]
1
+ [project]
2
2
  name = "evarness"
3
- version = "0.2.2"
3
+ version = "0.2.3"
4
4
  description = "The governed agent harness for small local models. It proves what it did."
5
- authors = ["Evarness contributors"]
6
5
  readme = "README.md"
7
6
  license = "Apache-2.0"
8
- homepage = "https://github.com/evarness-ai/evarness"
9
- repository = "https://github.com/evarness-ai/evarness"
10
- documentation = "https://github.com/evarness-ai/evarness/blob/main/README.md"
7
+ authors = [{ name = "Evarness contributors" }]
8
+ # 3.13 supported since 2026-09-26: the core has no 3.12-only code; what held it back was
9
+ # numpy<2 (no cp313 wheels) and heavy dependencies nothing imported.
10
+ requires-python = ">=3.12,<3.14"
11
11
  keywords = ["ai", "llm", "agent", "harness", "governance", "privacy", "ollama", "local-first", "mcp", "plugins"]
12
12
  classifiers = [
13
13
  "Development Status :: 3 - Alpha",
14
14
  "Intended Audience :: End Users/Desktop",
15
- "License :: OSI Approved :: Apache Software License",
16
15
  "Operating System :: OS Independent",
17
16
  "Programming Language :: Python :: 3",
18
17
  "Programming Language :: Python :: 3.12",
@@ -23,6 +22,45 @@ classifiers = [
23
22
  "Environment :: Console",
24
23
  "Environment :: Web Environment",
25
24
  ]
25
+ # The dependency table stays Poetry's ([tool.poetry.dependencies]: caret constraints and
26
+ # the optional markers the extras name), which PEP 621 spells by listing dependencies
27
+ # here as dynamic. Everything else about the package is in this table, so uv, pip and any
28
+ # PEP 621 reader see a project: `uv sync` in a clone used to resolve an empty workspace
29
+ # and install nothing (#373).
30
+ dynamic = ["dependencies"]
31
+
32
+ [project.urls]
33
+ Homepage = "https://github.com/evarness-ai/evarness"
34
+ Repository = "https://github.com/evarness-ai/evarness"
35
+ Documentation = "https://evarness-ai.github.io/evarness/"
36
+ "Bug Tracker" = "https://github.com/evarness-ai/evarness/issues"
37
+ Changelog = "https://github.com/evarness-ai/evarness/blob/main/CHANGELOG.md"
38
+
39
+ [project.scripts]
40
+ evarness = "evarness.main:main"
41
+
42
+ # The domain plugins, discovered exactly as a third-party plugin is: by the
43
+ # `evarness.plugins` entry-point group, with their manifest.yaml read from beside
44
+ # the module named here (OSS plan M6, decisions 2 and 10). The public tree ships the
45
+ # email slice's three (R2) -- the email profile mounts them; `default` names none -- and
46
+ # the fenced four stay private until release 2.
47
+ [project.entry-points."evarness.plugins"]
48
+ email_workflows = "evarness_personal.plugins.email_workflows.plugin:setup"
49
+ gmail = "evarness_personal.plugins.gmail.plugin:setup"
50
+ imap = "evarness_personal.plugins.imap.plugin:setup"
51
+
52
+ [project.optional-dependencies]
53
+ # The email assistant (OSS plan R2/R6), declared in the public tree only: here the Google
54
+ # packages are main dependencies already (see the dependency table), and an extra that
55
+ # names a main dependency would make it extra-only in the wheel.
56
+ # The versions repeat the dependency table's optional entries below, which carry the
57
+ # same constraints for the lock: this table is what the wheel's Requires-Dist reads.
58
+ email = ["google-api-python-client>=2.0,<3.0", "google-auth>=2.0,<3.0", "google-auth-oauthlib>=1.0,<2.0", "scikit-learn>=1.3"]
59
+ ml = ["sentence-transformers>=5.5.1,<6.0"]
60
+ all = ["sentence-transformers>=5.5.1,<6.0", "google-api-python-client>=2.0,<3.0", "google-auth>=2.0,<3.0", "google-auth-oauthlib>=1.0,<2.0", "scikit-learn>=1.3"]
61
+
62
+ [tool.poetry]
63
+ # What PEP 621 cannot say: where the packages are, what else ships, and what stays out.
26
64
  packages = [
27
65
  { include = "evarness", from = "src" },
28
66
  { include = "memris", from = "src" }, # the memory-graph engine, public (ADR-0115 decision 10)
@@ -72,28 +110,7 @@ exclude = [
72
110
  "config/skills/research/research-draft/**/*",
73
111
  ]
74
112
 
75
- [tool.poetry.urls]
76
- "Bug Tracker" = "https://github.com/evarness-ai/evarness/issues"
77
- "Changelog" = "https://github.com/evarness-ai/evarness/blob/main/CHANGELOG.md"
78
-
79
- [tool.poetry.scripts]
80
- evarness = "evarness.main:main"
81
-
82
- # The domain plugins, discovered exactly as a third-party plugin is: by the
83
- # `evarness.plugins` entry-point group, with their manifest.yaml read from beside
84
- # the module named here (OSS plan M6, decisions 2 and 10). The public tree ships the
85
- # email slice's three (R2) -- the email profile mounts them; `default` names none -- and
86
- # the fenced four stay private until release 2.
87
- [tool.poetry.plugins."evarness.plugins"]
88
- email_workflows = "evarness_personal.plugins.email_workflows.plugin:setup"
89
- gmail = "evarness_personal.plugins.gmail.plugin:setup"
90
- imap = "evarness_personal.plugins.imap.plugin:setup"
91
-
92
113
  [tool.poetry.dependencies]
93
- # 3.13 supported since 2026-09-26: the core has no 3.12-only code; what held it back was
94
- # numpy<2 (no cp313 wheels) and heavy dependencies nothing imported.
95
- python = ">=3.12,<3.14"
96
-
97
114
  # LangChain: the only parts the code imports. `langchain_core.tools.BaseTool` is every
98
115
  # tool's base class (skills, MCP bridge, research); the two chat clients are llm/client.py's
99
116
  # (lazily). 1.x since 2026-09-26, which the private coding agent's langgraph 1.x needs.
@@ -202,14 +219,6 @@ pytest-xdist = "^3.6"
202
219
  import-linter = "^2.15"
203
220
 
204
221
 
205
- [tool.poetry.extras]
206
- # The email assistant (OSS plan R2/R6), declared in the public tree only: here the Google
207
- # packages are main dependencies already (see the dependency table), and an extra that
208
- # names a main dependency would make it extra-only in the wheel.
209
- email = ["google-api-python-client", "google-auth", "google-auth-oauthlib", "scikit-learn"]
210
- ml = ["sentence-transformers"]
211
- all = ["sentence-transformers", "google-api-python-client", "google-auth", "google-auth-oauthlib", "scikit-learn"]
212
-
213
222
  [build-system]
214
223
  requires = ["poetry-core"]
215
224
  build-backend = "poetry.core.masonry.api"
@@ -220,6 +229,10 @@ target-version = ['py312']
220
229
 
221
230
  [tool.ruff]
222
231
  line-length = 100
232
+ # Explicit, and the same value ruff infers from [project].requires-python. Before the
233
+ # [project] table ruff had nothing to infer from and fell back to 3.9, which kept the
234
+ # 3.12-era UP rules off and sorted tomllib (stdlib since 3.11) as third-party.
235
+ target-version = "py312"
223
236
 
224
237
  [tool.ruff.lint]
225
238
  # BLE: a broad `except` must say why (`# noqa: BLE001 — reason`) or narrow. T20: no
@@ -227,7 +240,11 @@ line-length = 100
227
240
  # RUF100: a `# noqa` for a rule that is off or not triggered is an error, so markers
228
241
  # stay honest (0.16 upgrade: 1534 such markers removed; their reasons kept as comments).
229
242
  select = ["E", "W", "F", "I", "B", "C4", "UP", "S", "BLE", "T20", "RUF100"]
230
- ignore = ["E501", "S101"]
243
+ # UP042 and UP047 arrived with the 3.12 target. UP042 rewrites `(str, Enum)` classes to
244
+ # StrEnum, which changes what str() and format() of a member return; UP047 rewrites
245
+ # signatures to PEP 695 generics. Both are code changes to review on their own, not to
246
+ # slip in with a packaging change (#375 tracks adopting them).
247
+ ignore = ["E501", "S101", "UP042", "UP047"]
231
248
 
232
249
  [tool.ruff.lint.isort]
233
250
  # Every source root under src/, named so grouping does not depend on ruff's detection
@@ -10,6 +10,6 @@ from evarness.foundation.legacy import alias_legacy_environment
10
10
 
11
11
  __all__ = ["__version__"]
12
12
 
13
- __version__ = "0.2.2"
13
+ __version__ = "0.2.3"
14
14
 
15
15
  alias_legacy_environment()
@@ -320,6 +320,54 @@ proof_bundle_app = typer.Typer(
320
320
  governance_app.add_typer(proof_bundle_app, name="proof-bundle")
321
321
 
322
322
 
323
+ def _home_of_ledger(db: Path) -> Path | None:
324
+ """The Evarness home a ledger path belongs to: ``<home>/governance/audit.db``."""
325
+ return db.parent.parent if db.parent.name == "governance" else None
326
+
327
+
328
+ def _home_of_logs(logs: Path) -> Path | None:
329
+ """The Evarness home a session-log directory belongs to: ``<home>/logs``."""
330
+ return logs.parent if logs.name == "logs" else None
331
+
332
+
333
+ def resolve_bundle_sources(
334
+ *,
335
+ home: Path | None,
336
+ db: Path | None,
337
+ session_logs: Path | None,
338
+ default_db: Path,
339
+ default_logs: Path,
340
+ ) -> tuple[Path, Path, str | None]:
341
+ """Where an export reads its ledger and its session logs, and a note when the two
342
+ come from different homes.
343
+
344
+ ``--home`` names both (``<home>/governance/audit.db`` and ``<home>/logs``); ``--db``
345
+ and ``--session-logs`` each override one. A ``--db`` alone that sits in a home's
346
+ ``governance/`` brings that home's ``logs/`` with it: the ledger of one home checked
347
+ against another home's sessions fails every-call-and-answer-audited for sessions the
348
+ ledger never saw (#362), which is what happened with the demo's ledger and the
349
+ owner's own chat sessions.
350
+ """
351
+ ledger = db or (home / "governance" / "audit.db" if home else default_db)
352
+ if session_logs is not None:
353
+ logs = session_logs
354
+ elif home is not None:
355
+ logs = home / "logs"
356
+ elif db is not None and (ledger_home := _home_of_ledger(db)) is not None:
357
+ logs = ledger_home / "logs"
358
+ else:
359
+ logs = default_logs
360
+ ledger_home, logs_home = _home_of_ledger(ledger), _home_of_logs(logs)
361
+ note = None
362
+ if ledger_home is not None and logs_home is not None and ledger_home != logs_home:
363
+ note = (
364
+ f"note: the ledger is {ledger_home}'s and the session logs are {logs_home}'s; "
365
+ "a bundle across two homes does not verify. Pass --home, or --session-logs "
366
+ "for the ledger's home."
367
+ )
368
+ return ledger, logs, note
369
+
370
+
323
371
  @proof_bundle_app.command("export")
324
372
  def proof_bundle_export(
325
373
  out: Annotated[Path, typer.Option("--out", help="Where to write the bundle (JSON).")],
@@ -333,6 +381,14 @@ def proof_bundle_export(
333
381
  list[str] | None, typer.Option("--run", help="Only this run id (repeatable).")
334
382
  ] = None,
335
383
  subject: Annotated[str, typer.Option("--subject", help="What the bundle covers.")] = "",
384
+ home: Annotated[
385
+ Path | None,
386
+ typer.Option(
387
+ "--home",
388
+ help="An Evarness home (the demo's, say): its governance/audit.db and logs/ "
389
+ "stand in for --db and --session-logs.",
390
+ ),
391
+ ] = None,
336
392
  db: Annotated[
337
393
  Path | None, typer.Option("--db", help="Audit ledger (default: this home's).")
338
394
  ] = None,
@@ -361,14 +417,20 @@ def proof_bundle_export(
361
417
  from evarness.foundation.paths import audit_db_path
362
418
  from evarness.kernel.governance.audit import proof_bundle
363
419
 
364
- ledger = db or audit_db_path()
420
+ ledger, logs, note = resolve_bundle_sources(
421
+ home=home,
422
+ db=db,
423
+ session_logs=session_logs,
424
+ default_db=audit_db_path(),
425
+ default_logs=session_log_dir(),
426
+ )
365
427
  if not ledger.exists():
366
428
  print_error(f"no audit ledger at {ledger}")
367
429
  raise typer.Exit(2)
430
+ if note:
431
+ console.print(note)
368
432
  try:
369
- seen = proof_bundle.observations_from_session_logs(
370
- session_logs or session_log_dir(), since=since, until=until
371
- )
433
+ seen = proof_bundle.observations_from_session_logs(logs, since=since, until=until)
372
434
  if observations is not None:
373
435
  raw = json.loads(observations.read_text(encoding="utf-8"))
374
436
  seen = seen + proof_bundle.observations_from_json(raw)
@@ -375,6 +375,9 @@ def render_summary(report: DemoReport) -> str:
375
375
  "own (`evarness learning status`).",
376
376
  "",
377
377
  f"Everything is in {report.home}. Run it again: nothing is fetched or judged twice.",
378
+ "Verify this run offline, ledger and session logs from this home: "
379
+ f"`evarness governance proof-bundle export --home {report.home} --out bundle.json "
380
+ "&& evarness governance proof-bundle verify bundle.json`.",
378
381
  "Connect your own mailbox with `evarness email setup` when you are ready.",
379
382
  ]
380
383
  return "\n".join(lines)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes