evarness 0.2.2__tar.gz → 0.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {evarness-0.2.2 → evarness-0.2.3}/PKG-INFO +26 -17
- {evarness-0.2.2 → evarness-0.2.3}/README.md +10 -5
- {evarness-0.2.2 → evarness-0.2.3}/pyproject.toml +54 -37
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/__init__.py +1 -1
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/governance.py +66 -4
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/run.py +3 -0
- {evarness-0.2.2 → evarness-0.2.3}/LICENSE +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/behaviors/reminders.default.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/channels.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/cron/audit-compact.cron +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/digest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/docs_search.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/doctor.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/escalation.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/governance/egress.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/governance/identity.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/governance/mcp-serve.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/governance/mcp-signing.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/governance/mcp-trust.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/governance/sandbox.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/governance/taint-policy.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/governance/threat-detection.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/governance/tool-access.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/governor/policy.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/health_watch.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/heartbeats.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/identity/active.default.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/identity/episodic.default.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/identity/soul.default.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/identity/soul_layers.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/intent_anchors.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/intent_keywords.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/intercepts.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/knowledge/wiki_schema.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/learning/strategies.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/llm_tiers.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/memory/entity_aliases.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/memory/extraction.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/memory/learning.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/memory/mappings.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/memory/ontology.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/memory/recall.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/memory/retention.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/memory/shapes.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/memory/summary.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/multi_step.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/notifications.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/outcomes.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/playground/README.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/playground/core-deterministic.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/playground/injection-pressure.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/playground/intercepts-live.yaml.example +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/playground/memory-continuity.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/playground/memory-graph.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/playground/routing-breadth.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/profiles/default.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/profiles/email.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/profiles/minimal.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/search_providers.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/daily-repo-brief/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/harness-core/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/harness-core/tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/harness-tasks/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/harness-tasks/tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/morning-briefing/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/sample-brief/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/web-fetch/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/builtin/web-fetch/tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-followup/agent.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-followup/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-followup/tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-triage/agent.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-triage/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/email-triage/tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/gmail-inbox/agent.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/gmail-inbox/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/email/gmail-inbox/tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/rag/docs-search/agent.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/rag/docs-search/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/rag/docs-search/tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/system/system-status/agent.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/system/system-status/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/skills/system/system-status/tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/webui/nav.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/welcome.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/config/write_claims.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/agent_executor.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/agent_metadata.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/agentic_core.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/answer_guard.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/context_budget.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/context_health.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/dateparse.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/escalation.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/heartbeat.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/intent_router.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/outcomes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/provenance.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/response_curator.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/run_review.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/task_planner.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/task_spec.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/agent/tool_runner.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/api_client.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/approvals.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/behaviors.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/commands.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/context_health.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/device.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/docs.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/doctor.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/facts.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/health.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/intentions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/interactive.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/learning.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/logs.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/mcp.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/memory.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/mission.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/modes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/ontology.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/playground.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/plugin_scaffold.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/plugins.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/push.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/queue.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/render.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/repl.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/run_inspect.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/serve.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/session.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/setup.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/signals.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/_common/pyproject.toml.tmpl +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/_common/src/__tmpl_package/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/_common/tests/test_stable_tier.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/channel/README.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/channel/src/__tmpl_package/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/channel/src/__tmpl_package/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/channel/tests/test_plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/kinds.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/mail-provider/README.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/mail-provider/src/__tmpl_package/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/mail-provider/src/__tmpl_package/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/mail-provider/tests/test_plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/research-provider/README.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/research-provider/src/__tmpl_package/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/research-provider/src/__tmpl_package/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/research-provider/tests/model_script.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/research-provider/tests/test_plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/skill/README.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/skill/src/__tmpl_package/functions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/skill/src/__tmpl_package/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/skill/tests/model_script.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/skill/tests/test_plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/tool/README.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/tool/src/__tmpl_package/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/tool/src/__tmpl_package/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/tool/tests/model_script.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/templates/plugin/tool/tests/test_plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/web_commands.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/cli/welcome.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/activity.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/auth.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/capabilities.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/capability_fields.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/clock.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/console.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/data/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/data/dues_vocabulary.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/env.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/eventbus/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/eventbus/bus.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/eventbus/topics.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/file_lock.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/ids.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/legacy.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/logsafe.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/audit_view.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/host_pressure.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/instruments.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/logging_setup.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/metrics_summary.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/otlp_setup.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/session_log.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/trace_builder.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/observability/tracer.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/paths.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/persistence/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/persistence/embedding.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/persistence/sqlite.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/plugin_dirs.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/process_state.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/public_url.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/catalog.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/catalog.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/env_overrides.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/restart.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/foundation/settings/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/AGENTS.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/channels/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/channels/base.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/channels/cli_channel.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/channels/web_channel.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/events.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/gate.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/queue.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/router.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/schema.sql +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/service.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/approvals/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/archive/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/archive/compact.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/archive/markers.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/archive/query.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/archive/writer.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/digest.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/log.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/proof_bundle.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/proof_bundle.schema.json +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/replay.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/sequence.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/spool.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/view.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/audit/write_health.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/call_context.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/caller_policy.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/cost/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/cost/pricing.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/cost/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/cost/summary.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/devices/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/devices/schema.sql +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/devices/service.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/devices/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/devices/throttle.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/disclosure.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/display_mask.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/egress_policy.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/client.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/drift_exemptions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/embeddings.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/flagged_runs.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/hook.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/judge.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/judge_template.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/registry.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/action_repeat.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/classification_violation.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/cost_budget.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/goal_drift.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/loop_detect.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/step_cap.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/signals/tool_failure_streak.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/evaluator/types.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/external_content.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/external_content_allow.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/file_scan.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/hooks/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/hooks/response_payload.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/hooks/result_text.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/hooks/tool_payload.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/hooks/types.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/identity_config.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/identity_redaction.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/kernel.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_clients.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/config.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/keys.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/launcher.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/spec.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/trust.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/mcp_signing/verifier.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/owner_identity.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/owner_matchers.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/owner_pii.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugin_egress.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/caller_policy.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/capability_redaction.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/classifier.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/command_sandbox.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/cost_limiter.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/credential_broker.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/destructive_approval.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/egress_gate.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/external_content_floor.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/fs_jail.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/input_safety.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/mcp_allowlist.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/mcp_client_egress.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/network_egress.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/output_classifier.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/owner_pii_shadow.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/persona_surface.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/plugin_egress.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/post_tool_use_ledger.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/pre_tool_use_ledger.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/prompt_guard.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/redaction.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/regex_packs.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/response_safety.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/plugins/tool_policy.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/public_suffix.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/public_suffix_icann.dat +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/reentry.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/side_effects/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/side_effects/probes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/side_effects/schema.sql +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/side_effects/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/taint_policy.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/availability.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/backends.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/battery.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/config.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/detector.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/threat/types.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/turn_label.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/unmask_grants.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/credentials.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/handle.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/keys.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/secret_store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/vault/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governance/wiring.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/audit.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/exceptions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/policy.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/rate_limiter.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/kernel/governor/service.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/arbiter.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/budget.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/client.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/copilot_auth.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/egress.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/embeddings.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/errors.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/fake.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/locality.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/model_metadata.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/narrate.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/providers.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/tier_edits.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/llm/tier_router.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/main.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/coherence.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/compactor.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/coordinator.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/export.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/fact_extractor.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/fact_keys.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/fact_statements.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/fact_validation.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/gate_audit.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/gate_audit_corpus.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/graph.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/graph_context.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/identity/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/identity/loader.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/connectors/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/connectors/base.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/connectors/obsidian.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/entity_extractor.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/event_subscribers.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/page_manager.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/wiki_engine.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/knowledge/wiki_index.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/lessons.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/log_archive.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/map_exclusions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/ontology.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/profile.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/profile_recall.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/removal.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/resolution.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/retention.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/retriever.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/semantic_index.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/standing_instructions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/state/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/state/chat.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/state/continuations.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/state/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/statement_migration.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/triage.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/memory/vocabulary.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/assertions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/baseline.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/drift.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/loader.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/runner.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/playground/service.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/AGENTS.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/code_exec/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/code_exec/handler.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/code_exec/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/code_exec/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/cli.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/graphiti.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/mappings.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/graphiti_import/reader.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/cache.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/engine.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/extract.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/guard.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/language.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/news_policy.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/news_sources.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/privacy.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/base.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/brave.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/duckduckgo.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/exa.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/searxng.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/providers/tavily.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/rank.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/rerank.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/tool.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/research/tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/system/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/system/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/system/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/telegram_channel/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/telegram_channel/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/telegram_channel/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_channel/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_channel/connector.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_channel/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_channel/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_push_channel/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_push_channel/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/plugins_builtin/web_push_channel/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/py.typed +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/action_center.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/activity_notices.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/agent_console.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/agent_panels.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/agent_settings_store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/api_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/bootstrap.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/brief_tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/capabilities.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/channel_wiring.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/classifiers.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/client_config.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/confirmations.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/continuations.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/egress_access.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/egress_transport.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/escalation_actions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/eval_runtime.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/external_text.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/external_tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/facade.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/governance_judge.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/governed_http.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/brief_formats.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/brief_prefs.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/general.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/general_invoke.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/general_support.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/general_tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/local_skills.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/react.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/skill_brief.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/handlers/ticks.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/harness_services.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/identity_redaction.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/intercept_dispatch.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/intercepts.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/judges.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/learning_builders.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/learning_controls.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/mcp_serve.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/mission_proposals.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/nlu_parsing.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/api.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/declarative.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/dump.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/harness_topics.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/inventory.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/loader.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/manifest.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/mcp_host.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/nav.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/profile.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/plugin_host/registry.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/react_tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/replies.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/rollout_flags.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/router_audit.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/routine_authoring.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/self_learning_loop.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/session_memory.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/settings_catalog.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/shadow.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/skill_matching.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/skill_tool_specs.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/tool_access.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/tool_call_parsing.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/tool_service.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/host.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/pipeline.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/classify.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/curate.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/execute.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/guard.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/intercept.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/notice.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/opener.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/plan.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/record.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/resolve.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/route.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/stages/screen.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn/state.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn_capture.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/turn_context.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/types.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/runtime/welcome.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/AGENTS.md +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/activities.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/activity.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/approvals.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/audit.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/capabilities.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/channels.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/cli.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/config.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/content.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/digest.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/docs.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/events.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/health.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/heartbeat.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/http.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/identity.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/learning.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/llm.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/logging.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/mcp.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/memory.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/parsing.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/pending_actions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/persistence.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/process_state.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/rag.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/reminders.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/research.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/sandbox.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/services.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/stable_tier.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/tasks.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/time.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/types.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/sdk/vault.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/auth.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/channel_gateway/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/channel_gateway/main.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/channel_gateway/main_types.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/channel_gateway/telegram.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/evaluator/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/evaluator/main.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/governor/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/governor/main.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/action_center_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/agent_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/chat_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/detached_turns.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/device_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/digest_feedback_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/digest_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/governance_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/health_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/learning_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/main.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/mcp_server.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/memory_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/ops_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/playground_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/push_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/routines_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/runtime_access.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/session_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/settings_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/static_ui.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/apple-touch-icon.png +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/ActionCenter-DPme58BE.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/ActivityFeed-Nm_RwwAz.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/AgentDashboard-Dojfdzf7.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Agents-Dq0I6VuX.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/CallTrace-D3vtSjfn.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Card-CXQcUgWe.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Chat-Bvcg3Bl-.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/ConfirmDialog-cQm1i1sw.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/CopyBlock-B9Rb1MjP.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Devices-BQf0mwTM.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Digest-DJTcX1sk.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/DigitalTwin-BnDh4-mJ.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Governance-B0IndDdb.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Health-CVZaordF.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Heartbeats-li6F-3b8.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Inbox-C2i3gjPa.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Knowledge-DH_1HKQr.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Learning-DfGC54J2.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Markdown-j0pwcwK-.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Memory-Zxz0DoSW.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/More-BgCWK7Nx.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Onboarding-Dnsw2VLB.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Overview-CTa_iRzh.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Pair-DlnVXM2M.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Playground-CVikP4hH.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/PluginDetail-Cm4lwuyQ.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Portfolio-DkvcQom8.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Rag-CH3QNZm0.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/ReconnectSheet-BjnZlyy-.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Reminder-CSFxYBCa.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Routines-CY3M7E32.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Sessions-CTrqPfxf.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Settings-C6ywirYS.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Setup-C6cEFSk8.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/Switch-BH9PZxoY.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/SystemCheck-Cn9RsJui.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/breakpoint-CLJTHGon.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/check-D0NYL5pb.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/dagre-B_OITo6c.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/dagre-DLioOiRN.css +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/dialog-C6T5mW7y.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/es2015-BjHWtMgl.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/http-BUcIPk9n.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/index-Cv_Iyn0z.css +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/index-WB9vDf9y.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/input-Cbj0uKBG.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/layout-WFL9FQeY.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/nodeMeta-D76FxGpn.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/parts-B0DqHYDY.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/parts-BJHhvYsv.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/thumbs-down-DaIvDjt_.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/assets/useQuery-CXR1pn6x.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/icon-192.png +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/icon-512-maskable.png +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/icon-512.png +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/index.html +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/manifest.webmanifest +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/offline.html +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/webui_dist/sw.js +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/server/harness_api/write_guard.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/activities/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/activities/events.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/activities/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/activities/runner.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/activities/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/approval_commands.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/approval_delivery.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/channel_config.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/connectors/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/connectors/console.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/connectors/telegram.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/connectors/telegram_poller.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/connectors/ws_client.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/gateway.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/protocol.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/reminder_commands.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/connector.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/encryption.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/keys.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/channels/web_push/vapid.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/edits.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/expiry.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/footer.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/learned.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/run_first.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digest/settings.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digests/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/digests/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/docs_search/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/docs_search/corpus.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/docs_search/search.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/checks.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/credentials.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/governance.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/heartbeat.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/incidents.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/jobs.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/pending_actions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/repair.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/service.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/skills.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/watch.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/health/watch_edits.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/config.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/diagnostics.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/run_store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/schedule_text.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/scheduler.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/heartbeat/slots.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/analyst.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/behavior_miner.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/crystallizer.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/dedup.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/engine.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/escalation_priors.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_adapter.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_docker.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_harness.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_preflight.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_replay_cli.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_runtime.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/eval_workload.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/experiment_loop.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/intelligence.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/intention_rollup.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/lesson_capture.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/metrics.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/preflight.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/promote.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/proposal_quality.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/retriever.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/signals.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/strategies.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/learning/suppression.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/engine.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/handlers.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/proposer.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/missions/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/bills.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/channels.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/events.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/health.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/recurrence.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/snooze.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/notifications/targets.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/chunker.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/documents.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/index.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/ingest.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/ingest_gate.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/ingest_source.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/loaders.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/obsidian.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/ocr.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/qa.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/retrieve.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/sensitivity.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/rag/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/research/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/research/providers.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/authoring.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/reflection.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/seeded.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/routines/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/doctor.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/inventory.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/setup_state.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/status.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/system/telegram_pairing.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/brief_view.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/events.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/pending_actions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/services/tasks/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/conformance.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/harness.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/network_imports.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/proof_bundle.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/testing/stable.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/mcp/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/mcp/server.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/mcp_bridge.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/propose_skill_from_sandbox.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/Dockerfile +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/Dockerfile.eval +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/config.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/docker_sandbox.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/egress.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/egress_proxy.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/exceptions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/runtime.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox/workspace.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/sandbox_tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/hot_reload.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/loader.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/models.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/registry.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/semantic_router.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/skills/skill_synthesizer.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness/tools/stock_quote.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/connections/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/connections/google.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/connections/google_routes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/accounts.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/agent_tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/analysis.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/categories.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/category_store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/contracts.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/digest.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/events.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/feedback_keys.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/provider_api.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/providers.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/semantic_index.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/send_tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/store.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/sweep.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/sweep_gate.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/trash_tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/email/write_approvals.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/agent.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/cli.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/cli_setup.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/cli_writes.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/corpus.json +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/corpus.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/fake_model.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/home.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/demo/provider.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/digest_focus.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/discovery.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/first_digest.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/followup.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/holdout.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/inbox_mix.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/job_watch.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/job_watch.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_api.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_cards.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_chat.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_config.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_corrections.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_digest.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_labels.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_surfaces.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_view.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_wiring.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judge_words.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/judgments.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/knn_gate.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/map_exclusions.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/memory_map.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/onboarding.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/onboarding.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/onboarding_api.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/semantic_heartbeat.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/sweep_health.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/tools.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/triage.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/wiki_ingestion.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/email_workflows/writes_health.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/cli.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/gmail_attachments.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/gmail_fetch.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/gmail_oauth.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/provider.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/vendor_categories.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/gmail/vendor_categories.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/account.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/cli.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/connection.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/health.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/keywords.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/manifest.yaml +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/mime.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/plugin.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/provider.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/plugins/imap/state.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/evarness_personal/py.typed +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/iris_harness/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/iris_personal/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/graph.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/interchange/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/interchange/__main__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/interchange/jsonld.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/interchange/mapping.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/learn.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/model/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/__main__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/compiler.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/learned.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/loader.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/ontology/spec.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/resolve.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/store/__init__.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/store/memory.py +0 -0
- {evarness-0.2.2 → evarness-0.2.3}/src/memris/store/sqlite.py +0 -0
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: evarness
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: The governed agent harness for small local models. It proves what it did.
|
|
5
|
-
License: Apache-2.0
|
|
5
|
+
License-Expression: Apache-2.0
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Keywords: ai,llm,agent,harness,governance,privacy,ollama,local-first,mcp,plugins
|
|
8
8
|
Author: Evarness contributors
|
|
9
9
|
Requires-Python: >=3.12,<3.14
|
|
10
10
|
Classifier: Development Status :: 3 - Alpha
|
|
11
|
-
Classifier: Environment :: Console
|
|
12
|
-
Classifier: Environment :: Web Environment
|
|
13
11
|
Classifier: Intended Audience :: End Users/Desktop
|
|
14
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
15
12
|
Classifier: Operating System :: OS Independent
|
|
16
13
|
Classifier: Programming Language :: Python :: 3
|
|
17
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
15
|
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
19
17
|
Classifier: Topic :: Communications :: Email
|
|
20
18
|
Classifier: Topic :: Office/Business :: Scheduling
|
|
21
|
-
Classifier:
|
|
19
|
+
Classifier: Environment :: Console
|
|
20
|
+
Classifier: Environment :: Web Environment
|
|
22
21
|
Provides-Extra: all
|
|
23
22
|
Provides-Extra: email
|
|
24
23
|
Provides-Extra: ml
|
|
@@ -29,9 +28,12 @@ Requires-Dist: cryptography (>=43,<51)
|
|
|
29
28
|
Requires-Dist: ddgs (>=9.14,<10.0)
|
|
30
29
|
Requires-Dist: duckdb (>=1.1,<2)
|
|
31
30
|
Requires-Dist: fastapi (>=0.109,<1)
|
|
32
|
-
Requires-Dist: google-api-python-client (>=2.0,<3.0) ; extra == "
|
|
33
|
-
Requires-Dist: google-
|
|
34
|
-
Requires-Dist: google-auth
|
|
31
|
+
Requires-Dist: google-api-python-client (>=2.0,<3.0) ; extra == "all"
|
|
32
|
+
Requires-Dist: google-api-python-client (>=2.0,<3.0) ; extra == "email"
|
|
33
|
+
Requires-Dist: google-auth (>=2.0,<3.0) ; extra == "all"
|
|
34
|
+
Requires-Dist: google-auth (>=2.0,<3.0) ; extra == "email"
|
|
35
|
+
Requires-Dist: google-auth-oauthlib (>=1.0,<2.0) ; extra == "all"
|
|
36
|
+
Requires-Dist: google-auth-oauthlib (>=1.0,<2.0) ; extra == "email"
|
|
35
37
|
Requires-Dist: httpcore (>=1,<2)
|
|
36
38
|
Requires-Dist: httpx (>=0.27,<1)
|
|
37
39
|
Requires-Dist: keyring (>=25.0.0,<26.0.0)
|
|
@@ -55,15 +57,17 @@ Requires-Dist: pytesseract (>=0.3.13,<0.4.0)
|
|
|
55
57
|
Requires-Dist: python-dotenv (>=1.2.1,<2.0.0)
|
|
56
58
|
Requires-Dist: python-multipart (>=0.0.31)
|
|
57
59
|
Requires-Dist: pyyaml (>=6.0,<7.0)
|
|
58
|
-
Requires-Dist: scikit-learn (>=1.3) ; extra == "
|
|
59
|
-
Requires-Dist:
|
|
60
|
+
Requires-Dist: scikit-learn (>=1.3) ; extra == "all"
|
|
61
|
+
Requires-Dist: scikit-learn (>=1.3) ; extra == "email"
|
|
62
|
+
Requires-Dist: sentence-transformers (>=5.5.1,<6.0) ; extra == "all"
|
|
63
|
+
Requires-Dist: sentence-transformers (>=5.5.1,<6.0) ; extra == "ml"
|
|
60
64
|
Requires-Dist: starlette (>=1.3.1,<2)
|
|
61
65
|
Requires-Dist: trafilatura (>=2.1.0,<3.0.0)
|
|
62
66
|
Requires-Dist: uvicorn (>=0.27,<1)
|
|
63
67
|
Requires-Dist: watchdog (>=4.0.0,<5.0.0)
|
|
64
68
|
Project-URL: Bug Tracker, https://github.com/evarness-ai/evarness/issues
|
|
65
69
|
Project-URL: Changelog, https://github.com/evarness-ai/evarness/blob/main/CHANGELOG.md
|
|
66
|
-
Project-URL: Documentation, https://
|
|
70
|
+
Project-URL: Documentation, https://evarness-ai.github.io/evarness/
|
|
67
71
|
Project-URL: Homepage, https://github.com/evarness-ai/evarness
|
|
68
72
|
Project-URL: Repository, https://github.com/evarness-ai/evarness
|
|
69
73
|
Description-Content-Type: text/markdown
|
|
@@ -109,12 +113,14 @@ adaptation. Governance provides authority.
|
|
|
109
113
|
## Try it in three minutes
|
|
110
114
|
|
|
111
115
|
You need [uv](https://docs.astral.sh/uv/) or [pipx](https://pipx.pypa.io/)
|
|
112
|
-
([install notes](https://evarness-ai.github.io/evarness/getting-started/install/))
|
|
113
|
-
|
|
116
|
+
([install notes](https://evarness-ai.github.io/evarness/getting-started/install/)), and
|
|
117
|
+
Python 3.12 or 3.13: `uv` fetches one if you have neither, and a uv or pipx pinned to
|
|
118
|
+
another Python says `No solution found`; pass `--python 3.13` then. On Windows, one script
|
|
119
|
+
sets everything up in Docker Desktop; see the
|
|
114
120
|
[Windows guide](https://evarness-ai.github.io/evarness/guides/windows/).
|
|
115
121
|
|
|
116
122
|
```bash
|
|
117
|
-
uv tool install "evarness[email]" # or: pipx install "evarness[email]"
|
|
123
|
+
uv tool install "evarness[email]" --upgrade # or: pipx install "evarness[email]"
|
|
118
124
|
evarness doctor # can Evarness run here, and what to fix
|
|
119
125
|
evarness email demo # a synthetic mailbox, a scripted model, no network
|
|
120
126
|
```
|
|
@@ -126,8 +132,7 @@ touches yours. Export that home's proof bundle, ledger and session logs both, an
|
|
|
126
132
|
offline:
|
|
127
133
|
|
|
128
134
|
```bash
|
|
129
|
-
evarness governance proof-bundle export --
|
|
130
|
-
--session-logs ~/.evarness-demo/logs --out bundle.json
|
|
135
|
+
evarness governance proof-bundle export --home ~/.evarness-demo --out bundle.json
|
|
131
136
|
evarness governance proof-bundle verify bundle.json # exit 0 verified, 1 a violation
|
|
132
137
|
```
|
|
133
138
|
|
|
@@ -255,6 +260,10 @@ poetry run evarness email demo # the whole stack from source: no accou
|
|
|
255
260
|
scripts/ci_local.sh --fast # ruff, black, mypy, import contracts, the tests for what changed
|
|
256
261
|
```
|
|
257
262
|
|
|
263
|
+
`uv sync` in a clone installs the package and the `evarness` command too
|
|
264
|
+
(`uv run evarness doctor`); the gate's tools are Poetry's dev group, so `poetry install`
|
|
265
|
+
is the step to work on the code.
|
|
266
|
+
|
|
258
267
|
[CONTRIBUTING.md](CONTRIBUTING.md) has the governance rules every change keeps, the DCO
|
|
259
268
|
sign-off, the stable-tier rule and **where help is wanted**. Read the
|
|
260
269
|
[code of conduct](CODE_OF_CONDUCT.md). Coding agents: [AGENTS.md](AGENTS.md). Questions and
|
|
@@ -39,12 +39,14 @@ adaptation. Governance provides authority.
|
|
|
39
39
|
## Try it in three minutes
|
|
40
40
|
|
|
41
41
|
You need [uv](https://docs.astral.sh/uv/) or [pipx](https://pipx.pypa.io/)
|
|
42
|
-
([install notes](https://evarness-ai.github.io/evarness/getting-started/install/))
|
|
43
|
-
|
|
42
|
+
([install notes](https://evarness-ai.github.io/evarness/getting-started/install/)), and
|
|
43
|
+
Python 3.12 or 3.13: `uv` fetches one if you have neither, and a uv or pipx pinned to
|
|
44
|
+
another Python says `No solution found`; pass `--python 3.13` then. On Windows, one script
|
|
45
|
+
sets everything up in Docker Desktop; see the
|
|
44
46
|
[Windows guide](https://evarness-ai.github.io/evarness/guides/windows/).
|
|
45
47
|
|
|
46
48
|
```bash
|
|
47
|
-
uv tool install "evarness[email]" # or: pipx install "evarness[email]"
|
|
49
|
+
uv tool install "evarness[email]" --upgrade # or: pipx install "evarness[email]"
|
|
48
50
|
evarness doctor # can Evarness run here, and what to fix
|
|
49
51
|
evarness email demo # a synthetic mailbox, a scripted model, no network
|
|
50
52
|
```
|
|
@@ -56,8 +58,7 @@ touches yours. Export that home's proof bundle, ledger and session logs both, an
|
|
|
56
58
|
offline:
|
|
57
59
|
|
|
58
60
|
```bash
|
|
59
|
-
evarness governance proof-bundle export --
|
|
60
|
-
--session-logs ~/.evarness-demo/logs --out bundle.json
|
|
61
|
+
evarness governance proof-bundle export --home ~/.evarness-demo --out bundle.json
|
|
61
62
|
evarness governance proof-bundle verify bundle.json # exit 0 verified, 1 a violation
|
|
62
63
|
```
|
|
63
64
|
|
|
@@ -185,6 +186,10 @@ poetry run evarness email demo # the whole stack from source: no accou
|
|
|
185
186
|
scripts/ci_local.sh --fast # ruff, black, mypy, import contracts, the tests for what changed
|
|
186
187
|
```
|
|
187
188
|
|
|
189
|
+
`uv sync` in a clone installs the package and the `evarness` command too
|
|
190
|
+
(`uv run evarness doctor`); the gate's tools are Poetry's dev group, so `poetry install`
|
|
191
|
+
is the step to work on the code.
|
|
192
|
+
|
|
188
193
|
[CONTRIBUTING.md](CONTRIBUTING.md) has the governance rules every change keeps, the DCO
|
|
189
194
|
sign-off, the stable-tier rule and **where help is wanted**. Read the
|
|
190
195
|
[code of conduct](CODE_OF_CONDUCT.md). Coding agents: [AGENTS.md](AGENTS.md). Questions and
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
[
|
|
1
|
+
[project]
|
|
2
2
|
name = "evarness"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.3"
|
|
4
4
|
description = "The governed agent harness for small local models. It proves what it did."
|
|
5
|
-
authors = ["Evarness contributors"]
|
|
6
5
|
readme = "README.md"
|
|
7
6
|
license = "Apache-2.0"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
authors = [{ name = "Evarness contributors" }]
|
|
8
|
+
# 3.13 supported since 2026-09-26: the core has no 3.12-only code; what held it back was
|
|
9
|
+
# numpy<2 (no cp313 wheels) and heavy dependencies nothing imported.
|
|
10
|
+
requires-python = ">=3.12,<3.14"
|
|
11
11
|
keywords = ["ai", "llm", "agent", "harness", "governance", "privacy", "ollama", "local-first", "mcp", "plugins"]
|
|
12
12
|
classifiers = [
|
|
13
13
|
"Development Status :: 3 - Alpha",
|
|
14
14
|
"Intended Audience :: End Users/Desktop",
|
|
15
|
-
"License :: OSI Approved :: Apache Software License",
|
|
16
15
|
"Operating System :: OS Independent",
|
|
17
16
|
"Programming Language :: Python :: 3",
|
|
18
17
|
"Programming Language :: Python :: 3.12",
|
|
@@ -23,6 +22,45 @@ classifiers = [
|
|
|
23
22
|
"Environment :: Console",
|
|
24
23
|
"Environment :: Web Environment",
|
|
25
24
|
]
|
|
25
|
+
# The dependency table stays Poetry's ([tool.poetry.dependencies]: caret constraints and
|
|
26
|
+
# the optional markers the extras name), which PEP 621 spells by listing dependencies
|
|
27
|
+
# here as dynamic. Everything else about the package is in this table, so uv, pip and any
|
|
28
|
+
# PEP 621 reader see a project: `uv sync` in a clone used to resolve an empty workspace
|
|
29
|
+
# and install nothing (#373).
|
|
30
|
+
dynamic = ["dependencies"]
|
|
31
|
+
|
|
32
|
+
[project.urls]
|
|
33
|
+
Homepage = "https://github.com/evarness-ai/evarness"
|
|
34
|
+
Repository = "https://github.com/evarness-ai/evarness"
|
|
35
|
+
Documentation = "https://evarness-ai.github.io/evarness/"
|
|
36
|
+
"Bug Tracker" = "https://github.com/evarness-ai/evarness/issues"
|
|
37
|
+
Changelog = "https://github.com/evarness-ai/evarness/blob/main/CHANGELOG.md"
|
|
38
|
+
|
|
39
|
+
[project.scripts]
|
|
40
|
+
evarness = "evarness.main:main"
|
|
41
|
+
|
|
42
|
+
# The domain plugins, discovered exactly as a third-party plugin is: by the
|
|
43
|
+
# `evarness.plugins` entry-point group, with their manifest.yaml read from beside
|
|
44
|
+
# the module named here (OSS plan M6, decisions 2 and 10). The public tree ships the
|
|
45
|
+
# email slice's three (R2) -- the email profile mounts them; `default` names none -- and
|
|
46
|
+
# the fenced four stay private until release 2.
|
|
47
|
+
[project.entry-points."evarness.plugins"]
|
|
48
|
+
email_workflows = "evarness_personal.plugins.email_workflows.plugin:setup"
|
|
49
|
+
gmail = "evarness_personal.plugins.gmail.plugin:setup"
|
|
50
|
+
imap = "evarness_personal.plugins.imap.plugin:setup"
|
|
51
|
+
|
|
52
|
+
[project.optional-dependencies]
|
|
53
|
+
# The email assistant (OSS plan R2/R6), declared in the public tree only: here the Google
|
|
54
|
+
# packages are main dependencies already (see the dependency table), and an extra that
|
|
55
|
+
# names a main dependency would make it extra-only in the wheel.
|
|
56
|
+
# The versions repeat the dependency table's optional entries below, which carry the
|
|
57
|
+
# same constraints for the lock: this table is what the wheel's Requires-Dist reads.
|
|
58
|
+
email = ["google-api-python-client>=2.0,<3.0", "google-auth>=2.0,<3.0", "google-auth-oauthlib>=1.0,<2.0", "scikit-learn>=1.3"]
|
|
59
|
+
ml = ["sentence-transformers>=5.5.1,<6.0"]
|
|
60
|
+
all = ["sentence-transformers>=5.5.1,<6.0", "google-api-python-client>=2.0,<3.0", "google-auth>=2.0,<3.0", "google-auth-oauthlib>=1.0,<2.0", "scikit-learn>=1.3"]
|
|
61
|
+
|
|
62
|
+
[tool.poetry]
|
|
63
|
+
# What PEP 621 cannot say: where the packages are, what else ships, and what stays out.
|
|
26
64
|
packages = [
|
|
27
65
|
{ include = "evarness", from = "src" },
|
|
28
66
|
{ include = "memris", from = "src" }, # the memory-graph engine, public (ADR-0115 decision 10)
|
|
@@ -72,28 +110,7 @@ exclude = [
|
|
|
72
110
|
"config/skills/research/research-draft/**/*",
|
|
73
111
|
]
|
|
74
112
|
|
|
75
|
-
[tool.poetry.urls]
|
|
76
|
-
"Bug Tracker" = "https://github.com/evarness-ai/evarness/issues"
|
|
77
|
-
"Changelog" = "https://github.com/evarness-ai/evarness/blob/main/CHANGELOG.md"
|
|
78
|
-
|
|
79
|
-
[tool.poetry.scripts]
|
|
80
|
-
evarness = "evarness.main:main"
|
|
81
|
-
|
|
82
|
-
# The domain plugins, discovered exactly as a third-party plugin is: by the
|
|
83
|
-
# `evarness.plugins` entry-point group, with their manifest.yaml read from beside
|
|
84
|
-
# the module named here (OSS plan M6, decisions 2 and 10). The public tree ships the
|
|
85
|
-
# email slice's three (R2) -- the email profile mounts them; `default` names none -- and
|
|
86
|
-
# the fenced four stay private until release 2.
|
|
87
|
-
[tool.poetry.plugins."evarness.plugins"]
|
|
88
|
-
email_workflows = "evarness_personal.plugins.email_workflows.plugin:setup"
|
|
89
|
-
gmail = "evarness_personal.plugins.gmail.plugin:setup"
|
|
90
|
-
imap = "evarness_personal.plugins.imap.plugin:setup"
|
|
91
|
-
|
|
92
113
|
[tool.poetry.dependencies]
|
|
93
|
-
# 3.13 supported since 2026-09-26: the core has no 3.12-only code; what held it back was
|
|
94
|
-
# numpy<2 (no cp313 wheels) and heavy dependencies nothing imported.
|
|
95
|
-
python = ">=3.12,<3.14"
|
|
96
|
-
|
|
97
114
|
# LangChain: the only parts the code imports. `langchain_core.tools.BaseTool` is every
|
|
98
115
|
# tool's base class (skills, MCP bridge, research); the two chat clients are llm/client.py's
|
|
99
116
|
# (lazily). 1.x since 2026-09-26, which the private coding agent's langgraph 1.x needs.
|
|
@@ -202,14 +219,6 @@ pytest-xdist = "^3.6"
|
|
|
202
219
|
import-linter = "^2.15"
|
|
203
220
|
|
|
204
221
|
|
|
205
|
-
[tool.poetry.extras]
|
|
206
|
-
# The email assistant (OSS plan R2/R6), declared in the public tree only: here the Google
|
|
207
|
-
# packages are main dependencies already (see the dependency table), and an extra that
|
|
208
|
-
# names a main dependency would make it extra-only in the wheel.
|
|
209
|
-
email = ["google-api-python-client", "google-auth", "google-auth-oauthlib", "scikit-learn"]
|
|
210
|
-
ml = ["sentence-transformers"]
|
|
211
|
-
all = ["sentence-transformers", "google-api-python-client", "google-auth", "google-auth-oauthlib", "scikit-learn"]
|
|
212
|
-
|
|
213
222
|
[build-system]
|
|
214
223
|
requires = ["poetry-core"]
|
|
215
224
|
build-backend = "poetry.core.masonry.api"
|
|
@@ -220,6 +229,10 @@ target-version = ['py312']
|
|
|
220
229
|
|
|
221
230
|
[tool.ruff]
|
|
222
231
|
line-length = 100
|
|
232
|
+
# Explicit, and the same value ruff infers from [project].requires-python. Before the
|
|
233
|
+
# [project] table ruff had nothing to infer from and fell back to 3.9, which kept the
|
|
234
|
+
# 3.12-era UP rules off and sorted tomllib (stdlib since 3.11) as third-party.
|
|
235
|
+
target-version = "py312"
|
|
223
236
|
|
|
224
237
|
[tool.ruff.lint]
|
|
225
238
|
# BLE: a broad `except` must say why (`# noqa: BLE001 — reason`) or narrow. T20: no
|
|
@@ -227,7 +240,11 @@ line-length = 100
|
|
|
227
240
|
# RUF100: a `# noqa` for a rule that is off or not triggered is an error, so markers
|
|
228
241
|
# stay honest (0.16 upgrade: 1534 such markers removed; their reasons kept as comments).
|
|
229
242
|
select = ["E", "W", "F", "I", "B", "C4", "UP", "S", "BLE", "T20", "RUF100"]
|
|
230
|
-
|
|
243
|
+
# UP042 and UP047 arrived with the 3.12 target. UP042 rewrites `(str, Enum)` classes to
|
|
244
|
+
# StrEnum, which changes what str() and format() of a member return; UP047 rewrites
|
|
245
|
+
# signatures to PEP 695 generics. Both are code changes to review on their own, not to
|
|
246
|
+
# slip in with a packaging change (#375 tracks adopting them).
|
|
247
|
+
ignore = ["E501", "S101", "UP042", "UP047"]
|
|
231
248
|
|
|
232
249
|
[tool.ruff.lint.isort]
|
|
233
250
|
# Every source root under src/, named so grouping does not depend on ruff's detection
|
|
@@ -320,6 +320,54 @@ proof_bundle_app = typer.Typer(
|
|
|
320
320
|
governance_app.add_typer(proof_bundle_app, name="proof-bundle")
|
|
321
321
|
|
|
322
322
|
|
|
323
|
+
def _home_of_ledger(db: Path) -> Path | None:
|
|
324
|
+
"""The Evarness home a ledger path belongs to: ``<home>/governance/audit.db``."""
|
|
325
|
+
return db.parent.parent if db.parent.name == "governance" else None
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
def _home_of_logs(logs: Path) -> Path | None:
|
|
329
|
+
"""The Evarness home a session-log directory belongs to: ``<home>/logs``."""
|
|
330
|
+
return logs.parent if logs.name == "logs" else None
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
def resolve_bundle_sources(
|
|
334
|
+
*,
|
|
335
|
+
home: Path | None,
|
|
336
|
+
db: Path | None,
|
|
337
|
+
session_logs: Path | None,
|
|
338
|
+
default_db: Path,
|
|
339
|
+
default_logs: Path,
|
|
340
|
+
) -> tuple[Path, Path, str | None]:
|
|
341
|
+
"""Where an export reads its ledger and its session logs, and a note when the two
|
|
342
|
+
come from different homes.
|
|
343
|
+
|
|
344
|
+
``--home`` names both (``<home>/governance/audit.db`` and ``<home>/logs``); ``--db``
|
|
345
|
+
and ``--session-logs`` each override one. A ``--db`` alone that sits in a home's
|
|
346
|
+
``governance/`` brings that home's ``logs/`` with it: the ledger of one home checked
|
|
347
|
+
against another home's sessions fails every-call-and-answer-audited for sessions the
|
|
348
|
+
ledger never saw (#362), which is what happened with the demo's ledger and the
|
|
349
|
+
owner's own chat sessions.
|
|
350
|
+
"""
|
|
351
|
+
ledger = db or (home / "governance" / "audit.db" if home else default_db)
|
|
352
|
+
if session_logs is not None:
|
|
353
|
+
logs = session_logs
|
|
354
|
+
elif home is not None:
|
|
355
|
+
logs = home / "logs"
|
|
356
|
+
elif db is not None and (ledger_home := _home_of_ledger(db)) is not None:
|
|
357
|
+
logs = ledger_home / "logs"
|
|
358
|
+
else:
|
|
359
|
+
logs = default_logs
|
|
360
|
+
ledger_home, logs_home = _home_of_ledger(ledger), _home_of_logs(logs)
|
|
361
|
+
note = None
|
|
362
|
+
if ledger_home is not None and logs_home is not None and ledger_home != logs_home:
|
|
363
|
+
note = (
|
|
364
|
+
f"note: the ledger is {ledger_home}'s and the session logs are {logs_home}'s; "
|
|
365
|
+
"a bundle across two homes does not verify. Pass --home, or --session-logs "
|
|
366
|
+
"for the ledger's home."
|
|
367
|
+
)
|
|
368
|
+
return ledger, logs, note
|
|
369
|
+
|
|
370
|
+
|
|
323
371
|
@proof_bundle_app.command("export")
|
|
324
372
|
def proof_bundle_export(
|
|
325
373
|
out: Annotated[Path, typer.Option("--out", help="Where to write the bundle (JSON).")],
|
|
@@ -333,6 +381,14 @@ def proof_bundle_export(
|
|
|
333
381
|
list[str] | None, typer.Option("--run", help="Only this run id (repeatable).")
|
|
334
382
|
] = None,
|
|
335
383
|
subject: Annotated[str, typer.Option("--subject", help="What the bundle covers.")] = "",
|
|
384
|
+
home: Annotated[
|
|
385
|
+
Path | None,
|
|
386
|
+
typer.Option(
|
|
387
|
+
"--home",
|
|
388
|
+
help="An Evarness home (the demo's, say): its governance/audit.db and logs/ "
|
|
389
|
+
"stand in for --db and --session-logs.",
|
|
390
|
+
),
|
|
391
|
+
] = None,
|
|
336
392
|
db: Annotated[
|
|
337
393
|
Path | None, typer.Option("--db", help="Audit ledger (default: this home's).")
|
|
338
394
|
] = None,
|
|
@@ -361,14 +417,20 @@ def proof_bundle_export(
|
|
|
361
417
|
from evarness.foundation.paths import audit_db_path
|
|
362
418
|
from evarness.kernel.governance.audit import proof_bundle
|
|
363
419
|
|
|
364
|
-
ledger
|
|
420
|
+
ledger, logs, note = resolve_bundle_sources(
|
|
421
|
+
home=home,
|
|
422
|
+
db=db,
|
|
423
|
+
session_logs=session_logs,
|
|
424
|
+
default_db=audit_db_path(),
|
|
425
|
+
default_logs=session_log_dir(),
|
|
426
|
+
)
|
|
365
427
|
if not ledger.exists():
|
|
366
428
|
print_error(f"no audit ledger at {ledger}")
|
|
367
429
|
raise typer.Exit(2)
|
|
430
|
+
if note:
|
|
431
|
+
console.print(note)
|
|
368
432
|
try:
|
|
369
|
-
seen = proof_bundle.observations_from_session_logs(
|
|
370
|
-
session_logs or session_log_dir(), since=since, until=until
|
|
371
|
-
)
|
|
433
|
+
seen = proof_bundle.observations_from_session_logs(logs, since=since, until=until)
|
|
372
434
|
if observations is not None:
|
|
373
435
|
raw = json.loads(observations.read_text(encoding="utf-8"))
|
|
374
436
|
seen = seen + proof_bundle.observations_from_json(raw)
|
|
@@ -375,6 +375,9 @@ def render_summary(report: DemoReport) -> str:
|
|
|
375
375
|
"own (`evarness learning status`).",
|
|
376
376
|
"",
|
|
377
377
|
f"Everything is in {report.home}. Run it again: nothing is fetched or judged twice.",
|
|
378
|
+
"Verify this run offline, ledger and session logs from this home: "
|
|
379
|
+
f"`evarness governance proof-bundle export --home {report.home} --out bundle.json "
|
|
380
|
+
"&& evarness governance proof-bundle verify bundle.json`.",
|
|
378
381
|
"Connect your own mailbox with `evarness email setup` when you are ready.",
|
|
379
382
|
]
|
|
380
383
|
return "\n".join(lines)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|