evarness 0.2.1__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {evarness-0.2.1 → evarness-0.2.2}/PKG-INFO +10 -23
- {evarness-0.2.1 → evarness-0.2.2}/README.md +9 -22
- {evarness-0.2.1 → evarness-0.2.2}/pyproject.toml +1 -1
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/__init__.py +1 -1
- {evarness-0.2.1 → evarness-0.2.2}/LICENSE +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/behaviors/reminders.default.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/channels.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/cron/audit-compact.cron +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/digest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/docs_search.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/doctor.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/escalation.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/governance/egress.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/governance/identity.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/governance/mcp-serve.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/governance/mcp-signing.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/governance/mcp-trust.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/governance/sandbox.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/governance/taint-policy.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/governance/threat-detection.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/governance/tool-access.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/governor/policy.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/health_watch.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/heartbeats.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/identity/active.default.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/identity/episodic.default.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/identity/soul.default.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/identity/soul_layers.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/intent_anchors.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/intent_keywords.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/intercepts.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/knowledge/wiki_schema.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/learning/strategies.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/llm_tiers.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/memory/entity_aliases.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/memory/extraction.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/memory/learning.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/memory/mappings.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/memory/ontology.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/memory/recall.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/memory/retention.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/memory/shapes.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/memory/summary.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/multi_step.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/notifications.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/outcomes.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/playground/README.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/playground/core-deterministic.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/playground/injection-pressure.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/playground/intercepts-live.yaml.example +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/playground/memory-continuity.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/playground/memory-graph.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/playground/routing-breadth.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/profiles/default.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/profiles/email.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/profiles/minimal.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/search_providers.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/daily-repo-brief/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/harness-core/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/harness-core/tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/harness-tasks/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/harness-tasks/tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/morning-briefing/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/sample-brief/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/web-fetch/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/builtin/web-fetch/tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-followup/agent.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-followup/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-followup/tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-triage/agent.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-triage/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/email-triage/tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/gmail-inbox/agent.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/gmail-inbox/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/email/gmail-inbox/tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/rag/docs-search/agent.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/rag/docs-search/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/rag/docs-search/tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/system/system-status/agent.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/system/system-status/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/skills/system/system-status/tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/webui/nav.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/welcome.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/config/write_claims.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/agent_executor.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/agent_metadata.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/agentic_core.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/answer_guard.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/context_budget.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/context_health.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/dateparse.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/escalation.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/heartbeat.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/intent_router.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/outcomes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/provenance.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/response_curator.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/run_review.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/task_planner.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/task_spec.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/agent/tool_runner.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/api_client.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/approvals.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/behaviors.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/commands.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/context_health.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/device.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/docs.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/doctor.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/facts.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/governance.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/health.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/intentions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/interactive.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/learning.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/logs.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/mcp.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/memory.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/mission.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/modes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/ontology.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/playground.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/plugin_scaffold.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/plugins.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/push.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/queue.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/render.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/repl.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/run_inspect.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/serve.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/session.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/setup.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/signals.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/_common/pyproject.toml.tmpl +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/_common/src/__tmpl_package/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/_common/tests/test_stable_tier.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/channel/README.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/channel/src/__tmpl_package/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/channel/src/__tmpl_package/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/channel/tests/test_plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/kinds.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/mail-provider/README.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/mail-provider/src/__tmpl_package/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/mail-provider/src/__tmpl_package/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/mail-provider/tests/test_plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/research-provider/README.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/research-provider/src/__tmpl_package/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/research-provider/src/__tmpl_package/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/research-provider/tests/model_script.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/research-provider/tests/test_plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/README.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/src/__tmpl_package/functions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/src/__tmpl_package/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/tests/model_script.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/tests/test_plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/README.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/src/__tmpl_package/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/src/__tmpl_package/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/tests/model_script.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/tests/test_plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/web_commands.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/welcome.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/activity.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/auth.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/capabilities.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/capability_fields.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/clock.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/console.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/data/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/data/dues_vocabulary.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/env.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/eventbus/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/eventbus/bus.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/eventbus/topics.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/file_lock.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/ids.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/legacy.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/logsafe.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/audit_view.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/host_pressure.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/instruments.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/logging_setup.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/metrics_summary.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/otlp_setup.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/session_log.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/trace_builder.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/observability/tracer.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/paths.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/persistence/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/persistence/embedding.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/persistence/sqlite.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/plugin_dirs.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/process_state.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/public_url.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/catalog.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/catalog.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/env_overrides.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/restart.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/foundation/settings/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/AGENTS.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/channels/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/channels/base.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/channels/cli_channel.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/channels/web_channel.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/events.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/gate.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/queue.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/router.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/schema.sql +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/service.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/approvals/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/archive/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/archive/compact.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/archive/markers.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/archive/query.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/archive/writer.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/digest.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/log.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/proof_bundle.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/proof_bundle.schema.json +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/replay.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/sequence.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/spool.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/view.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/audit/write_health.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/call_context.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/caller_policy.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/cost/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/cost/pricing.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/cost/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/cost/summary.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/devices/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/devices/schema.sql +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/devices/service.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/devices/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/devices/throttle.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/disclosure.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/display_mask.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/egress_policy.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/client.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/drift_exemptions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/embeddings.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/flagged_runs.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/hook.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/judge.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/judge_template.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/registry.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/action_repeat.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/classification_violation.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/cost_budget.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/goal_drift.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/loop_detect.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/step_cap.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/signals/tool_failure_streak.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/evaluator/types.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/external_content.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/external_content_allow.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/file_scan.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/hooks/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/hooks/response_payload.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/hooks/result_text.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/hooks/tool_payload.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/hooks/types.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/identity_config.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/identity_redaction.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/kernel.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_clients.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/config.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/keys.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/launcher.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/spec.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/trust.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/mcp_signing/verifier.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/owner_identity.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/owner_matchers.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/owner_pii.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugin_egress.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/caller_policy.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/capability_redaction.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/classifier.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/command_sandbox.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/cost_limiter.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/credential_broker.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/destructive_approval.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/egress_gate.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/external_content_floor.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/fs_jail.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/input_safety.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/mcp_allowlist.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/mcp_client_egress.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/network_egress.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/output_classifier.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/owner_pii_shadow.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/persona_surface.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/plugin_egress.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/post_tool_use_ledger.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/pre_tool_use_ledger.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/prompt_guard.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/redaction.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/regex_packs.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/response_safety.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/plugins/tool_policy.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/public_suffix.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/public_suffix_icann.dat +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/reentry.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/side_effects/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/side_effects/probes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/side_effects/schema.sql +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/side_effects/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/taint_policy.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/availability.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/backends.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/battery.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/config.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/detector.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/threat/types.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/turn_label.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/unmask_grants.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/credentials.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/handle.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/keys.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/secret_store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/vault/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governance/wiring.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/audit.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/exceptions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/policy.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/rate_limiter.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/kernel/governor/service.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/arbiter.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/budget.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/client.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/copilot_auth.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/egress.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/embeddings.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/errors.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/fake.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/locality.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/model_metadata.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/narrate.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/providers.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/tier_edits.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/llm/tier_router.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/main.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/coherence.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/compactor.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/coordinator.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/export.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/fact_extractor.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/fact_keys.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/fact_statements.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/fact_validation.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/gate_audit.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/gate_audit_corpus.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/graph.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/graph_context.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/identity/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/identity/loader.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/connectors/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/connectors/base.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/connectors/obsidian.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/entity_extractor.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/event_subscribers.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/page_manager.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/wiki_engine.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/knowledge/wiki_index.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/lessons.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/log_archive.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/map_exclusions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/ontology.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/profile.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/profile_recall.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/removal.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/resolution.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/retention.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/retriever.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/semantic_index.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/standing_instructions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/state/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/state/chat.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/state/continuations.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/state/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/statement_migration.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/triage.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/memory/vocabulary.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/assertions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/baseline.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/drift.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/loader.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/runner.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/playground/service.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/AGENTS.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/code_exec/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/code_exec/handler.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/code_exec/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/code_exec/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/cli.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/graphiti.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/mappings.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/graphiti_import/reader.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/cache.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/engine.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/extract.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/guard.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/language.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/news_policy.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/news_sources.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/privacy.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/base.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/brave.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/duckduckgo.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/exa.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/searxng.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/providers/tavily.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/rank.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/rerank.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/tool.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/research/tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/system/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/system/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/system/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/telegram_channel/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/telegram_channel/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/telegram_channel/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_channel/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_channel/connector.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_channel/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_channel/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_push_channel/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_push_channel/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/plugins_builtin/web_push_channel/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/py.typed +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/action_center.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/activity_notices.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/agent_console.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/agent_panels.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/agent_settings_store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/api_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/bootstrap.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/brief_tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/capabilities.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/channel_wiring.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/classifiers.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/client_config.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/confirmations.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/continuations.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/egress_access.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/egress_transport.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/escalation_actions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/eval_runtime.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/external_text.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/external_tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/facade.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/governance_judge.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/governed_http.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/brief_formats.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/brief_prefs.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/general.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/general_invoke.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/general_support.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/general_tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/local_skills.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/react.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/skill_brief.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/handlers/ticks.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/harness_services.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/identity_redaction.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/intercept_dispatch.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/intercepts.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/judges.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/learning_builders.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/learning_controls.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/mcp_serve.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/mission_proposals.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/nlu_parsing.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/api.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/declarative.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/dump.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/harness_topics.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/inventory.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/loader.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/manifest.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/mcp_host.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/nav.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/profile.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/plugin_host/registry.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/react_tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/replies.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/rollout_flags.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/router_audit.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/routine_authoring.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/self_learning_loop.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/session_memory.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/settings_catalog.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/shadow.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/skill_matching.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/skill_tool_specs.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/tool_access.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/tool_call_parsing.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/tool_service.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/host.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/pipeline.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/classify.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/curate.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/execute.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/guard.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/intercept.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/notice.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/opener.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/plan.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/record.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/resolve.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/route.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/stages/screen.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn/state.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn_capture.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/turn_context.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/types.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/runtime/welcome.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/AGENTS.md +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/activities.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/activity.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/approvals.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/audit.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/capabilities.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/channels.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/cli.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/config.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/content.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/digest.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/docs.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/events.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/health.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/heartbeat.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/http.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/identity.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/learning.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/llm.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/logging.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/mcp.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/memory.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/parsing.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/pending_actions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/persistence.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/process_state.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/rag.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/reminders.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/research.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/sandbox.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/services.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/stable_tier.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/tasks.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/time.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/types.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/sdk/vault.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/auth.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/channel_gateway/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/channel_gateway/main.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/channel_gateway/main_types.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/channel_gateway/telegram.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/evaluator/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/evaluator/main.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/governor/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/governor/main.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/action_center_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/agent_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/chat_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/detached_turns.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/device_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/digest_feedback_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/digest_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/governance_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/health_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/learning_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/main.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/mcp_server.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/memory_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/ops_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/playground_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/push_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/routines_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/runtime_access.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/session_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/settings_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/static_ui.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/apple-touch-icon.png +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/ActionCenter-DPme58BE.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/ActivityFeed-Nm_RwwAz.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/AgentDashboard-Dojfdzf7.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Agents-Dq0I6VuX.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/CallTrace-D3vtSjfn.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Card-CXQcUgWe.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Chat-Bvcg3Bl-.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/ConfirmDialog-cQm1i1sw.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/CopyBlock-B9Rb1MjP.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Devices-BQf0mwTM.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Digest-DJTcX1sk.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/DigitalTwin-BnDh4-mJ.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Governance-B0IndDdb.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Health-CVZaordF.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Heartbeats-li6F-3b8.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Inbox-C2i3gjPa.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Knowledge-DH_1HKQr.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Learning-DfGC54J2.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Markdown-j0pwcwK-.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Memory-Zxz0DoSW.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/More-BgCWK7Nx.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Onboarding-Dnsw2VLB.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Overview-CTa_iRzh.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Pair-DlnVXM2M.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Playground-CVikP4hH.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/PluginDetail-Cm4lwuyQ.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Portfolio-DkvcQom8.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Rag-CH3QNZm0.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/ReconnectSheet-BjnZlyy-.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Reminder-CSFxYBCa.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Routines-CY3M7E32.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Sessions-CTrqPfxf.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Settings-C6ywirYS.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Setup-C6cEFSk8.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/Switch-BH9PZxoY.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/SystemCheck-Cn9RsJui.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/breakpoint-CLJTHGon.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/check-D0NYL5pb.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/dagre-B_OITo6c.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/dagre-DLioOiRN.css +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/dialog-C6T5mW7y.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/es2015-BjHWtMgl.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/http-BUcIPk9n.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/index-Cv_Iyn0z.css +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/index-WB9vDf9y.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/input-Cbj0uKBG.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/layout-WFL9FQeY.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/nodeMeta-D76FxGpn.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/parts-B0DqHYDY.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/parts-BJHhvYsv.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/thumbs-down-DaIvDjt_.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/assets/useQuery-CXR1pn6x.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/icon-192.png +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/icon-512-maskable.png +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/icon-512.png +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/index.html +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/manifest.webmanifest +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/offline.html +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/webui_dist/sw.js +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/server/harness_api/write_guard.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/activities/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/activities/events.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/activities/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/activities/runner.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/activities/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/approval_commands.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/approval_delivery.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/channel_config.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/connectors/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/connectors/console.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/connectors/telegram.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/connectors/telegram_poller.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/connectors/ws_client.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/gateway.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/protocol.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/reminder_commands.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/connector.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/encryption.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/keys.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/channels/web_push/vapid.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/edits.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/expiry.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/footer.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/learned.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/run_first.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digest/settings.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digests/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/digests/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/docs_search/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/docs_search/corpus.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/docs_search/search.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/checks.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/credentials.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/governance.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/heartbeat.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/incidents.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/jobs.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/pending_actions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/repair.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/service.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/skills.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/watch.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/health/watch_edits.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/config.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/diagnostics.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/run_store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/schedule_text.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/scheduler.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/heartbeat/slots.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/analyst.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/behavior_miner.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/crystallizer.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/dedup.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/engine.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/escalation_priors.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_adapter.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_docker.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_harness.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_preflight.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_replay_cli.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_runtime.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/eval_workload.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/experiment_loop.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/intelligence.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/intention_rollup.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/lesson_capture.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/metrics.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/preflight.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/promote.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/proposal_quality.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/retriever.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/signals.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/strategies.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/learning/suppression.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/engine.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/handlers.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/proposer.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/missions/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/bills.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/channels.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/events.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/health.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/recurrence.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/snooze.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/notifications/targets.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/chunker.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/documents.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/index.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/ingest.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/ingest_gate.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/ingest_source.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/loaders.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/obsidian.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/ocr.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/qa.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/retrieve.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/sensitivity.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/rag/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/research/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/research/providers.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/authoring.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/reflection.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/seeded.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/routines/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/doctor.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/inventory.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/setup_state.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/status.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/system/telegram_pairing.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/brief_view.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/events.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/pending_actions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/services/tasks/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/conformance.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/harness.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/network_imports.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/proof_bundle.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/testing/stable.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/mcp/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/mcp/server.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/mcp_bridge.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/propose_skill_from_sandbox.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/Dockerfile +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/Dockerfile.eval +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/config.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/docker_sandbox.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/egress.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/egress_proxy.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/exceptions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/runtime.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox/workspace.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/sandbox_tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/hot_reload.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/loader.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/models.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/registry.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/semantic_router.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/skills/skill_synthesizer.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness/tools/stock_quote.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/connections/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/connections/google.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/connections/google_routes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/accounts.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/agent_tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/analysis.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/categories.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/category_store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/contracts.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/digest.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/events.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/feedback_keys.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/provider_api.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/providers.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/semantic_index.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/send_tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/store.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/sweep.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/sweep_gate.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/trash_tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/email/write_approvals.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/agent.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/cli.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/cli_setup.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/cli_writes.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/corpus.json +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/corpus.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/fake_model.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/home.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/provider.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/demo/run.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/digest_focus.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/discovery.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/first_digest.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/followup.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/holdout.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/inbox_mix.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/job_watch.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/job_watch.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_api.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_cards.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_chat.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_config.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_corrections.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_digest.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_labels.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_surfaces.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_view.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_wiring.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judge_words.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/judgments.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/knn_gate.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/map_exclusions.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/memory_map.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/onboarding.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/onboarding.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/onboarding_api.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/semantic_heartbeat.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/sweep_health.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/tools.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/triage.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/wiki_ingestion.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/email_workflows/writes_health.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/cli.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/gmail_attachments.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/gmail_fetch.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/gmail_oauth.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/provider.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/vendor_categories.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/gmail/vendor_categories.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/account.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/cli.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/connection.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/health.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/keywords.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/manifest.yaml +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/mime.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/plugin.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/provider.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/plugins/imap/state.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/evarness_personal/py.typed +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/iris_harness/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/iris_personal/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/graph.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/interchange/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/interchange/__main__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/interchange/jsonld.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/interchange/mapping.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/learn.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/model/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/__main__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/compiler.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/learned.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/loader.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/ontology/spec.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/resolve.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/store/__init__.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/store/memory.py +0 -0
- {evarness-0.2.1 → evarness-0.2.2}/src/memris/store/sqlite.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: evarness
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: The governed agent harness for small local models. It proves what it did.
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
License-File: LICENSE
|
|
@@ -122,14 +122,16 @@ evarness email demo # a synthetic mailbox, a scripted model, no
|
|
|
122
122
|
The demo needs no account, no credentials and no model server. It fetches a 200-message
|
|
123
123
|
synthetic mailbox, sorts it, previews and writes labels, prints a first digest, and ends with
|
|
124
124
|
what it did, audit rows included. The demo keeps its own home, `~/.evarness-demo`, and never
|
|
125
|
-
touches yours. Export that home's proof bundle and verify it
|
|
125
|
+
touches yours. Export that home's proof bundle, ledger and session logs both, and verify it
|
|
126
|
+
offline:
|
|
126
127
|
|
|
127
128
|
```bash
|
|
128
|
-
evarness governance proof-bundle export --db ~/.evarness-demo/governance/audit.db
|
|
129
|
+
evarness governance proof-bundle export --db ~/.evarness-demo/governance/audit.db \
|
|
130
|
+
--session-logs ~/.evarness-demo/logs --out bundle.json
|
|
129
131
|
evarness governance proof-bundle verify bundle.json # exit 0 verified, 1 a violation
|
|
130
132
|
```
|
|
131
133
|
|
|
132
|
-
<img alt="A terminal recording: evarness email demo runs to its summary, then the proof bundle is exported and verified." src="https://github.com/evarness-ai/evarness/
|
|
134
|
+
<img alt="A terminal recording: evarness email demo runs to its summary, then the proof bundle is exported and verified." src="https://github.com/evarness-ai/evarness/raw/main/docs/assets/recording/launch.gif" width="800">
|
|
133
135
|
|
|
134
136
|
For your own mail you need [Ollama](https://ollama.com/download) and 8 GB of RAM for the
|
|
135
137
|
`lite` model set, 16 GB for `standard`. Connect an account, let `evarness doctor --fix` pull
|
|
@@ -140,29 +142,14 @@ the known snags.
|
|
|
140
142
|
|
|
141
143
|
## How it works
|
|
142
144
|
|
|
143
|
-
|
|
144
|
-
flowchart TD
|
|
145
|
-
U["CLI, web console, Telegram, MCP clients"] --> S
|
|
146
|
-
subgraph T["Turn pipeline"]
|
|
147
|
-
direction TB
|
|
148
|
-
S["Input screen"] --> D{"A deterministic handler claims the turn?"}
|
|
149
|
-
D -- yes --> X["Exact answer, no model call"]
|
|
150
|
-
D -- no --> A["Agent loop: route, plan, act with tools, curate"]
|
|
151
|
-
end
|
|
152
|
-
subgraph G["Governance kernel: every model call, tool call and answer"]
|
|
153
|
-
direction LR
|
|
154
|
-
C["Classify data"] --> E["Egress gate"] --> P["Tool policy, approvals"] --> L["Audit ledger"]
|
|
155
|
-
end
|
|
156
|
-
X --> G
|
|
157
|
-
A --> G
|
|
158
|
-
G --> M["Model tiers: router, local tiers on Ollama or LM Studio, opt-in cloud"]
|
|
159
|
-
G --> PL["Plugins: tools, handlers, channels, mail providers"]
|
|
160
|
-
```
|
|
145
|
+
<img alt="How a turn is governed: the input screen, then either a deterministic handler answers with no model call or the agent loop runs; both paths pass the governance kernel (classify, egress gate, tool policy and approvals, audit ledger) before model tiers or plugins are reached." src="https://github.com/evarness-ai/evarness/raw/main/docs/assets/how-a-turn-is-governed.png" width="800">
|
|
161
146
|
|
|
162
147
|
The kernel is a passage, not a filter: it runs at
|
|
163
148
|
[nine fixed hook points](https://evarness-ai.github.io/evarness/concepts/governance/#hook-points)
|
|
164
149
|
in every turn, and plugins cannot add, remove or reorder them. The stage-by-stage view is in
|
|
165
|
-
[Architecture](https://evarness-ai.github.io/evarness/concepts/architecture/)
|
|
150
|
+
[Architecture](https://evarness-ai.github.io/evarness/concepts/architecture/); the editable
|
|
151
|
+
source of the drawing is
|
|
152
|
+
[`docs/architecture/how-a-turn-is-governed.excalidraw`](docs/architecture/how-a-turn-is-governed.excalidraw).
|
|
166
153
|
|
|
167
154
|
## Three things a bigger model would not give you
|
|
168
155
|
|
|
@@ -52,14 +52,16 @@ evarness email demo # a synthetic mailbox, a scripted model, no
|
|
|
52
52
|
The demo needs no account, no credentials and no model server. It fetches a 200-message
|
|
53
53
|
synthetic mailbox, sorts it, previews and writes labels, prints a first digest, and ends with
|
|
54
54
|
what it did, audit rows included. The demo keeps its own home, `~/.evarness-demo`, and never
|
|
55
|
-
touches yours. Export that home's proof bundle and verify it
|
|
55
|
+
touches yours. Export that home's proof bundle, ledger and session logs both, and verify it
|
|
56
|
+
offline:
|
|
56
57
|
|
|
57
58
|
```bash
|
|
58
|
-
evarness governance proof-bundle export --db ~/.evarness-demo/governance/audit.db
|
|
59
|
+
evarness governance proof-bundle export --db ~/.evarness-demo/governance/audit.db \
|
|
60
|
+
--session-logs ~/.evarness-demo/logs --out bundle.json
|
|
59
61
|
evarness governance proof-bundle verify bundle.json # exit 0 verified, 1 a violation
|
|
60
62
|
```
|
|
61
63
|
|
|
62
|
-
<img alt="A terminal recording: evarness email demo runs to its summary, then the proof bundle is exported and verified." src="https://github.com/evarness-ai/evarness/
|
|
64
|
+
<img alt="A terminal recording: evarness email demo runs to its summary, then the proof bundle is exported and verified." src="https://github.com/evarness-ai/evarness/raw/main/docs/assets/recording/launch.gif" width="800">
|
|
63
65
|
|
|
64
66
|
For your own mail you need [Ollama](https://ollama.com/download) and 8 GB of RAM for the
|
|
65
67
|
`lite` model set, 16 GB for `standard`. Connect an account, let `evarness doctor --fix` pull
|
|
@@ -70,29 +72,14 @@ the known snags.
|
|
|
70
72
|
|
|
71
73
|
## How it works
|
|
72
74
|
|
|
73
|
-
|
|
74
|
-
flowchart TD
|
|
75
|
-
U["CLI, web console, Telegram, MCP clients"] --> S
|
|
76
|
-
subgraph T["Turn pipeline"]
|
|
77
|
-
direction TB
|
|
78
|
-
S["Input screen"] --> D{"A deterministic handler claims the turn?"}
|
|
79
|
-
D -- yes --> X["Exact answer, no model call"]
|
|
80
|
-
D -- no --> A["Agent loop: route, plan, act with tools, curate"]
|
|
81
|
-
end
|
|
82
|
-
subgraph G["Governance kernel: every model call, tool call and answer"]
|
|
83
|
-
direction LR
|
|
84
|
-
C["Classify data"] --> E["Egress gate"] --> P["Tool policy, approvals"] --> L["Audit ledger"]
|
|
85
|
-
end
|
|
86
|
-
X --> G
|
|
87
|
-
A --> G
|
|
88
|
-
G --> M["Model tiers: router, local tiers on Ollama or LM Studio, opt-in cloud"]
|
|
89
|
-
G --> PL["Plugins: tools, handlers, channels, mail providers"]
|
|
90
|
-
```
|
|
75
|
+
<img alt="How a turn is governed: the input screen, then either a deterministic handler answers with no model call or the agent loop runs; both paths pass the governance kernel (classify, egress gate, tool policy and approvals, audit ledger) before model tiers or plugins are reached." src="https://github.com/evarness-ai/evarness/raw/main/docs/assets/how-a-turn-is-governed.png" width="800">
|
|
91
76
|
|
|
92
77
|
The kernel is a passage, not a filter: it runs at
|
|
93
78
|
[nine fixed hook points](https://evarness-ai.github.io/evarness/concepts/governance/#hook-points)
|
|
94
79
|
in every turn, and plugins cannot add, remove or reorder them. The stage-by-stage view is in
|
|
95
|
-
[Architecture](https://evarness-ai.github.io/evarness/concepts/architecture/)
|
|
80
|
+
[Architecture](https://evarness-ai.github.io/evarness/concepts/architecture/); the editable
|
|
81
|
+
source of the drawing is
|
|
82
|
+
[`docs/architecture/how-a-turn-is-governed.excalidraw`](docs/architecture/how-a-turn-is-governed.excalidraw).
|
|
96
83
|
|
|
97
84
|
## Three things a bigger model would not give you
|
|
98
85
|
|
|
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
|
|
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
|
{evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/_common/pyproject.toml.tmpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/channel/tests/test_plugin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/research-provider/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/tests/model_script.yaml
RENAMED
|
File without changes
|
{evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/skill/tests/test_plugin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/tests/model_script.yaml
RENAMED
|
File without changes
|
{evarness-0.2.1 → evarness-0.2.2}/src/evarness/cli/templates/plugin/tool/tests/test_plugin.py
RENAMED
|
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
|