shellbrain 0.1.48__tar.gz → 0.1.49__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.48 → shellbrain-0.1.49}/PKG-INFO +3 -10
- {shellbrain-0.1.48 → shellbrain-0.1.49}/README.md +2 -9
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/build_context/execute.py +4 -33
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/deterministic_graph_recall.py +0 -16
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/inner_agents/prompt.py +4 -13
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/recall_records.py +0 -1
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/records.py +0 -1
- {shellbrain-0.1.48 → shellbrain-0.1.49}/pyproject.toml +1 -1
- {shellbrain-0.1.48 → shellbrain-0.1.49}/shellbrain.egg-info/PKG-INFO +3 -10
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/__main__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/admin_errors.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/associations.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/backups.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/concepts.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/episodes.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/evidence.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/guidance.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/identity.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/ids.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/inner_agents.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/knowledge_builder.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/machine_config.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/memories.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/repositories.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/runtime_context.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/scenarios.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/session_state.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/settings.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/snapshots.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/structural_memory_relations.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/utility.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/entities/wiki_summaries.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/errors.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/concepts/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/concepts/relation_rules.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/concepts/search_text.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/episodes/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/episodes/event_content.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/episodes/knowledge_building.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/memories/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/memories/add_plan.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/memories/link_rules.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/memories/update_plan.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/retrieval/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/retrieval/bm25.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/retrieval/context_pack.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/retrieval/expansion.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/retrieval/fusion_rrf.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/retrieval/lexical_query.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/retrieval/ontology_semantics.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/retrieval/scoring.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/policies/wiki_summary_freshness.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/concept_repositories.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/episode_repositories.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/guidance.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/knowledge_builder.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/memory_repositories.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/problem_runs.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/repository_index.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/retrieval_repositories.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/snapshots.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/unit_of_work.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/db/wiki_summaries.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/embeddings/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/embeddings/provider.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/embeddings/retrieval.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/host_apps/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/host_apps/inner_agents.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/local_state/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/local_state/session_state_store.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/local_state/shadow_git.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/reporting/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/reporting/metrics.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/system/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/system/clock.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/ports/system/idgen.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/analytics_diagnostics.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/backfill_model_usage/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/backfill_model_usage/backfill_model_usage.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/backfill_model_usage/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/backfill_model_usage/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/create_backup.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/diagnose_runtime.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/generate_analytics_report.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/initialize_runtime.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/restore_backup.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/verify_backup.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/build_guidance.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/add/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/add/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/add/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/add/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/containment_checks.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/embeddings.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/reference_checks.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/show/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/show/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/show/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/show/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/update/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/update/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/update/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/update/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/concepts/views.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/episodes/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/episodes/events/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/episodes/events/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/episodes/sync_discovered_host_session.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/episodes/sync_episode/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/episodes/sync_episode/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/episodes/sync_episode/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/episodes/sync_episode/sync_episode.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/knowledge_builder/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/knowledge_builder/build_knowledge/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/knowledge_builder/build_knowledge/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/knowledge_builder/build_knowledge/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/knowledge_builder/build_knowledge/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/knowledge_builder/teach_knowledge/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/knowledge_builder/teach_knowledge/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/knowledge_builder/teach_knowledge/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/knowledge_builder/teach_knowledge/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/memories/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/memories/add/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/memories/add/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/memories/add/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/memories/add/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/memories/effect_plan.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/memories/reference_checks.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/memories/update/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/memories/update/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/memories/update/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/memories/update/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/metrics/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/metrics/analyze_agent_behavior.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/metrics/build_snapshot.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/metrics/generate_dashboard.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/plan_execution.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/build_context/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/concept_seed_retrieval.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/context_pack_pipeline.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/expansion.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/read/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/read/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/read/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/read/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/read_concepts.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/recall/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/recall/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/recall/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/recall/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/seed_retrieval.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/scenarios/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/scenarios/record/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/scenarios/record/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/scenarios/record/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/scenarios/record/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/snapshots/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/snapshots/capture_snapshot/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/snapshots/capture_snapshot/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/snapshots/capture_snapshot/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/snapshots/capture_snapshot/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/snapshots/code_delta_context/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/snapshots/code_delta_context/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/snapshots/code_delta_context/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/wiki/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/wiki/execute.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/wiki/request.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/wiki/result.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/wiki/summaries.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/error_responses.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/cli_operation.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/dependencies.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/human/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/human/admin.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/human/admin_dependencies.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/human/init.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/human/metrics.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/human/upgrade.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/human/wiki.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/concepts/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/concepts/add.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/concepts/show.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/concepts/update.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/episodes/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/episodes/events.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/episodes/selection.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/episodes/serialization.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/memories/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/memories/add.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/memories/update.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/memories/utility_vote_evidence.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/retrieval/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/retrieval/execution.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/retrieval/read.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/scenarios/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/internal_agent/scenarios/record.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/result_envelopes.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/session_state.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/working_agent/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/working_agent/recall.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/working_agent/snapshot.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/handlers/working_agent/teach.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/main.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/operation_command.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/parser/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/parser/builder.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/presenters/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/presenters/init.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/presenters/json.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/presenters/metrics.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/request_parsing/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/request_parsing/concepts.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/request_parsing/episodes.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/request_parsing/hydration.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/request_parsing/memories.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/request_parsing/payload_validation.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/request_parsing/prepared.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/request_parsing/retrieval.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/request_parsing/scenarios.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/request_parsing/teach.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/runner.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/cli/runtime.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/host_hooks/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/host_hooks/claude_session_start.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/host_hooks/cursor_statusline.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/jobs/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/entrypoints/jobs/episode_sync.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/app_role_safety.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/backups/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/backups/destructive_guard.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/backups/logical_backup.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/backups/manifest_store.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/backups/restore.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/connection.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/instance_guard.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/migrations.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/privileges.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/provisioning/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/provisioning/docker_prerequisites.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/provisioning/external_postgres.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/provisioning/init_effects.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/provisioning/managed_local.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/admin/storage_setup.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/engine.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/associations.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/concepts.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/episodes.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/evidence.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/experiences.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/instance_metadata.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/knowledge_builder.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/memories.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/metadata.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/problem_runs.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/registry.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/snapshots.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/telemetry.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/utility.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/views.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/models/wiki_summaries.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/queries/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/queries/agent_behavior.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/queries/analytics.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/queries/metrics.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/queries/metrics_adapter.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/queries/model_usage_backfill.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/associations_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/concepts_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/episodes_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/evidence_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/experiences_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/knowledge_builder_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/memories_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/problem_runs_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/read_policy_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/repository_index_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/snapshots_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/telemetry_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/utility_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/relational/wiki_summaries_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/semantic/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/semantic/concept_retrieval_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/semantic/keyword_retrieval_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/repos/semantic/semantic_retrieval_repo.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/session.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/db/runtime/uow.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/embeddings/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/embeddings/local_provider.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/embeddings/prewarm.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/embeddings/query_vector_search.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/claude.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/codex.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/cursor.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/cursor_statusline_config.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/inspection.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/managed_markdown.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/managed_tree.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/packaged_assets.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/paths.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/service.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/assets/types.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/identity/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/identity/claude_hook_install.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/identity/claude_runtime.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/identity/codex_runtime.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/identity/compatibility.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/identity/cursor_statusline.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/identity/resolver.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/inner_agents/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/inner_agents/claude_cli.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/inner_agents/codex_cli.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/inner_agents/output_parser.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/transcripts/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/transcripts/claude_code.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/transcripts/codex.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/transcripts/cursor.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/transcripts/model_usage.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/transcripts/normalization.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/transcripts/session_selection.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/transcripts/source_discovery.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/host_apps/transcripts/tool_filter.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/local_state/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/local_state/init_lock.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/local_state/machine_config_store.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/local_state/operation_registration.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/local_state/paths.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/local_state/recall_mode_store.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/local_state/repo_registration_store.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/local_state/session_state_file_store.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/local_state/shadow_git_store.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/process/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/process/episode_sync/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/process/episode_sync/autostart.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/process/episode_sync/launcher.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/process/episode_sync/lock_file.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/process/episode_sync/poller.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/process/episode_sync/status_store.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/reporting/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/reporting/metrics/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/reporting/metrics/artifacts.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/reporting/metrics/browser.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/reporting/metrics/pager.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/reporting/metrics/render_html.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/reporting/wiki/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/reporting/wiki/browser.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/reporting/wiki/render_html.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/reporting/wiki/server.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/reporting/wiki/summary_worker.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/system/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/system/clock.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/system/id_generator.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/system/package_upgrade.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/inner_agent_records.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/operation_invocations.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/operation_polling.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/read_records.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/recorder.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/sink.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/storage_protocols.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/sync_records.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/infrastructure/telemetry/write_records.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/settings/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/settings/defaults/create_policy.yaml +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/settings/defaults/read_policy.yaml +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/settings/defaults/runtime.yaml +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/settings/defaults/thresholds.yaml +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/settings/defaults/update_policy.yaml +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/settings/internal-agents/defaults.yaml +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/admin.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/admin_db.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/admin_dependencies.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/admin_diagnose.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/analytics.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/backup.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/cli.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/cli_runtime.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/config.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/create_policy.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/db.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/dsn_resolution.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/embeddings.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/episode_poller.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/episode_sync_launcher.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/host_hooks.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/internal_agent_config.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/internal_agents.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/knowledge_builder.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/metrics.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/migrations.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/model_usage_backfill.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/operation_dependencies.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/read_policy.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/repo_context.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/repos.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/retrieval.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/runtime_admin.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/runtime_context.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/settings.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/snapshot_baseline.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/thresholds.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/update_policy.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/use_cases.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/app/startup/wiki.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/_legacy_usage_views.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/_usage_view_sql.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/env.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260226_0001_initial_schema.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260312_0002_add_hard_invariants.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260312_0003_drop_create_confidence.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260313_0004_episode_sync_hardening.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260313_0005_evidence_episode_event_refs.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260318_0006_usage_telemetry_schema.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260319_0007_identity_session_guidance.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260320_0008_instance_metadata_and_backup_safety.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260410_0009_frontier_memory_family.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260414_0010_model_usage_telemetry.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260414_0011_usage_problem_tokens_multi_solution_metrics.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260415_0012_read_pack_cost_and_read_roi.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260421_0013_concept_context_graph.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260422_0014_concept_read_telemetry.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260422_0015_problem_runs.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260508_0016_recall_telemetry.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260511_0017_inner_agent_invocations.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260513_0018_knowledge_build_runs.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260515_0019_scenario_records.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260516_0020_knowledge_build_observability.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260519_0021_knowledge_build_watermark_stable.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260519_0022_update_evidence_links.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260519_0023_explicit_teach_trigger.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260519_0024_read_retrieval_latency_indexes.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260519_0025_repair_recall_source_input_section_constraint.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260519_0026_repair_knowledge_build_trigger_constraint.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260519_0027_concept_embeddings.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260520_0028_knowledge_build_lifecycle.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260522_0029_remove_frontier_and_memory_anchors.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260522_0030_concept_lifecycle_events.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260522_0031_unified_evidence_storage.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260522_0032_memory_lifecycle_events.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260522_0033_concept_memory_role_cleanup.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260522_0034_structural_memory_relations.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260522_0035_retire_legacy_compatibility_tables.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260526_0036_shadow_snapshots.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/20260606_0037_wiki_summaries.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/migrations/versions/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/__init__.py +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/claude/CLAUDE.md +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/claude/skills/shellbrain/SKILL.md +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/claude/skills/shellbrain-usage-review/SKILL.md +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/AGENTS.md +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/clean-architecture/SKILL.md +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/clean-code/SKILL.md +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/shellbrain/SKILL.md +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/shellbrain/agents/openai.yaml +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/shellbrain/assets/shellbrain-large.svg +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/shellbrain/assets/shellbrain-small.svg +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/shellbrain/assets/shellbrain_logo.png +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/shellbrain/references/session-workflow.md +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/shellbrain-usage-review/SKILL.md +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/shellbrain-usage-review/agents/openai.yaml +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/shellbrain-usage-review/assets/shellbrain-small.svg +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/codex/shellbrain-usage-review/assets/shellbrain_logo.png +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/cursor/skills/shellbrain/SKILL.md +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/onboarding_assets/cursor/skills/shellbrain-usage-review/SKILL.md +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/setup.cfg +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/shellbrain.egg-info/SOURCES.txt +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/shellbrain.egg-info/dependency_links.txt +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/shellbrain.egg-info/entry_points.txt +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/shellbrain.egg-info/requires.txt +0 -0
- {shellbrain-0.1.48 → shellbrain-0.1.49}/shellbrain.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: shellbrain
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.49
|
|
4
4
|
Summary: Repo-scoped Shellbrain CLI with explicit evidence-backed writes.
|
|
5
5
|
Requires-Python: >=3.11
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -69,7 +69,7 @@ The episodic layer is truth. Empirical memory extracts. Concept memory abstracts
|
|
|
69
69
|
|
|
70
70
|
### Recall
|
|
71
71
|
|
|
72
|
-
**Working agents call `shellbrain recall`.** That is the normal interface they have to think about. One command, **one _carefully curated_ compact brief
|
|
72
|
+
**Working agents call `shellbrain recall`.** That is the normal interface they have to think about. One command, **one _carefully curated_ compact brief** for the task at hand.
|
|
73
73
|
|
|
74
74
|
Recall receives only the quoted query, so include the relevant task, failure, subsystem, or decision naturally in the question.
|
|
75
75
|
|
|
@@ -92,14 +92,7 @@ Response shape:
|
|
|
92
92
|
"anchors": ["`README.md`"],
|
|
93
93
|
"conflicts": ["..."],
|
|
94
94
|
"gaps": ["..."],
|
|
95
|
-
"next_checks": ["..."]
|
|
96
|
-
"sources": [
|
|
97
|
-
{
|
|
98
|
-
"kind": "memory",
|
|
99
|
-
"id": "...",
|
|
100
|
-
"section": "direct"
|
|
101
|
-
}
|
|
102
|
-
]
|
|
95
|
+
"next_checks": ["..."]
|
|
103
96
|
},
|
|
104
97
|
"fallback_reason": null
|
|
105
98
|
},
|
|
@@ -55,7 +55,7 @@ The episodic layer is truth. Empirical memory extracts. Concept memory abstracts
|
|
|
55
55
|
|
|
56
56
|
### Recall
|
|
57
57
|
|
|
58
|
-
**Working agents call `shellbrain recall`.** That is the normal interface they have to think about. One command, **one _carefully curated_ compact brief
|
|
58
|
+
**Working agents call `shellbrain recall`.** That is the normal interface they have to think about. One command, **one _carefully curated_ compact brief** for the task at hand.
|
|
59
59
|
|
|
60
60
|
Recall receives only the quoted query, so include the relevant task, failure, subsystem, or decision naturally in the question.
|
|
61
61
|
|
|
@@ -78,14 +78,7 @@ Response shape:
|
|
|
78
78
|
"anchors": ["`README.md`"],
|
|
79
79
|
"conflicts": ["..."],
|
|
80
80
|
"gaps": ["..."],
|
|
81
|
-
"next_checks": ["..."]
|
|
82
|
-
"sources": [
|
|
83
|
-
{
|
|
84
|
-
"kind": "memory",
|
|
85
|
-
"id": "...",
|
|
86
|
-
"section": "direct"
|
|
87
|
-
}
|
|
88
|
-
]
|
|
81
|
+
"next_checks": ["..."]
|
|
89
82
|
},
|
|
90
83
|
"fallback_reason": null
|
|
91
84
|
},
|
{shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/build_context/execute.py
RENAMED
|
@@ -174,10 +174,7 @@ def _provider_result(
|
|
|
174
174
|
|
|
175
175
|
read_trace = _read_trace(inner_agent_result)
|
|
176
176
|
source_items = _source_items_from_read_trace(read_trace)
|
|
177
|
-
brief = _normalize_provider_brief(
|
|
178
|
-
inner_agent_result.brief or {},
|
|
179
|
-
deterministic_sources=_sources_from_source_items(source_items),
|
|
180
|
-
)
|
|
177
|
+
brief = _normalize_provider_brief(inner_agent_result.brief or {})
|
|
181
178
|
fallback_reason = (
|
|
182
179
|
"no_candidates"
|
|
183
180
|
if not source_items and _read_trace_no_context_reason(read_trace)
|
|
@@ -271,10 +268,7 @@ def _deterministic_graph_result(
|
|
|
271
268
|
)
|
|
272
269
|
if synthesis_result.status == "ok" and synthesis_result.brief is not None:
|
|
273
270
|
return RecallMemoryResult(
|
|
274
|
-
brief=_normalize_provider_brief(
|
|
275
|
-
synthesis_result.brief,
|
|
276
|
-
deterministic_sources=_sources_from_source_items(source_items),
|
|
277
|
-
),
|
|
271
|
+
brief=_normalize_provider_brief(synthesis_result.brief),
|
|
278
272
|
fallback_reason=None,
|
|
279
273
|
telemetry={
|
|
280
274
|
"candidate_pack": graph_pack,
|
|
@@ -432,16 +426,13 @@ def _no_context_brief() -> dict[str, Any]:
|
|
|
432
426
|
"conflicts": [],
|
|
433
427
|
"gaps": ["Shellbrain has no relevant memories or concepts for this query."],
|
|
434
428
|
"next_checks": [],
|
|
435
|
-
"sources": [],
|
|
436
429
|
}
|
|
437
430
|
|
|
438
431
|
|
|
439
|
-
def _normalize_provider_brief(
|
|
440
|
-
brief: dict[str, Any], *, deterministic_sources: list[dict[str, Any]]
|
|
441
|
-
) -> dict[str, Any]:
|
|
432
|
+
def _normalize_provider_brief(brief: dict[str, Any]) -> dict[str, Any]:
|
|
442
433
|
"""Ensure provider output keeps the stable worker-facing brief shape."""
|
|
443
434
|
|
|
444
|
-
|
|
435
|
+
return {
|
|
445
436
|
"summary": str(brief.get("summary") or "").strip()
|
|
446
437
|
or "Shellbrain synthesized relevant recall context.",
|
|
447
438
|
"constraints": _string_list(brief.get("constraints")),
|
|
@@ -452,9 +443,7 @@ def _normalize_provider_brief(
|
|
|
452
443
|
"conflicts": _string_list(brief.get("conflicts")),
|
|
453
444
|
"gaps": _string_list(brief.get("gaps")),
|
|
454
445
|
"next_checks": _string_list(brief.get("next_checks")),
|
|
455
|
-
"sources": deterministic_sources,
|
|
456
446
|
}
|
|
457
|
-
return normalized
|
|
458
447
|
|
|
459
448
|
|
|
460
449
|
def _string_list(value: Any) -> list[str]:
|
|
@@ -589,7 +578,6 @@ def _source_items_from_read_trace(read_trace: dict[str, Any]) -> list[dict[str,
|
|
|
589
578
|
"source_kind": source_kind,
|
|
590
579
|
"source_id": source_id,
|
|
591
580
|
"input_section": "inner_agent.read_trace",
|
|
592
|
-
"output_section": "sources",
|
|
593
581
|
}
|
|
594
582
|
)
|
|
595
583
|
ordinal += 1
|
|
@@ -604,29 +592,12 @@ def _source_items_from_read_trace(read_trace: dict[str, Any]) -> list[dict[str,
|
|
|
604
592
|
"source_kind": "concept",
|
|
605
593
|
"source_id": concept_ref,
|
|
606
594
|
"input_section": "inner_agent.read_trace",
|
|
607
|
-
"output_section": "sources",
|
|
608
595
|
}
|
|
609
596
|
)
|
|
610
597
|
ordinal += 1
|
|
611
598
|
return items
|
|
612
599
|
|
|
613
600
|
|
|
614
|
-
def _sources_from_source_items(
|
|
615
|
-
source_items: list[dict[str, Any]]
|
|
616
|
-
) -> list[dict[str, Any]]:
|
|
617
|
-
"""Render brief sources from telemetry provenance rows."""
|
|
618
|
-
|
|
619
|
-
return [
|
|
620
|
-
{
|
|
621
|
-
"kind": item["source_kind"],
|
|
622
|
-
"id": item["source_id"],
|
|
623
|
-
"section": item["input_section"],
|
|
624
|
-
}
|
|
625
|
-
for item in source_items
|
|
626
|
-
if item.get("output_section") is not None
|
|
627
|
-
]
|
|
628
|
-
|
|
629
|
-
|
|
630
601
|
def _read_trace_no_context_reason(read_trace: dict[str, Any]) -> str | None:
|
|
631
602
|
"""Return an explicit no-context reason from provider trace, when present."""
|
|
632
603
|
|
{shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/retrieval/deterministic_graph_recall.py
RENAMED
|
@@ -220,7 +220,6 @@ def deterministic_brief_from_graph_pack(pack: dict[str, Any]) -> dict[str, Any]:
|
|
|
220
220
|
"conflicts": [],
|
|
221
221
|
"gaps": ["Shellbrain has no relevant memories or concepts for this query."],
|
|
222
222
|
"next_checks": [],
|
|
223
|
-
"sources": [],
|
|
224
223
|
}
|
|
225
224
|
concept_items = concepts + neighbors
|
|
226
225
|
constraints = _brief_memory_texts(
|
|
@@ -265,7 +264,6 @@ def deterministic_brief_from_graph_pack(pack: dict[str, Any]) -> dict[str, Any]:
|
|
|
265
264
|
),
|
|
266
265
|
"gaps": [],
|
|
267
266
|
"next_checks": _next_checks(pack),
|
|
268
|
-
"sources": _sources_from_graph_pack(pack),
|
|
269
267
|
}
|
|
270
268
|
|
|
271
269
|
|
|
@@ -288,7 +286,6 @@ def source_items_from_graph_pack(pack: dict[str, Any]) -> list[dict[str, Any]]:
|
|
|
288
286
|
"source_kind": "memory",
|
|
289
287
|
"source_id": source_id,
|
|
290
288
|
"input_section": _source_section_for_memory(memory),
|
|
291
|
-
"output_section": "sources",
|
|
292
289
|
}
|
|
293
290
|
)
|
|
294
291
|
ordinal += 1
|
|
@@ -309,7 +306,6 @@ def source_items_from_graph_pack(pack: dict[str, Any]) -> list[dict[str, Any]]:
|
|
|
309
306
|
"source_kind": "concept",
|
|
310
307
|
"source_id": str(source_id),
|
|
311
308
|
"input_section": "concept_orientation",
|
|
312
|
-
"output_section": "sources",
|
|
313
309
|
}
|
|
314
310
|
)
|
|
315
311
|
ordinal += 1
|
|
@@ -1208,18 +1204,6 @@ def _next_checks(pack: dict[str, Any]) -> list[str]:
|
|
|
1208
1204
|
return list(dict.fromkeys(checks))[:3]
|
|
1209
1205
|
|
|
1210
1206
|
|
|
1211
|
-
def _sources_from_graph_pack(pack: dict[str, Any]) -> list[dict[str, str]]:
|
|
1212
|
-
return [
|
|
1213
|
-
{
|
|
1214
|
-
"kind": item["source_kind"],
|
|
1215
|
-
"id": item["source_id"],
|
|
1216
|
-
"section": item["input_section"],
|
|
1217
|
-
}
|
|
1218
|
-
for item in source_items_from_graph_pack(pack)
|
|
1219
|
-
if item.get("output_section") is not None
|
|
1220
|
-
]
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
1207
|
def _conflict_summary(item: object) -> str:
|
|
1224
1208
|
if isinstance(item, dict):
|
|
1225
1209
|
return str(item.get("summary") or item.get("reason") or item)
|
|
@@ -154,13 +154,13 @@ context, with empty or minimal arrays and a concrete
|
|
|
154
154
|
Lead with the answer. Keep only details that change what the worker should do.
|
|
155
155
|
Use plain English. One idea per sentence. Leave sections empty unless useful.
|
|
156
156
|
Summary: max two sentences. Lists: max three items. Items: max one sentence.
|
|
157
|
-
Full provenance belongs in telemetry; keep visible
|
|
157
|
+
Full provenance belongs in telemetry; keep visible anchors minimal.
|
|
158
158
|
|
|
159
159
|
# OUTPUT
|
|
160
160
|
Return only valid JSON matching `output_contract`.
|
|
161
161
|
The brief must be compact and action-oriented: summary, constraints,
|
|
162
162
|
known_traps, prior_cases, concept_orientation, anchors, conflicts, gaps,
|
|
163
|
-
|
|
163
|
+
and next_checks. Use conflicts for stale, disputed, superseded,
|
|
164
164
|
low-confidence, or mutually inconsistent context. Use gaps for missing context
|
|
165
165
|
or unresolved questions. Use next_checks for one to three concrete checks the
|
|
166
166
|
worker should perform because retrieved context makes them high leverage.
|
|
@@ -317,9 +317,8 @@ Summary: max two sentences. Lists: max three items. Items: max one sentence.
|
|
|
317
317
|
Full provenance belongs in telemetry; keep visible anchors minimal.
|
|
318
318
|
|
|
319
319
|
# OUTPUT
|
|
320
|
-
Return only valid JSON matching `output_contract`. Return a `brief` object only
|
|
321
|
-
|
|
322
|
-
deterministic source provenance after synthesis.
|
|
320
|
+
Return only valid JSON matching `output_contract`. Return a `brief` object only.
|
|
321
|
+
Keep each list compact.
|
|
323
322
|
"""
|
|
324
323
|
|
|
325
324
|
|
|
@@ -903,14 +902,6 @@ def render_build_context_prompt(request: InnerAgentRunRequest) -> str:
|
|
|
903
902
|
"conflicts": ["string"],
|
|
904
903
|
"gaps": ["string"],
|
|
905
904
|
"next_checks": ["string"],
|
|
906
|
-
"sources": [
|
|
907
|
-
{
|
|
908
|
-
"kind": "memory|concept|episode_event",
|
|
909
|
-
"id": "source id or concept ref",
|
|
910
|
-
"facet": "claim|relation|grounding|memory_link|event|memory when applicable",
|
|
911
|
-
"used_in": "summary|constraints|known_traps|prior_cases|concept_orientation|anchors|conflicts|gaps|next_checks",
|
|
912
|
-
}
|
|
913
|
-
],
|
|
914
905
|
},
|
|
915
906
|
"read_trace": {
|
|
916
907
|
"commands": [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: shellbrain
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.49
|
|
4
4
|
Summary: Repo-scoped Shellbrain CLI with explicit evidence-backed writes.
|
|
5
5
|
Requires-Python: >=3.11
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -69,7 +69,7 @@ The episodic layer is truth. Empirical memory extracts. Concept memory abstracts
|
|
|
69
69
|
|
|
70
70
|
### Recall
|
|
71
71
|
|
|
72
|
-
**Working agents call `shellbrain recall`.** That is the normal interface they have to think about. One command, **one _carefully curated_ compact brief
|
|
72
|
+
**Working agents call `shellbrain recall`.** That is the normal interface they have to think about. One command, **one _carefully curated_ compact brief** for the task at hand.
|
|
73
73
|
|
|
74
74
|
Recall receives only the quoted query, so include the relevant task, failure, subsystem, or decision naturally in the question.
|
|
75
75
|
|
|
@@ -92,14 +92,7 @@ Response shape:
|
|
|
92
92
|
"anchors": ["`README.md`"],
|
|
93
93
|
"conflicts": ["..."],
|
|
94
94
|
"gaps": ["..."],
|
|
95
|
-
"next_checks": ["..."]
|
|
96
|
-
"sources": [
|
|
97
|
-
{
|
|
98
|
-
"kind": "memory",
|
|
99
|
-
"id": "...",
|
|
100
|
-
"section": "direct"
|
|
101
|
-
}
|
|
102
|
-
]
|
|
95
|
+
"next_checks": ["..."]
|
|
103
96
|
},
|
|
104
97
|
"fallback_reason": null
|
|
105
98
|
},
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.48 → shellbrain-0.1.49}/app/core/use_cases/admin/backfill_model_usage/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/backfill_model_usage/request.py
RENAMED
|
File without changes
|
{shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/admin/backfill_model_usage/result.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{shellbrain-0.1.48 → shellbrain-0.1.49}/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.48 → shellbrain-0.1.49}/app/core/use_cases/episodes/sync_discovered_host_session.py
RENAMED
|
File without changes
|
{shellbrain-0.1.48 → shellbrain-0.1.49}/app/core/use_cases/episodes/sync_episode/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{shellbrain-0.1.48 → shellbrain-0.1.49}/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
|