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.
Files changed (320) hide show
  1. agents_remember_mcp-0.1.0/PKG-INFO +12 -0
  2. agents_remember_mcp-0.1.0/pyproject.toml +33 -0
  3. agents_remember_mcp-0.1.0/setup.cfg +4 -0
  4. agents_remember_mcp-0.1.0/src/agents_remember/__init__.py +1 -0
  5. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/__init__.py +1 -0
  6. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner.py +37 -0
  7. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/__init__.py +1 -0
  8. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/analysis.py +217 -0
  9. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/cli.py +192 -0
  10. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/commands.py +27 -0
  11. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/constants.py +47 -0
  12. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/execution.py +431 -0
  13. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/filesystem.py +215 -0
  14. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/manifest.py +223 -0
  15. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/mcp_registration.py +302 -0
  16. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/models.py +65 -0
  17. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/roots.py +17 -0
  18. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/services.py +131 -0
  19. agents_remember_mcp-0.1.0/src/agents_remember/benchmarks/runner_modules/workspace.py +241 -0
  20. agents_remember_mcp-0.1.0/src/agents_remember/cli/__init__.py +1 -0
  21. agents_remember_mcp-0.1.0/src/agents_remember/cli/context_packet.py +56 -0
  22. agents_remember_mcp-0.1.0/src/agents_remember/code_quality/__init__.py +2 -0
  23. agents_remember_mcp-0.1.0/src/agents_remember/code_quality/check.py +235 -0
  24. agents_remember_mcp-0.1.0/src/agents_remember/code_quality/crap_calculator.py +370 -0
  25. agents_remember_mcp-0.1.0/src/agents_remember/controllers/__init__.py +1 -0
  26. agents_remember_mcp-0.1.0/src/agents_remember/controllers/context_packet.py +111 -0
  27. agents_remember_mcp-0.1.0/src/agents_remember/controllers/runtime_install.py +28 -0
  28. agents_remember_mcp-0.1.0/src/agents_remember/controllers/skill_tools.py +1214 -0
  29. agents_remember_mcp-0.1.0/src/agents_remember/install/__init__.py +1 -0
  30. agents_remember_mcp-0.1.0/src/agents_remember/install/assets.py +57 -0
  31. agents_remember_mcp-0.1.0/src/agents_remember/install/runtime.py +553 -0
  32. agents_remember_mcp-0.1.0/src/agents_remember/install/skills.py +177 -0
  33. agents_remember_mcp-0.1.0/src/agents_remember/kernel/__init__.py +1 -0
  34. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/__init__.py +1 -0
  35. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/cli.py +88 -0
  36. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/contracts.py +39 -0
  37. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/cross_repo.py +182 -0
  38. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/json_settings.py +131 -0
  39. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/markdown_cross_repo.py +39 -0
  40. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/markdown_global_rules.py +47 -0
  41. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/markdown_settings.py +269 -0
  42. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/models.py +96 -0
  43. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/paths.py +159 -0
  44. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/resolver.py +390 -0
  45. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/serialize.py +139 -0
  46. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/setting_values.py +126 -0
  47. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/settings.py +72 -0
  48. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context/storage.py +152 -0
  49. agents_remember_mcp-0.1.0/src/agents_remember/kernel/coordination_context_resolver.py +245 -0
  50. agents_remember_mcp-0.1.0/src/agents_remember/kernel/filesystem.py +45 -0
  51. agents_remember_mcp-0.1.0/src/agents_remember/kernel/git_facts.py +108 -0
  52. agents_remember_mcp-0.1.0/src/agents_remember/kernel/memory_init.py +95 -0
  53. agents_remember_mcp-0.1.0/src/agents_remember/kernel/memory_ledger.py +241 -0
  54. agents_remember_mcp-0.1.0/src/agents_remember/kernel/route_index.py +543 -0
  55. agents_remember_mcp-0.1.0/src/agents_remember/mcp/__init__.py +4 -0
  56. agents_remember_mcp-0.1.0/src/agents_remember/mcp/__main__.py +8 -0
  57. agents_remember_mcp-0.1.0/src/agents_remember/mcp/command_capture.py +49 -0
  58. agents_remember_mcp-0.1.0/src/agents_remember/mcp/config.py +276 -0
  59. agents_remember_mcp-0.1.0/src/agents_remember/mcp/safety.py +15 -0
  60. agents_remember_mcp-0.1.0/src/agents_remember/mcp/server.py +588 -0
  61. agents_remember_mcp-0.1.0/src/agents_remember/mcp/tools.py +701 -0
  62. agents_remember_mcp-0.1.0/src/agents_remember/memory/__init__.py +1 -0
  63. agents_remember_mcp-0.1.0/src/agents_remember/memory/baseline.py +311 -0
  64. agents_remember_mcp-0.1.0/src/agents_remember/memory/carryover.py +441 -0
  65. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/__init__.py +1 -0
  66. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/check.py +141 -0
  67. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/__init__.py +1 -0
  68. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/check_missing_onboarding.py +265 -0
  69. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/ledger_consistency.py +1 -0
  70. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/onboarding_drift_check/__init__.py +1 -0
  71. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/onboarding_drift_check/drift.py +1371 -0
  72. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/integrity/onboarding_drift_check/summary.py +103 -0
  73. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/style/__init__.py +1 -0
  74. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/style/update_history/__init__.py +1 -0
  75. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/style/update_history/history_order.py +228 -0
  76. agents_remember_mcp-0.1.0/src/agents_remember/memory_quality/style/update_history/history_order_fix.py +151 -0
  77. agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/.gitignore +2 -0
  78. agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/README.md +94 -0
  79. agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/README.md +18 -0
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. 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
  115. 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
  116. 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
  117. agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/author-results/README.md +8 -0
  118. agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/case.json +73 -0
  119. 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
  120. 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
  121. 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
  122. agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/cases/tensorflow-check-numerics-xla/ticket.md +71 -0
  123. agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/docs/benchmarks-methodology.md +98 -0
  124. agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/templates/source-only-AGENTS.md +22 -0
  125. agents_remember_mcp-0.1.0/src/agents_remember/package_data/benchmarks/templates/workspace-AGENTS.md +26 -0
  126. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/agents-md-files/coordinator/AGENTS.md +142 -0
  127. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/agents-md-files/skills/AGENTS.md +34 -0
  128. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/agents-md-files/system/AGENTS.md +89 -0
  129. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/agents-md-files/tasks/AGENTS.md +153 -0
  130. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/compose/codegraphcontext.compose.yaml +17 -0
  131. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/compose/codegraphcontext.override.yaml.tmpl +26 -0
  132. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/compose/codegraphcontext.watcher.yaml.tmpl +14 -0
  133. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/compose/grepai.compose.yaml +24 -0
  134. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/compose/grepai.override.yaml.tmpl +36 -0
  135. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/docker/codegraphcontext/Dockerfile +16 -0
  136. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/docker/codegraphcontext/patch_cgc.py +130 -0
  137. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/docker/codegraphcontext/requirements.txt +4 -0
  138. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/docker/grepai/Dockerfile +19 -0
  139. 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
  140. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/requirements/codegraphcontext.txt +4 -0
  141. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/providers/requirements/grepai.txt +2 -0
  142. 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
  143. 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
  144. 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
  145. 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
  146. 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
  147. 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
  148. 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
  149. 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
  150. 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
  151. 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
  152. 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
  153. 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
  154. 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
  155. 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
  156. 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
  157. 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
  158. 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
  159. 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
  160. 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
  161. 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
  162. 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
  163. 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
  164. 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
  165. 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
  166. 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
  167. 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
  168. 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
  169. 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
  170. 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
  171. 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
  172. 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
  173. 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
  174. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/U-01-core-skills/C-12-closeout/SKILL.md +112 -0
  175. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/SKILL.md +98 -0
  176. 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
  177. 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
  178. 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
  179. 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
  180. 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
  181. 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
  182. 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
  183. 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
  184. 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
  185. 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
  186. 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
  187. 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
  188. 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
  189. 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
  190. 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
  191. 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
  192. 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
  193. 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
  194. 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
  195. 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
  196. 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
  197. 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
  198. 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
  199. 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
  200. 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
  201. 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
  202. 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
  203. 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
  204. 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
  205. 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
  206. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-01-heavy-task-workflow/templates/task-structure.md +109 -0
  207. 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
  208. 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
  209. 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
  210. 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
  211. 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
  212. 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
  213. 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
  214. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/SKILL.md +82 -0
  215. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/docs/architecture.md +391 -0
  216. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/docs/overview.md +338 -0
  217. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/docs/requirements.md +562 -0
  218. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/template.md +105 -0
  219. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-02-light-task-workflow/workflow.md +252 -0
  220. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/skills/W-03-chat-task-workflow/SKILL.md +18 -0
  221. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/README.md +31 -0
  222. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/coordinator/settings.md +135 -0
  223. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/coordinator/sources.md +12 -0
  224. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/coordinator/tools.md +91 -0
  225. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/memory-repo/coding-guidelines.md +37 -0
  226. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/memory-repo/settings.json +45 -0
  227. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/memory-repo/settings.md +44 -0
  228. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/memory-repo/sources.md +22 -0
  229. agents_remember_mcp-0.1.0/src/agents_remember/package_data/runtime/system/defaults/examples/memory-repo/tools.md +17 -0
  230. agents_remember_mcp-0.1.0/src/agents_remember/providers/__init__.py +1 -0
  231. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/__init__.py +3 -0
  232. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/bundle.py +184 -0
  233. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/context/__init__.py +7 -0
  234. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/context/constants.py +320 -0
  235. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/context/core.py +643 -0
  236. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/context/patches.py +325 -0
  237. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/__init__.py +27 -0
  238. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/backend.py +535 -0
  239. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/compose.py +126 -0
  240. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/core.py +285 -0
  241. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/installation.py +559 -0
  242. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/process_control.py +361 -0
  243. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/query.py +169 -0
  244. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/refresh.py +127 -0
  245. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/lifecycle/runner.py +104 -0
  246. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/seed.py +453 -0
  247. agents_remember_mcp-0.1.0/src/agents_remember/providers/cgc/setup.py +210 -0
  248. agents_remember_mcp-0.1.0/src/agents_remember/providers/context/__init__.py +9 -0
  249. agents_remember_mcp-0.1.0/src/agents_remember/providers/context/common.py +113 -0
  250. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/__init__.py +3 -0
  251. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/__init__.py +8 -0
  252. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/artifacts.py +62 -0
  253. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/constants.py +18 -0
  254. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/core.py +8 -0
  255. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/layout.py +351 -0
  256. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/context/workspace.py +128 -0
  257. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/__init__.py +25 -0
  258. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/actions.py +542 -0
  259. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/backend.py +567 -0
  260. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/compose.py +102 -0
  261. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/core.py +404 -0
  262. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/embedder.py +435 -0
  263. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/lifecycle/runner.py +331 -0
  264. agents_remember_mcp-0.1.0/src/agents_remember/providers/grepai/setup.py +37 -0
  265. agents_remember_mcp-0.1.0/src/agents_remember/providers/integrity.py +141 -0
  266. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/__init__.py +38 -0
  267. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/__main__.py +8 -0
  268. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/cli.py +340 -0
  269. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/command_runner.py +131 -0
  270. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/compose_runtime.py +243 -0
  271. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/docker_runtime.py +215 -0
  272. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/host_ports.py +52 -0
  273. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/process_status.py +105 -0
  274. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/provider_settings.py +54 -0
  275. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/result_rendering.py +85 -0
  276. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/runtime_environment.py +33 -0
  277. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/state_files.py +18 -0
  278. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle/watchers.py +213 -0
  279. agents_remember_mcp-0.1.0/src/agents_remember/providers/lifecycle_service.py +161 -0
  280. agents_remember_mcp-0.1.0/src/agents_remember/providers/provider_setup.py +382 -0
  281. agents_remember_mcp-0.1.0/src/agents_remember/providers/settings.py +234 -0
  282. agents_remember_mcp-0.1.0/src/agents_remember/providers/setup_common.py +187 -0
  283. agents_remember_mcp-0.1.0/src/agents_remember/providers/status.py +166 -0
  284. agents_remember_mcp-0.1.0/src/agents_remember/tasks/__init__.py +1 -0
  285. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/__init__.py +1 -0
  286. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/git_worktree_manager.py +176 -0
  287. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/__init__.py +1 -0
  288. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/cleanup.py +161 -0
  289. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/cli.py +158 -0
  290. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/closeout.py +365 -0
  291. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/context.py +62 -0
  292. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/git.py +104 -0
  293. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/guidance.py +140 -0
  294. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/integrate.py +400 -0
  295. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/models.py +17 -0
  296. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/onboarding.py +290 -0
  297. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/modules/start.py +420 -0
  298. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/status.py +58 -0
  299. agents_remember_mcp-0.1.0/src/agents_remember/worktrees/worktree_contract.py +416 -0
  300. agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/PKG-INFO +12 -0
  301. agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/SOURCES.txt +318 -0
  302. agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/dependency_links.txt +1 -0
  303. agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/entry_points.txt +2 -0
  304. agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/requires.txt +8 -0
  305. agents_remember_mcp-0.1.0/src/agents_remember_mcp.egg-info/top_level.txt +1 -0
  306. agents_remember_mcp-0.1.0/tests/test_code_quality_check.py +170 -0
  307. agents_remember_mcp-0.1.0/tests/test_config.py +258 -0
  308. agents_remember_mcp-0.1.0/tests/test_context_packet.py +202 -0
  309. agents_remember_mcp-0.1.0/tests/test_context_providers.py +808 -0
  310. agents_remember_mcp-0.1.0/tests/test_crap_calculator.py +153 -0
  311. agents_remember_mcp-0.1.0/tests/test_install_runtime.py +131 -0
  312. agents_remember_mcp-0.1.0/tests/test_integrity.py +103 -0
  313. agents_remember_mcp-0.1.0/tests/test_memory_quality.py +291 -0
  314. agents_remember_mcp-0.1.0/tests/test_missing_onboarding.py +202 -0
  315. agents_remember_mcp-0.1.0/tests/test_provider_lifecycle.py +759 -0
  316. agents_remember_mcp-0.1.0/tests/test_provider_setup.py +239 -0
  317. agents_remember_mcp-0.1.0/tests/test_resolver_parity.py +268 -0
  318. agents_remember_mcp-0.1.0/tests/test_route_index.py +124 -0
  319. agents_remember_mcp-0.1.0/tests/test_tools.py +774 -0
  320. 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,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -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"