shellbrain 0.1.44__tar.gz → 0.1.45__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.
- {shellbrain-0.1.44 → shellbrain-0.1.45}/PKG-INFO +1 -1
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/human/admin.py +27 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/human/admin_dependencies.py +2 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/parser/builder.py +25 -0
- shellbrain-0.1.45/app/infrastructure/local_state/recall_mode_store.py +60 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/admin_dependencies.py +2 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/cli.py +3 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/internal_agents.py +19 -2
- {shellbrain-0.1.44 → shellbrain-0.1.45}/pyproject.toml +1 -1
- {shellbrain-0.1.44 → shellbrain-0.1.45}/shellbrain.egg-info/PKG-INFO +1 -1
- {shellbrain-0.1.44 → shellbrain-0.1.45}/shellbrain.egg-info/SOURCES.txt +1 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/README.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/__main__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/admin_errors.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/associations.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/backups.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/concepts.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/episodes.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/evidence.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/guidance.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/identity.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/ids.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/inner_agents.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/knowledge_builder.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/machine_config.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/memories.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/repositories.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/runtime_context.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/scenarios.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/session_state.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/settings.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/snapshots.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/structural_memory_relations.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/utility.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/entities/wiki_summaries.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/errors.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/concepts/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/concepts/relation_rules.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/concepts/search_text.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/episodes/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/episodes/event_content.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/episodes/knowledge_building.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/memories/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/memories/add_plan.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/memories/link_rules.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/memories/update_plan.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/retrieval/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/retrieval/bm25.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/retrieval/context_pack.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/retrieval/expansion.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/retrieval/fusion_rrf.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/retrieval/lexical_query.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/retrieval/ontology_semantics.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/retrieval/scoring.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/policies/wiki_summary_freshness.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/concept_repositories.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/episode_repositories.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/guidance.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/knowledge_builder.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/memory_repositories.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/problem_runs.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/repository_index.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/retrieval_repositories.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/snapshots.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/unit_of_work.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/db/wiki_summaries.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/embeddings/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/embeddings/provider.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/embeddings/retrieval.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/host_apps/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/host_apps/inner_agents.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/local_state/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/local_state/session_state_store.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/local_state/shadow_git.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/reporting/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/reporting/metrics.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/system/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/system/clock.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/ports/system/idgen.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/analytics_diagnostics.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/backfill_model_usage/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/backfill_model_usage/backfill_model_usage.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/backfill_model_usage/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/backfill_model_usage/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/create_backup.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/diagnose_runtime.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/generate_analytics_report.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/initialize_runtime.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/restore_backup.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/verify_backup.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/build_guidance.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/add/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/add/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/add/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/add/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/containment_checks.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/embeddings.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/reference_checks.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/show/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/show/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/show/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/show/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/update/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/update/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/update/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/update/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/concepts/views.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/episodes/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/episodes/events/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/episodes/events/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/episodes/sync_discovered_host_session.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/episodes/sync_episode/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/episodes/sync_episode/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/episodes/sync_episode/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/episodes/sync_episode/sync_episode.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/knowledge_builder/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/knowledge_builder/build_knowledge/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/knowledge_builder/build_knowledge/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/knowledge_builder/build_knowledge/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/knowledge_builder/build_knowledge/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/knowledge_builder/teach_knowledge/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/knowledge_builder/teach_knowledge/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/knowledge_builder/teach_knowledge/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/knowledge_builder/teach_knowledge/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/memories/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/memories/add/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/memories/add/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/memories/add/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/memories/add/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/memories/effect_plan.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/memories/reference_checks.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/memories/update/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/memories/update/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/memories/update/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/memories/update/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/metrics/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/metrics/analyze_agent_behavior.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/metrics/build_snapshot.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/metrics/generate_dashboard.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/plan_execution.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/build_context/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/build_context/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/concept_seed_retrieval.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/context_pack_pipeline.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/deterministic_graph_recall.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/expansion.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/read/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/read/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/read/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/read/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/read_concepts.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/recall/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/recall/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/recall/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/recall/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/retrieval/seed_retrieval.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/scenarios/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/scenarios/record/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/scenarios/record/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/scenarios/record/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/scenarios/record/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/snapshots/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/snapshots/capture_snapshot/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/snapshots/capture_snapshot/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/snapshots/capture_snapshot/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/snapshots/capture_snapshot/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/snapshots/code_delta_context/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/snapshots/code_delta_context/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/snapshots/code_delta_context/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/wiki/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/wiki/execute.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/wiki/request.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/wiki/result.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/wiki/summaries.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/error_responses.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/cli_operation.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/dependencies.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/human/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/human/init.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/human/metrics.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/human/upgrade.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/human/wiki.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/concepts/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/concepts/add.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/concepts/show.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/concepts/update.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/episodes/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/episodes/events.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/episodes/selection.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/episodes/serialization.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/memories/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/memories/add.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/memories/update.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/memories/utility_vote_evidence.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/retrieval/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/retrieval/execution.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/retrieval/read.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/scenarios/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/internal_agent/scenarios/record.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/result_envelopes.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/session_state.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/working_agent/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/working_agent/recall.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/working_agent/snapshot.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/handlers/working_agent/teach.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/main.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/operation_command.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/parser/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/presenters/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/presenters/init.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/presenters/json.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/presenters/metrics.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/request_parsing/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/request_parsing/concepts.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/request_parsing/episodes.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/request_parsing/hydration.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/request_parsing/memories.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/request_parsing/payload_validation.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/request_parsing/prepared.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/request_parsing/retrieval.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/request_parsing/scenarios.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/request_parsing/teach.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/runner.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/cli/runtime.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/host_hooks/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/host_hooks/claude_session_start.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/host_hooks/cursor_statusline.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/jobs/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/entrypoints/jobs/episode_sync.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/app_role_safety.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/backups/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/backups/destructive_guard.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/backups/logical_backup.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/backups/manifest_store.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/backups/restore.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/connection.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/instance_guard.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/migrations.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/privileges.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/provisioning/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/provisioning/docker_prerequisites.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/provisioning/external_postgres.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/provisioning/init_effects.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/provisioning/managed_local.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/admin/storage_setup.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/engine.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/associations.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/concepts.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/episodes.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/evidence.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/experiences.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/instance_metadata.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/knowledge_builder.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/memories.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/metadata.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/problem_runs.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/registry.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/snapshots.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/telemetry.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/utility.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/views.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/models/wiki_summaries.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/queries/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/queries/agent_behavior.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/queries/analytics.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/queries/metrics.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/queries/metrics_adapter.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/queries/model_usage_backfill.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/associations_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/concepts_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/episodes_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/evidence_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/experiences_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/knowledge_builder_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/memories_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/problem_runs_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/read_policy_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/repository_index_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/snapshots_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/telemetry_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/utility_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/relational/wiki_summaries_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/semantic/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/semantic/concept_retrieval_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/semantic/keyword_retrieval_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/repos/semantic/semantic_retrieval_repo.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/session.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/db/runtime/uow.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/embeddings/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/embeddings/local_provider.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/embeddings/prewarm.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/embeddings/query_vector_search.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/claude.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/codex.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/cursor.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/cursor_statusline_config.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/inspection.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/managed_markdown.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/managed_tree.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/packaged_assets.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/paths.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/service.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/assets/types.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/identity/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/identity/claude_hook_install.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/identity/claude_runtime.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/identity/codex_runtime.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/identity/compatibility.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/identity/cursor_statusline.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/identity/resolver.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/inner_agents/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/inner_agents/claude_cli.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/inner_agents/codex_cli.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/inner_agents/output_parser.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/inner_agents/prompt.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/transcripts/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/transcripts/claude_code.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/transcripts/codex.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/transcripts/cursor.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/transcripts/model_usage.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/transcripts/normalization.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/transcripts/session_selection.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/transcripts/source_discovery.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/host_apps/transcripts/tool_filter.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/local_state/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/local_state/init_lock.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/local_state/machine_config_store.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/local_state/operation_registration.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/local_state/paths.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/local_state/repo_registration_store.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/local_state/session_state_file_store.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/local_state/shadow_git_store.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/process/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/process/episode_sync/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/process/episode_sync/autostart.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/process/episode_sync/launcher.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/process/episode_sync/lock_file.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/process/episode_sync/poller.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/process/episode_sync/status_store.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/reporting/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/reporting/metrics/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/reporting/metrics/artifacts.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/reporting/metrics/browser.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/reporting/metrics/pager.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/reporting/metrics/render_html.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/reporting/wiki/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/reporting/wiki/browser.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/reporting/wiki/render_html.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/reporting/wiki/server.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/reporting/wiki/summary_worker.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/system/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/system/clock.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/system/id_generator.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/system/package_upgrade.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/inner_agent_records.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/operation_invocations.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/operation_polling.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/read_records.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/recall_records.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/recorder.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/records.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/sink.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/storage_protocols.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/sync_records.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/infrastructure/telemetry/write_records.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/settings/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/settings/defaults/create_policy.yaml +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/settings/defaults/read_policy.yaml +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/settings/defaults/runtime.yaml +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/settings/defaults/thresholds.yaml +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/settings/defaults/update_policy.yaml +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/settings/internal-agents/defaults.yaml +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/admin.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/admin_db.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/admin_diagnose.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/analytics.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/backup.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/cli_runtime.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/config.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/create_policy.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/db.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/dsn_resolution.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/embeddings.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/episode_poller.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/episode_sync_launcher.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/host_hooks.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/internal_agent_config.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/knowledge_builder.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/metrics.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/migrations.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/model_usage_backfill.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/operation_dependencies.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/read_policy.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/repo_context.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/repos.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/retrieval.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/runtime_admin.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/runtime_context.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/settings.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/snapshot_baseline.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/thresholds.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/update_policy.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/use_cases.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/app/startup/wiki.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/_legacy_usage_views.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/_usage_view_sql.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/env.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260226_0001_initial_schema.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260312_0002_add_hard_invariants.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260312_0003_drop_create_confidence.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260313_0004_episode_sync_hardening.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260313_0005_evidence_episode_event_refs.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260318_0006_usage_telemetry_schema.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260319_0007_identity_session_guidance.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260320_0008_instance_metadata_and_backup_safety.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260410_0009_frontier_memory_family.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260414_0010_model_usage_telemetry.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260414_0011_usage_problem_tokens_multi_solution_metrics.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260415_0012_read_pack_cost_and_read_roi.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260421_0013_concept_context_graph.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260422_0014_concept_read_telemetry.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260422_0015_problem_runs.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260508_0016_recall_telemetry.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260511_0017_inner_agent_invocations.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260513_0018_knowledge_build_runs.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260515_0019_scenario_records.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260516_0020_knowledge_build_observability.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260519_0021_knowledge_build_watermark_stable.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260519_0022_update_evidence_links.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260519_0023_explicit_teach_trigger.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260519_0024_read_retrieval_latency_indexes.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260519_0025_repair_recall_source_input_section_constraint.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260519_0026_repair_knowledge_build_trigger_constraint.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260519_0027_concept_embeddings.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260520_0028_knowledge_build_lifecycle.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260522_0029_remove_frontier_and_memory_anchors.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260522_0030_concept_lifecycle_events.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260522_0031_unified_evidence_storage.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260522_0032_memory_lifecycle_events.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260522_0033_concept_memory_role_cleanup.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260522_0034_structural_memory_relations.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260522_0035_retire_legacy_compatibility_tables.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260526_0036_shadow_snapshots.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/20260606_0037_wiki_summaries.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/migrations/versions/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/__init__.py +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/claude/CLAUDE.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/claude/skills/shellbrain/SKILL.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/claude/skills/shellbrain-usage-review/SKILL.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/AGENTS.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/clean-architecture/SKILL.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/clean-code/SKILL.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/shellbrain/SKILL.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/shellbrain/agents/openai.yaml +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/shellbrain/assets/shellbrain-large.svg +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/shellbrain/assets/shellbrain-small.svg +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/shellbrain/assets/shellbrain_logo.png +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/shellbrain/references/request-shapes.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/shellbrain/references/session-workflow.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/shellbrain-usage-review/SKILL.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/shellbrain-usage-review/agents/openai.yaml +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/shellbrain-usage-review/assets/shellbrain-small.svg +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/codex/shellbrain-usage-review/assets/shellbrain_logo.png +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/cursor/skills/shellbrain/SKILL.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/onboarding_assets/cursor/skills/shellbrain-usage-review/SKILL.md +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/setup.cfg +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/shellbrain.egg-info/dependency_links.txt +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/shellbrain.egg-info/entry_points.txt +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/shellbrain.egg-info/requires.txt +0 -0
- {shellbrain-0.1.44 → shellbrain-0.1.45}/shellbrain.egg-info/top_level.txt +0 -0
|
@@ -106,6 +106,18 @@ def run_admin_command(
|
|
|
106
106
|
print(json.dumps(summary.to_payload(), indent=2, sort_keys=True))
|
|
107
107
|
return 0
|
|
108
108
|
|
|
109
|
+
if args.admin_command == "recall":
|
|
110
|
+
try:
|
|
111
|
+
if args.recall_command in {"fast", "full"}:
|
|
112
|
+
mode, path, exists = dependencies.save_recall_mode(args.recall_command)
|
|
113
|
+
else:
|
|
114
|
+
mode, path, exists = dependencies.load_recall_mode()
|
|
115
|
+
except ValueError as exc:
|
|
116
|
+
print(str(exc), file=sys.stderr)
|
|
117
|
+
return 1
|
|
118
|
+
print(_format_recall_mode(mode=mode, path=path, exists=exists))
|
|
119
|
+
return 0
|
|
120
|
+
|
|
109
121
|
repo_root = resolve_admin_repo_root(getattr(args, "repo_root", None))
|
|
110
122
|
if args.admin_command == "install-claude-hook":
|
|
111
123
|
settings_path = dependencies.install_repo_claude_hook(repo_root=repo_root)
|
|
@@ -141,3 +153,18 @@ def run_admin_command(
|
|
|
141
153
|
print(json.dumps({"deleted": deleted}, indent=2, sort_keys=True))
|
|
142
154
|
return 0
|
|
143
155
|
raise ValueError(f"Unsupported admin command: {args.admin_command}")
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
def _format_recall_mode(*, mode: str, path: Path, exists: bool) -> str:
|
|
159
|
+
if not exists:
|
|
160
|
+
return "Recall mode: full (default; no override file)"
|
|
161
|
+
if mode == "fast":
|
|
162
|
+
return f"Recall mode: fast (deterministic only) from {_display_path(path)}"
|
|
163
|
+
return f"Recall mode: full (LLM synthesis) from {_display_path(path)}"
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
def _display_path(path: Path) -> str:
|
|
167
|
+
try:
|
|
168
|
+
return f"~/{path.expanduser().resolve().relative_to(Path.home())}"
|
|
169
|
+
except ValueError:
|
|
170
|
+
return str(path)
|
|
@@ -291,6 +291,18 @@ _ADMIN_HELP = dedent(
|
|
|
291
291
|
Example:
|
|
292
292
|
shellbrain init
|
|
293
293
|
shellbrain admin migrate
|
|
294
|
+
shellbrain admin recall fast
|
|
295
|
+
"""
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
_RECALL_MODE_HELP = dedent(
|
|
299
|
+
"""\
|
|
300
|
+
Toggle whether recall uses the inner LLM synthesis agent.
|
|
301
|
+
|
|
302
|
+
Examples:
|
|
303
|
+
shellbrain admin recall fast
|
|
304
|
+
shellbrain admin recall full
|
|
305
|
+
shellbrain admin recall status
|
|
294
306
|
"""
|
|
295
307
|
)
|
|
296
308
|
|
|
@@ -754,6 +766,19 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
754
766
|
epilog=_BACKFILL_TOKEN_USAGE_HELP,
|
|
755
767
|
formatter_class=_HelpFormatter,
|
|
756
768
|
)
|
|
769
|
+
recall_parser = admin_subparsers.add_parser(
|
|
770
|
+
"recall",
|
|
771
|
+
help="Toggle recall between fast deterministic mode and full LLM synthesis.",
|
|
772
|
+
description="Toggle whether recall uses the inner LLM synthesis agent.",
|
|
773
|
+
epilog=_RECALL_MODE_HELP,
|
|
774
|
+
formatter_class=_HelpFormatter,
|
|
775
|
+
)
|
|
776
|
+
recall_subparsers = recall_parser.add_subparsers(
|
|
777
|
+
dest="recall_command", required=True, metavar="recall-command"
|
|
778
|
+
)
|
|
779
|
+
recall_subparsers.add_parser("fast", help="Use deterministic-only recall.")
|
|
780
|
+
recall_subparsers.add_parser("full", help="Use LLM synthesis recall.")
|
|
781
|
+
recall_subparsers.add_parser("status", help="Print the current recall mode.")
|
|
757
782
|
install_hook_parser = admin_subparsers.add_parser(
|
|
758
783
|
"install-claude-hook",
|
|
759
784
|
help="Install the repo-local Claude hook used for trusted caller identity.",
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"""Machine-local recall mode override storage."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import os
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
import tomllib
|
|
8
|
+
|
|
9
|
+
from app.infrastructure.local_state.paths import get_shellbrain_home
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
RECALL_MODE_FAST = "fast"
|
|
13
|
+
RECALL_MODE_FULL = "full"
|
|
14
|
+
DEFAULT_RECALL_MODE = RECALL_MODE_FULL
|
|
15
|
+
VALID_RECALL_MODES = {RECALL_MODE_FAST, RECALL_MODE_FULL}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def get_recall_mode_path() -> Path:
|
|
19
|
+
"""Return the machine-local recall mode override path."""
|
|
20
|
+
|
|
21
|
+
return get_shellbrain_home() / "recall.toml"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def load_recall_mode(path: Path | None = None) -> tuple[str, Path, bool]:
|
|
25
|
+
"""Return recall mode, config path, and whether an override file exists."""
|
|
26
|
+
|
|
27
|
+
target = path or get_recall_mode_path()
|
|
28
|
+
try:
|
|
29
|
+
text = target.read_text(encoding="utf-8")
|
|
30
|
+
except FileNotFoundError:
|
|
31
|
+
return DEFAULT_RECALL_MODE, target, False
|
|
32
|
+
try:
|
|
33
|
+
payload = tomllib.loads(text)
|
|
34
|
+
except tomllib.TOMLDecodeError as exc:
|
|
35
|
+
raise ValueError(f"Invalid recall mode config at {target}: {exc}") from exc
|
|
36
|
+
if set(payload) != {"mode"}:
|
|
37
|
+
raise ValueError(
|
|
38
|
+
f"Invalid recall mode config at {target}: expected only the 'mode' key."
|
|
39
|
+
)
|
|
40
|
+
mode = payload.get("mode")
|
|
41
|
+
if not isinstance(mode, str) or mode not in VALID_RECALL_MODES:
|
|
42
|
+
raise ValueError(
|
|
43
|
+
f"Invalid recall mode config at {target}: mode must be 'fast' or 'full'."
|
|
44
|
+
)
|
|
45
|
+
return mode, target, True
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def save_recall_mode(mode: str, path: Path | None = None) -> tuple[str, Path, bool]:
|
|
49
|
+
"""Persist one machine-local recall mode override."""
|
|
50
|
+
|
|
51
|
+
if mode not in VALID_RECALL_MODES:
|
|
52
|
+
raise ValueError("Recall mode must be 'fast' or 'full'.")
|
|
53
|
+
target = path or get_recall_mode_path()
|
|
54
|
+
target.parent.mkdir(parents=True, exist_ok=True)
|
|
55
|
+
target.write_text(f'mode = "{mode}"\n', encoding="utf-8")
|
|
56
|
+
try:
|
|
57
|
+
os.chmod(target, 0o600)
|
|
58
|
+
except OSError:
|
|
59
|
+
pass
|
|
60
|
+
return mode, target, True
|
|
@@ -81,6 +81,7 @@ def build_admin_command_dependencies():
|
|
|
81
81
|
from app.startup import migrations
|
|
82
82
|
from app.startup import model_usage_backfill
|
|
83
83
|
from app.startup.admin_dependencies import AdminCommandDependencies
|
|
84
|
+
from app.infrastructure.local_state import recall_mode_store
|
|
84
85
|
|
|
85
86
|
return AdminCommandDependencies(
|
|
86
87
|
upgrade_database=migrations.upgrade_database,
|
|
@@ -107,6 +108,8 @@ def build_admin_command_dependencies():
|
|
|
107
108
|
load_session_state=startup_admin.load_session_state,
|
|
108
109
|
delete_session_state=startup_admin.delete_session_state,
|
|
109
110
|
gc_session_state=startup_admin.gc_session_state,
|
|
111
|
+
load_recall_mode=recall_mode_store.load_recall_mode,
|
|
112
|
+
save_recall_mode=recall_mode_store.save_recall_mode,
|
|
110
113
|
)
|
|
111
114
|
|
|
112
115
|
|
|
@@ -21,6 +21,10 @@ from app.core.ports.host_apps.inner_agents import (
|
|
|
21
21
|
)
|
|
22
22
|
from app.infrastructure.host_apps.inner_agents.claude_cli import ClaudeCliInnerAgentRunner
|
|
23
23
|
from app.infrastructure.host_apps.inner_agents.codex_cli import CodexCliInnerAgentRunner
|
|
24
|
+
from app.infrastructure.local_state.recall_mode_store import (
|
|
25
|
+
RECALL_MODE_FAST,
|
|
26
|
+
load_recall_mode,
|
|
27
|
+
)
|
|
24
28
|
from app.startup.config import get_config_provider
|
|
25
29
|
from app.startup.internal_agent_config import InternalAgentsConfig
|
|
26
30
|
|
|
@@ -43,7 +47,7 @@ def get_build_context_settings() -> InnerAgentSettings:
|
|
|
43
47
|
"""Return typed settings for the read-only build_context agent."""
|
|
44
48
|
|
|
45
49
|
config = get_internal_agents_config()
|
|
46
|
-
return
|
|
50
|
+
return _resolve_build_context_settings(config)
|
|
47
51
|
|
|
48
52
|
|
|
49
53
|
def get_build_knowledge_settings() -> BuildKnowledgeSettings:
|
|
@@ -71,7 +75,10 @@ def get_build_context_inner_agent_runner() -> IInnerAgentRunner | None:
|
|
|
71
75
|
"""Return the configured build_context provider adapter."""
|
|
72
76
|
|
|
73
77
|
config = get_internal_agents_config()
|
|
74
|
-
|
|
78
|
+
settings = _resolve_build_context_settings(config)
|
|
79
|
+
if settings.strategy == "deterministic_only":
|
|
80
|
+
return None
|
|
81
|
+
return _runner_for(config, settings)
|
|
75
82
|
|
|
76
83
|
|
|
77
84
|
def get_build_knowledge_inner_agent_runner() -> IBuildKnowledgeAgentRunner | None:
|
|
@@ -138,6 +145,16 @@ def _resolve_settings(
|
|
|
138
145
|
)
|
|
139
146
|
|
|
140
147
|
|
|
148
|
+
def _resolve_build_context_settings(config: InternalAgentsConfig) -> InnerAgentSettings:
|
|
149
|
+
settings = _resolve_settings(config, config.build_context)
|
|
150
|
+
mode, _path, exists = load_recall_mode()
|
|
151
|
+
if not exists:
|
|
152
|
+
return settings
|
|
153
|
+
if mode == RECALL_MODE_FAST:
|
|
154
|
+
return settings.model_copy(update={"strategy": "deterministic_only"})
|
|
155
|
+
return settings.model_copy(update={"strategy": "deterministic_synthesis"})
|
|
156
|
+
|
|
157
|
+
|
|
141
158
|
def _select_provider(
|
|
142
159
|
config: InternalAgentsConfig,
|
|
143
160
|
requested_provider: str,
|
|
@@ -343,6 +343,7 @@ app/infrastructure/local_state/init_lock.py
|
|
|
343
343
|
app/infrastructure/local_state/machine_config_store.py
|
|
344
344
|
app/infrastructure/local_state/operation_registration.py
|
|
345
345
|
app/infrastructure/local_state/paths.py
|
|
346
|
+
app/infrastructure/local_state/recall_mode_store.py
|
|
346
347
|
app/infrastructure/local_state/repo_registration_store.py
|
|
347
348
|
app/infrastructure/local_state/session_state_file_store.py
|
|
348
349
|
app/infrastructure/local_state/shadow_git_store.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/backfill_model_usage/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/backfill_model_usage/request.py
RENAMED
|
File without changes
|
{shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/backfill_model_usage/result.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/admin/generate_analytics_report.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/episodes/sync_discovered_host_session.py
RENAMED
|
File without changes
|
{shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/episodes/sync_episode/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/episodes/sync_episode/sync_episode.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{shellbrain-0.1.44 → shellbrain-0.1.45}/app/core/use_cases/metrics/analyze_agent_behavior.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|