evarness 0.2.1__tar.gz → 0.2.2__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.1 → evarness-0.2.2}/PKG-INFO +10 -23
  2. {evarness-0.2.1 → evarness-0.2.2}/README.md +9 -22
  3. {evarness-0.2.1 → evarness-0.2.2}/pyproject.toml +1 -1
  4. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/__init__.py +1 -1
  5. {evarness-0.2.1 → evarness-0.2.2}/LICENSE +0 -0
  6. {evarness-0.2.1 → evarness-0.2.2}/config/behaviors/reminders.default.md +0 -0
  7. {evarness-0.2.1 → evarness-0.2.2}/config/channels.yaml +0 -0
  8. {evarness-0.2.1 → evarness-0.2.2}/config/cron/audit-compact.cron +0 -0
  9. {evarness-0.2.1 → evarness-0.2.2}/config/digest.yaml +0 -0
  10. {evarness-0.2.1 → evarness-0.2.2}/config/docs_search.yaml +0 -0
  11. {evarness-0.2.1 → evarness-0.2.2}/config/doctor.yaml +0 -0
  12. {evarness-0.2.1 → evarness-0.2.2}/config/escalation.yaml +0 -0
  13. {evarness-0.2.1 → evarness-0.2.2}/config/governance/egress.yaml +0 -0
  14. {evarness-0.2.1 → evarness-0.2.2}/config/governance/identity.yaml +0 -0
  15. {evarness-0.2.1 → evarness-0.2.2}/config/governance/mcp-serve.yaml +0 -0
  16. {evarness-0.2.1 → evarness-0.2.2}/config/governance/mcp-signing.yaml +0 -0
  17. {evarness-0.2.1 → evarness-0.2.2}/config/governance/mcp-trust.yaml +0 -0
  18. {evarness-0.2.1 → evarness-0.2.2}/config/governance/sandbox.yaml +0 -0
  19. {evarness-0.2.1 → evarness-0.2.2}/config/governance/taint-policy.yaml +0 -0
  20. {evarness-0.2.1 → evarness-0.2.2}/config/governance/threat-detection.yaml +0 -0
  21. {evarness-0.2.1 → evarness-0.2.2}/config/governance/tool-access.yaml +0 -0
  22. {evarness-0.2.1 → evarness-0.2.2}/config/governor/policy.yaml +0 -0
  23. {evarness-0.2.1 → evarness-0.2.2}/config/health_watch.yaml +0 -0
  24. {evarness-0.2.1 → evarness-0.2.2}/config/heartbeats.yaml +0 -0
  25. {evarness-0.2.1 → evarness-0.2.2}/config/identity/active.default.md +0 -0
  26. {evarness-0.2.1 → evarness-0.2.2}/config/identity/episodic.default.md +0 -0
  27. {evarness-0.2.1 → evarness-0.2.2}/config/identity/soul.default.md +0 -0
  28. {evarness-0.2.1 → evarness-0.2.2}/config/identity/soul_layers.yaml +0 -0
  29. {evarness-0.2.1 → evarness-0.2.2}/config/intent_anchors.yaml +0 -0
  30. {evarness-0.2.1 → evarness-0.2.2}/config/intent_keywords.yaml +0 -0
  31. {evarness-0.2.1 → evarness-0.2.2}/config/intercepts.yaml +0 -0
  32. {evarness-0.2.1 → evarness-0.2.2}/config/knowledge/wiki_schema.yaml +0 -0
  33. {evarness-0.2.1 → evarness-0.2.2}/config/learning/strategies.yaml +0 -0
  34. {evarness-0.2.1 → evarness-0.2.2}/config/llm_tiers.yaml +0 -0
  35. {evarness-0.2.1 → evarness-0.2.2}/config/memory/entity_aliases.yaml +0 -0
  36. {evarness-0.2.1 → evarness-0.2.2}/config/memory/extraction.yaml +0 -0
  37. {evarness-0.2.1 → evarness-0.2.2}/config/memory/learning.yaml +0 -0
  38. {evarness-0.2.1 → evarness-0.2.2}/config/memory/mappings.yaml +0 -0
  39. {evarness-0.2.1 → evarness-0.2.2}/config/memory/ontology.yaml +0 -0
  40. {evarness-0.2.1 → evarness-0.2.2}/config/memory/recall.yaml +0 -0
  41. {evarness-0.2.1 → evarness-0.2.2}/config/memory/retention.yaml +0 -0
  42. {evarness-0.2.1 → evarness-0.2.2}/config/memory/shapes.yaml +0 -0
  43. {evarness-0.2.1 → evarness-0.2.2}/config/memory/summary.yaml +0 -0
  44. {evarness-0.2.1 → evarness-0.2.2}/config/multi_step.yaml +0 -0
  45. {evarness-0.2.1 → evarness-0.2.2}/config/notifications.yaml +0 -0
  46. {evarness-0.2.1 → evarness-0.2.2}/config/outcomes.yaml +0 -0
  47. {evarness-0.2.1 → evarness-0.2.2}/config/playground/README.md +0 -0
  48. {evarness-0.2.1 → evarness-0.2.2}/config/playground/core-deterministic.yaml +0 -0
  49. {evarness-0.2.1 → evarness-0.2.2}/config/playground/injection-pressure.yaml +0 -0
  50. {evarness-0.2.1 → evarness-0.2.2}/config/playground/intercepts-live.yaml.example +0 -0
  51. {evarness-0.2.1 → evarness-0.2.2}/config/playground/memory-continuity.yaml +0 -0
  52. {evarness-0.2.1 → evarness-0.2.2}/config/playground/memory-graph.yaml +0 -0
  53. {evarness-0.2.1 → evarness-0.2.2}/config/playground/routing-breadth.yaml +0 -0
  54. {evarness-0.2.1 → evarness-0.2.2}/config/profiles/default.yaml +0 -0
  55. {evarness-0.2.1 → evarness-0.2.2}/config/profiles/email.yaml +0 -0
  56. {evarness-0.2.1 → evarness-0.2.2}/config/profiles/minimal.yaml +0 -0
  57. {evarness-0.2.1 → evarness-0.2.2}/config/search_providers.yaml +0 -0
  58. {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/daily-repo-brief/manifest.yaml +0 -0
  59. {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/harness-core/manifest.yaml +0 -0
  60. {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/harness-core/tools.py +0 -0
  61. {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/harness-tasks/manifest.yaml +0 -0
  62. {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/harness-tasks/tools.py +0 -0
  63. {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/morning-briefing/manifest.yaml +0 -0
  64. {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/sample-brief/manifest.yaml +0 -0
  65. {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/web-fetch/manifest.yaml +0 -0
  66. {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/web-fetch/tools.py +0 -0
  67. {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-followup/agent.md +0 -0
  68. {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-followup/manifest.yaml +0 -0
  69. {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-followup/tools.py +0 -0
  70. {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-triage/agent.md +0 -0
  71. {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-triage/manifest.yaml +0 -0
  72. {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-triage/tools.py +0 -0
  73. {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/gmail-inbox/agent.md +0 -0
  74. {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/gmail-inbox/manifest.yaml +0 -0
  75. {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/gmail-inbox/tools.py +0 -0
  76. {evarness-0.2.1 → evarness-0.2.2}/config/skills/rag/docs-search/agent.md +0 -0
  77. {evarness-0.2.1 → evarness-0.2.2}/config/skills/rag/docs-search/manifest.yaml +0 -0
  78. {evarness-0.2.1 → evarness-0.2.2}/config/skills/rag/docs-search/tools.py +0 -0
  79. {evarness-0.2.1 → evarness-0.2.2}/config/skills/system/system-status/agent.md +0 -0
  80. {evarness-0.2.1 → evarness-0.2.2}/config/skills/system/system-status/manifest.yaml +0 -0
  81. {evarness-0.2.1 → evarness-0.2.2}/config/skills/system/system-status/tools.py +0 -0
  82. {evarness-0.2.1 → evarness-0.2.2}/config/webui/nav.yaml +0 -0
  83. {evarness-0.2.1 → evarness-0.2.2}/config/welcome.yaml +0 -0
  84. {evarness-0.2.1 → evarness-0.2.2}/config/write_claims.yaml +0 -0
  85. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/__init__.py +0 -0
  86. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/agent_executor.py +0 -0
  87. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/agent_metadata.py +0 -0
  88. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/agentic_core.py +0 -0
  89. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/answer_guard.py +0 -0
  90. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/context_budget.py +0 -0
  91. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/context_health.py +0 -0
  92. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/dateparse.py +0 -0
  93. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/escalation.py +0 -0
  94. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/heartbeat.py +0 -0
  95. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/intent_router.py +0 -0
  96. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/outcomes.py +0 -0
  97. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/provenance.py +0 -0
  98. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/response_curator.py +0 -0
  99. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/run_review.py +0 -0
  100. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/task_planner.py +0 -0
  101. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/task_spec.py +0 -0
  102. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/tool_runner.py +0 -0
  103. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/__init__.py +0 -0
  104. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/api_client.py +0 -0
  105. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/approvals.py +0 -0
  106. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/behaviors.py +0 -0
  107. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/commands.py +0 -0
  108. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/context_health.py +0 -0
  109. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/device.py +0 -0
  110. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/docs.py +0 -0
  111. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/doctor.py +0 -0
  112. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/facts.py +0 -0
  113. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/governance.py +0 -0
  114. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/health.py +0 -0
  115. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/intentions.py +0 -0
  116. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/interactive.py +0 -0
  117. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/learning.py +0 -0
  118. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/logs.py +0 -0
  119. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/mcp.py +0 -0
  120. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/memory.py +0 -0
  121. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/mission.py +0 -0
  122. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/modes.py +0 -0
  123. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/ontology.py +0 -0
  124. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/playground.py +0 -0
  125. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/plugin_scaffold.py +0 -0
  126. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/plugins.py +0 -0
  127. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/push.py +0 -0
  128. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/queue.py +0 -0
  129. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/render.py +0 -0
  130. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/repl.py +0 -0
  131. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/run_inspect.py +0 -0
  132. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/serve.py +0 -0
  133. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/session.py +0 -0
  134. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/setup.py +0 -0
  135. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/signals.py +0 -0
  136. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/_common/pyproject.toml.tmpl +0 -0
  137. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/_common/src/__tmpl_package/__init__.py +0 -0
  138. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/_common/tests/test_stable_tier.py +0 -0
  139. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/channel/README.md +0 -0
  140. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/channel/src/__tmpl_package/manifest.yaml +0 -0
  141. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/channel/src/__tmpl_package/plugin.py +0 -0
  142. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/channel/tests/test_plugin.py +0 -0
  143. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/kinds.yaml +0 -0
  144. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/mail-provider/README.md +0 -0
  145. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/mail-provider/src/__tmpl_package/manifest.yaml +0 -0
  146. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/mail-provider/src/__tmpl_package/plugin.py +0 -0
  147. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/mail-provider/tests/test_plugin.py +0 -0
  148. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/research-provider/README.md +0 -0
  149. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/research-provider/src/__tmpl_package/manifest.yaml +0 -0
  150. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/research-provider/src/__tmpl_package/plugin.py +0 -0
  151. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/research-provider/tests/model_script.yaml +0 -0
  152. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/research-provider/tests/test_plugin.py +0 -0
  153. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/README.md +0 -0
  154. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/src/__tmpl_package/functions.py +0 -0
  155. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/src/__tmpl_package/manifest.yaml +0 -0
  156. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/tests/model_script.yaml +0 -0
  157. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/tests/test_plugin.py +0 -0
  158. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/README.md +0 -0
  159. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/src/__tmpl_package/manifest.yaml +0 -0
  160. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/src/__tmpl_package/plugin.py +0 -0
  161. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/tests/model_script.yaml +0 -0
  162. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/tests/test_plugin.py +0 -0
  163. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/web_commands.py +0 -0
  164. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/welcome.py +0 -0
  165. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/__init__.py +0 -0
  166. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/activity.py +0 -0
  167. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/auth.py +0 -0
  168. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/capabilities.py +0 -0
  169. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/capability_fields.py +0 -0
  170. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/clock.py +0 -0
  171. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/console.py +0 -0
  172. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/data/__init__.py +0 -0
  173. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/data/dues_vocabulary.py +0 -0
  174. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/env.py +0 -0
  175. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/eventbus/__init__.py +0 -0
  176. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/eventbus/bus.py +0 -0
  177. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/eventbus/topics.py +0 -0
  178. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/file_lock.py +0 -0
  179. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/ids.py +0 -0
  180. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/legacy.py +0 -0
  181. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/logsafe.py +0 -0
  182. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/__init__.py +0 -0
  183. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/audit_view.py +0 -0
  184. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/host_pressure.py +0 -0
  185. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/instruments.py +0 -0
  186. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/logging_setup.py +0 -0
  187. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/metrics_summary.py +0 -0
  188. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/otlp_setup.py +0 -0
  189. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/session_log.py +0 -0
  190. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/trace_builder.py +0 -0
  191. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/tracer.py +0 -0
  192. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/paths.py +0 -0
  193. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/persistence/__init__.py +0 -0
  194. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/persistence/embedding.py +0 -0
  195. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/persistence/sqlite.py +0 -0
  196. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/plugin_dirs.py +0 -0
  197. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/process_state.py +0 -0
  198. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/public_url.py +0 -0
  199. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/__init__.py +0 -0
  200. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/catalog.py +0 -0
  201. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/catalog.yaml +0 -0
  202. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/env_overrides.py +0 -0
  203. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/restart.py +0 -0
  204. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/store.py +0 -0
  205. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/AGENTS.md +0 -0
  206. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/__init__.py +0 -0
  207. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/__init__.py +0 -0
  208. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/__init__.py +0 -0
  209. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/channels/__init__.py +0 -0
  210. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/channels/base.py +0 -0
  211. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/channels/cli_channel.py +0 -0
  212. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/channels/web_channel.py +0 -0
  213. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/events.py +0 -0
  214. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/gate.py +0 -0
  215. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/queue.py +0 -0
  216. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/router.py +0 -0
  217. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/schema.sql +0 -0
  218. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/service.py +0 -0
  219. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/store.py +0 -0
  220. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/__init__.py +0 -0
  221. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/archive/__init__.py +0 -0
  222. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/archive/compact.py +0 -0
  223. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/archive/markers.py +0 -0
  224. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/archive/query.py +0 -0
  225. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/archive/writer.py +0 -0
  226. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/digest.py +0 -0
  227. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/log.py +0 -0
  228. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/proof_bundle.py +0 -0
  229. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/proof_bundle.schema.json +0 -0
  230. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/replay.py +0 -0
  231. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/sequence.py +0 -0
  232. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/spool.py +0 -0
  233. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/view.py +0 -0
  234. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/write_health.py +0 -0
  235. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/call_context.py +0 -0
  236. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/caller_policy.py +0 -0
  237. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/cost/__init__.py +0 -0
  238. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/cost/pricing.py +0 -0
  239. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/cost/store.py +0 -0
  240. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/cost/summary.py +0 -0
  241. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/devices/__init__.py +0 -0
  242. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/devices/schema.sql +0 -0
  243. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/devices/service.py +0 -0
  244. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/devices/store.py +0 -0
  245. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/devices/throttle.py +0 -0
  246. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/disclosure.py +0 -0
  247. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/display_mask.py +0 -0
  248. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/egress_policy.py +0 -0
  249. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/__init__.py +0 -0
  250. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/client.py +0 -0
  251. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/drift_exemptions.py +0 -0
  252. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/embeddings.py +0 -0
  253. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/flagged_runs.py +0 -0
  254. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/hook.py +0 -0
  255. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/judge.py +0 -0
  256. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/judge_template.py +0 -0
  257. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/registry.py +0 -0
  258. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/__init__.py +0 -0
  259. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/action_repeat.py +0 -0
  260. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/classification_violation.py +0 -0
  261. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/cost_budget.py +0 -0
  262. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/goal_drift.py +0 -0
  263. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/loop_detect.py +0 -0
  264. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/step_cap.py +0 -0
  265. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/tool_failure_streak.py +0 -0
  266. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/types.py +0 -0
  267. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/external_content.py +0 -0
  268. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/external_content_allow.py +0 -0
  269. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/file_scan.py +0 -0
  270. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/hooks/__init__.py +0 -0
  271. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/hooks/response_payload.py +0 -0
  272. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/hooks/result_text.py +0 -0
  273. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/hooks/tool_payload.py +0 -0
  274. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/hooks/types.py +0 -0
  275. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/identity_config.py +0 -0
  276. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/identity_redaction.py +0 -0
  277. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/kernel.py +0 -0
  278. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_clients.py +0 -0
  279. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/__init__.py +0 -0
  280. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/config.py +0 -0
  281. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/keys.py +0 -0
  282. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/launcher.py +0 -0
  283. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/spec.py +0 -0
  284. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/trust.py +0 -0
  285. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/verifier.py +0 -0
  286. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/owner_identity.py +0 -0
  287. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/owner_matchers.py +0 -0
  288. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/owner_pii.py +0 -0
  289. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugin_egress.py +0 -0
  290. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/__init__.py +0 -0
  291. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/caller_policy.py +0 -0
  292. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/capability_redaction.py +0 -0
  293. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/classifier.py +0 -0
  294. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/command_sandbox.py +0 -0
  295. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/cost_limiter.py +0 -0
  296. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/credential_broker.py +0 -0
  297. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/destructive_approval.py +0 -0
  298. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/egress_gate.py +0 -0
  299. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/external_content_floor.py +0 -0
  300. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/fs_jail.py +0 -0
  301. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/input_safety.py +0 -0
  302. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/mcp_allowlist.py +0 -0
  303. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/mcp_client_egress.py +0 -0
  304. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/network_egress.py +0 -0
  305. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/output_classifier.py +0 -0
  306. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/owner_pii_shadow.py +0 -0
  307. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/persona_surface.py +0 -0
  308. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/plugin_egress.py +0 -0
  309. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/post_tool_use_ledger.py +0 -0
  310. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/pre_tool_use_ledger.py +0 -0
  311. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/prompt_guard.py +0 -0
  312. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/redaction.py +0 -0
  313. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/regex_packs.py +0 -0
  314. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/response_safety.py +0 -0
  315. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/tool_policy.py +0 -0
  316. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/public_suffix.py +0 -0
  317. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/public_suffix_icann.dat +0 -0
  318. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/reentry.py +0 -0
  319. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/side_effects/__init__.py +0 -0
  320. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/side_effects/probes.py +0 -0
  321. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/side_effects/schema.sql +0 -0
  322. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/side_effects/store.py +0 -0
  323. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/taint_policy.py +0 -0
  324. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/__init__.py +0 -0
  325. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/availability.py +0 -0
  326. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/backends.py +0 -0
  327. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/battery.py +0 -0
  328. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/config.py +0 -0
  329. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/detector.py +0 -0
  330. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/types.py +0 -0
  331. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/turn_label.py +0 -0
  332. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/unmask_grants.py +0 -0
  333. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/__init__.py +0 -0
  334. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/credentials.py +0 -0
  335. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/handle.py +0 -0
  336. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/keys.py +0 -0
  337. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/secret_store.py +0 -0
  338. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/store.py +0 -0
  339. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/wiring.py +0 -0
  340. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/__init__.py +0 -0
  341. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/audit.py +0 -0
  342. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/exceptions.py +0 -0
  343. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/models.py +0 -0
  344. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/policy.py +0 -0
  345. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/rate_limiter.py +0 -0
  346. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/service.py +0 -0
  347. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/__init__.py +0 -0
  348. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/arbiter.py +0 -0
  349. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/budget.py +0 -0
  350. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/client.py +0 -0
  351. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/copilot_auth.py +0 -0
  352. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/egress.py +0 -0
  353. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/embeddings.py +0 -0
  354. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/errors.py +0 -0
  355. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/fake.py +0 -0
  356. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/locality.py +0 -0
  357. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/model_metadata.py +0 -0
  358. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/narrate.py +0 -0
  359. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/providers.py +0 -0
  360. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/tier_edits.py +0 -0
  361. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/tier_router.py +0 -0
  362. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/main.py +0 -0
  363. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/__init__.py +0 -0
  364. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/coherence.py +0 -0
  365. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/compactor.py +0 -0
  366. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/coordinator.py +0 -0
  367. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/export.py +0 -0
  368. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/fact_extractor.py +0 -0
  369. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/fact_keys.py +0 -0
  370. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/fact_statements.py +0 -0
  371. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/fact_validation.py +0 -0
  372. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/gate_audit.py +0 -0
  373. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/gate_audit_corpus.py +0 -0
  374. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/graph.py +0 -0
  375. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/graph_context.py +0 -0
  376. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/identity/__init__.py +0 -0
  377. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/identity/loader.py +0 -0
  378. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/__init__.py +0 -0
  379. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/connectors/__init__.py +0 -0
  380. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/connectors/base.py +0 -0
  381. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/connectors/obsidian.py +0 -0
  382. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/entity_extractor.py +0 -0
  383. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/event_subscribers.py +0 -0
  384. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/models.py +0 -0
  385. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/page_manager.py +0 -0
  386. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/wiki_engine.py +0 -0
  387. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/wiki_index.py +0 -0
  388. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/lessons.py +0 -0
  389. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/log_archive.py +0 -0
  390. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/map_exclusions.py +0 -0
  391. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/ontology.py +0 -0
  392. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/profile.py +0 -0
  393. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/profile_recall.py +0 -0
  394. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/removal.py +0 -0
  395. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/resolution.py +0 -0
  396. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/retention.py +0 -0
  397. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/retriever.py +0 -0
  398. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/semantic_index.py +0 -0
  399. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/standing_instructions.py +0 -0
  400. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/state/__init__.py +0 -0
  401. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/state/chat.py +0 -0
  402. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/state/continuations.py +0 -0
  403. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/state/store.py +0 -0
  404. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/statement_migration.py +0 -0
  405. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/store.py +0 -0
  406. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/triage.py +0 -0
  407. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/vocabulary.py +0 -0
  408. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/__init__.py +0 -0
  409. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/assertions.py +0 -0
  410. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/baseline.py +0 -0
  411. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/drift.py +0 -0
  412. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/loader.py +0 -0
  413. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/models.py +0 -0
  414. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/runner.py +0 -0
  415. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/service.py +0 -0
  416. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/AGENTS.md +0 -0
  417. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/__init__.py +0 -0
  418. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/code_exec/__init__.py +0 -0
  419. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/code_exec/handler.py +0 -0
  420. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/code_exec/manifest.yaml +0 -0
  421. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/code_exec/plugin.py +0 -0
  422. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/__init__.py +0 -0
  423. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/cli.py +0 -0
  424. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/graphiti.yaml +0 -0
  425. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/manifest.yaml +0 -0
  426. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/mappings.yaml +0 -0
  427. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/plugin.py +0 -0
  428. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/reader.py +0 -0
  429. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/__init__.py +0 -0
  430. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/cache.py +0 -0
  431. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/engine.py +0 -0
  432. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/extract.py +0 -0
  433. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/guard.py +0 -0
  434. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/language.py +0 -0
  435. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/manifest.yaml +0 -0
  436. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/models.py +0 -0
  437. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/news_policy.py +0 -0
  438. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/news_sources.yaml +0 -0
  439. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/plugin.py +0 -0
  440. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/privacy.py +0 -0
  441. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/__init__.py +0 -0
  442. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/base.py +0 -0
  443. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/brave.py +0 -0
  444. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/duckduckgo.py +0 -0
  445. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/exa.py +0 -0
  446. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/searxng.py +0 -0
  447. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/tavily.py +0 -0
  448. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/rank.py +0 -0
  449. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/rerank.py +0 -0
  450. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/tool.py +0 -0
  451. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/tools.py +0 -0
  452. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/system/__init__.py +0 -0
  453. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/system/manifest.yaml +0 -0
  454. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/system/plugin.py +0 -0
  455. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/telegram_channel/__init__.py +0 -0
  456. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/telegram_channel/manifest.yaml +0 -0
  457. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/telegram_channel/plugin.py +0 -0
  458. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_channel/__init__.py +0 -0
  459. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_channel/connector.py +0 -0
  460. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_channel/manifest.yaml +0 -0
  461. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_channel/plugin.py +0 -0
  462. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_push_channel/__init__.py +0 -0
  463. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_push_channel/manifest.yaml +0 -0
  464. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_push_channel/plugin.py +0 -0
  465. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/py.typed +0 -0
  466. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/__init__.py +0 -0
  467. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/action_center.py +0 -0
  468. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/activity_notices.py +0 -0
  469. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/agent_console.py +0 -0
  470. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/agent_panels.py +0 -0
  471. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/agent_settings_store.py +0 -0
  472. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/api_routes.py +0 -0
  473. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/bootstrap.py +0 -0
  474. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/brief_tools.py +0 -0
  475. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/capabilities.py +0 -0
  476. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/channel_wiring.py +0 -0
  477. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/classifiers.py +0 -0
  478. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/client_config.py +0 -0
  479. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/confirmations.py +0 -0
  480. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/continuations.py +0 -0
  481. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/egress_access.py +0 -0
  482. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/egress_transport.py +0 -0
  483. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/escalation_actions.py +0 -0
  484. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/eval_runtime.py +0 -0
  485. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/external_text.py +0 -0
  486. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/external_tools.py +0 -0
  487. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/facade.py +0 -0
  488. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/governance_judge.py +0 -0
  489. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/governed_http.py +0 -0
  490. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/__init__.py +0 -0
  491. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/brief_formats.py +0 -0
  492. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/brief_prefs.py +0 -0
  493. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/general.py +0 -0
  494. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/general_invoke.py +0 -0
  495. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/general_support.py +0 -0
  496. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/general_tools.py +0 -0
  497. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/local_skills.py +0 -0
  498. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/react.py +0 -0
  499. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/skill_brief.py +0 -0
  500. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/ticks.py +0 -0
  501. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/harness_services.py +0 -0
  502. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/identity_redaction.py +0 -0
  503. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/intercept_dispatch.py +0 -0
  504. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/intercepts.py +0 -0
  505. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/judges.py +0 -0
  506. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/learning_builders.py +0 -0
  507. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/learning_controls.py +0 -0
  508. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/mcp_serve.py +0 -0
  509. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/mission_proposals.py +0 -0
  510. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/nlu_parsing.py +0 -0
  511. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/__init__.py +0 -0
  512. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/api.py +0 -0
  513. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/declarative.py +0 -0
  514. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/dump.py +0 -0
  515. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/harness_topics.py +0 -0
  516. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/inventory.py +0 -0
  517. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/loader.py +0 -0
  518. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/manifest.py +0 -0
  519. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/mcp_host.py +0 -0
  520. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/nav.py +0 -0
  521. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/profile.py +0 -0
  522. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/registry.py +0 -0
  523. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/react_tools.py +0 -0
  524. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/replies.py +0 -0
  525. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/rollout_flags.py +0 -0
  526. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/router_audit.py +0 -0
  527. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/routine_authoring.py +0 -0
  528. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/self_learning_loop.py +0 -0
  529. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/session_memory.py +0 -0
  530. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/settings_catalog.py +0 -0
  531. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/shadow.py +0 -0
  532. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/skill_matching.py +0 -0
  533. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/skill_tool_specs.py +0 -0
  534. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/tool_access.py +0 -0
  535. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/tool_call_parsing.py +0 -0
  536. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/tool_service.py +0 -0
  537. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/__init__.py +0 -0
  538. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/host.py +0 -0
  539. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/pipeline.py +0 -0
  540. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/__init__.py +0 -0
  541. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/classify.py +0 -0
  542. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/curate.py +0 -0
  543. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/execute.py +0 -0
  544. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/guard.py +0 -0
  545. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/intercept.py +0 -0
  546. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/notice.py +0 -0
  547. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/opener.py +0 -0
  548. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/plan.py +0 -0
  549. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/record.py +0 -0
  550. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/resolve.py +0 -0
  551. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/route.py +0 -0
  552. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/screen.py +0 -0
  553. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/state.py +0 -0
  554. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn_capture.py +0 -0
  555. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn_context.py +0 -0
  556. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/types.py +0 -0
  557. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/welcome.py +0 -0
  558. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/AGENTS.md +0 -0
  559. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/__init__.py +0 -0
  560. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/activities.py +0 -0
  561. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/activity.py +0 -0
  562. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/approvals.py +0 -0
  563. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/audit.py +0 -0
  564. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/capabilities.py +0 -0
  565. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/channels.py +0 -0
  566. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/cli.py +0 -0
  567. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/config.py +0 -0
  568. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/content.py +0 -0
  569. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/digest.py +0 -0
  570. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/docs.py +0 -0
  571. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/events.py +0 -0
  572. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/health.py +0 -0
  573. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/heartbeat.py +0 -0
  574. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/http.py +0 -0
  575. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/identity.py +0 -0
  576. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/learning.py +0 -0
  577. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/llm.py +0 -0
  578. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/logging.py +0 -0
  579. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/mcp.py +0 -0
  580. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/memory.py +0 -0
  581. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/parsing.py +0 -0
  582. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/pending_actions.py +0 -0
  583. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/persistence.py +0 -0
  584. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/process_state.py +0 -0
  585. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/rag.py +0 -0
  586. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/reminders.py +0 -0
  587. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/research.py +0 -0
  588. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/sandbox.py +0 -0
  589. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/services.py +0 -0
  590. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/stable_tier.yaml +0 -0
  591. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/tasks.py +0 -0
  592. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/time.py +0 -0
  593. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/tools.py +0 -0
  594. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/types.py +0 -0
  595. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/vault.py +0 -0
  596. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/__init__.py +0 -0
  597. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/auth.py +0 -0
  598. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/channel_gateway/__init__.py +0 -0
  599. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/channel_gateway/main.py +0 -0
  600. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/channel_gateway/main_types.py +0 -0
  601. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/channel_gateway/telegram.py +0 -0
  602. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/evaluator/__init__.py +0 -0
  603. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/evaluator/main.py +0 -0
  604. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/governor/__init__.py +0 -0
  605. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/governor/main.py +0 -0
  606. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/__init__.py +0 -0
  607. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/action_center_routes.py +0 -0
  608. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/agent_routes.py +0 -0
  609. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/chat_routes.py +0 -0
  610. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/detached_turns.py +0 -0
  611. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/device_routes.py +0 -0
  612. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/digest_feedback_routes.py +0 -0
  613. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/digest_routes.py +0 -0
  614. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/governance_routes.py +0 -0
  615. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/health_routes.py +0 -0
  616. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/learning_routes.py +0 -0
  617. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/main.py +0 -0
  618. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/mcp_server.py +0 -0
  619. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/memory_routes.py +0 -0
  620. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/ops_routes.py +0 -0
  621. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/playground_routes.py +0 -0
  622. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/push_routes.py +0 -0
  623. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/routines_routes.py +0 -0
  624. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/runtime_access.py +0 -0
  625. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/session_routes.py +0 -0
  626. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/settings_routes.py +0 -0
  627. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/static_ui.py +0 -0
  628. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/apple-touch-icon.png +0 -0
  629. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/ActionCenter-DPme58BE.js +0 -0
  630. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/ActivityFeed-Nm_RwwAz.js +0 -0
  631. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/AgentDashboard-Dojfdzf7.js +0 -0
  632. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Agents-Dq0I6VuX.js +0 -0
  633. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/CallTrace-D3vtSjfn.js +0 -0
  634. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Card-CXQcUgWe.js +0 -0
  635. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Chat-Bvcg3Bl-.js +0 -0
  636. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/ConfirmDialog-cQm1i1sw.js +0 -0
  637. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/CopyBlock-B9Rb1MjP.js +0 -0
  638. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Devices-BQf0mwTM.js +0 -0
  639. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Digest-DJTcX1sk.js +0 -0
  640. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/DigitalTwin-BnDh4-mJ.js +0 -0
  641. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Governance-B0IndDdb.js +0 -0
  642. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Health-CVZaordF.js +0 -0
  643. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Heartbeats-li6F-3b8.js +0 -0
  644. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Inbox-C2i3gjPa.js +0 -0
  645. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Knowledge-DH_1HKQr.js +0 -0
  646. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Learning-DfGC54J2.js +0 -0
  647. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Markdown-j0pwcwK-.js +0 -0
  648. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Memory-Zxz0DoSW.js +0 -0
  649. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/More-BgCWK7Nx.js +0 -0
  650. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Onboarding-Dnsw2VLB.js +0 -0
  651. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Overview-CTa_iRzh.js +0 -0
  652. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Pair-DlnVXM2M.js +0 -0
  653. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Playground-CVikP4hH.js +0 -0
  654. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/PluginDetail-Cm4lwuyQ.js +0 -0
  655. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Portfolio-DkvcQom8.js +0 -0
  656. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Rag-CH3QNZm0.js +0 -0
  657. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/ReconnectSheet-BjnZlyy-.js +0 -0
  658. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Reminder-CSFxYBCa.js +0 -0
  659. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Routines-CY3M7E32.js +0 -0
  660. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Sessions-CTrqPfxf.js +0 -0
  661. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Settings-C6ywirYS.js +0 -0
  662. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Setup-C6cEFSk8.js +0 -0
  663. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Switch-BH9PZxoY.js +0 -0
  664. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/SystemCheck-Cn9RsJui.js +0 -0
  665. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/breakpoint-CLJTHGon.js +0 -0
  666. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/check-D0NYL5pb.js +0 -0
  667. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/dagre-B_OITo6c.js +0 -0
  668. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/dagre-DLioOiRN.css +0 -0
  669. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/dialog-C6T5mW7y.js +0 -0
  670. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/es2015-BjHWtMgl.js +0 -0
  671. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/http-BUcIPk9n.js +0 -0
  672. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/index-Cv_Iyn0z.css +0 -0
  673. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/index-WB9vDf9y.js +0 -0
  674. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/input-Cbj0uKBG.js +0 -0
  675. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/layout-WFL9FQeY.js +0 -0
  676. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/nodeMeta-D76FxGpn.js +0 -0
  677. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/parts-B0DqHYDY.js +0 -0
  678. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/parts-BJHhvYsv.js +0 -0
  679. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/thumbs-down-DaIvDjt_.js +0 -0
  680. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/useQuery-CXR1pn6x.js +0 -0
  681. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/icon-192.png +0 -0
  682. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/icon-512-maskable.png +0 -0
  683. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/icon-512.png +0 -0
  684. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/index.html +0 -0
  685. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/manifest.webmanifest +0 -0
  686. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/offline.html +0 -0
  687. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/sw.js +0 -0
  688. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/write_guard.py +0 -0
  689. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/__init__.py +0 -0
  690. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/activities/__init__.py +0 -0
  691. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/activities/events.py +0 -0
  692. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/activities/models.py +0 -0
  693. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/activities/runner.py +0 -0
  694. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/activities/store.py +0 -0
  695. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/__init__.py +0 -0
  696. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/approval_commands.py +0 -0
  697. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/approval_delivery.py +0 -0
  698. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/channel_config.py +0 -0
  699. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/connectors/__init__.py +0 -0
  700. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/connectors/console.py +0 -0
  701. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/connectors/telegram.py +0 -0
  702. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/connectors/telegram_poller.py +0 -0
  703. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/connectors/ws_client.py +0 -0
  704. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/gateway.py +0 -0
  705. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/models.py +0 -0
  706. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/protocol.py +0 -0
  707. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/reminder_commands.py +0 -0
  708. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/__init__.py +0 -0
  709. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/connector.py +0 -0
  710. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/encryption.py +0 -0
  711. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/keys.py +0 -0
  712. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/store.py +0 -0
  713. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/vapid.py +0 -0
  714. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/__init__.py +0 -0
  715. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/edits.py +0 -0
  716. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/expiry.py +0 -0
  717. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/footer.py +0 -0
  718. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/learned.py +0 -0
  719. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/run_first.py +0 -0
  720. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/settings.py +0 -0
  721. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digests/__init__.py +0 -0
  722. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digests/store.py +0 -0
  723. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/docs_search/__init__.py +0 -0
  724. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/docs_search/corpus.py +0 -0
  725. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/docs_search/search.py +0 -0
  726. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/__init__.py +0 -0
  727. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/checks.py +0 -0
  728. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/credentials.py +0 -0
  729. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/governance.py +0 -0
  730. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/heartbeat.py +0 -0
  731. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/incidents.py +0 -0
  732. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/jobs.py +0 -0
  733. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/models.py +0 -0
  734. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/pending_actions.py +0 -0
  735. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/repair.py +0 -0
  736. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/service.py +0 -0
  737. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/skills.py +0 -0
  738. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/watch.py +0 -0
  739. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/watch_edits.py +0 -0
  740. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/__init__.py +0 -0
  741. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/config.py +0 -0
  742. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/diagnostics.py +0 -0
  743. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/models.py +0 -0
  744. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/run_store.py +0 -0
  745. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/schedule_text.py +0 -0
  746. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/scheduler.py +0 -0
  747. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/slots.py +0 -0
  748. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/__init__.py +0 -0
  749. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/analyst.py +0 -0
  750. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/behavior_miner.py +0 -0
  751. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/crystallizer.py +0 -0
  752. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/dedup.py +0 -0
  753. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/engine.py +0 -0
  754. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/escalation_priors.py +0 -0
  755. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_adapter.py +0 -0
  756. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_docker.py +0 -0
  757. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_harness.py +0 -0
  758. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_preflight.py +0 -0
  759. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_replay_cli.py +0 -0
  760. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_runtime.py +0 -0
  761. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_workload.py +0 -0
  762. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/experiment_loop.py +0 -0
  763. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/intelligence.py +0 -0
  764. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/intention_rollup.py +0 -0
  765. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/lesson_capture.py +0 -0
  766. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/metrics.py +0 -0
  767. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/models.py +0 -0
  768. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/preflight.py +0 -0
  769. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/promote.py +0 -0
  770. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/proposal_quality.py +0 -0
  771. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/retriever.py +0 -0
  772. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/signals.py +0 -0
  773. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/store.py +0 -0
  774. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/strategies.py +0 -0
  775. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/suppression.py +0 -0
  776. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/__init__.py +0 -0
  777. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/engine.py +0 -0
  778. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/handlers.py +0 -0
  779. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/models.py +0 -0
  780. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/proposer.py +0 -0
  781. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/store.py +0 -0
  782. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/__init__.py +0 -0
  783. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/bills.py +0 -0
  784. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/channels.py +0 -0
  785. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/events.py +0 -0
  786. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/health.py +0 -0
  787. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/models.py +0 -0
  788. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/recurrence.py +0 -0
  789. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/snooze.py +0 -0
  790. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/store.py +0 -0
  791. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/targets.py +0 -0
  792. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/__init__.py +0 -0
  793. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/chunker.py +0 -0
  794. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/documents.py +0 -0
  795. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/index.py +0 -0
  796. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/ingest.py +0 -0
  797. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/ingest_gate.py +0 -0
  798. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/ingest_source.py +0 -0
  799. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/loaders.py +0 -0
  800. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/models.py +0 -0
  801. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/obsidian.py +0 -0
  802. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/ocr.py +0 -0
  803. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/qa.py +0 -0
  804. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/retrieve.py +0 -0
  805. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/sensitivity.py +0 -0
  806. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/store.py +0 -0
  807. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/research/__init__.py +0 -0
  808. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/research/providers.py +0 -0
  809. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/__init__.py +0 -0
  810. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/authoring.py +0 -0
  811. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/models.py +0 -0
  812. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/reflection.py +0 -0
  813. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/seeded.py +0 -0
  814. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/store.py +0 -0
  815. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/__init__.py +0 -0
  816. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/doctor.py +0 -0
  817. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/inventory.py +0 -0
  818. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/setup_state.py +0 -0
  819. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/status.py +0 -0
  820. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/telegram_pairing.py +0 -0
  821. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/__init__.py +0 -0
  822. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/brief_view.py +0 -0
  823. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/events.py +0 -0
  824. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/models.py +0 -0
  825. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/pending_actions.py +0 -0
  826. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/store.py +0 -0
  827. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/__init__.py +0 -0
  828. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/conformance.py +0 -0
  829. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/harness.py +0 -0
  830. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/network_imports.py +0 -0
  831. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/proof_bundle.py +0 -0
  832. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/stable.py +0 -0
  833. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/__init__.py +0 -0
  834. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/mcp/__init__.py +0 -0
  835. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/mcp/server.py +0 -0
  836. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/mcp_bridge.py +0 -0
  837. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/propose_skill_from_sandbox.py +0 -0
  838. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/Dockerfile +0 -0
  839. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/Dockerfile.eval +0 -0
  840. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/__init__.py +0 -0
  841. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/config.py +0 -0
  842. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/docker_sandbox.py +0 -0
  843. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/egress.py +0 -0
  844. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/egress_proxy.py +0 -0
  845. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/exceptions.py +0 -0
  846. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/models.py +0 -0
  847. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/runtime.py +0 -0
  848. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/workspace.py +0 -0
  849. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox_tools.py +0 -0
  850. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/__init__.py +0 -0
  851. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/hot_reload.py +0 -0
  852. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/loader.py +0 -0
  853. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/models.py +0 -0
  854. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/registry.py +0 -0
  855. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/semantic_router.py +0 -0
  856. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/skill_synthesizer.py +0 -0
  857. {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/stock_quote.py +0 -0
  858. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/__init__.py +0 -0
  859. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/connections/__init__.py +0 -0
  860. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/connections/google.py +0 -0
  861. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/connections/google_routes.py +0 -0
  862. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/__init__.py +0 -0
  863. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/accounts.py +0 -0
  864. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/agent_tools.py +0 -0
  865. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/analysis.py +0 -0
  866. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/categories.py +0 -0
  867. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/category_store.py +0 -0
  868. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/contracts.py +0 -0
  869. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/digest.py +0 -0
  870. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/events.py +0 -0
  871. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/feedback_keys.py +0 -0
  872. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/provider_api.py +0 -0
  873. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/providers.py +0 -0
  874. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/semantic_index.py +0 -0
  875. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/send_tools.py +0 -0
  876. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/store.py +0 -0
  877. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/sweep.py +0 -0
  878. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/sweep_gate.py +0 -0
  879. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/trash_tools.py +0 -0
  880. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/write_approvals.py +0 -0
  881. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/__init__.py +0 -0
  882. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/__init__.py +0 -0
  883. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/agent.py +0 -0
  884. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/cli.py +0 -0
  885. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/cli_setup.py +0 -0
  886. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/cli_writes.py +0 -0
  887. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/__init__.py +0 -0
  888. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/corpus.json +0 -0
  889. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/corpus.py +0 -0
  890. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/fake_model.yaml +0 -0
  891. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/home.py +0 -0
  892. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/provider.py +0 -0
  893. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/run.py +0 -0
  894. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/digest_focus.py +0 -0
  895. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/discovery.py +0 -0
  896. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/first_digest.py +0 -0
  897. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/followup.py +0 -0
  898. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/holdout.py +0 -0
  899. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/inbox_mix.py +0 -0
  900. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/job_watch.py +0 -0
  901. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/job_watch.yaml +0 -0
  902. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge.py +0 -0
  903. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge.yaml +0 -0
  904. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_api.py +0 -0
  905. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_cards.py +0 -0
  906. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_chat.py +0 -0
  907. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_config.py +0 -0
  908. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_corrections.py +0 -0
  909. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_digest.py +0 -0
  910. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_labels.py +0 -0
  911. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_surfaces.py +0 -0
  912. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_view.py +0 -0
  913. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_wiring.py +0 -0
  914. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_words.py +0 -0
  915. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judgments.py +0 -0
  916. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/knn_gate.py +0 -0
  917. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/manifest.yaml +0 -0
  918. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/map_exclusions.py +0 -0
  919. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/memory_map.yaml +0 -0
  920. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/onboarding.py +0 -0
  921. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/onboarding.yaml +0 -0
  922. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/onboarding_api.py +0 -0
  923. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/plugin.py +0 -0
  924. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/semantic_heartbeat.py +0 -0
  925. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/sweep_health.py +0 -0
  926. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/tools.py +0 -0
  927. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/triage.py +0 -0
  928. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/wiki_ingestion.py +0 -0
  929. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/writes_health.py +0 -0
  930. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/__init__.py +0 -0
  931. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/cli.py +0 -0
  932. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/gmail_attachments.py +0 -0
  933. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/gmail_fetch.py +0 -0
  934. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/gmail_oauth.py +0 -0
  935. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/manifest.yaml +0 -0
  936. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/plugin.py +0 -0
  937. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/provider.py +0 -0
  938. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/vendor_categories.py +0 -0
  939. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/vendor_categories.yaml +0 -0
  940. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/__init__.py +0 -0
  941. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/account.py +0 -0
  942. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/cli.py +0 -0
  943. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/connection.py +0 -0
  944. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/health.py +0 -0
  945. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/keywords.py +0 -0
  946. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/manifest.yaml +0 -0
  947. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/mime.py +0 -0
  948. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/plugin.py +0 -0
  949. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/provider.py +0 -0
  950. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/state.py +0 -0
  951. {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/py.typed +0 -0
  952. {evarness-0.2.1 → evarness-0.2.2}/src/iris_harness/__init__.py +0 -0
  953. {evarness-0.2.1 → evarness-0.2.2}/src/iris_personal/__init__.py +0 -0
  954. {evarness-0.2.1 → evarness-0.2.2}/src/memris/__init__.py +0 -0
  955. {evarness-0.2.1 → evarness-0.2.2}/src/memris/graph.py +0 -0
  956. {evarness-0.2.1 → evarness-0.2.2}/src/memris/interchange/__init__.py +0 -0
  957. {evarness-0.2.1 → evarness-0.2.2}/src/memris/interchange/__main__.py +0 -0
  958. {evarness-0.2.1 → evarness-0.2.2}/src/memris/interchange/jsonld.py +0 -0
  959. {evarness-0.2.1 → evarness-0.2.2}/src/memris/interchange/mapping.py +0 -0
  960. {evarness-0.2.1 → evarness-0.2.2}/src/memris/learn.py +0 -0
  961. {evarness-0.2.1 → evarness-0.2.2}/src/memris/model/__init__.py +0 -0
  962. {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/__init__.py +0 -0
  963. {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/__main__.py +0 -0
  964. {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/compiler.py +0 -0
  965. {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/learned.py +0 -0
  966. {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/loader.py +0 -0
  967. {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/spec.py +0 -0
  968. {evarness-0.2.1 → evarness-0.2.2}/src/memris/resolve.py +0 -0
  969. {evarness-0.2.1 → evarness-0.2.2}/src/memris/store/__init__.py +0 -0
  970. {evarness-0.2.1 → evarness-0.2.2}/src/memris/store/memory.py +0 -0
  971. {evarness-0.2.1 → evarness-0.2.2}/src/memris/store/sqlite.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: evarness
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: The governed agent harness for small local models. It proves what it did.
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -122,14 +122,16 @@ evarness email demo # a synthetic mailbox, a scripted model, no
122
122
  The demo needs no account, no credentials and no model server. It fetches a 200-message
123
123
  synthetic mailbox, sorts it, previews and writes labels, prints a first digest, and ends with
124
124
  what it did, audit rows included. The demo keeps its own home, `~/.evarness-demo`, and never
125
- touches yours. Export that home's proof bundle and verify it offline:
125
+ touches yours. Export that home's proof bundle, ledger and session logs both, and verify it
126
+ offline:
126
127
 
127
128
  ```bash
128
- evarness governance proof-bundle export --db ~/.evarness-demo/governance/audit.db --out bundle.json
129
+ evarness governance proof-bundle export --db ~/.evarness-demo/governance/audit.db \
130
+ --session-logs ~/.evarness-demo/logs --out bundle.json
129
131
  evarness governance proof-bundle verify bundle.json # exit 0 verified, 1 a violation
130
132
  ```
131
133
 
132
- <img alt="A terminal recording: evarness email demo runs to its summary, then the proof bundle is exported and verified." src="https://github.com/evarness-ai/evarness/releases/latest/download/launch.gif" width="800">
134
+ <img alt="A terminal recording: evarness email demo runs to its summary, then the proof bundle is exported and verified." src="https://github.com/evarness-ai/evarness/raw/main/docs/assets/recording/launch.gif" width="800">
133
135
 
134
136
  For your own mail you need [Ollama](https://ollama.com/download) and 8 GB of RAM for the
135
137
  `lite` model set, 16 GB for `standard`. Connect an account, let `evarness doctor --fix` pull
@@ -140,29 +142,14 @@ the known snags.
140
142
 
141
143
  ## How it works
142
144
 
143
- ```mermaid
144
- flowchart TD
145
- U["CLI, web console, Telegram, MCP clients"] --> S
146
- subgraph T["Turn pipeline"]
147
- direction TB
148
- S["Input screen"] --> D{"A deterministic handler claims the turn?"}
149
- D -- yes --> X["Exact answer, no model call"]
150
- D -- no --> A["Agent loop: route, plan, act with tools, curate"]
151
- end
152
- subgraph G["Governance kernel: every model call, tool call and answer"]
153
- direction LR
154
- C["Classify data"] --> E["Egress gate"] --> P["Tool policy, approvals"] --> L["Audit ledger"]
155
- end
156
- X --> G
157
- A --> G
158
- G --> M["Model tiers: router, local tiers on Ollama or LM Studio, opt-in cloud"]
159
- G --> PL["Plugins: tools, handlers, channels, mail providers"]
160
- ```
145
+ <img alt="How a turn is governed: the input screen, then either a deterministic handler answers with no model call or the agent loop runs; both paths pass the governance kernel (classify, egress gate, tool policy and approvals, audit ledger) before model tiers or plugins are reached." src="https://github.com/evarness-ai/evarness/raw/main/docs/assets/how-a-turn-is-governed.png" width="800">
161
146
 
162
147
  The kernel is a passage, not a filter: it runs at
163
148
  [nine fixed hook points](https://evarness-ai.github.io/evarness/concepts/governance/#hook-points)
164
149
  in every turn, and plugins cannot add, remove or reorder them. The stage-by-stage view is in
165
- [Architecture](https://evarness-ai.github.io/evarness/concepts/architecture/).
150
+ [Architecture](https://evarness-ai.github.io/evarness/concepts/architecture/); the editable
151
+ source of the drawing is
152
+ [`docs/architecture/how-a-turn-is-governed.excalidraw`](docs/architecture/how-a-turn-is-governed.excalidraw).
166
153
 
167
154
  ## Three things a bigger model would not give you
168
155
 
@@ -52,14 +52,16 @@ evarness email demo # a synthetic mailbox, a scripted model, no
52
52
  The demo needs no account, no credentials and no model server. It fetches a 200-message
53
53
  synthetic mailbox, sorts it, previews and writes labels, prints a first digest, and ends with
54
54
  what it did, audit rows included. The demo keeps its own home, `~/.evarness-demo`, and never
55
- touches yours. Export that home's proof bundle and verify it offline:
55
+ touches yours. Export that home's proof bundle, ledger and session logs both, and verify it
56
+ offline:
56
57
 
57
58
  ```bash
58
- evarness governance proof-bundle export --db ~/.evarness-demo/governance/audit.db --out bundle.json
59
+ evarness governance proof-bundle export --db ~/.evarness-demo/governance/audit.db \
60
+ --session-logs ~/.evarness-demo/logs --out bundle.json
59
61
  evarness governance proof-bundle verify bundle.json # exit 0 verified, 1 a violation
60
62
  ```
61
63
 
62
- <img alt="A terminal recording: evarness email demo runs to its summary, then the proof bundle is exported and verified." src="https://github.com/evarness-ai/evarness/releases/latest/download/launch.gif" width="800">
64
+ <img alt="A terminal recording: evarness email demo runs to its summary, then the proof bundle is exported and verified." src="https://github.com/evarness-ai/evarness/raw/main/docs/assets/recording/launch.gif" width="800">
63
65
 
64
66
  For your own mail you need [Ollama](https://ollama.com/download) and 8 GB of RAM for the
65
67
  `lite` model set, 16 GB for `standard`. Connect an account, let `evarness doctor --fix` pull
@@ -70,29 +72,14 @@ the known snags.
70
72
 
71
73
  ## How it works
72
74
 
73
- ```mermaid
74
- flowchart TD
75
- U["CLI, web console, Telegram, MCP clients"] --> S
76
- subgraph T["Turn pipeline"]
77
- direction TB
78
- S["Input screen"] --> D{"A deterministic handler claims the turn?"}
79
- D -- yes --> X["Exact answer, no model call"]
80
- D -- no --> A["Agent loop: route, plan, act with tools, curate"]
81
- end
82
- subgraph G["Governance kernel: every model call, tool call and answer"]
83
- direction LR
84
- C["Classify data"] --> E["Egress gate"] --> P["Tool policy, approvals"] --> L["Audit ledger"]
85
- end
86
- X --> G
87
- A --> G
88
- G --> M["Model tiers: router, local tiers on Ollama or LM Studio, opt-in cloud"]
89
- G --> PL["Plugins: tools, handlers, channels, mail providers"]
90
- ```
75
+ <img alt="How a turn is governed: the input screen, then either a deterministic handler answers with no model call or the agent loop runs; both paths pass the governance kernel (classify, egress gate, tool policy and approvals, audit ledger) before model tiers or plugins are reached." src="https://github.com/evarness-ai/evarness/raw/main/docs/assets/how-a-turn-is-governed.png" width="800">
91
76
 
92
77
  The kernel is a passage, not a filter: it runs at
93
78
  [nine fixed hook points](https://evarness-ai.github.io/evarness/concepts/governance/#hook-points)
94
79
  in every turn, and plugins cannot add, remove or reorder them. The stage-by-stage view is in
95
- [Architecture](https://evarness-ai.github.io/evarness/concepts/architecture/).
80
+ [Architecture](https://evarness-ai.github.io/evarness/concepts/architecture/); the editable
81
+ source of the drawing is
82
+ [`docs/architecture/how-a-turn-is-governed.excalidraw`](docs/architecture/how-a-turn-is-governed.excalidraw).
96
83
 
97
84
  ## Three things a bigger model would not give you
98
85
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "evarness"
3
- version = "0.2.1"
3
+ version = "0.2.2"
4
4
  description = "The governed agent harness for small local models. It proves what it did."
5
5
  authors = ["Evarness contributors"]
6
6
  readme = "README.md"
@@ -10,6 +10,6 @@ from evarness.foundation.legacy import alias_legacy_environment
10
10
 
11
11
  __all__ = ["__version__"]
12
12
 
13
- __version__ = "0.2.1"
13
+ __version__ = "0.2.2"
14
14
 
15
15
  alias_legacy_environment()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes