dhee 7.4.2__tar.gz → 7.4.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dhee-7.4.2/dhee.egg-info → dhee-7.4.3}/PKG-INFO +1 -1
- {dhee-7.4.2 → dhee-7.4.3}/dhee/__init__.py +1 -1
- {dhee-7.4.2 → dhee-7.4.3}/dhee/decisions/facts.py +49 -1
- {dhee-7.4.2 → dhee-7.4.3/dhee.egg-info}/PKG-INFO +1 -1
- {dhee-7.4.2 → dhee-7.4.3}/pyproject.toml +1 -1
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_decisions.py +47 -0
- {dhee-7.4.2 → dhee-7.4.3}/LICENSE +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/MANIFEST.in +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/README.md +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/adapters/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/adapters/gstack.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/adapters/gstack_parser.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/adapters/morpho_adapter.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/agent_runtime/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/agent_runtime/auth.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/agent_runtime/client.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/agent_runtime/events.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/agent_runtime/models.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/agent_runtime/policy.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/agent_runtime/run.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/agent_runtime/server.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/agent_runtime/tools.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/benchmarks/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/benchmarks/arc_agi.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/benchmarks/decades.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/benchmarks/hippocamp.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/benchmarks/longmemeval.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/benchmarks/phase0_context_audit.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/benchmarks/portability.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/benchmarks/raw_extractors.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/benchmarks/replay_corpus.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/benchmarks/router_replay.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/checkpoint_runtime.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/cli.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/cli_config.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/cli_mcp.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/cli_onboard.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/cli_pretty.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/cli_setup.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/cli_update.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/configs/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/configs/active.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/configs/base.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/configs/presets.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/context_ir.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/context_kernel.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/context_state.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/contract_runtime.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/contract_supervisor.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/alaya.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/answer_orchestration.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/artifacts.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/belief.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/buddhi.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/category.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/codex_artifacts.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/codex_stream.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/cognition.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/cognition_kernel.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/conflict.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/context_bootstrap.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/contrastive.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/decay.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/distillation.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/echo.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/engram.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/engram_consolidator.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/engram_extractor.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/engram_tiering.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/engram_verification.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/enrichment.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/episode.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/episodic_index.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/evolution.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/file_baseline.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/file_read_tracker.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/forgetting.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/fusion.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/graph.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/handoff_snapshot.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/heuristic.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/intent.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/intention.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/kernel.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/learnings.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/live_context.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/log_parser.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/meta_buddhi.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/pattern_detector.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/policy.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/profile.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/provenance.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/resolvers.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/retrieval.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/samskara.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/scene.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/session_tracker.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/shared_tasks.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/strategy.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/task_state.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/thread_state.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/traces.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/trigger.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/viveka.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/workspace_line.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/core/workspace_line_bus.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/corpus/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/corpus/extract.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/corpus/index.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/corpus/search.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/corpus/store.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/corpus/tree.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/db/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/db/sqlite.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/db/sqlite_analytics.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/db/sqlite_artifacts.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/db/sqlite_common.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/db/sqlite_domains.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/debugger_api.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/decisions/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/decisions/jev.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/decisions/regate.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/decisions/select.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/demo.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/doctor.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/embeddings/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/embeddings/base.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/embeddings/gemini.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/embeddings/nvidia.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/embeddings/ollama.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/embeddings/openai.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/embeddings/openrouter.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/embeddings/qwen.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/embeddings/simple.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/exceptions.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/fs/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/fs/mounts.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/fs/types.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/fs/uri.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/fs/workspace.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/graph_projection_hardening.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/graph_proof_bundle.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/harness/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/harness/base.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/harness/claude_code.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/harness/codex.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/harness/install.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/claude_code/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/claude_code/__main__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/claude_code/assembler.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/claude_code/chunker.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/claude_code/ingest.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/claude_code/install.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/claude_code/migrate.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/claude_code/privacy.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/claude_code/renderer.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/claude_code/signal.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/hooks/scene_world.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/incremental_context.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/install_cleanup.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/integrations/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/integrations/context_sources.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/integrations/hermes.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/integrations/hermes_provider/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/integrations/hermes_provider/provider.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/llms/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/llms/anthropic.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/llms/base.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/llms/dhee.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/llms/gemini.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/llms/mock.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/llms/nvidia.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/llms/ollama.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/llms/openai.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/llms/teacher_logger.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/mcp_registry.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/mcp_server.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/mcp_slim.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/admission.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/base.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/core.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/cost.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/episodic.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/main.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/narrative_scene.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/orchestration.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/parallel.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/projects.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/quality.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/reranker.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/retrieval_helpers.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/scene_profile.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/scoping.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/search_pipeline.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/smart.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/tasks.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/utils.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/vectors.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/memory/write_pipeline.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/mini/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/mini/karma_evaluator.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/mini/progressive_trainer.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/mini/replay_gate.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/observability.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/patch_families.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/plugin.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/profiles/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/profiles/elevenlabs.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/profiles/gemini.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/profiles/openai.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/protocol/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/protocol/v1.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/provider_defaults.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/providers/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/providers/base.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/providers/elevenlabs.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/providers/gemini.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/providers/openai.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/release_hygiene.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/replay_branching.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/repo_intelligence.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/repo_link.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/agent_digest.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/bash_digest.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/bootstrap.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/critical_surface.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/digest.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/edit_ledger.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/grep_digest.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/handlers.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/install.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/intent.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/policy.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/pre_tool_gate.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/ptr_store.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/quality_report.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/stats.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/router/tune.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/runtime.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/runtime_daemon.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/runtime_io.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/schemas/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/schemas/narrative.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/schemas/scene_card.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/secret_store.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/simple.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/skills/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/skills/discovery.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/skills/executor.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/skills/hashing.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/skills/miner.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/skills/outcomes.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/skills/schema.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/skills/store.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/skills/structure.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/skills/trajectory.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/task_contracts.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/temporal_fact_integration.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/temporal_fact_ledger.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/temporal_scenes.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/training/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/training/data_formatter.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/training/karma.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/training/nididhyasana.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/training/smrti.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/training/train.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/cli.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/server.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/dist/assets/CanvasView-DTRgXBzE.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/dist/assets/index-CDViJ0N1.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/dist/assets/index-CIsLOp4u.css +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/dist/dhee-logo.png +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/dist/index.html +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/index.html +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/package-lock.json +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/package.json +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/public/dhee-logo.png +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/App.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/App.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/api.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/api.ts +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/AssetDrawer.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/AssetDrawer.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ChatMessage.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ChatMessage.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/FirstRunPanel.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/FirstRunPanel.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/LinePanel.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/LinePanel.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/MorphoGraph.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/MorphoGraph.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/NavRail.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/NavRail.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/OrgDrawer.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/OrgDrawer.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/TopBar.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/TopBar.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/TweaksPanel.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/TweaksPanel.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/WorkspaceManagerModal.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/WorkspaceManagerModal.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/CanvasControls.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/CanvasControls.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/CanvasSkeleton.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/CanvasSkeleton.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/DirectionHints.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/DirectionHints.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/Minimap.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/Minimap.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/NodeCard.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/NodeCard.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/forceLayout.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/forceLayout.ts +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/layout.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/layout.ts +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/treeLayout.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/treeLayout.ts +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/useInfiniteCanvas.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/canvas/useInfiniteCanvas.ts +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/cards/Cards.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/cards/Cards.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/graph/CanvasNodeCard.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/graph/CanvasNodeCard.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ui/DecayBar.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ui/DecayBar.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ui/Markdown.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ui/Markdown.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ui/SectionHeader.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ui/SectionHeader.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ui/StatPill.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ui/StatPill.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ui/TierBadge.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/components/ui/TierBadge.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/main.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/main.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/styles.css +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/types.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/types.ts +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/CanvasView.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/CanvasView.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/ChannelView.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/ChannelView.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/ConflictView.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/ConflictView.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/ContextView.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/ContextView.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/EvolutionView.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/EvolutionView.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/LaunchView.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/LaunchView.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/MemoryView.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/MemoryView.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/NotepadView.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/NotepadView.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/OrgCanvas.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/OrgCanvas.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/ProductViews.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/ProductViews.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/RouterView.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/RouterView.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/TasksView.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/TasksView.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/WorkspaceView.js +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/src/views/WorkspaceView.tsx +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/tsconfig.json +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/ui/web/vite.config.ts +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/update_capsules.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/utils/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/utils/factory.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/utils/math.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/utils/prompts.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/utils/repo_identity.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/vector_stores/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/vector_stores/base.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/vector_stores/memory.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/vector_stores/sqlite_vec.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/vector_stores/zvec_store.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/verification_runner.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/verifier_engine.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/webhooks/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/webhooks/elevenlabs.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/world_memory/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/world_memory/capture_store.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/world_memory/causal_graph.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/world_memory/encoder.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/world_memory/gem_extractor.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/world_memory/predictor.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/world_memory/schema.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/world_memory/service.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/world_memory/session_graph.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee/world_memory/store.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee.egg-info/SOURCES.txt +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee.egg-info/dependency_links.txt +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee.egg-info/entry_points.txt +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee.egg-info/requires.txt +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee.egg-info/top_level.txt +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee_shared/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/dhee_shared/model_paths.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/engram/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/engram-bus/engram_bus/__init__.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/engram-bus/engram_bus/bus.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/engram-bus/engram_bus/pubsub.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/engram-bus/engram_bus/server.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/engram-bus/engram_bus/store.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/engram-bus/engram_bus/workspace.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/setup.cfg +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_accel.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_accel_benchmark.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_agent_digest.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_agent_provider_examples.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_agent_runtime_before.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_agent_runtime_http_auth.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_agent_runtime_lifecycle.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_agent_runtime_tool.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_agent_runtime_voice_policy.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_artifacts.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_auto_lifecycle.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_backward_compat.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_batch.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_belief_debugger.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_causal_scene_memory.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_claude_code_hooks.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_cli_config.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_cli_harness_commands.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_cli_onboard_update.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_cli_pretty.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_codex_stream.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_cognition_evals.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_cognition_kernel.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_cognition_v3.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_context_state.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_contract_runtime_recovery.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_core_memory.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_corpus_index.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_corpus_tree.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_cosine_similarity.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_data_dir_paths.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_decades_eval.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_dedup.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_deferred_enrichment.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_demo.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_dhee_init.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_dhee_model_paths.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_dheefs.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_distillation.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_e2e_all_features.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_elevenlabs_cli.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_elevenlabs_correction_memory.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_elevenlabs_no_secret_storage.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_elevenlabs_profile.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_elevenlabs_two_call_memory.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_elevenlabs_webhook.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_engram_tiering.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_engram_tiering_promotion.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_evolution_meta_loop.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_evolution_session_gate.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_forgetting.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_gemini_provider.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_graph_proof_bundle.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_gstack_adapter.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_handoff_snapshot.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_harness_adapters.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_harness_install.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_hashing.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_hermes_provider.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_hippocamp_benchmark.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_incremental_context.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_install_cleanup.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_intent.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_karma_evaluator.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_learnings.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_locomo_plus_runner.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_log_parser.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_longmemeval_config.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_mcp_artifact_tools.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_mcp_tools_slim.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_memory_admission.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_memory_os_service.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_memory_quality_contract.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_memory_types.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_meta_buddhi_group_relative.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_migration.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_miner.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_narrative_scene_intelligence.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_nvidia_embedder.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_nvidia_llm.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_openai_provider.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_openclaw.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_orchestration_core.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_oss_61_regressions.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_packaging.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_parallel.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_patch_families.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_plugin_learnings.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_portability_eval.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_power_packages.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_presets.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_profile.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_progressive_trainer.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_projects.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_protocol_v1.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_provider_runtime_profiles.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_query_cache.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_release_hygiene.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_replay_branching.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_replay_corpus_export.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_replay_gate.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_repo_intelligence.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_repo_link.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_reranker_defaults.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_router.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_router_replay.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_router_stats_agents.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_runtime.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_runtime_hardening.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_scene.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_scene_maintenance.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_scene_world_hook.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_secret_store.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_session_tracker.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_shared_tasks.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_simple_zero_config.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_skills.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_smart_memory.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_sqlite_connection_pool.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_sqlite_vec.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_structural.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_structured_resolution.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_task_contracts.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_tasks.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_temporal_fact_integration.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_temporal_fact_ledger.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_temporal_scenes.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_thread_state.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_traces.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_trajectory.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_ui.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_unified_enrichment.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_update_capsules.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_vector_store_factory.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_verification_runner.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_verifier_engine.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_workspace_line_agent_emit.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_workspace_line_bus.py +0 -0
- {dhee-7.4.2 → dhee-7.4.3}/tests/test_zvec_store.py +0 -0
|
@@ -193,7 +193,7 @@ class FactGate:
|
|
|
193
193
|
if self.vocabulary:
|
|
194
194
|
criteria = {
|
|
195
195
|
name: (
|
|
196
|
-
{k: v for k, v in meaning.items() if k not in ("many", "retires")}
|
|
196
|
+
{k: v for k, v in meaning.items() if k not in ("many", "retires", "per")}
|
|
197
197
|
if isinstance(meaning, dict)
|
|
198
198
|
else meaning
|
|
199
199
|
)
|
|
@@ -263,6 +263,12 @@ class FactGate:
|
|
|
263
263
|
continue
|
|
264
264
|
top = ranked(answers, f"label_{index}")
|
|
265
265
|
if top and top[0][0] == label and top[0][1] >= RELABEL_SUBJECT_FLOOR:
|
|
266
|
+
meaning = self.vocabulary.get(label)
|
|
267
|
+
if isinstance(meaning, dict) and meaning.get("per"):
|
|
268
|
+
# "JEE Main | scheduled_in | April" is the date of the exam
|
|
269
|
+
# its subject names; keep the name, or the value is a bare
|
|
270
|
+
# month that no longer says which exam.
|
|
271
|
+
facts[index].value = f"{facts[index].subject}: {facts[index].value}"
|
|
266
272
|
retry[index] = f"{self.canonical_subject} | {label} | {facts[index].value}"
|
|
267
273
|
if not retry:
|
|
268
274
|
return judged
|
|
@@ -291,6 +297,7 @@ class FactGate:
|
|
|
291
297
|
questions: Dict[str, Any] = {}
|
|
292
298
|
state_items: Dict[str, Any] = {}
|
|
293
299
|
offered: Dict[int, List[Tuple[str, str]]] = {}
|
|
300
|
+
keyed: Dict[int, List[Tuple[str, str]]] = {}
|
|
294
301
|
for index, fact in enumerate(facts):
|
|
295
302
|
try:
|
|
296
303
|
stored = existing(fact.subject, fact.predicate)[:MAX_EXISTING]
|
|
@@ -309,6 +316,34 @@ class FactGate:
|
|
|
309
316
|
# update, and storage supersedes the old one. Asking "same
|
|
310
317
|
# topic?" here merged "class 12" into "class 11" — measured.
|
|
311
318
|
continue
|
|
319
|
+
per = meaning.get("per") if isinstance(meaning, dict) else None
|
|
320
|
+
if per:
|
|
321
|
+
# One value per thing — per exam, say. The question is not
|
|
322
|
+
# "same topic?" but "same exam?", and a match is an update of
|
|
323
|
+
# that exam's value, not a restatement. Measured without this:
|
|
324
|
+
# the JEE date (April) replaced the boards date (March).
|
|
325
|
+
keyed[index] = stored
|
|
326
|
+
criteria = {f"stored_{k}": value for k, (value, _key) in enumerate(stored)}
|
|
327
|
+
criteria[NEW_FACT] = f"A different {per} from every stored value."
|
|
328
|
+
questions[f"same_{index}"] = {
|
|
329
|
+
"type": "choice",
|
|
330
|
+
"instructions": {
|
|
331
|
+
"relation": f"{fact.subject} {fact.predicate}",
|
|
332
|
+
"new_value": fact.value,
|
|
333
|
+
"question": (
|
|
334
|
+
f"Is the new value for the same {per} as one of the stored values, "
|
|
335
|
+
f"whatever else differs? Pick that stored value, or new_fact for a "
|
|
336
|
+
f"different {per}."
|
|
337
|
+
),
|
|
338
|
+
},
|
|
339
|
+
"criteria": criteria,
|
|
340
|
+
}
|
|
341
|
+
state_items[str(index)] = {
|
|
342
|
+
"relation": f"{fact.subject} {fact.predicate}",
|
|
343
|
+
"new_value": fact.value,
|
|
344
|
+
"stored_values": criteria,
|
|
345
|
+
}
|
|
346
|
+
continue
|
|
312
347
|
offered[index] = stored
|
|
313
348
|
criteria = {f"stored_{k}": value for k, (value, _key) in enumerate(stored)}
|
|
314
349
|
criteria[NEW_FACT] = "A different topic from every stored value."
|
|
@@ -344,6 +379,19 @@ class FactGate:
|
|
|
344
379
|
if answers is None:
|
|
345
380
|
return 0
|
|
346
381
|
merged = 0
|
|
382
|
+
for index, stored in keyed.items():
|
|
383
|
+
top = ranked(answers, f"same_{index}")
|
|
384
|
+
if not top or top[0][0] == NEW_FACT or top[0][1] < self.same_floor:
|
|
385
|
+
continue
|
|
386
|
+
try:
|
|
387
|
+
pick = int(top[0][0].split("_", 1)[1])
|
|
388
|
+
except (IndexError, ValueError):
|
|
389
|
+
continue
|
|
390
|
+
if 0 <= pick < len(stored):
|
|
391
|
+
value, key = stored[pick]
|
|
392
|
+
fact = facts[index]
|
|
393
|
+
# The same thing with a new value replaces the old value.
|
|
394
|
+
_add_retirement(fact, key or f"{fact.subject}|{fact.predicate}|{value}")
|
|
347
395
|
for index, stored in offered.items():
|
|
348
396
|
top = ranked(answers, f"same_{index}")
|
|
349
397
|
if not top or top[0][0] == NEW_FACT or top[0][1] < self.same_floor:
|
|
@@ -532,3 +532,50 @@ def test_a_fact_filed_under_a_thing_is_asked_again_as_the_persons():
|
|
|
532
532
|
gate = FactGate(Scripted(answer), vocabulary=vocabulary, subjects=["the student"])
|
|
533
533
|
kept, report = gate.apply("my JEE got moved to April", [fact("JEE Main", "scheduled_in", "April")])
|
|
534
534
|
assert [(f.subject, f.predicate, f.value) for f in kept] == [("user", "exam_on", "April")]
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
def test_one_date_per_exam_not_one_date_per_student():
|
|
538
|
+
"""Measured over a simulated hundred days: `exam_on` held one value, so the
|
|
539
|
+
JEE date (April) replaced the boards date (March)."""
|
|
540
|
+
tmp = tempfile.mkdtemp()
|
|
541
|
+
db = FullSQLiteManager(os.path.join(tmp, "t.db"))
|
|
542
|
+
with db._get_connection() as conn:
|
|
543
|
+
for mid in ("m1", "m2", "m3"):
|
|
544
|
+
conn.execute("INSERT INTO memories (id, memory, user_id) VALUES (?, ?, ?)", (mid, mid, "u"))
|
|
545
|
+
resolver = ContextResolver(db)
|
|
546
|
+
vocabulary = {"exam_on": {"what": "the date of an exam, as '<exam>: <date>'", "many": True, "per": "exam"}}
|
|
547
|
+
|
|
548
|
+
def answer(qid, q):
|
|
549
|
+
if qid.startswith(("about", "support")):
|
|
550
|
+
return {"noul": 0.95}
|
|
551
|
+
if qid.startswith("label"):
|
|
552
|
+
return choice("exam_on", 0.95, [NONE_OF_THESE])
|
|
553
|
+
if qid.startswith("same"):
|
|
554
|
+
new = q["instructions"]["new_value"].split(":")[0]
|
|
555
|
+
for option, value in q["criteria"].items():
|
|
556
|
+
if option.startswith("stored") and value.split(":")[0] == new:
|
|
557
|
+
return choice(option, 0.95, [NEW_FACT])
|
|
558
|
+
return choice(NEW_FACT, 0.95)
|
|
559
|
+
return {"noul": 0.05}
|
|
560
|
+
|
|
561
|
+
gate = FactGate(Scripted(answer), vocabulary=vocabulary, subjects=["the student"])
|
|
562
|
+
|
|
563
|
+
def existing(subject, predicate):
|
|
564
|
+
with db._get_connection() as conn:
|
|
565
|
+
rows = conn.execute(
|
|
566
|
+
"SELECT value, canonical_key FROM engram_facts WHERE subject=? AND predicate=? "
|
|
567
|
+
"AND superseded_by_id IS NULL",
|
|
568
|
+
(subject, predicate),
|
|
569
|
+
).fetchall()
|
|
570
|
+
return [(r[0], r[1]) for r in rows]
|
|
571
|
+
|
|
572
|
+
for memory_id, value in (("m1", "JEE Main: January"), ("m2", "CBSE boards: March"), ("m3", "JEE Main: April")):
|
|
573
|
+
f = fact("user", "exam", value)
|
|
574
|
+
f.valid_from = "2026-06-0" + memory_id[-1]
|
|
575
|
+
kept, _ = gate.apply("…", [f], existing)
|
|
576
|
+
resolver.store_engram(_engram(kept), memory_id)
|
|
577
|
+
|
|
578
|
+
with db._get_connection() as conn:
|
|
579
|
+
active = [r[0] for r in conn.execute(
|
|
580
|
+
"SELECT value FROM engram_facts WHERE superseded_by_id IS NULL ORDER BY value").fetchall()]
|
|
581
|
+
assert active == ["CBSE boards: March", "JEE Main: April"]
|
|
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
|
|
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
|