agents-remember-mcp 0.1.0__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.
- agents_remember_mcp-0.1.0/PKG-INFO +12 -0
- agents_remember_mcp-0.1.0/pyproject.toml +33 -0
- agents_remember_mcp-0.1.0/setup.cfg +4 -0
- agents_remember_mcp-0.1.0/src/agents_remember/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner.py +37 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/analysis.py +217 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/cli.py +192 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/commands.py +27 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/constants.py +47 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/execution.py +431 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/filesystem.py +215 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/manifest.py +223 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/mcp_registration.py +302 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/models.py +65 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/roots.py +17 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/services.py +131 -0
- agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/workspace.py +241 -0
- agents_remember_mcp-0.1.0/src/agents_remember/cli/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/cli/context_packet.py +56 -0
- agents_remember_mcp-0.1.0/src/agents_remember/code_quality/__init__.py +2 -0
- agents_remember_mcp-0.1.0/src/agents_remember/code_quality/check.py +235 -0
- agents_remember_mcp-0.1.0/src/agents_remember/code_quality/crap_calculator.py +370 -0
- agents_remember_mcp-0.1.0/src/agents_remember/controllers/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/controllers/context_packet.py +111 -0
- agents_remember_mcp-0.1.0/src/agents_remember/controllers/runtime_install.py +28 -0
- agents_remember_mcp-0.1.0/src/agents_remember/controllers/skill_tools.py +1214 -0
- agents_remember_mcp-0.1.0/src/agents_remember/install/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/install/assets.py +57 -0
- agents_remember_mcp-0.1.0/src/agents_remember/install/runtime.py +553 -0
- agents_remember_mcp-0.1.0/src/agents_remember/install/skills.py +177 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/cli.py +88 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/contracts.py +39 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/cross_repo.py +182 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/json_settings.py +131 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/markdown_cross_repo.py +39 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/markdown_global_rules.py +47 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/markdown_settings.py +269 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/models.py +96 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/paths.py +159 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/resolver.py +390 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/serialize.py +139 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/setting_values.py +126 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/settings.py +72 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/storage.py +152 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context_resolver.py +245 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/filesystem.py +45 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/git_facts.py +108 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/memory_init.py +95 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/memory_ledger.py +241 -0
- agents_remember_mcp-0.1.0/src/agents_remember/kernel/route_index.py +543 -0
- agents_remember_mcp-0.1.0/src/agents_remember/mcp/__init__.py +4 -0
- agents_remember_mcp-0.1.0/src/agents_remember/mcp/__main__.py +8 -0
- agents_remember_mcp-0.1.0/src/agents_remember/mcp/command_capture.py +49 -0
- agents_remember_mcp-0.1.0/src/agents_remember/mcp/config.py +276 -0
- agents_remember_mcp-0.1.0/src/agents_remember/mcp/safety.py +15 -0
- agents_remember_mcp-0.1.0/src/agents_remember/mcp/server.py +588 -0
- agents_remember_mcp-0.1.0/src/agents_remember/mcp/tools.py +701 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory/baseline.py +311 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory/carryover.py +441 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/check.py +141 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/check_missing_onboarding.py +265 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/ledger_consistency.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/onboarding_drift_check/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/onboarding_drift_check/drift.py +1371 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/onboarding_drift_check/summary.py +103 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/style/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/style/update_history/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/style/update_history/history_order.py +228 -0
- agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/style/update_history/history_order_fix.py +151 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/.gitignore +2 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/README.md +94 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/README.md +18 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-001.final.md +25 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-001.jsonl +103 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-001.metadata.json +30 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-001.stderr +634 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-002.final.md +25 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-002.jsonl +115 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-002.metadata.json +30 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-002.stderr +472 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-003.final.md +17 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-003.jsonl +103 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-003.metadata.json +30 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/no-onboarding/run-003.stderr +328 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/summary.md +63 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-001.final.md +23 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-001.jsonl +101 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-001.metadata.json +30 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-001.stderr +336 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-002.final.md +14 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-002.jsonl +94 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-002.metadata.json +30 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-002.stderr +492 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-003.final.md +15 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-003.jsonl +132 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-003.metadata.json +30 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding/run-003.stderr +363 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-001.final.md +19 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-001.jsonl +95 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-001.metadata.json +30 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-001.stderr +381 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-002.final.md +11 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-002.jsonl +116 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-002.metadata.json +30 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-002.stderr +410 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-003.final.md +11 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-003.jsonl +102 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-003.metadata.json +30 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/2026-05-19/with-onboarding-warm/run-003.stderr +429 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/README.md +8 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/case.json +73 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/prompts/triage-check-numerics-xla.no-onboarding.md +51 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/prompts/triage-check-numerics-xla.with-onboarding-warm.md +69 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/prompts/triage-check-numerics-xla.with-onboarding.md +53 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/ticket.md +71 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/docs/benchmarks-methodology.md +98 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/templates/source-only-AGENTS.md +22 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/templates/workspace-AGENTS.md +26 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/agents-md-files/coordinator/AGENTS.md +142 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/agents-md-files/skills/AGENTS.md +34 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/agents-md-files/system/AGENTS.md +89 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/agents-md-files/tasks/AGENTS.md +153 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/compose/codegraphcontext.compose.yaml +17 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/compose/codegraphcontext.override.yaml.tmpl +26 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/compose/codegraphcontext.watcher.yaml.tmpl +14 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/compose/grepai.compose.yaml +24 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/compose/grepai.override.yaml.tmpl +36 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/docker/codegraphcontext/Dockerfile +16 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/docker/codegraphcontext/patch_cgc.py +130 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/docker/codegraphcontext/requirements.txt +4 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/docker/grepai/Dockerfile +19 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/patches/codegraphcontext/codegraphcontext-0.4.10-cgcignore-runtime-root.patch +13 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/requirements/codegraphcontext.txt +4 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/requirements/grepai.txt +2 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-00-initialize-memory-repo/SKILL.md +306 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-01-findings-capture/SKILL.md +39 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-01-findings-capture/findings-capture-workflow.md +121 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-02-memory-quality-control/SKILL.md +217 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/SKILL.md +1265 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/bootstrap-handoff-template.md +82 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/bootstrap-input-ledger-template.md +100 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/bootstrap-state-template.md +88 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/coverage-plan-template.md +65 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/cross-repo-boundary-pack-template.md +51 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/curator-review-template.md +62 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/docs-evidence-pack-template.md +52 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/file-card-template.md +100 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/governing-route-map-template.md +52 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/onboarding-wave-template.md +65 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/repo-overview-template.md +83 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/route-local-overview-card-template.md +61 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-03-repo-bootstrap/templates/route-local-overview-template.md +112 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-04-retrieval-strategy-router/SKILL.md +163 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-04-retrieval-strategy-router/codegraphcontext-high-level-methods.md +185 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-04-retrieval-strategy-router/grepai-high-leverage-usage.md +211 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-05-create-or-update-onboarding-files/SKILL.md +187 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-05-create-or-update-onboarding-files/templates/file-level-onboarding-template.md +68 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-05-create-or-update-onboarding-files/templates/inline-onboarding-block-template.md +51 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-05-create-or-update-onboarding-files/templates/repo-entity-catalog-template.md +56 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-05-create-or-update-onboarding-files/workflows/file-level-onboarding-workflow.md +121 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-05-create-or-update-onboarding-files/workflows/inline-onboarding-workflow.md +25 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-05-create-or-update-onboarding-files/workflows/repo-entity-catalog-workflow.md +107 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-08-ar-coordination-context-resolver/SKILL.md +102 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-09-git-worktree-manager/SKILL.md +106 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-10-adopt-memory-baseline/SKILL.md +49 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-11-memory-carryover-from-branch/SKILL.md +51 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-12-closeout/SKILL.md +112 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/SKILL.md +98 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-00-creation/C-01-task-folder-creation/SKILL.md +25 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-01-research/R-01-requirements-normalization/SKILL.md +38 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-01-research/R-01-requirements-normalization/normalized-candidate-template.md +44 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-01-research/R-01-requirements-normalization/workflow.md +38 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-01-research/R-02-input-documentation/SKILL.md +6 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-01-research/R-02-input-documentation/input-documentation-overview-template.md +74 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-01-research/R-02-input-documentation/input-documentation-template.md +64 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-01-research/R-02-input-documentation/input-documentation-workflow.md +235 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-02-synthesis/S-01-requirement-question-framing/SKILL.md +23 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-02-synthesis/S-02-architecture-question-framing/SKILL.md +23 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-03-design/D-01-requirement-clarification/SKILL.md +23 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-03-design/D-02-architecture-deliberation/SKILL.md +24 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-03-design/D-03-output-dry-run-planning/SKILL.md +24 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-03-design/D-04-output-documentation/SKILL.md +26 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-03-design/D-04-output-documentation/output-documentation-overview-template.md +42 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-03-design/D-04-output-documentation/output-documentation-template.md +63 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-03-design/D-04-output-documentation/output-documentation-workflow.md +26 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-04-planning/P-01-implementation-planning/SKILL.md +31 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-04-planning/P-01-implementation-planning/implementation-plan-template.md +103 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-04-planning/P-01-implementation-planning/quality-checks.md +14 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-04-planning/P-01-implementation-planning/workflow.md +30 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-05-implementation/I-01-implementation/SKILL.md +33 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-99-review/R-01-adversarial-review/SKILL.md +87 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-99-review/R-01-adversarial-review/checkpoint-cp1-research.md +62 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-99-review/R-01-adversarial-review/checkpoint-cp2-synthesis.md +61 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-99-review/R-01-adversarial-review/checkpoint-cp3-design.md +62 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-99-review/R-01-adversarial-review/checkpoint-cp4-planning.md +68 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-99-review/R-01-adversarial-review/checkpoint-cp5-implementation.md +61 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/skills/P-99-review/R-01-adversarial-review/review-template.md +72 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/templates/requirement-change-candidates-template.md +30 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/templates/task-structure.md +109 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/workflow/P-00-creation.md +160 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/workflow/P-01-research.md +122 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/workflow/P-02-synthesis.md +101 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/workflow/P-03-design.md +122 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/workflow/P-04-planning.md +100 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/workflow/P-05-implementation.md +125 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/workflow/P-06-closure.md +104 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/SKILL.md +82 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/docs/architecture.md +391 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/docs/overview.md +338 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/docs/requirements.md +562 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/template.md +105 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/workflow.md +252 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-03-chat-task-workflow/SKILL.md +18 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/README.md +31 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/coordinator/settings.md +135 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/coordinator/sources.md +12 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/coordinator/tools.md +91 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/memory-repo/coding-guidelines.md +37 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/memory-repo/settings.json +45 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/memory-repo/settings.md +44 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/memory-repo/sources.md +22 -0
- agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/memory-repo/tools.md +17 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/__init__.py +3 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/bundle.py +184 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/context/__init__.py +7 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/context/constants.py +320 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/context/core.py +643 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/context/patches.py +325 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/__init__.py +27 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/backend.py +535 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/compose.py +126 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/core.py +285 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/installation.py +559 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/process_control.py +361 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/query.py +169 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/refresh.py +127 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/runner.py +104 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/seed.py +453 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/setup.py +210 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/context/__init__.py +9 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/context/common.py +113 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/__init__.py +3 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/__init__.py +8 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/artifacts.py +62 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/constants.py +18 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/core.py +8 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/layout.py +351 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/workspace.py +128 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/__init__.py +25 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/actions.py +542 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/backend.py +567 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/compose.py +102 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/core.py +404 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/embedder.py +435 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/runner.py +331 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/setup.py +37 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/integrity.py +141 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/__init__.py +38 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/__main__.py +8 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/cli.py +340 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/command_runner.py +131 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/compose_runtime.py +243 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/docker_runtime.py +215 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/host_ports.py +52 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/process_status.py +105 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/provider_settings.py +54 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/result_rendering.py +85 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/runtime_environment.py +33 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/state_files.py +18 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/watchers.py +213 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle_service.py +161 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/provider_setup.py +382 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/settings.py +234 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/setup_common.py +187 -0
- agents_remember_mcp-0.1.0/src/agents_remember/providers/status.py +166 -0
- agents_remember_mcp-0.1.0/src/agents_remember/tasks/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/git_worktree_manager.py +176 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/__init__.py +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/cleanup.py +161 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/cli.py +158 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/closeout.py +365 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/context.py +62 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/git.py +104 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/guidance.py +140 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/integrate.py +400 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/models.py +17 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/onboarding.py +290 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/start.py +420 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/status.py +58 -0
- agents_remember_mcp-0.1.0/src/agents_remember/worktrees/worktree_contract.py +416 -0
- agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/PKG-INFO +12 -0
- agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/SOURCES.txt +318 -0
- agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/dependency_links.txt +1 -0
- agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/entry_points.txt +2 -0
- agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/requires.txt +8 -0
- agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/top_level.txt +1 -0
- agents_remember_mcp-0.1.0/tests/test_code_quality_check.py +170 -0
- agents_remember_mcp-0.1.0/tests/test_config.py +258 -0
- agents_remember_mcp-0.1.0/tests/test_context_packet.py +202 -0
- agents_remember_mcp-0.1.0/tests/test_context_providers.py +808 -0
- agents_remember_mcp-0.1.0/tests/test_crap_calculator.py +153 -0
- agents_remember_mcp-0.1.0/tests/test_install_runtime.py +131 -0
- agents_remember_mcp-0.1.0/tests/test_integrity.py +103 -0
- agents_remember_mcp-0.1.0/tests/test_memory_quality.py +291 -0
- agents_remember_mcp-0.1.0/tests/test_missing_onboarding.py +202 -0
- agents_remember_mcp-0.1.0/tests/test_provider_lifecycle.py +759 -0
- agents_remember_mcp-0.1.0/tests/test_provider_setup.py +239 -0
- agents_remember_mcp-0.1.0/tests/test_resolver_parity.py +268 -0
- agents_remember_mcp-0.1.0/tests/test_route_index.py +124 -0
- agents_remember_mcp-0.1.0/tests/test_tools.py +774 -0
- agents_remember_mcp-0.1.0/tests/test_worktree_support.py +2424 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agents-remember-mcp
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Model Context Protocol server for Agents Remember.
|
|
5
|
+
Requires-Python: >=3.11
|
|
6
|
+
Requires-Dist: mcp<2,>=1.12.4
|
|
7
|
+
Provides-Extra: dev
|
|
8
|
+
Requires-Dist: coverage<8,>=7.14; extra == "dev"
|
|
9
|
+
Requires-Dist: pytest<10,>=9; extra == "dev"
|
|
10
|
+
Requires-Dist: pytest-cov<8,>=7; extra == "dev"
|
|
11
|
+
Requires-Dist: radon<7,>=6; extra == "dev"
|
|
12
|
+
Requires-Dist: ruff<1,>=0.15; extra == "dev"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "agents-remember-mcp"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Model Context Protocol server for Agents Remember."
|
|
9
|
+
requires-python = ">=3.11"
|
|
10
|
+
dependencies = [
|
|
11
|
+
"mcp>=1.12.4,<2",
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
[project.optional-dependencies]
|
|
15
|
+
dev = [
|
|
16
|
+
"coverage>=7.14,<8",
|
|
17
|
+
"pytest>=9,<10",
|
|
18
|
+
"pytest-cov>=7,<8",
|
|
19
|
+
"radon>=6,<7",
|
|
20
|
+
"ruff>=0.15,<1",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
[project.scripts]
|
|
24
|
+
agents-remember-mcp = "agents_remember.mcp.__main__:main"
|
|
25
|
+
|
|
26
|
+
[tool.setuptools.packages.find]
|
|
27
|
+
where = ["src"]
|
|
28
|
+
|
|
29
|
+
[tool.setuptools.package-data]
|
|
30
|
+
agents_remember = [
|
|
31
|
+
"package_data/**/*",
|
|
32
|
+
"package_data/benchmarks/.gitignore",
|
|
33
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Agents Remember Python package."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Benchmark runner helpers for Agents Remember."""
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Compatibility facade for Agents Remember benchmark prepare/run/analyze tools."""
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
import shutil # noqa: F401 - compatibility surface for existing benchmark tests.
|
|
7
|
+
import subprocess # noqa: F401 - compatibility surface for existing benchmark tests.
|
|
8
|
+
import sys
|
|
9
|
+
|
|
10
|
+
from agents_remember.benchmarks.runner_modules import workspace as _workspace
|
|
11
|
+
from agents_remember.benchmarks.runner_modules.analysis import * # noqa: F403
|
|
12
|
+
from agents_remember.benchmarks.runner_modules.cli import * # noqa: F403
|
|
13
|
+
from agents_remember.benchmarks.runner_modules.cli import main
|
|
14
|
+
from agents_remember.benchmarks.runner_modules.commands import * # noqa: F403
|
|
15
|
+
from agents_remember.benchmarks.runner_modules.commands import repo_has_commit, run_command
|
|
16
|
+
from agents_remember.benchmarks.runner_modules.constants import * # noqa: F403
|
|
17
|
+
from agents_remember.benchmarks.runner_modules.execution import * # noqa: F403
|
|
18
|
+
from agents_remember.benchmarks.runner_modules.filesystem import * # noqa: F403
|
|
19
|
+
from agents_remember.benchmarks.runner_modules.filesystem import remove_path
|
|
20
|
+
from agents_remember.benchmarks.runner_modules.manifest import * # noqa: F403
|
|
21
|
+
from agents_remember.benchmarks.runner_modules.mcp_registration import * # noqa: F403
|
|
22
|
+
from agents_remember.benchmarks.runner_modules.models import * # noqa: F403
|
|
23
|
+
from agents_remember.benchmarks.runner_modules.roots import * # noqa: F403
|
|
24
|
+
from agents_remember.benchmarks.runner_modules.services import * # noqa: F403
|
|
25
|
+
from agents_remember.providers import provider_setup # noqa: F401
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def prepare_repo(repository, repo_root, dry_run, force_clone=False):
|
|
29
|
+
"""Prepare a benchmark repository while preserving facade monkeypatch hooks."""
|
|
30
|
+
_workspace.run_command = run_command
|
|
31
|
+
_workspace.remove_path = remove_path
|
|
32
|
+
_workspace.repo_has_commit = repo_has_commit
|
|
33
|
+
return _workspace.prepare_repo(repository, repo_root, dry_run, force_clone=force_clone)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
if __name__ == "__main__":
|
|
37
|
+
sys.exit(main())
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Focused implementation modules for the benchmark runner facade."""
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import json
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
from agents_remember.benchmarks.runner_modules.constants import TOKEN_KEYS
|
|
8
|
+
from agents_remember.benchmarks.runner_modules.manifest import load_json
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def walk_values(value: Any) -> list[Any]:
|
|
12
|
+
values: list[Any] = []
|
|
13
|
+
pending = [value]
|
|
14
|
+
while pending:
|
|
15
|
+
current = pending.pop()
|
|
16
|
+
values.append(current)
|
|
17
|
+
if isinstance(current, dict):
|
|
18
|
+
pending.extend(current.values())
|
|
19
|
+
elif isinstance(current, list):
|
|
20
|
+
pending.extend(current)
|
|
21
|
+
return values
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def collect_strings(value: Any, keys: set[str]) -> list[str]:
|
|
25
|
+
found: list[str] = []
|
|
26
|
+
for current in walk_values(value):
|
|
27
|
+
if isinstance(current, dict):
|
|
28
|
+
found.extend(
|
|
29
|
+
child for key, child in current.items() if key in keys and isinstance(child, str)
|
|
30
|
+
)
|
|
31
|
+
return found
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def update_token_metrics(event: Any, metrics: dict[str, Any]) -> None:
|
|
35
|
+
for current in walk_values(event):
|
|
36
|
+
if not isinstance(current, dict):
|
|
37
|
+
continue
|
|
38
|
+
for key, value in current.items():
|
|
39
|
+
update_token_metric(metrics, key, value)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def update_token_metric(metrics: dict[str, Any], key: str, value: Any) -> None:
|
|
43
|
+
metric_key = TOKEN_KEYS.get(key)
|
|
44
|
+
if metric_key and isinstance(value, int):
|
|
45
|
+
metrics[metric_key] = max(int(metrics.get(metric_key, 0)), value)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def empty_jsonl_metrics(path: Path) -> dict[str, Any]:
|
|
49
|
+
return {
|
|
50
|
+
"jsonl_size_bytes": path.stat().st_size,
|
|
51
|
+
"event_count": 0,
|
|
52
|
+
"command_event_count": 0,
|
|
53
|
+
"errors": [],
|
|
54
|
+
"final_answer": "",
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def iter_jsonl_events(path: Path, metrics: dict[str, Any]) -> list[Any]:
|
|
59
|
+
events: list[Any] = []
|
|
60
|
+
for line in path.read_text(encoding="utf-8", errors="replace").splitlines():
|
|
61
|
+
if not line.strip():
|
|
62
|
+
continue
|
|
63
|
+
try:
|
|
64
|
+
events.append(json.loads(line))
|
|
65
|
+
except json.JSONDecodeError as error:
|
|
66
|
+
metrics["errors"].append(f"invalid jsonl line: {error}")
|
|
67
|
+
return events
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def event_has_command_marker(event: Any) -> bool:
|
|
71
|
+
raw = json.dumps(event, sort_keys=True)
|
|
72
|
+
return any(marker in raw for marker in ("exec_command", "tool_call", '"cmd"', '"command"'))
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def update_final_answer(metrics: dict[str, Any], event: Any) -> None:
|
|
76
|
+
for candidate in collect_strings(event, {"content", "text", "message"}):
|
|
77
|
+
if len(candidate) > len(str(metrics.get("final_answer", ""))):
|
|
78
|
+
metrics["final_answer"] = candidate
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def update_event_metrics(metrics: dict[str, Any], event: Any) -> None:
|
|
82
|
+
metrics["event_count"] += 1
|
|
83
|
+
if event_has_command_marker(event):
|
|
84
|
+
metrics["command_event_count"] += 1
|
|
85
|
+
update_token_metrics(event, metrics)
|
|
86
|
+
metrics["errors"].extend(
|
|
87
|
+
error for error in collect_strings(event, {"error", "stderr"}) if error
|
|
88
|
+
)
|
|
89
|
+
update_final_answer(metrics, event)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def analyze_jsonl(path: Path) -> dict[str, Any]:
|
|
93
|
+
metrics = empty_jsonl_metrics(path)
|
|
94
|
+
for event in iter_jsonl_events(path, metrics):
|
|
95
|
+
update_event_metrics(metrics, event)
|
|
96
|
+
return metrics
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def load_metadata(jsonl_path: Path) -> dict[str, Any]:
|
|
100
|
+
metadata_path = jsonl_path.with_suffix(".metadata.json")
|
|
101
|
+
if not metadata_path.exists():
|
|
102
|
+
return {}
|
|
103
|
+
try:
|
|
104
|
+
return load_json(metadata_path)
|
|
105
|
+
except (OSError, ValueError, json.JSONDecodeError):
|
|
106
|
+
return {}
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
def analyze_run_root(run_root: Path) -> list[dict[str, Any]]:
|
|
110
|
+
rows: list[dict[str, Any]] = []
|
|
111
|
+
for jsonl_path in sorted(run_root.rglob("*.jsonl")):
|
|
112
|
+
metadata = load_metadata(jsonl_path)
|
|
113
|
+
metrics = analyze_jsonl(jsonl_path)
|
|
114
|
+
row = {
|
|
115
|
+
"path": jsonl_path,
|
|
116
|
+
"prompt": metadata.get("prompt", jsonl_path.parent.parent.name),
|
|
117
|
+
"variant": metadata.get("variant", jsonl_path.parent.name),
|
|
118
|
+
"repetition": metadata.get("repetition", jsonl_path.stem),
|
|
119
|
+
"duration_seconds": metadata.get("durationSeconds"),
|
|
120
|
+
"exit_code": metadata.get("exitCode"),
|
|
121
|
+
**metrics,
|
|
122
|
+
}
|
|
123
|
+
rows.append(row)
|
|
124
|
+
return rows
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def range_text(values: list[Any]) -> str:
|
|
128
|
+
clean = [value for value in values if isinstance(value, (int, float))]
|
|
129
|
+
if not clean:
|
|
130
|
+
return "n/a"
|
|
131
|
+
low = min(clean)
|
|
132
|
+
high = max(clean)
|
|
133
|
+
if low == high:
|
|
134
|
+
return str(low)
|
|
135
|
+
return f"{low} - {high}"
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
def grouped(rows: list[dict[str, Any]]) -> dict[tuple[str, str], list[dict[str, Any]]]:
|
|
139
|
+
result: dict[tuple[str, str], list[dict[str, Any]]] = {}
|
|
140
|
+
for row in rows:
|
|
141
|
+
key = (str(row.get("prompt", "unknown")), str(row.get("variant", "unknown")))
|
|
142
|
+
result.setdefault(key, []).append(row)
|
|
143
|
+
return result
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def summary_numeric_keys() -> list[str]:
|
|
147
|
+
return [
|
|
148
|
+
"duration_seconds",
|
|
149
|
+
"event_count",
|
|
150
|
+
"command_event_count",
|
|
151
|
+
"input_tokens",
|
|
152
|
+
"fresh_input_tokens",
|
|
153
|
+
"output_tokens",
|
|
154
|
+
"reasoning_tokens",
|
|
155
|
+
"jsonl_size_bytes",
|
|
156
|
+
]
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
def exit_code_text(group_rows: list[dict[str, Any]]) -> str:
|
|
160
|
+
exit_codes = sorted(
|
|
161
|
+
{str(row.get("exit_code")) for row in group_rows if row.get("exit_code") is not None}
|
|
162
|
+
)
|
|
163
|
+
return ", ".join(exit_codes) if exit_codes else "n/a"
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
def append_metric_rows(lines: list[str], group_rows: list[dict[str, Any]]) -> None:
|
|
167
|
+
for key in summary_numeric_keys():
|
|
168
|
+
lines.append(f"| {key} | {range_text([row.get(key) for row in group_rows])} |")
|
|
169
|
+
lines.append(f"| exit_code | {exit_code_text(group_rows)} |")
|
|
170
|
+
lines.append("")
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
def append_run_rows(lines: list[str], group_rows: list[dict[str, Any]]) -> None:
|
|
174
|
+
lines.extend(["| Run | Duration | JSONL Size | Errors |", "| --- | ---: | ---: | --- |"])
|
|
175
|
+
for row in group_rows:
|
|
176
|
+
error_count = len(row.get("errors", []))
|
|
177
|
+
lines.append(
|
|
178
|
+
f"| {row.get('repetition')} | {row.get('duration_seconds', 'n/a')} | "
|
|
179
|
+
f"{row.get('jsonl_size_bytes', 'n/a')} | {error_count} |"
|
|
180
|
+
)
|
|
181
|
+
lines.append("")
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
def append_group_summary(
|
|
185
|
+
lines: list[str],
|
|
186
|
+
prompt: str,
|
|
187
|
+
variant: str,
|
|
188
|
+
group_rows: list[dict[str, Any]],
|
|
189
|
+
) -> None:
|
|
190
|
+
lines.extend([f"## {prompt} / {variant}", "", "| Metric | Range |", "| --- | --- |"])
|
|
191
|
+
append_metric_rows(lines, group_rows)
|
|
192
|
+
append_run_rows(lines, group_rows)
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
def summary_header(run_root: Path) -> list[str]:
|
|
196
|
+
return [
|
|
197
|
+
f"# Benchmark Summary: {run_root.name}",
|
|
198
|
+
"",
|
|
199
|
+
f"Run root: `{run_root}`",
|
|
200
|
+
"",
|
|
201
|
+
]
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
def summary_markdown(run_root: Path, rows: list[dict[str, Any]]) -> str:
|
|
205
|
+
lines = summary_header(run_root)
|
|
206
|
+
if not rows:
|
|
207
|
+
lines.extend(["No JSONL files found.", ""])
|
|
208
|
+
return "\n".join(lines)
|
|
209
|
+
for (prompt, variant), group_rows in grouped(rows).items():
|
|
210
|
+
append_group_summary(lines, prompt, variant, group_rows)
|
|
211
|
+
return "\n".join(lines)
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
def write_summary(run_root: Path, rows: list[dict[str, Any]]) -> Path:
|
|
215
|
+
summary_path = run_root / "summary.md"
|
|
216
|
+
summary_path.write_text(summary_markdown(run_root, rows), encoding="utf-8")
|
|
217
|
+
return summary_path
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
import subprocess
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
from agents_remember.benchmarks.runner_modules.analysis import (
|
|
8
|
+
analyze_run_root,
|
|
9
|
+
summary_markdown,
|
|
10
|
+
write_summary,
|
|
11
|
+
)
|
|
12
|
+
from agents_remember.benchmarks.runner_modules.constants import (
|
|
13
|
+
CODEX_BENCHMARK_SANDBOX,
|
|
14
|
+
CODEX_BENCHMARK_SANDBOX_MODES,
|
|
15
|
+
SKILL_EXPOSURE_MODES,
|
|
16
|
+
)
|
|
17
|
+
from agents_remember.benchmarks.runner_modules.manifest import load_cases
|
|
18
|
+
from agents_remember.benchmarks.runner_modules.models import (
|
|
19
|
+
BenchmarkPrepareRequest,
|
|
20
|
+
BenchmarkRunRequest,
|
|
21
|
+
)
|
|
22
|
+
from agents_remember.benchmarks.runner_modules.roots import benchmark_root_context
|
|
23
|
+
from agents_remember.benchmarks.runner_modules.services import (
|
|
24
|
+
prepare_benchmarks,
|
|
25
|
+
run_codex_benchmark,
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def command_list(args: argparse.Namespace) -> int:
|
|
30
|
+
with benchmark_root_context(args.benchmarks_root) as selected_benchmarks_root:
|
|
31
|
+
benchmarks_root = selected_benchmarks_root.resolve()
|
|
32
|
+
for case in load_cases(benchmarks_root):
|
|
33
|
+
repository = case.repository
|
|
34
|
+
repo_name = repository.get("name")
|
|
35
|
+
repo_commit = repository.get("commit")
|
|
36
|
+
print(
|
|
37
|
+
f"{case.case_id}\t{case.data.get('status', 'unknown')}\t"
|
|
38
|
+
f"{case.data.get('sizeBand', 'unknown')}\t{repo_name}@{repo_commit}"
|
|
39
|
+
)
|
|
40
|
+
return 0
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def command_prepare(args: argparse.Namespace) -> int:
|
|
44
|
+
with benchmark_root_context(args.benchmarks_root) as benchmarks_root:
|
|
45
|
+
payload = prepare_benchmarks(
|
|
46
|
+
BenchmarkPrepareRequest(
|
|
47
|
+
benchmarks_root=benchmarks_root,
|
|
48
|
+
target=args.target,
|
|
49
|
+
case_id=args.case_id,
|
|
50
|
+
dry_run=args.dry_run,
|
|
51
|
+
skill_exposure_mode=args.skill_exposure_mode,
|
|
52
|
+
force_clone=args.force_clone,
|
|
53
|
+
provider_timeout=args.provider_timeout,
|
|
54
|
+
)
|
|
55
|
+
)
|
|
56
|
+
for message in payload["messages"]:
|
|
57
|
+
print(message)
|
|
58
|
+
return 0
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def command_run(args: argparse.Namespace) -> int:
|
|
62
|
+
with benchmark_root_context(args.benchmarks_root) as benchmarks_root:
|
|
63
|
+
payload = run_codex_benchmark(
|
|
64
|
+
BenchmarkRunRequest(
|
|
65
|
+
benchmarks_root=benchmarks_root,
|
|
66
|
+
target=args.target,
|
|
67
|
+
case_id=args.case_id,
|
|
68
|
+
prompt=args.prompt,
|
|
69
|
+
variant=args.variant,
|
|
70
|
+
repetitions=args.repetitions,
|
|
71
|
+
jobs=args.jobs,
|
|
72
|
+
dry_run=args.dry_run,
|
|
73
|
+
skip_prepare=args.skip_prepare,
|
|
74
|
+
skill_exposure_mode=args.skill_exposure_mode,
|
|
75
|
+
force_clone=args.force_clone,
|
|
76
|
+
provider_timeout=args.provider_timeout,
|
|
77
|
+
codex_sandbox=args.codex_sandbox,
|
|
78
|
+
)
|
|
79
|
+
)
|
|
80
|
+
for message in payload["messages"]:
|
|
81
|
+
print(message)
|
|
82
|
+
for output_root in payload["runOutputRoots"]:
|
|
83
|
+
print(f"Run output: {output_root}")
|
|
84
|
+
return 0
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def command_analyze(args: argparse.Namespace) -> int:
|
|
88
|
+
run_root = args.run_root.resolve()
|
|
89
|
+
rows = analyze_run_root(run_root)
|
|
90
|
+
markdown = summary_markdown(run_root, rows)
|
|
91
|
+
if args.write_summary:
|
|
92
|
+
path = write_summary(run_root, rows)
|
|
93
|
+
print(f"Wrote {path}")
|
|
94
|
+
else:
|
|
95
|
+
print(markdown)
|
|
96
|
+
return 0
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def build_parser() -> argparse.ArgumentParser:
|
|
100
|
+
parser = argparse.ArgumentParser(description=__doc__)
|
|
101
|
+
parser.add_argument(
|
|
102
|
+
"--benchmarks-root",
|
|
103
|
+
type=Path,
|
|
104
|
+
default=None,
|
|
105
|
+
help="Benchmark root. Defaults to packaged benchmark cases.",
|
|
106
|
+
)
|
|
107
|
+
subparsers = parser.add_subparsers(dest="command", required=True)
|
|
108
|
+
|
|
109
|
+
list_parser = subparsers.add_parser("list", help="List benchmark cases.")
|
|
110
|
+
list_parser.set_defaults(func=command_list)
|
|
111
|
+
|
|
112
|
+
prepare_parser = subparsers.add_parser(
|
|
113
|
+
"prepare", help="Prepare resettable benchmark workspaces."
|
|
114
|
+
)
|
|
115
|
+
prepare_parser.add_argument("target", choices=("all", "case"))
|
|
116
|
+
prepare_parser.add_argument("case_id", nargs="?")
|
|
117
|
+
prepare_parser.add_argument(
|
|
118
|
+
"--skill-exposure-mode", choices=SKILL_EXPOSURE_MODES, default="copy"
|
|
119
|
+
)
|
|
120
|
+
prepare_parser.add_argument(
|
|
121
|
+
"--force-clone",
|
|
122
|
+
action="store_true",
|
|
123
|
+
help="Discard existing benchmark repository checkouts before cloning.",
|
|
124
|
+
)
|
|
125
|
+
prepare_parser.add_argument(
|
|
126
|
+
"--provider-timeout",
|
|
127
|
+
type=int,
|
|
128
|
+
default=1800,
|
|
129
|
+
help="Seconds allowed for each benchmark provider install/index command.",
|
|
130
|
+
)
|
|
131
|
+
prepare_parser.add_argument("--dry-run", action="store_true")
|
|
132
|
+
prepare_parser.set_defaults(func=command_prepare)
|
|
133
|
+
|
|
134
|
+
run_parser = subparsers.add_parser("run", help="Run benchmark cases with codex exec --json.")
|
|
135
|
+
run_parser.add_argument("target", choices=("all", "case"))
|
|
136
|
+
run_parser.add_argument("case_id", nargs="?")
|
|
137
|
+
run_parser.add_argument("--prompt", help="Run only one prompt id.")
|
|
138
|
+
run_parser.add_argument("--variant", help="Run only one variant id.")
|
|
139
|
+
run_parser.add_argument(
|
|
140
|
+
"--repetitions", type=int, help="Override repetitions per prompt variant."
|
|
141
|
+
)
|
|
142
|
+
run_parser.add_argument(
|
|
143
|
+
"--jobs",
|
|
144
|
+
type=int,
|
|
145
|
+
default=None,
|
|
146
|
+
help="Maximum concurrent Codex runs. Defaults to the number of selected variants.",
|
|
147
|
+
)
|
|
148
|
+
run_parser.add_argument("--dry-run", action="store_true")
|
|
149
|
+
run_parser.add_argument(
|
|
150
|
+
"--skip-prepare", action="store_true", help="Use the existing workspace fixture state."
|
|
151
|
+
)
|
|
152
|
+
run_parser.add_argument("--skill-exposure-mode", choices=SKILL_EXPOSURE_MODES, default="copy")
|
|
153
|
+
run_parser.add_argument(
|
|
154
|
+
"--force-clone",
|
|
155
|
+
action="store_true",
|
|
156
|
+
help="Discard existing benchmark repository checkouts during preparation.",
|
|
157
|
+
)
|
|
158
|
+
run_parser.add_argument(
|
|
159
|
+
"--provider-timeout",
|
|
160
|
+
type=int,
|
|
161
|
+
default=1800,
|
|
162
|
+
help="Seconds allowed for each benchmark provider install/index command during preparation.",
|
|
163
|
+
)
|
|
164
|
+
run_parser.add_argument(
|
|
165
|
+
"--codex-sandbox",
|
|
166
|
+
choices=CODEX_BENCHMARK_SANDBOX_MODES,
|
|
167
|
+
default=CODEX_BENCHMARK_SANDBOX,
|
|
168
|
+
help=(
|
|
169
|
+
"Codex benchmark sandbox mode. Use 'default' to omit --sandbox and "
|
|
170
|
+
"let the Codex CLI use its configured default."
|
|
171
|
+
),
|
|
172
|
+
)
|
|
173
|
+
run_parser.set_defaults(func=command_run)
|
|
174
|
+
|
|
175
|
+
analyze_parser = subparsers.add_parser(
|
|
176
|
+
"analyze", help="Analyze an existing user-runs directory."
|
|
177
|
+
)
|
|
178
|
+
analyze_parser.add_argument("run_root", type=Path)
|
|
179
|
+
analyze_parser.add_argument("--write-summary", action="store_true")
|
|
180
|
+
analyze_parser.set_defaults(func=command_analyze)
|
|
181
|
+
|
|
182
|
+
return parser
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
def main(argv: list[str] | None = None) -> int:
|
|
186
|
+
parser = build_parser()
|
|
187
|
+
args = parser.parse_args(argv)
|
|
188
|
+
try:
|
|
189
|
+
return int(args.func(args))
|
|
190
|
+
except (RuntimeError, ValueError, subprocess.CalledProcessError) as error:
|
|
191
|
+
parser.error(str(error))
|
|
192
|
+
return 1
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import subprocess
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def run_command(command: list[str], dry_run: bool, cwd: Path | None = None) -> None:
|
|
8
|
+
printable = " ".join(command)
|
|
9
|
+
if dry_run:
|
|
10
|
+
location = f" in {cwd}" if cwd else ""
|
|
11
|
+
print(f"Would run{location}: {printable}")
|
|
12
|
+
return
|
|
13
|
+
subprocess.run(command, cwd=cwd, check=True)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def git_command(*args: str) -> list[str]:
|
|
17
|
+
return ["git", "-c", "core.longpaths=true", "-c", "safe.directory=*", *args]
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def repo_has_commit(repo_root: Path, commit: str) -> bool:
|
|
21
|
+
result = subprocess.run(
|
|
22
|
+
git_command("-C", str(repo_root), "cat-file", "-e", f"{commit}^{{commit}}"),
|
|
23
|
+
stdout=subprocess.DEVNULL,
|
|
24
|
+
stderr=subprocess.DEVNULL,
|
|
25
|
+
check=False,
|
|
26
|
+
)
|
|
27
|
+
return result.returncode == 0
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import shutil
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
AGENTS_MD_TARGETS = {
|
|
7
|
+
Path("runtime/agents-md-files/coordinator/AGENTS.md"): Path("AGENTS.md"),
|
|
8
|
+
Path("runtime/agents-md-files/system/AGENTS.md"): Path("system/AGENTS.md"),
|
|
9
|
+
Path("runtime/agents-md-files/skills/AGENTS.md"): Path("skills/AGENTS.md"),
|
|
10
|
+
Path("runtime/agents-md-files/tasks/AGENTS.md"): Path("tasks/AGENTS.md"),
|
|
11
|
+
}
|
|
12
|
+
PROVIDER_ASSET_DIRS = (Path("requirements"), Path("patches"))
|
|
13
|
+
BENCHMARK_PROVIDER_IDS = ("grepai-memory", "codegraphcontext-code")
|
|
14
|
+
|
|
15
|
+
TOKEN_KEYS = {
|
|
16
|
+
"input_tokens": "input_tokens",
|
|
17
|
+
"inputTokens": "input_tokens",
|
|
18
|
+
"total_input_tokens": "input_tokens",
|
|
19
|
+
"totalInputTokens": "input_tokens",
|
|
20
|
+
"fresh_input_tokens": "fresh_input_tokens",
|
|
21
|
+
"freshInputTokens": "fresh_input_tokens",
|
|
22
|
+
"output_tokens": "output_tokens",
|
|
23
|
+
"outputTokens": "output_tokens",
|
|
24
|
+
"total_output_tokens": "output_tokens",
|
|
25
|
+
"totalOutputTokens": "output_tokens",
|
|
26
|
+
"reasoning_tokens": "reasoning_tokens",
|
|
27
|
+
"reasoningTokens": "reasoning_tokens",
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
WORKSPACE_AGENTS_TEMPLATE = Path("templates/workspace-AGENTS.md")
|
|
31
|
+
SOURCE_ONLY_AGENTS_TEMPLATE = Path("templates/source-only-AGENTS.md")
|
|
32
|
+
BENCHMARK_ROOT_MARKER = ".benchmark-root"
|
|
33
|
+
SKILLS_EXPOSURE_NAMESPACE = "agents-remember-md"
|
|
34
|
+
CODEX_HARNESS_DIR = ".codex"
|
|
35
|
+
COPYTREE_IGNORE = shutil.ignore_patterns("__pycache__", "*.pyc", "*.pyo")
|
|
36
|
+
SKILL_EXPOSURE_MODES = ("copy", "none")
|
|
37
|
+
CODEX_EXECUTABLE_NAME = "codex"
|
|
38
|
+
CODEX_EXECUTABLE_RESOLUTION = "PATH"
|
|
39
|
+
CODEX_SANDBOX_DANGER_FULL_ACCESS = "danger-full-access"
|
|
40
|
+
CODEX_SANDBOX_DEFAULT = "default"
|
|
41
|
+
CODEX_BENCHMARK_SANDBOX = CODEX_SANDBOX_DANGER_FULL_ACCESS
|
|
42
|
+
CODEX_BENCHMARK_SANDBOX_MODES = (CODEX_SANDBOX_DANGER_FULL_ACCESS, CODEX_SANDBOX_DEFAULT)
|
|
43
|
+
CODEX_BENCHMARK_SCOPE = "codex-benchmark-only"
|
|
44
|
+
BENCHMARK_MCP_SERVER_NAME = "agents_remember_benchmark"
|
|
45
|
+
BENCHMARK_MCP_SETTINGS_NAME = "agents-remember-benchmark.settings.json"
|
|
46
|
+
BENCHMARK_MCP_STARTUP_TIMEOUT_SECONDS = 120
|
|
47
|
+
BENCHMARK_MCP_SOURCE_ENV = "AGENTS_REMEMBER_BENCHMARK_MCP_SRC"
|