agent-borg 3.2.4__tar.gz → 3.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agent_borg-3.3.2/LICENSE +21 -0
- agent_borg-3.3.2/PKG-INFO +128 -0
- agent_borg-3.3.2/README.md +103 -0
- agent_borg-3.3.2/agent_borg.egg-info/PKG-INFO +128 -0
- agent_borg-3.3.2/agent_borg.egg-info/SOURCES.txt +287 -0
- agent_borg-3.3.2/agent_borg.egg-info/entry_points.txt +4 -0
- agent_borg-3.3.2/agent_borg.egg-info/requires.txt +7 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/__init__.py +1 -1
- agent_borg-3.3.2/borg/cli/__init__.py +42 -0
- agent_borg-3.3.2/borg/cli/doctor.py +111 -0
- agent_borg-3.3.2/borg/cli/install.py +151 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/cli.py +368 -28
- agent_borg-3.3.2/borg/core/action_policy.py +24 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/apply.py +68 -0
- agent_borg-3.3.2/borg/core/bm25_index.py +163 -0
- agent_borg-3.3.2/borg/core/canonical_truth.py +66 -0
- agent_borg-3.3.2/borg/core/causal.py +84 -0
- agent_borg-3.3.2/borg/core/clustering.py +238 -0
- agent_borg-3.3.2/borg/core/cold_start.py +58 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/contextual_selector.py +9 -1
- agent_borg-3.3.2/borg/core/convert.py +870 -0
- agent_borg-3.3.2/borg/core/dirs.py +52 -0
- agent_borg-3.3.2/borg/core/embeddings.py +287 -0
- agent_borg-3.3.2/borg/core/failure_memory.py +455 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/feedback_loop.py +155 -5
- agent_borg-3.3.2/borg/core/generate.py +527 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/mutation_engine.py +131 -11
- agent_borg-3.3.2/borg/core/negative_traces.py +82 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/openclaw_converter.py +2 -2
- agent_borg-3.3.2/borg/core/outcome_ledger.py +68 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/pack_taxonomy.py +1 -1
- agent_borg-3.3.2/borg/core/provider_router.py +19 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/publish.py +1 -1
- agent_borg-3.3.2/borg/core/quality_gate.py +60 -0
- agent_borg-3.3.2/borg/core/rate_limiter.py +69 -0
- agent_borg-3.3.2/borg/core/response_formatter.py +26 -0
- agent_borg-3.3.2/borg/core/sanitizer.py +62 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/search.py +131 -21
- agent_borg-3.3.2/borg/core/seed_loader.py +104 -0
- agent_borg-3.3.2/borg/core/seeds.py +156 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/session.py +90 -7
- agent_borg-3.3.2/borg/core/stack.py +58 -0
- agent_borg-3.3.2/borg/core/status.py +27 -0
- agent_borg-3.3.2/borg/core/synthesis.py +132 -0
- agent_borg-3.3.2/borg/core/telemetry.py +71 -0
- agent_borg-3.3.2/borg/core/temporal.py +45 -0
- agent_borg-3.3.2/borg/core/trace_matcher.py +331 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/traces.py +56 -16
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/uri.py +46 -14
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/v3_integration.py +172 -59
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/db/store.py +87 -20
- agent_borg-3.3.2/borg/defi/tests/__init__.py +1 -0
- agent_borg-3.3.2/borg/defi/tests/test_alchemy.py +426 -0
- agent_borg-3.3.2/borg/defi/tests/test_alpha_signal.py +905 -0
- agent_borg-3.3.2/borg/defi/tests/test_api_clients.py +558 -0
- agent_borg-3.3.2/borg/defi/tests/test_arkham.py +651 -0
- agent_borg-3.3.2/borg/defi/tests/test_base_client.py +292 -0
- agent_borg-3.3.2/borg/defi/tests/test_cache.py +503 -0
- agent_borg-3.3.2/borg/defi/tests/test_cli.py +279 -0
- agent_borg-3.3.2/borg/defi/tests/test_cron.py +708 -0
- agent_borg-3.3.2/borg/defi/tests/test_cron_delivery.py +246 -0
- agent_borg-3.3.2/borg/defi/tests/test_cron_state.py +315 -0
- agent_borg-3.3.2/borg/defi/tests/test_data_models.py +754 -0
- agent_borg-3.3.2/borg/defi/tests/test_dojo_bridge.py +976 -0
- agent_borg-3.3.2/borg/defi/tests/test_e2e_live.py +304 -0
- agent_borg-3.3.2/borg/defi/tests/test_goplus.py +469 -0
- agent_borg-3.3.2/borg/defi/tests/test_keystore_unit.py +536 -0
- agent_borg-3.3.2/borg/defi/tests/test_liquidation_watcher.py +776 -0
- agent_borg-3.3.2/borg/defi/tests/test_live_scans.py +1048 -0
- agent_borg-3.3.2/borg/defi/tests/test_lp_manager.py +740 -0
- agent_borg-3.3.2/borg/defi/tests/test_mcp_tools.py +335 -0
- agent_borg-3.3.2/borg/defi/tests/test_mev.py +721 -0
- agent_borg-3.3.2/borg/defi/tests/test_portfolio_monitor.py +621 -0
- agent_borg-3.3.2/borg/defi/tests/test_risk_engine.py +729 -0
- agent_borg-3.3.2/borg/defi/tests/test_strategy_backtester.py +728 -0
- agent_borg-3.3.2/borg/defi/tests/test_strategy_selector.py +1009 -0
- agent_borg-3.3.2/borg/defi/tests/test_swap_executor.py +1219 -0
- agent_borg-3.3.2/borg/defi/tests/test_tx_guard_unit.py +651 -0
- agent_borg-3.3.2/borg/defi/tests/test_v2_borg_bridge.py +374 -0
- agent_borg-3.3.2/borg/defi/tests/test_v2_circuit_breaker.py +590 -0
- agent_borg-3.3.2/borg/defi/tests/test_v2_drift.py +393 -0
- agent_borg-3.3.2/borg/defi/tests/test_v2_integration.py +610 -0
- agent_borg-3.3.2/borg/defi/tests/test_v2_models.py +537 -0
- agent_borg-3.3.2/borg/defi/tests/test_v2_outcome_store.py +364 -0
- agent_borg-3.3.2/borg/defi/tests/test_v2_pack_store.py +379 -0
- agent_borg-3.3.2/borg/defi/tests/test_v2_recommender.py +859 -0
- agent_borg-3.3.2/borg/defi/tests/test_v2_reputation.py +413 -0
- agent_borg-3.3.2/borg/defi/tests/test_v2_seed_packs.py +285 -0
- agent_borg-3.3.2/borg/defi/tests/test_v2_warnings.py +428 -0
- agent_borg-3.3.2/borg/defi/tests/test_whale_tracker.py +515 -0
- agent_borg-3.3.2/borg/defi/tests/test_yield_scanner.py +593 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/pipeline.py +22 -1
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/session_reader.py +10 -1
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/tests/test_session_reader.py +4 -0
- agent_borg-3.3.2/borg/eval/ab_test.py +230 -0
- agent_borg-3.3.2/borg/eval/production_smoke_test.py +127 -0
- agent_borg-3.3.2/borg/integrations/http_server.py +113 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/integrations/mcp_server.py +1086 -324
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/borg/SKILL.md +2 -2
- {agent_borg-3.2.4/borg/seeds_data/guild-autopilot → agent_borg-3.3.2/borg/seeds_data/borg-autopilot}/SKILL.md +36 -36
- agent_borg-3.3.2/borg/seeds_data/collective_seed.json +1 -0
- agent_borg-3.3.2/borg/seeds_data/extended_seeds.yaml +697 -0
- agent_borg-3.3.2/borg/seeds_data/packs/bash-permission-denied.yaml +25 -0
- agent_borg-3.3.2/borg/seeds_data/packs/django-circular-dependency.yaml +20 -0
- agent_borg-3.3.2/borg/seeds_data/packs/django-migration-state.yaml +25 -0
- agent_borg-3.3.2/borg/seeds_data/packs/django-null-pointer.yaml +22 -0
- agent_borg-3.3.2/borg/seeds_data/packs/django-schema-drift.yaml +23 -0
- agent_borg-3.3.2/borg/seeds_data/packs/docker-no-space.yaml +25 -0
- agent_borg-3.3.2/borg/seeds_data/packs/git-merge-conflict.yaml +24 -0
- agent_borg-3.3.2/borg/seeds_data/packs/pytest-flaky-test.yaml +25 -0
- agent_borg-3.3.2/borg/seeds_data/packs/python-import-cycle.yaml +25 -0
- agent_borg-3.3.2/borg/seeds_data/packs/python-missing-dependency.yaml +23 -0
- agent_borg-3.3.2/borg/tests/__init__.py +0 -0
- agent_borg-3.3.2/borg/tests/fixtures/openclaw/quick_validate.py +159 -0
- agent_borg-3.3.2/borg/tests/test_agent_hook.py +378 -0
- agent_borg-3.3.2/borg/tests/test_aggregator.py +468 -0
- agent_borg-3.3.2/borg/tests/test_analytics.py +506 -0
- agent_borg-3.3.2/borg/tests/test_apply.py +674 -0
- agent_borg-3.3.2/borg/tests/test_change_awareness.py +360 -0
- agent_borg-3.3.2/borg/tests/test_classify_error.py +359 -0
- agent_borg-3.3.2/borg/tests/test_cli.py +669 -0
- agent_borg-3.3.2/borg/tests/test_conditions.py +490 -0
- agent_borg-3.3.2/borg/tests/test_contextual_selector.py +957 -0
- agent_borg-3.3.2/borg/tests/test_convert.py +353 -0
- agent_borg-3.3.2/borg/tests/test_convert_openclaw.py +729 -0
- agent_borg-3.3.2/borg/tests/test_dirs.py +55 -0
- agent_borg-3.3.2/borg/tests/test_dojo_pipeline.py +1000 -0
- agent_borg-3.3.2/borg/tests/test_e2e_learning_loop.py +1122 -0
- agent_borg-3.3.2/borg/tests/test_e2e_learning_loop_v3.py +987 -0
- agent_borg-3.3.2/borg/tests/test_failure_memory.py +528 -0
- agent_borg-3.3.2/borg/tests/test_feedback_loop.py +1175 -0
- agent_borg-3.3.2/borg/tests/test_fleet_syncer.py +400 -0
- agent_borg-3.3.2/borg/tests/test_generate.py +303 -0
- agent_borg-3.3.2/borg/tests/test_generator.py +346 -0
- agent_borg-3.3.2/borg/tests/test_golden_queries.py +95 -0
- agent_borg-3.3.2/borg/tests/test_invariants.py +98 -0
- agent_borg-3.3.2/borg/tests/test_mcp_hardening.py +296 -0
- agent_borg-3.3.2/borg/tests/test_mcp_server.py +861 -0
- agent_borg-3.3.2/borg/tests/test_mcp_server_extended.py +2073 -0
- agent_borg-3.3.2/borg/tests/test_mutation_engine.py +1017 -0
- agent_borg-3.3.2/borg/tests/test_nudge.py +481 -0
- agent_borg-3.3.2/borg/tests/test_observe_search_roundtrip.py +151 -0
- agent_borg-3.3.2/borg/tests/test_openclaw_converter.py +454 -0
- agent_borg-3.3.2/borg/tests/test_pack_compatibility.py +359 -0
- agent_borg-3.3.2/borg/tests/test_perf_candidate_cache.py +58 -0
- agent_borg-3.3.2/borg/tests/test_privacy.py +362 -0
- agent_borg-3.3.2/borg/tests/test_proof_gates.py +486 -0
- agent_borg-3.3.2/borg/tests/test_publish.py +581 -0
- agent_borg-3.3.2/borg/tests/test_publish_flow_debug.py +63 -0
- agent_borg-3.3.2/borg/tests/test_publish_flow_integration.py +279 -0
- agent_borg-3.3.2/borg/tests/test_publish_sybil.py +428 -0
- agent_borg-3.3.2/borg/tests/test_pull_network.py +182 -0
- agent_borg-3.3.2/borg/tests/test_reputation.py +430 -0
- agent_borg-3.3.2/borg/tests/test_reputation_integration.py +1080 -0
- agent_borg-3.3.2/borg/tests/test_safety.py +564 -0
- agent_borg-3.3.2/borg/tests/test_schema.py +435 -0
- agent_borg-3.3.2/borg/tests/test_search.py +1330 -0
- agent_borg-3.3.2/borg/tests/test_semantic_search.py +423 -0
- agent_borg-3.3.2/borg/tests/test_session.py +570 -0
- agent_borg-3.3.2/borg/tests/test_start_signals.py +375 -0
- agent_borg-3.3.2/borg/tests/test_store.py +946 -0
- agent_borg-3.3.2/borg/tests/test_store_concurrency.py +344 -0
- agent_borg-3.3.2/borg/tests/test_telemetry.py +410 -0
- agent_borg-3.3.2/borg/tests/test_uri.py +263 -0
- agent_borg-3.3.2/borg/tests/test_v3_integration.py +707 -0
- agent_borg-3.3.2/borg/tests/test_version_consistency.py +27 -0
- agent_borg-3.3.2/borg/tests/test_wiring.py +312 -0
- agent_borg-3.3.2/pyproject.toml +47 -0
- agent_borg-3.2.4/PKG-INFO +0 -235
- agent_borg-3.2.4/README.md +0 -196
- agent_borg-3.2.4/agent_borg.egg-info/PKG-INFO +0 -235
- agent_borg-3.2.4/agent_borg.egg-info/SOURCES.txt +0 -151
- agent_borg-3.2.4/agent_borg.egg-info/entry_points.txt +0 -5
- agent_borg-3.2.4/agent_borg.egg-info/requires.txt +0 -23
- agent_borg-3.2.4/borg/core/convert.py +0 -341
- agent_borg-3.2.4/borg/core/failure_memory.py +0 -283
- agent_borg-3.2.4/borg/core/trace_matcher.py +0 -168
- agent_borg-3.2.4/borg/integrations/http_server.py +0 -360
- agent_borg-3.2.4/pyproject.toml +0 -68
- {agent_borg-3.2.4 → agent_borg-3.3.2}/agent_borg.egg-info/dependency_links.txt +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/agent_borg.egg-info/top_level.txt +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/benchmark/skills/test_skills.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/benchmarks/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/benchmarks/report.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/benchmarks/runner.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/benchmarks/scorer.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/benchmarks/tasks.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/benchmarks/tests/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/benchmarks/tests/test_benchmarks.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/agentskills_converter.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/aggregator.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/changes.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/conditions.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/crypto.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/generator.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/privacy.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/proof_gates.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/safety.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/schema.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/semantic_search.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/core/signals.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/db/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/db/analytics.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/db/embeddings.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/db/migrations.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/db/reputation.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/alpha_signal.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/api_clients/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/api_clients/alchemy.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/api_clients/arkham.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/api_clients/base.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/api_clients/birdeye.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/api_clients/cache.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/api_clients/defillama.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/api_clients/dexscreener.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/api_clients/goplus.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/api_clients/helius.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/cli.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/cron/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/cron/alpha_cron.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/cron/delivery.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/cron/liquidation_cron.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/cron/live_scans.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/cron/portfolio_cron.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/cron/risk_cron.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/cron/state.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/cron/whale_cron.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/cron/yield_cron.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/data_models.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/dojo_bridge.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/liquidation_watcher.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/lp_manager.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/mcp_tools.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/mev/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/mev/flashbots.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/mev/jito.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/portfolio_monitor.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/risk_engine.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/security/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/security/keystore.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/security/tx_guard.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/strategy_backtester.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/strategy_selector.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/swap_executor.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/borg_bridge.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/circuit_breaker.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/daily_brief.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/drift.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/models.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/outcome_store.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/pack_store.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/recommender.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/reputation.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/seed_packs.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/v2/warnings.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/whale_tracker.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/defi/yield_scanner.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/auto_fixer.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/cron_runner.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/data_models.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/failure_classifier.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/learning_curve.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/report_generator.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/skill_gap_detector.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/tests/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/tests/test_auto_fixer.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/tests/test_failure_classifier.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/tests/test_learning_curve.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/tests/test_pipeline.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/tests/test_report_generator.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/dojo/tests/test_skill_gap_detector.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/eval/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/eval/e1a_seed_pack_validation.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/fleet/syncer.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/integrations/__init__.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/integrations/agent_hook.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/integrations/nudge.py +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/circular-dependency-migration.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/code-review.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/configuration-error.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/defi-risk-check.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/defi-yield-strategy.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/import-cycle.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/migration-state-desync.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/missing-dependency.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/missing-foreign-key.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/null-pointer-chain.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/permission-denied.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/race-condition.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/schema-drift.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/systematic-debugging.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/test-driven-development.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/timeout-hang.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/borg/seeds_data/type-mismatch.md +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/setup.cfg +0 -0
- {agent_borg-3.2.4 → agent_borg-3.3.2}/tests/test_e2e_verify.py +0 -0
agent_borg-3.3.2/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Borg contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agent-borg
|
|
3
|
+
Version: 3.3.2
|
|
4
|
+
Summary: Collective memory MCP server for AI coding agents
|
|
5
|
+
License: MIT
|
|
6
|
+
Project-URL: Homepage, https://github.com/bensargotest-sys/borg
|
|
7
|
+
Project-URL: Repository, https://github.com/bensargotest-sys/borg
|
|
8
|
+
Project-URL: Issues, https://github.com/bensargotest-sys/borg/issues
|
|
9
|
+
Project-URL: Documentation, https://github.com/bensargotest-sys/borg/tree/main/docs
|
|
10
|
+
Keywords: mcp,ai-agents,debugging,collective-memory,workflow
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Requires-Python: >=3.10
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
Requires-Dist: sentence-transformers>=2.2.0
|
|
19
|
+
Requires-Dist: pyyaml>=6.0
|
|
20
|
+
Provides-Extra: semantic
|
|
21
|
+
Requires-Dist: sentence-transformers>=2.2.0; extra == "semantic"
|
|
22
|
+
Requires-Dist: numpy>=1.24.0; extra == "semantic"
|
|
23
|
+
Requires-Dist: scikit-learn>=1.3.0; extra == "semantic"
|
|
24
|
+
Dynamic: license-file
|
|
25
|
+
|
|
26
|
+
# Borg The Read-Through Cache for Agent Reasoning
|
|
27
|
+
|
|
28
|
+
Borg is an MCP server that gives AI coding agents a shared cache of debugging traces. Before an agent burns tool calls on an error, Borg surfaces what worked in prior sessions.
|
|
29
|
+
|
|
30
|
+
## Status (live-gated)
|
|
31
|
+
|
|
32
|
+
Borg production readiness is decided by hard gates, not static README text.
|
|
33
|
+
Canonical artifacts:
|
|
34
|
+
|
|
35
|
+
- `PROJECT_STATUS.md` (scoreboard + gate breakdown)
|
|
36
|
+
- `GO_NO_GO_DECISION.md` (binary rollout verdict)
|
|
37
|
+
- `eval/gate_run_snapshot.json` and `eval/uat_scoreboard_snapshot.json` (machine-readable source of truth)
|
|
38
|
+
- `docs/VALUE_ANALYSIS_REPORT.md` and `eval/value_analysis_snapshot.json` (plain-English value/adoption report + machine snapshot)
|
|
39
|
+
|
|
40
|
+
Gate policy defaults to **strict** for experiment evidence (packet required + integrity pass + SHIP policy). Relaxed mode is only for local debugging via `BORG_ALLOW_RELAXED_EXPERIMENT_PACKET=1` and must never be used for production claims.
|
|
41
|
+
|
|
42
|
+
## Install (first-user path)
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pip install agent-borg
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
If you need to run from source instead:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
git clone https://github.com/bensargotest-sys/borg.git
|
|
52
|
+
cd borg
|
|
53
|
+
pip install -e .
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
See [docs/GETTING_STARTED.md](docs/GETTING_STARTED.md) for full setup (MCP config for Claude Desktop / Cursor / Claude Code / Cline).
|
|
57
|
+
|
|
58
|
+
MCP config (Claude Desktop / Cursor / Cline / Claude Code):
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"mcpServers": {
|
|
63
|
+
"borg": {
|
|
64
|
+
"command": "python3",
|
|
65
|
+
"args": ["-m", "borg.integrations.mcp_server"],
|
|
66
|
+
"env": { "BORG_HOME": "~/.borg" }
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## How it works
|
|
73
|
+
|
|
74
|
+
Agent calls `borg_observe(task, context)` before attempting a fix. Borg returns up to 5 results, each with a `source_tier`:
|
|
75
|
+
|
|
76
|
+
- `real` organic agent-authored trace from live sessions
|
|
77
|
+
- `synthetic` seed-pack / golden-seed / curated coverage (fallback when no real match)
|
|
78
|
+
|
|
79
|
+
After the fix, `borg_rate(helpful=True/False)` updates helpfulness scoring.
|
|
80
|
+
|
|
81
|
+
## What's real vs what's not
|
|
82
|
+
|
|
83
|
+
Phase 0 (this commit) enforces a hard separation:
|
|
84
|
+
|
|
85
|
+
- `traces` table only agent-authored organic data. Write path (`save_trace`) rejects `source` in `seed_pack`/`golden_seed`/`curated` and raises `ValueError`.
|
|
86
|
+
- `seed_traces` table synthetic and scripted-sprint coverage. Retrieval falls back here only when organic yields fewer than `limit` results.
|
|
87
|
+
|
|
88
|
+
## Performance claims
|
|
89
|
+
|
|
90
|
+
**None yet.** Public performance numbers require `borg-bench` (Phase 1) running on a held-out benchmark dataset. See `Borg_PRD_v4.md` 7 for the metrics contract and 11 for launch gates.
|
|
91
|
+
|
|
92
|
+
Prior materials that cited "27% fewer tool calls" and "67% higher success rate" were computed on synthetic seed packs and are not reproducible on real traffic. Those claims are withdrawn pending Phase 1 measurement.
|
|
93
|
+
|
|
94
|
+
## Trace format
|
|
95
|
+
|
|
96
|
+
Open format documented in `BORG_TRACE_FORMAT_v1.md`. Any agent framework that writes Borg-compatible traces can contribute.
|
|
97
|
+
|
|
98
|
+
## Invariants (CI-enforced)
|
|
99
|
+
|
|
100
|
+
| # | Invariant | Status |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| I1 | First query hits in <30s on fresh install | Pending Phase 1 harness |
|
|
103
|
+
| I2 | README performance numbers reproducible from `borg-bench` | Pending Phase 1 |
|
|
104
|
+
| I3 | `traces` and `seed_traces` architecturally separate | LIVE |
|
|
105
|
+
| I4 | PII never ships | LIVE |
|
|
106
|
+
| I5 | Exported traces validate against `BORG_TRACE_FORMAT_v1` | Pending JSON schema |
|
|
107
|
+
|
|
108
|
+
## Verification
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
BORG_HOME=~/.borg python3 -m pytest borg/tests/test_invariants.py -v
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Expected: 4 passed, 3 skipped.
|
|
115
|
+
|
|
116
|
+
## Roadmap
|
|
117
|
+
|
|
118
|
+
- **Phase 0 (done):** data hygiene, real/synthetic separation, invariant tests, honest claims
|
|
119
|
+
- **Phase 1:** `borg-bench` with WILD-200 held-out dataset, dead-end re-ranker, MCP tool rename (`borg_observe` `error_lookup`), invited beta (5 users)
|
|
120
|
+
- **Phase 2+:** public launch, trace format adoption by other agent frameworks, governance
|
|
121
|
+
|
|
122
|
+
## License
|
|
123
|
+
|
|
124
|
+
MIT (code) / CC0 (trace format specification)
|
|
125
|
+
|
|
126
|
+
## Maintainer
|
|
127
|
+
|
|
128
|
+
Single-maintainer project. Not affiliated with any company. Issues and PRs welcome but response time is best-effort.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Borg The Read-Through Cache for Agent Reasoning
|
|
2
|
+
|
|
3
|
+
Borg is an MCP server that gives AI coding agents a shared cache of debugging traces. Before an agent burns tool calls on an error, Borg surfaces what worked in prior sessions.
|
|
4
|
+
|
|
5
|
+
## Status (live-gated)
|
|
6
|
+
|
|
7
|
+
Borg production readiness is decided by hard gates, not static README text.
|
|
8
|
+
Canonical artifacts:
|
|
9
|
+
|
|
10
|
+
- `PROJECT_STATUS.md` (scoreboard + gate breakdown)
|
|
11
|
+
- `GO_NO_GO_DECISION.md` (binary rollout verdict)
|
|
12
|
+
- `eval/gate_run_snapshot.json` and `eval/uat_scoreboard_snapshot.json` (machine-readable source of truth)
|
|
13
|
+
- `docs/VALUE_ANALYSIS_REPORT.md` and `eval/value_analysis_snapshot.json` (plain-English value/adoption report + machine snapshot)
|
|
14
|
+
|
|
15
|
+
Gate policy defaults to **strict** for experiment evidence (packet required + integrity pass + SHIP policy). Relaxed mode is only for local debugging via `BORG_ALLOW_RELAXED_EXPERIMENT_PACKET=1` and must never be used for production claims.
|
|
16
|
+
|
|
17
|
+
## Install (first-user path)
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
pip install agent-borg
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
If you need to run from source instead:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
git clone https://github.com/bensargotest-sys/borg.git
|
|
27
|
+
cd borg
|
|
28
|
+
pip install -e .
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
See [docs/GETTING_STARTED.md](docs/GETTING_STARTED.md) for full setup (MCP config for Claude Desktop / Cursor / Claude Code / Cline).
|
|
32
|
+
|
|
33
|
+
MCP config (Claude Desktop / Cursor / Cline / Claude Code):
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"borg": {
|
|
39
|
+
"command": "python3",
|
|
40
|
+
"args": ["-m", "borg.integrations.mcp_server"],
|
|
41
|
+
"env": { "BORG_HOME": "~/.borg" }
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## How it works
|
|
48
|
+
|
|
49
|
+
Agent calls `borg_observe(task, context)` before attempting a fix. Borg returns up to 5 results, each with a `source_tier`:
|
|
50
|
+
|
|
51
|
+
- `real` organic agent-authored trace from live sessions
|
|
52
|
+
- `synthetic` seed-pack / golden-seed / curated coverage (fallback when no real match)
|
|
53
|
+
|
|
54
|
+
After the fix, `borg_rate(helpful=True/False)` updates helpfulness scoring.
|
|
55
|
+
|
|
56
|
+
## What's real vs what's not
|
|
57
|
+
|
|
58
|
+
Phase 0 (this commit) enforces a hard separation:
|
|
59
|
+
|
|
60
|
+
- `traces` table only agent-authored organic data. Write path (`save_trace`) rejects `source` in `seed_pack`/`golden_seed`/`curated` and raises `ValueError`.
|
|
61
|
+
- `seed_traces` table synthetic and scripted-sprint coverage. Retrieval falls back here only when organic yields fewer than `limit` results.
|
|
62
|
+
|
|
63
|
+
## Performance claims
|
|
64
|
+
|
|
65
|
+
**None yet.** Public performance numbers require `borg-bench` (Phase 1) running on a held-out benchmark dataset. See `Borg_PRD_v4.md` 7 for the metrics contract and 11 for launch gates.
|
|
66
|
+
|
|
67
|
+
Prior materials that cited "27% fewer tool calls" and "67% higher success rate" were computed on synthetic seed packs and are not reproducible on real traffic. Those claims are withdrawn pending Phase 1 measurement.
|
|
68
|
+
|
|
69
|
+
## Trace format
|
|
70
|
+
|
|
71
|
+
Open format documented in `BORG_TRACE_FORMAT_v1.md`. Any agent framework that writes Borg-compatible traces can contribute.
|
|
72
|
+
|
|
73
|
+
## Invariants (CI-enforced)
|
|
74
|
+
|
|
75
|
+
| # | Invariant | Status |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| I1 | First query hits in <30s on fresh install | Pending Phase 1 harness |
|
|
78
|
+
| I2 | README performance numbers reproducible from `borg-bench` | Pending Phase 1 |
|
|
79
|
+
| I3 | `traces` and `seed_traces` architecturally separate | LIVE |
|
|
80
|
+
| I4 | PII never ships | LIVE |
|
|
81
|
+
| I5 | Exported traces validate against `BORG_TRACE_FORMAT_v1` | Pending JSON schema |
|
|
82
|
+
|
|
83
|
+
## Verification
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
BORG_HOME=~/.borg python3 -m pytest borg/tests/test_invariants.py -v
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Expected: 4 passed, 3 skipped.
|
|
90
|
+
|
|
91
|
+
## Roadmap
|
|
92
|
+
|
|
93
|
+
- **Phase 0 (done):** data hygiene, real/synthetic separation, invariant tests, honest claims
|
|
94
|
+
- **Phase 1:** `borg-bench` with WILD-200 held-out dataset, dead-end re-ranker, MCP tool rename (`borg_observe` `error_lookup`), invited beta (5 users)
|
|
95
|
+
- **Phase 2+:** public launch, trace format adoption by other agent frameworks, governance
|
|
96
|
+
|
|
97
|
+
## License
|
|
98
|
+
|
|
99
|
+
MIT (code) / CC0 (trace format specification)
|
|
100
|
+
|
|
101
|
+
## Maintainer
|
|
102
|
+
|
|
103
|
+
Single-maintainer project. Not affiliated with any company. Issues and PRs welcome but response time is best-effort.
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agent-borg
|
|
3
|
+
Version: 3.3.2
|
|
4
|
+
Summary: Collective memory MCP server for AI coding agents
|
|
5
|
+
License: MIT
|
|
6
|
+
Project-URL: Homepage, https://github.com/bensargotest-sys/borg
|
|
7
|
+
Project-URL: Repository, https://github.com/bensargotest-sys/borg
|
|
8
|
+
Project-URL: Issues, https://github.com/bensargotest-sys/borg/issues
|
|
9
|
+
Project-URL: Documentation, https://github.com/bensargotest-sys/borg/tree/main/docs
|
|
10
|
+
Keywords: mcp,ai-agents,debugging,collective-memory,workflow
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Requires-Python: >=3.10
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
Requires-Dist: sentence-transformers>=2.2.0
|
|
19
|
+
Requires-Dist: pyyaml>=6.0
|
|
20
|
+
Provides-Extra: semantic
|
|
21
|
+
Requires-Dist: sentence-transformers>=2.2.0; extra == "semantic"
|
|
22
|
+
Requires-Dist: numpy>=1.24.0; extra == "semantic"
|
|
23
|
+
Requires-Dist: scikit-learn>=1.3.0; extra == "semantic"
|
|
24
|
+
Dynamic: license-file
|
|
25
|
+
|
|
26
|
+
# Borg The Read-Through Cache for Agent Reasoning
|
|
27
|
+
|
|
28
|
+
Borg is an MCP server that gives AI coding agents a shared cache of debugging traces. Before an agent burns tool calls on an error, Borg surfaces what worked in prior sessions.
|
|
29
|
+
|
|
30
|
+
## Status (live-gated)
|
|
31
|
+
|
|
32
|
+
Borg production readiness is decided by hard gates, not static README text.
|
|
33
|
+
Canonical artifacts:
|
|
34
|
+
|
|
35
|
+
- `PROJECT_STATUS.md` (scoreboard + gate breakdown)
|
|
36
|
+
- `GO_NO_GO_DECISION.md` (binary rollout verdict)
|
|
37
|
+
- `eval/gate_run_snapshot.json` and `eval/uat_scoreboard_snapshot.json` (machine-readable source of truth)
|
|
38
|
+
- `docs/VALUE_ANALYSIS_REPORT.md` and `eval/value_analysis_snapshot.json` (plain-English value/adoption report + machine snapshot)
|
|
39
|
+
|
|
40
|
+
Gate policy defaults to **strict** for experiment evidence (packet required + integrity pass + SHIP policy). Relaxed mode is only for local debugging via `BORG_ALLOW_RELAXED_EXPERIMENT_PACKET=1` and must never be used for production claims.
|
|
41
|
+
|
|
42
|
+
## Install (first-user path)
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pip install agent-borg
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
If you need to run from source instead:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
git clone https://github.com/bensargotest-sys/borg.git
|
|
52
|
+
cd borg
|
|
53
|
+
pip install -e .
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
See [docs/GETTING_STARTED.md](docs/GETTING_STARTED.md) for full setup (MCP config for Claude Desktop / Cursor / Claude Code / Cline).
|
|
57
|
+
|
|
58
|
+
MCP config (Claude Desktop / Cursor / Cline / Claude Code):
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"mcpServers": {
|
|
63
|
+
"borg": {
|
|
64
|
+
"command": "python3",
|
|
65
|
+
"args": ["-m", "borg.integrations.mcp_server"],
|
|
66
|
+
"env": { "BORG_HOME": "~/.borg" }
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## How it works
|
|
73
|
+
|
|
74
|
+
Agent calls `borg_observe(task, context)` before attempting a fix. Borg returns up to 5 results, each with a `source_tier`:
|
|
75
|
+
|
|
76
|
+
- `real` organic agent-authored trace from live sessions
|
|
77
|
+
- `synthetic` seed-pack / golden-seed / curated coverage (fallback when no real match)
|
|
78
|
+
|
|
79
|
+
After the fix, `borg_rate(helpful=True/False)` updates helpfulness scoring.
|
|
80
|
+
|
|
81
|
+
## What's real vs what's not
|
|
82
|
+
|
|
83
|
+
Phase 0 (this commit) enforces a hard separation:
|
|
84
|
+
|
|
85
|
+
- `traces` table only agent-authored organic data. Write path (`save_trace`) rejects `source` in `seed_pack`/`golden_seed`/`curated` and raises `ValueError`.
|
|
86
|
+
- `seed_traces` table synthetic and scripted-sprint coverage. Retrieval falls back here only when organic yields fewer than `limit` results.
|
|
87
|
+
|
|
88
|
+
## Performance claims
|
|
89
|
+
|
|
90
|
+
**None yet.** Public performance numbers require `borg-bench` (Phase 1) running on a held-out benchmark dataset. See `Borg_PRD_v4.md` 7 for the metrics contract and 11 for launch gates.
|
|
91
|
+
|
|
92
|
+
Prior materials that cited "27% fewer tool calls" and "67% higher success rate" were computed on synthetic seed packs and are not reproducible on real traffic. Those claims are withdrawn pending Phase 1 measurement.
|
|
93
|
+
|
|
94
|
+
## Trace format
|
|
95
|
+
|
|
96
|
+
Open format documented in `BORG_TRACE_FORMAT_v1.md`. Any agent framework that writes Borg-compatible traces can contribute.
|
|
97
|
+
|
|
98
|
+
## Invariants (CI-enforced)
|
|
99
|
+
|
|
100
|
+
| # | Invariant | Status |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| I1 | First query hits in <30s on fresh install | Pending Phase 1 harness |
|
|
103
|
+
| I2 | README performance numbers reproducible from `borg-bench` | Pending Phase 1 |
|
|
104
|
+
| I3 | `traces` and `seed_traces` architecturally separate | LIVE |
|
|
105
|
+
| I4 | PII never ships | LIVE |
|
|
106
|
+
| I5 | Exported traces validate against `BORG_TRACE_FORMAT_v1` | Pending JSON schema |
|
|
107
|
+
|
|
108
|
+
## Verification
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
BORG_HOME=~/.borg python3 -m pytest borg/tests/test_invariants.py -v
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Expected: 4 passed, 3 skipped.
|
|
115
|
+
|
|
116
|
+
## Roadmap
|
|
117
|
+
|
|
118
|
+
- **Phase 0 (done):** data hygiene, real/synthetic separation, invariant tests, honest claims
|
|
119
|
+
- **Phase 1:** `borg-bench` with WILD-200 held-out dataset, dead-end re-ranker, MCP tool rename (`borg_observe` `error_lookup`), invited beta (5 users)
|
|
120
|
+
- **Phase 2+:** public launch, trace format adoption by other agent frameworks, governance
|
|
121
|
+
|
|
122
|
+
## License
|
|
123
|
+
|
|
124
|
+
MIT (code) / CC0 (trace format specification)
|
|
125
|
+
|
|
126
|
+
## Maintainer
|
|
127
|
+
|
|
128
|
+
Single-maintainer project. Not affiliated with any company. Issues and PRs welcome but response time is best-effort.
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
README.md
|
|
3
|
+
pyproject.toml
|
|
4
|
+
agent_borg.egg-info/PKG-INFO
|
|
5
|
+
agent_borg.egg-info/SOURCES.txt
|
|
6
|
+
agent_borg.egg-info/dependency_links.txt
|
|
7
|
+
agent_borg.egg-info/entry_points.txt
|
|
8
|
+
agent_borg.egg-info/requires.txt
|
|
9
|
+
agent_borg.egg-info/top_level.txt
|
|
10
|
+
borg/__init__.py
|
|
11
|
+
borg/cli.py
|
|
12
|
+
borg/benchmark/skills/test_skills.py
|
|
13
|
+
borg/benchmarks/__init__.py
|
|
14
|
+
borg/benchmarks/report.py
|
|
15
|
+
borg/benchmarks/runner.py
|
|
16
|
+
borg/benchmarks/scorer.py
|
|
17
|
+
borg/benchmarks/tasks.py
|
|
18
|
+
borg/benchmarks/tests/__init__.py
|
|
19
|
+
borg/benchmarks/tests/test_benchmarks.py
|
|
20
|
+
borg/cli/__init__.py
|
|
21
|
+
borg/cli/doctor.py
|
|
22
|
+
borg/cli/install.py
|
|
23
|
+
borg/core/__init__.py
|
|
24
|
+
borg/core/action_policy.py
|
|
25
|
+
borg/core/agentskills_converter.py
|
|
26
|
+
borg/core/aggregator.py
|
|
27
|
+
borg/core/apply.py
|
|
28
|
+
borg/core/bm25_index.py
|
|
29
|
+
borg/core/canonical_truth.py
|
|
30
|
+
borg/core/causal.py
|
|
31
|
+
borg/core/changes.py
|
|
32
|
+
borg/core/clustering.py
|
|
33
|
+
borg/core/cold_start.py
|
|
34
|
+
borg/core/conditions.py
|
|
35
|
+
borg/core/contextual_selector.py
|
|
36
|
+
borg/core/convert.py
|
|
37
|
+
borg/core/crypto.py
|
|
38
|
+
borg/core/dirs.py
|
|
39
|
+
borg/core/embeddings.py
|
|
40
|
+
borg/core/failure_memory.py
|
|
41
|
+
borg/core/feedback_loop.py
|
|
42
|
+
borg/core/generate.py
|
|
43
|
+
borg/core/generator.py
|
|
44
|
+
borg/core/mutation_engine.py
|
|
45
|
+
borg/core/negative_traces.py
|
|
46
|
+
borg/core/openclaw_converter.py
|
|
47
|
+
borg/core/outcome_ledger.py
|
|
48
|
+
borg/core/pack_taxonomy.py
|
|
49
|
+
borg/core/privacy.py
|
|
50
|
+
borg/core/proof_gates.py
|
|
51
|
+
borg/core/provider_router.py
|
|
52
|
+
borg/core/publish.py
|
|
53
|
+
borg/core/quality_gate.py
|
|
54
|
+
borg/core/rate_limiter.py
|
|
55
|
+
borg/core/response_formatter.py
|
|
56
|
+
borg/core/safety.py
|
|
57
|
+
borg/core/sanitizer.py
|
|
58
|
+
borg/core/schema.py
|
|
59
|
+
borg/core/search.py
|
|
60
|
+
borg/core/seed_loader.py
|
|
61
|
+
borg/core/seeds.py
|
|
62
|
+
borg/core/semantic_search.py
|
|
63
|
+
borg/core/session.py
|
|
64
|
+
borg/core/signals.py
|
|
65
|
+
borg/core/stack.py
|
|
66
|
+
borg/core/status.py
|
|
67
|
+
borg/core/synthesis.py
|
|
68
|
+
borg/core/telemetry.py
|
|
69
|
+
borg/core/temporal.py
|
|
70
|
+
borg/core/trace_matcher.py
|
|
71
|
+
borg/core/traces.py
|
|
72
|
+
borg/core/uri.py
|
|
73
|
+
borg/core/v3_integration.py
|
|
74
|
+
borg/db/__init__.py
|
|
75
|
+
borg/db/analytics.py
|
|
76
|
+
borg/db/embeddings.py
|
|
77
|
+
borg/db/migrations.py
|
|
78
|
+
borg/db/reputation.py
|
|
79
|
+
borg/db/store.py
|
|
80
|
+
borg/defi/__init__.py
|
|
81
|
+
borg/defi/alpha_signal.py
|
|
82
|
+
borg/defi/cli.py
|
|
83
|
+
borg/defi/data_models.py
|
|
84
|
+
borg/defi/dojo_bridge.py
|
|
85
|
+
borg/defi/liquidation_watcher.py
|
|
86
|
+
borg/defi/lp_manager.py
|
|
87
|
+
borg/defi/mcp_tools.py
|
|
88
|
+
borg/defi/portfolio_monitor.py
|
|
89
|
+
borg/defi/risk_engine.py
|
|
90
|
+
borg/defi/strategy_backtester.py
|
|
91
|
+
borg/defi/strategy_selector.py
|
|
92
|
+
borg/defi/swap_executor.py
|
|
93
|
+
borg/defi/whale_tracker.py
|
|
94
|
+
borg/defi/yield_scanner.py
|
|
95
|
+
borg/defi/api_clients/__init__.py
|
|
96
|
+
borg/defi/api_clients/alchemy.py
|
|
97
|
+
borg/defi/api_clients/arkham.py
|
|
98
|
+
borg/defi/api_clients/base.py
|
|
99
|
+
borg/defi/api_clients/birdeye.py
|
|
100
|
+
borg/defi/api_clients/cache.py
|
|
101
|
+
borg/defi/api_clients/defillama.py
|
|
102
|
+
borg/defi/api_clients/dexscreener.py
|
|
103
|
+
borg/defi/api_clients/goplus.py
|
|
104
|
+
borg/defi/api_clients/helius.py
|
|
105
|
+
borg/defi/cron/__init__.py
|
|
106
|
+
borg/defi/cron/alpha_cron.py
|
|
107
|
+
borg/defi/cron/delivery.py
|
|
108
|
+
borg/defi/cron/liquidation_cron.py
|
|
109
|
+
borg/defi/cron/live_scans.py
|
|
110
|
+
borg/defi/cron/portfolio_cron.py
|
|
111
|
+
borg/defi/cron/risk_cron.py
|
|
112
|
+
borg/defi/cron/state.py
|
|
113
|
+
borg/defi/cron/whale_cron.py
|
|
114
|
+
borg/defi/cron/yield_cron.py
|
|
115
|
+
borg/defi/mev/__init__.py
|
|
116
|
+
borg/defi/mev/flashbots.py
|
|
117
|
+
borg/defi/mev/jito.py
|
|
118
|
+
borg/defi/security/__init__.py
|
|
119
|
+
borg/defi/security/keystore.py
|
|
120
|
+
borg/defi/security/tx_guard.py
|
|
121
|
+
borg/defi/tests/__init__.py
|
|
122
|
+
borg/defi/tests/test_alchemy.py
|
|
123
|
+
borg/defi/tests/test_alpha_signal.py
|
|
124
|
+
borg/defi/tests/test_api_clients.py
|
|
125
|
+
borg/defi/tests/test_arkham.py
|
|
126
|
+
borg/defi/tests/test_base_client.py
|
|
127
|
+
borg/defi/tests/test_cache.py
|
|
128
|
+
borg/defi/tests/test_cli.py
|
|
129
|
+
borg/defi/tests/test_cron.py
|
|
130
|
+
borg/defi/tests/test_cron_delivery.py
|
|
131
|
+
borg/defi/tests/test_cron_state.py
|
|
132
|
+
borg/defi/tests/test_data_models.py
|
|
133
|
+
borg/defi/tests/test_dojo_bridge.py
|
|
134
|
+
borg/defi/tests/test_e2e_live.py
|
|
135
|
+
borg/defi/tests/test_goplus.py
|
|
136
|
+
borg/defi/tests/test_keystore_unit.py
|
|
137
|
+
borg/defi/tests/test_liquidation_watcher.py
|
|
138
|
+
borg/defi/tests/test_live_scans.py
|
|
139
|
+
borg/defi/tests/test_lp_manager.py
|
|
140
|
+
borg/defi/tests/test_mcp_tools.py
|
|
141
|
+
borg/defi/tests/test_mev.py
|
|
142
|
+
borg/defi/tests/test_portfolio_monitor.py
|
|
143
|
+
borg/defi/tests/test_risk_engine.py
|
|
144
|
+
borg/defi/tests/test_strategy_backtester.py
|
|
145
|
+
borg/defi/tests/test_strategy_selector.py
|
|
146
|
+
borg/defi/tests/test_swap_executor.py
|
|
147
|
+
borg/defi/tests/test_tx_guard_unit.py
|
|
148
|
+
borg/defi/tests/test_v2_borg_bridge.py
|
|
149
|
+
borg/defi/tests/test_v2_circuit_breaker.py
|
|
150
|
+
borg/defi/tests/test_v2_drift.py
|
|
151
|
+
borg/defi/tests/test_v2_integration.py
|
|
152
|
+
borg/defi/tests/test_v2_models.py
|
|
153
|
+
borg/defi/tests/test_v2_outcome_store.py
|
|
154
|
+
borg/defi/tests/test_v2_pack_store.py
|
|
155
|
+
borg/defi/tests/test_v2_recommender.py
|
|
156
|
+
borg/defi/tests/test_v2_reputation.py
|
|
157
|
+
borg/defi/tests/test_v2_seed_packs.py
|
|
158
|
+
borg/defi/tests/test_v2_warnings.py
|
|
159
|
+
borg/defi/tests/test_whale_tracker.py
|
|
160
|
+
borg/defi/tests/test_yield_scanner.py
|
|
161
|
+
borg/defi/v2/__init__.py
|
|
162
|
+
borg/defi/v2/borg_bridge.py
|
|
163
|
+
borg/defi/v2/circuit_breaker.py
|
|
164
|
+
borg/defi/v2/daily_brief.py
|
|
165
|
+
borg/defi/v2/drift.py
|
|
166
|
+
borg/defi/v2/models.py
|
|
167
|
+
borg/defi/v2/outcome_store.py
|
|
168
|
+
borg/defi/v2/pack_store.py
|
|
169
|
+
borg/defi/v2/recommender.py
|
|
170
|
+
borg/defi/v2/reputation.py
|
|
171
|
+
borg/defi/v2/seed_packs.py
|
|
172
|
+
borg/defi/v2/warnings.py
|
|
173
|
+
borg/dojo/__init__.py
|
|
174
|
+
borg/dojo/auto_fixer.py
|
|
175
|
+
borg/dojo/cron_runner.py
|
|
176
|
+
borg/dojo/data_models.py
|
|
177
|
+
borg/dojo/failure_classifier.py
|
|
178
|
+
borg/dojo/learning_curve.py
|
|
179
|
+
borg/dojo/pipeline.py
|
|
180
|
+
borg/dojo/report_generator.py
|
|
181
|
+
borg/dojo/session_reader.py
|
|
182
|
+
borg/dojo/skill_gap_detector.py
|
|
183
|
+
borg/dojo/tests/__init__.py
|
|
184
|
+
borg/dojo/tests/test_auto_fixer.py
|
|
185
|
+
borg/dojo/tests/test_failure_classifier.py
|
|
186
|
+
borg/dojo/tests/test_learning_curve.py
|
|
187
|
+
borg/dojo/tests/test_pipeline.py
|
|
188
|
+
borg/dojo/tests/test_report_generator.py
|
|
189
|
+
borg/dojo/tests/test_session_reader.py
|
|
190
|
+
borg/dojo/tests/test_skill_gap_detector.py
|
|
191
|
+
borg/eval/__init__.py
|
|
192
|
+
borg/eval/ab_test.py
|
|
193
|
+
borg/eval/e1a_seed_pack_validation.py
|
|
194
|
+
borg/eval/production_smoke_test.py
|
|
195
|
+
borg/fleet/syncer.py
|
|
196
|
+
borg/integrations/__init__.py
|
|
197
|
+
borg/integrations/agent_hook.py
|
|
198
|
+
borg/integrations/http_server.py
|
|
199
|
+
borg/integrations/mcp_server.py
|
|
200
|
+
borg/integrations/nudge.py
|
|
201
|
+
borg/seeds_data/circular-dependency-migration.md
|
|
202
|
+
borg/seeds_data/code-review.md
|
|
203
|
+
borg/seeds_data/collective_seed.json
|
|
204
|
+
borg/seeds_data/configuration-error.md
|
|
205
|
+
borg/seeds_data/defi-risk-check.md
|
|
206
|
+
borg/seeds_data/defi-yield-strategy.md
|
|
207
|
+
borg/seeds_data/extended_seeds.yaml
|
|
208
|
+
borg/seeds_data/import-cycle.md
|
|
209
|
+
borg/seeds_data/migration-state-desync.md
|
|
210
|
+
borg/seeds_data/missing-dependency.md
|
|
211
|
+
borg/seeds_data/missing-foreign-key.md
|
|
212
|
+
borg/seeds_data/null-pointer-chain.md
|
|
213
|
+
borg/seeds_data/permission-denied.md
|
|
214
|
+
borg/seeds_data/race-condition.md
|
|
215
|
+
borg/seeds_data/schema-drift.md
|
|
216
|
+
borg/seeds_data/systematic-debugging.md
|
|
217
|
+
borg/seeds_data/test-driven-development.md
|
|
218
|
+
borg/seeds_data/timeout-hang.md
|
|
219
|
+
borg/seeds_data/type-mismatch.md
|
|
220
|
+
borg/seeds_data/borg/SKILL.md
|
|
221
|
+
borg/seeds_data/borg-autopilot/SKILL.md
|
|
222
|
+
borg/seeds_data/packs/bash-permission-denied.yaml
|
|
223
|
+
borg/seeds_data/packs/django-circular-dependency.yaml
|
|
224
|
+
borg/seeds_data/packs/django-migration-state.yaml
|
|
225
|
+
borg/seeds_data/packs/django-null-pointer.yaml
|
|
226
|
+
borg/seeds_data/packs/django-schema-drift.yaml
|
|
227
|
+
borg/seeds_data/packs/docker-no-space.yaml
|
|
228
|
+
borg/seeds_data/packs/git-merge-conflict.yaml
|
|
229
|
+
borg/seeds_data/packs/pytest-flaky-test.yaml
|
|
230
|
+
borg/seeds_data/packs/python-import-cycle.yaml
|
|
231
|
+
borg/seeds_data/packs/python-missing-dependency.yaml
|
|
232
|
+
borg/tests/__init__.py
|
|
233
|
+
borg/tests/test_agent_hook.py
|
|
234
|
+
borg/tests/test_aggregator.py
|
|
235
|
+
borg/tests/test_analytics.py
|
|
236
|
+
borg/tests/test_apply.py
|
|
237
|
+
borg/tests/test_change_awareness.py
|
|
238
|
+
borg/tests/test_classify_error.py
|
|
239
|
+
borg/tests/test_cli.py
|
|
240
|
+
borg/tests/test_conditions.py
|
|
241
|
+
borg/tests/test_contextual_selector.py
|
|
242
|
+
borg/tests/test_convert.py
|
|
243
|
+
borg/tests/test_convert_openclaw.py
|
|
244
|
+
borg/tests/test_dirs.py
|
|
245
|
+
borg/tests/test_dojo_pipeline.py
|
|
246
|
+
borg/tests/test_e2e_learning_loop.py
|
|
247
|
+
borg/tests/test_e2e_learning_loop_v3.py
|
|
248
|
+
borg/tests/test_failure_memory.py
|
|
249
|
+
borg/tests/test_feedback_loop.py
|
|
250
|
+
borg/tests/test_fleet_syncer.py
|
|
251
|
+
borg/tests/test_generate.py
|
|
252
|
+
borg/tests/test_generator.py
|
|
253
|
+
borg/tests/test_golden_queries.py
|
|
254
|
+
borg/tests/test_invariants.py
|
|
255
|
+
borg/tests/test_mcp_hardening.py
|
|
256
|
+
borg/tests/test_mcp_server.py
|
|
257
|
+
borg/tests/test_mcp_server_extended.py
|
|
258
|
+
borg/tests/test_mutation_engine.py
|
|
259
|
+
borg/tests/test_nudge.py
|
|
260
|
+
borg/tests/test_observe_search_roundtrip.py
|
|
261
|
+
borg/tests/test_openclaw_converter.py
|
|
262
|
+
borg/tests/test_pack_compatibility.py
|
|
263
|
+
borg/tests/test_perf_candidate_cache.py
|
|
264
|
+
borg/tests/test_privacy.py
|
|
265
|
+
borg/tests/test_proof_gates.py
|
|
266
|
+
borg/tests/test_publish.py
|
|
267
|
+
borg/tests/test_publish_flow_debug.py
|
|
268
|
+
borg/tests/test_publish_flow_integration.py
|
|
269
|
+
borg/tests/test_publish_sybil.py
|
|
270
|
+
borg/tests/test_pull_network.py
|
|
271
|
+
borg/tests/test_reputation.py
|
|
272
|
+
borg/tests/test_reputation_integration.py
|
|
273
|
+
borg/tests/test_safety.py
|
|
274
|
+
borg/tests/test_schema.py
|
|
275
|
+
borg/tests/test_search.py
|
|
276
|
+
borg/tests/test_semantic_search.py
|
|
277
|
+
borg/tests/test_session.py
|
|
278
|
+
borg/tests/test_start_signals.py
|
|
279
|
+
borg/tests/test_store.py
|
|
280
|
+
borg/tests/test_store_concurrency.py
|
|
281
|
+
borg/tests/test_telemetry.py
|
|
282
|
+
borg/tests/test_uri.py
|
|
283
|
+
borg/tests/test_v3_integration.py
|
|
284
|
+
borg/tests/test_version_consistency.py
|
|
285
|
+
borg/tests/test_wiring.py
|
|
286
|
+
borg/tests/fixtures/openclaw/quick_validate.py
|
|
287
|
+
tests/test_e2e_verify.py
|