mapify-cli 3.15.1__tar.gz → 3.15.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/PKG-INFO +1 -1
  2. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/pyproject.toml +1 -1
  3. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/__init__.py +1 -1
  4. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/agents/researcher.toml +28 -14
  5. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +28 -14
  6. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills.py +78 -0
  7. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/.claude/hooks/README.md +0 -0
  8. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/.claude/skills/README.md +0 -0
  9. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/.gitignore +0 -0
  10. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/LICENSE +0 -0
  11. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/README.md +0 -0
  12. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/_locking.py +0 -0
  13. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/cli_ui.py +0 -0
  14. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/config/__init__.py +0 -0
  15. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/config/mcp.py +0 -0
  16. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/config/project_config.py +0 -0
  17. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/config/settings.py +0 -0
  18. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/delivery/__init__.py +0 -0
  19. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/delivery/agent_generator.py +0 -0
  20. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/delivery/codex_copier.py +0 -0
  21. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/delivery/file_copier.py +0 -0
  22. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/delivery/managed_file_copier.py +0 -0
  23. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/delivery/providers.py +0 -0
  24. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/delivery/template_renderer.py +0 -0
  25. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/dependency_graph.py +0 -0
  26. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/intent_detector.py +0 -0
  27. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/memory/__init__.py +0 -0
  28. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/memory/capture.py +0 -0
  29. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/memory/digest_schema.py +0 -0
  30. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/memory/finalize.py +0 -0
  31. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/memory/recall.py +0 -0
  32. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/ralph_state.py +0 -0
  33. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/repo_insight.py +0 -0
  34. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/schemas.py +0 -0
  35. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/skill_ir.py +0 -0
  36. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/skills_eval/__init__.py +0 -0
  37. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/skills_eval/aggregator.py +0 -0
  38. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/skills_eval/apply_patcher.py +0 -0
  39. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/skills_eval/assertions.py +0 -0
  40. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/skills_eval/description_optimizer.py +0 -0
  41. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/skills_eval/dispatcher.py +0 -0
  42. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/skills_eval/eval_schema.py +0 -0
  43. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/skills_eval/proposer.py +0 -0
  44. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/skills_eval/runner.py +0 -0
  45. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/skills_eval/viewer.py +0 -0
  46. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/.gitignore +0 -0
  47. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/CLAUDE.md +0 -0
  48. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/agents/actor.md +0 -0
  49. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/agents/debate-arbiter.md +0 -0
  50. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
  51. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/agents/evaluator.md +0 -0
  52. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
  53. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/agents/monitor.md +0 -0
  54. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/agents/predictor.md +0 -0
  55. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/agents/reflector.md +0 -0
  56. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/agents/research-agent.md +0 -0
  57. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/agents/synthesizer.md +0 -0
  58. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
  59. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
  60. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
  61. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/agents/monitor.toml +0 -0
  62. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/config.toml +0 -0
  63. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +0 -0
  64. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/hooks.json +0 -0
  65. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
  66. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +0 -0
  67. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +0 -0
  68. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
  69. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
  70. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +0 -0
  71. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/README.md +0 -0
  72. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/context-meter.py +0 -0
  73. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +0 -0
  74. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/end-of-turn.sh +0 -0
  75. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/map-memory-capture.py +0 -0
  76. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/map-memory-endmark.py +0 -0
  77. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/map-memory-finalize.py +0 -0
  78. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/map-memory-recall.py +0 -0
  79. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/map-token-meter.py +0 -0
  80. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/post-compact-context.py +0 -0
  81. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +0 -0
  82. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +0 -0
  83. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +0 -0
  84. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/safety-guardrails.py +0 -0
  85. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/workflow-context-injector.py +0 -0
  86. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/hooks/workflow-gate.py +0 -0
  87. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/scripts/diagnostics.py +0 -0
  88. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +0 -0
  89. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/scripts/map_step_runner.py +0 -0
  90. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/scripts/map_utils.py +0 -0
  91. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/scripts/sofa_client.py +0 -0
  92. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
  93. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
  94. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
  95. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
  96. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
  97. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
  98. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
  99. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
  100. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
  101. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
  102. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
  103. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/references/hook-patterns.md +0 -0
  104. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/references/host-paths.md +0 -0
  105. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
  106. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
  107. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
  108. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
  109. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
  110. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
  111. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/rules/learned/README.md +0 -0
  112. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/settings.json +0 -0
  113. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/README.md +0 -0
  114. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
  115. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
  116. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
  117. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +0 -0
  118. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +0 -0
  119. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
  120. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
  121. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
  122. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
  123. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
  124. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
  125. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
  126. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-plan/SKILL.md +0 -0
  127. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
  128. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-release/SKILL.md +0 -0
  129. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
  130. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
  131. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-review/SKILL.md +0 -0
  132. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-review/review-reference.md +0 -0
  133. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
  134. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
  135. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +0 -0
  136. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
  137. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
  138. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
  139. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
  140. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
  141. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
  142. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
  143. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
  144. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
  145. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-task/SKILL.md +0 -0
  146. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
  147. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
  148. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
  149. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates/workflow-rules.json +0 -0
  150. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/.gitignore.jinja +0 -0
  151. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
  152. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/agents/actor.md.jinja +0 -0
  153. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/agents/debate-arbiter.md.jinja +0 -0
  154. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
  155. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +0 -0
  156. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
  157. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/agents/monitor.md.jinja +0 -0
  158. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/agents/predictor.md.jinja +0 -0
  159. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
  160. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +0 -0
  161. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/agents/synthesizer.md.jinja +0 -0
  162. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
  163. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
  164. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
  165. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +0 -0
  166. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
  167. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +0 -0
  168. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
  169. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
  170. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +0 -0
  171. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +0 -0
  172. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
  173. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
  174. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +0 -0
  175. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/README.md.jinja +0 -0
  176. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +0 -0
  177. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +0 -0
  178. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +0 -0
  179. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +0 -0
  180. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +0 -0
  181. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +0 -0
  182. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +0 -0
  183. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +0 -0
  184. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +0 -0
  185. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +0 -0
  186. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +0 -0
  187. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +0 -0
  188. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +0 -0
  189. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +0 -0
  190. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +0 -0
  191. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +0 -0
  192. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +0 -0
  193. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +0 -0
  194. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +0 -0
  195. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +0 -0
  196. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
  197. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
  198. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
  199. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
  200. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
  201. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
  202. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
  203. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
  204. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
  205. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
  206. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
  207. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +0 -0
  208. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
  209. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
  210. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
  211. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
  212. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
  213. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
  214. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
  215. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
  216. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/settings.json.jinja +0 -0
  217. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
  218. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
  219. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
  220. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
  221. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +0 -0
  222. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +0 -0
  223. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
  224. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
  225. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
  226. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
  227. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
  228. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
  229. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
  230. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +0 -0
  231. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
  232. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +0 -0
  233. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
  234. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
  235. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +0 -0
  236. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +0 -0
  237. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
  238. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
  239. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
  240. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
  241. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
  242. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
  243. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
  244. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
  245. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
  246. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
  247. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
  248. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
  249. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +0 -0
  250. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
  251. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
  252. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
  253. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
  254. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/token_budget.py +0 -0
  255. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/tools/__init__.py +0 -0
  256. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/tools/validate_dependencies.py +0 -0
  257. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/verification_recorder.py +0 -0
  258. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/workflow_finalizer.py +0 -0
  259. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/workflow_logger.py +0 -0
  260. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/src/mapify_cli/workflow_state.py +0 -0
  261. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/__init__.py +0 -0
  262. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/conftest.py +0 -0
  263. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/fixtures/claude/escalation-matrix.md +0 -0
  264. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/fixtures/codex/config.toml +0 -0
  265. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/hooks/test_detect_clarification_triggers.py +0 -0
  266. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/hooks/test_end_of_turn.py +0 -0
  267. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/hooks/test_hook_inventory_smoke.py +0 -0
  268. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/hooks/test_safety_guardrails.py +0 -0
  269. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/integration/__init__.py +0 -0
  270. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/integration/fixtures/blueprint.json +0 -0
  271. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/integration/fixtures/code_review.md +0 -0
  272. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/integration/fixtures/plan_handoff.json +0 -0
  273. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/integration/fixtures/spec.md +0 -0
  274. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/integration/fixtures/step_state_initialized.json +0 -0
  275. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
  276. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/integration/fixtures/task_plan.md +0 -0
  277. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/integration/fixtures/verification_summary.md +0 -0
  278. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/integration/test_e2e_artifact_contracts.py +0 -0
  279. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/integration/test_e2e_claude_sdk.py +0 -0
  280. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/README.md +0 -0
  281. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
  282. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
  283. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
  284. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
  285. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
  286. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
  287. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
  288. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
  289. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
  290. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
  291. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
  292. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
  293. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
  294. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
  295. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
  296. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
  297. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
  298. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
  299. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/blueprint.json +0 -0
  300. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/task_plan_main.md +0 -0
  301. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
  302. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
  303. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/tests/test_compute.py +0 -0
  304. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/hidden/test_calc_full.py +0 -0
  305. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
  306. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/blueprint.json +0 -0
  307. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/task_plan_main.md +0 -0
  308. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
  309. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
  310. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/tests/test_calc_basic.py +0 -0
  311. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/hidden/test_calc_full.py +0 -0
  312. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
  313. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/blueprint.json +0 -0
  314. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/task_plan_main.md +0 -0
  315. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/__init__.py +0 -0
  316. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/calc.py +0 -0
  317. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/tests/test_calc_basic.py +0 -0
  318. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
  319. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/blueprint.json +0 -0
  320. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/task_plan_main.md +0 -0
  321. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/__init__.py +0 -0
  322. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/config.py +0 -0
  323. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/utils.py +0 -0
  324. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/tests/test_price.py +0 -0
  325. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
  326. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/blueprint.json +0 -0
  327. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/task_plan_main.md +0 -0
  328. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/__init__.py +0 -0
  329. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/config.py +0 -0
  330. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/utils.py +0 -0
  331. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/tests/test_utils.py +0 -0
  332. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
  333. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/blueprint.json +0 -0
  334. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/task_plan_main.md +0 -0
  335. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
  336. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
  337. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/tests/test_semver.py +0 -0
  338. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/hidden/test_semver_full.py +0 -0
  339. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
  340. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/blueprint.json +0 -0
  341. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/task_plan_main.md +0 -0
  342. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/__init__.py +0 -0
  343. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/semver.py +0 -0
  344. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/tests/test_semver_basic.py +0 -0
  345. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/hidden/test_semver_full.py +0 -0
  346. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
  347. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/blueprint.json +0 -0
  348. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/task_plan_main.md +0 -0
  349. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/__init__.py +0 -0
  350. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/semver.py +0 -0
  351. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/tests/test_semver_basic.py +0 -0
  352. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/skills_eval/whole_skill/spike_runner.py +0 -0
  353. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_agent_cli_correctness.py +0 -0
  354. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_agent_frontmatter.py +0 -0
  355. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_artifact_schemas.py +0 -0
  356. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_bump_version.py +0 -0
  357. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_decomposition.py +0 -0
  358. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_dependency_graph.py +0 -0
  359. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_diagnostics.py +0 -0
  360. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_digest_schema.py +0 -0
  361. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_file_copier.py +0 -0
  362. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_hook_patterns.py +0 -0
  363. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_init_import_graph.py +0 -0
  364. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_intent_detector.py +0 -0
  365. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_inv1_no_anthropic_optimize.py +0 -0
  366. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_jinja2_dep.py +0 -0
  367. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_locking.py +0 -0
  368. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_managed_file_copier.py +0 -0
  369. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_map_orchestrator.py +0 -0
  370. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_map_step_runner.py +0 -0
  371. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_map_token_meter.py +0 -0
  372. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_map_utils_sanitize.py +0 -0
  373. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_mapify_cli.py +0 -0
  374. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_memory_capture.py +0 -0
  375. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_memory_finalize.py +0 -0
  376. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_memory_integration.py +0 -0
  377. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_memory_recall.py +0 -0
  378. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_memory_review_fixes.py +0 -0
  379. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_post_compact_context.py +0 -0
  380. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_ralph_hooks.py +0 -0
  381. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_ralph_state.py +0 -0
  382. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_repo_insight.py +0 -0
  383. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_schemas.py +0 -0
  384. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skill_ir.py +0 -0
  385. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_consistency.py +0 -0
  386. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_aggregator.py +0 -0
  387. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_apply.py +0 -0
  388. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_cli_optimize.py +0 -0
  389. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_dispatcher_env.py +0 -0
  390. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
  391. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_fixtures.py +0 -0
  392. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_optimizer.py +0 -0
  393. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_optimizer_isolation.py +0 -0
  394. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_proposer.py +0 -0
  395. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_runner.py +0 -0
  396. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_schema.py +0 -0
  397. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_skills_eval_viewer.py +0 -0
  398. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_sofa_client.py +0 -0
  399. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_sofa_search.py +0 -0
  400. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_template_render.py +0 -0
  401. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_token_budget.py +0 -0
  402. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_validate_dependencies.py +0 -0
  403. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_validate_spec_citations.py +0 -0
  404. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_verification_recorder.py +0 -0
  405. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_workflow_context_injector.py +0 -0
  406. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_workflow_finalizer.py +0 -0
  407. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_workflow_gate.py +0 -0
  408. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_workflow_logger.py +0 -0
  409. {mapify_cli-3.15.1 → mapify_cli-3.15.2}/tests/test_workflow_state.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mapify-cli
3
- Version: 3.15.1
3
+ Version: 3.15.2
4
4
  Summary: MAP Framework installer - Modular Agentic Planner for Claude Code
5
5
  Project-URL: Homepage, https://github.com/azalio/map-framework
6
6
  Project-URL: Repository, https://github.com/azalio/map-framework.git
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mapify-cli"
3
- version = "3.15.1"
3
+ version = "3.15.2"
4
4
  description = "MAP Framework installer - Modular Agentic Planner for Claude Code"
5
5
  authors = [{ name = "MAP Framework Contributors" }]
6
6
  readme = "README.md"
@@ -23,7 +23,7 @@ Or install globally:
23
23
  mapify check
24
24
  """
25
25
 
26
- __version__ = "3.15.1"
26
+ __version__ = "3.15.2"
27
27
 
28
28
  import os
29
29
  import subprocess
@@ -8,13 +8,18 @@ You are a research agent. Your job is to explore the codebase and gather actiona
8
8
  findings for downstream agents (decomposer, actor). You do NOT implement anything.
9
9
  You observe, summarize, and report.
10
10
 
11
- ## OUTPUT FORMAT (STRICT JSON)
11
+ ## OUTPUT FORMAT (STRICT RESEARCH EVIDENCE JSON)
12
12
 
13
- Write ONLY one JSON object to the findings file specified in your task. Do not
13
+ For `/map-efficient` subtask RESEARCH and any task that names `save_research`,
14
+ write ONLY one JSON object to the findings file specified in your task. Do not
14
15
  wrap it in markdown or prose. The downstream `validate_research` gate rejects
15
16
  malformed JSON, missing confidence, missing line ranges, unsafe paths, and more
16
17
  than 5 locations.
17
18
 
19
+ This is the same ResearchEvidence contract used by Claude `research-agent`.
20
+ Codex may use provider-specific commands to inspect files, but the saved
21
+ artifact has the same downstream semantics.
22
+
18
23
  ```
19
24
  {
20
25
  "confidence": 0.85,
@@ -42,6 +47,13 @@ than 5 locations.
42
47
 
43
48
  Status values: `OK`, `PARTIAL_RESULTS`, `NO_RESULTS`, `SEARCH_FAILED`.
44
49
 
50
+ Search method values: `glob_grep` or `grep_read`.
51
+
52
+ `search_stats` fields:
53
+ - `files_scanned`: total files examined during search.
54
+ - `total_matches_found`: all matches before truncating to the top locations.
55
+ - `results_truncated`: true if more results exist than returned.
56
+
45
57
  ## RULES
46
58
 
47
59
  1. Target: under 1500 tokens in the findings file.
@@ -52,21 +64,23 @@ Status values: `OK`, `PARTIAL_RESULTS`, `NO_RESULTS`, `SEARCH_FAILED`.
52
64
  6. Focus on WHAT EXISTS, not what should be built.
53
65
  7. If the task mentions external libraries, note their current usage patterns in the codebase.
54
66
  8. Write the findings file once at the end — do not stream partial results.
67
+ 9. Add `has_intent: true|false` for every location after checking the cited line range for `# Intent:` comments.
68
+ 10. If a planning task explicitly asks for a non-JSON discovery artifact, follow that task's requested format; do not reuse that markdown as a `save_research` artifact.
55
69
 
56
70
  ## SEARCH STRATEGY
57
71
 
58
- 1. Start broad: find relevant directories and entry points.
59
- - `find . -type f -name '*.py'` in likely directories
60
- - `rg -l 'keyword'` to locate mentions
61
- 2. Then narrow: read specific files that are most relevant.
62
- - Focus on function signatures, class definitions, imports
63
- - Note line numbers for everything you report
64
- 3. Look for:
65
- - Existing tests (to understand testing patterns)
66
- - Config files (pyproject.toml, setup.cfg, Makefile)
67
- - Similar implementations already in the codebase
68
- 4. Check git history for recent changes to relevant files:
69
- - `git log --oneline -n 5 -- path/to/file.py`
72
+ Use the provider-neutral Glob/Grep/Read search protocol even when Codex exposes
73
+ those operations through shell-backed commands:
74
+
75
+ 1. Glob-equivalent file discovery: find likely directories and file patterns.
76
+ 2. Grep-equivalent content search: locate exact symbols, imports, and keywords.
77
+ 3. Read-equivalent narrow inspection: open only the most relevant files and cite
78
+ function signatures, class definitions, imports, and inclusive line ranges.
79
+ 4. AAG-filter results against the requested Actor/Action/Goal when provided.
80
+ 5. Intent-inspect each returned range for `# Intent:` comments and set
81
+ `has_intent` accordingly.
82
+ 6. Use git history only when the task explicitly asks for recent-change or
83
+ regression context; never substitute history for file-line evidence.
70
84
 
71
85
  ## DO NOT
72
86
 
@@ -8,13 +8,18 @@ You are a research agent. Your job is to explore the codebase and gather actiona
8
8
  findings for downstream agents (decomposer, actor). You do NOT implement anything.
9
9
  You observe, summarize, and report.
10
10
 
11
- ## OUTPUT FORMAT (STRICT JSON)
11
+ ## OUTPUT FORMAT (STRICT RESEARCH EVIDENCE JSON)
12
12
 
13
- Write ONLY one JSON object to the findings file specified in your task. Do not
13
+ For `/map-efficient` subtask RESEARCH and any task that names `save_research`,
14
+ write ONLY one JSON object to the findings file specified in your task. Do not
14
15
  wrap it in markdown or prose. The downstream `validate_research` gate rejects
15
16
  malformed JSON, missing confidence, missing line ranges, unsafe paths, and more
16
17
  than 5 locations.
17
18
 
19
+ This is the same ResearchEvidence contract used by Claude `research-agent`.
20
+ Codex may use provider-specific commands to inspect files, but the saved
21
+ artifact has the same downstream semantics.
22
+
18
23
  ```
19
24
  {
20
25
  "confidence": 0.85,
@@ -42,6 +47,13 @@ than 5 locations.
42
47
 
43
48
  Status values: `OK`, `PARTIAL_RESULTS`, `NO_RESULTS`, `SEARCH_FAILED`.
44
49
 
50
+ Search method values: `glob_grep` or `grep_read`.
51
+
52
+ `search_stats` fields:
53
+ - `files_scanned`: total files examined during search.
54
+ - `total_matches_found`: all matches before truncating to the top locations.
55
+ - `results_truncated`: true if more results exist than returned.
56
+
45
57
  ## RULES
46
58
 
47
59
  1. Target: under 1500 tokens in the findings file.
@@ -52,21 +64,23 @@ Status values: `OK`, `PARTIAL_RESULTS`, `NO_RESULTS`, `SEARCH_FAILED`.
52
64
  6. Focus on WHAT EXISTS, not what should be built.
53
65
  7. If the task mentions external libraries, note their current usage patterns in the codebase.
54
66
  8. Write the findings file once at the end — do not stream partial results.
67
+ 9. Add `has_intent: true|false` for every location after checking the cited line range for `# Intent:` comments.
68
+ 10. If a planning task explicitly asks for a non-JSON discovery artifact, follow that task's requested format; do not reuse that markdown as a `save_research` artifact.
55
69
 
56
70
  ## SEARCH STRATEGY
57
71
 
58
- 1. Start broad: find relevant directories and entry points.
59
- - `find . -type f -name '*.py'` in likely directories
60
- - `rg -l 'keyword'` to locate mentions
61
- 2. Then narrow: read specific files that are most relevant.
62
- - Focus on function signatures, class definitions, imports
63
- - Note line numbers for everything you report
64
- 3. Look for:
65
- - Existing tests (to understand testing patterns)
66
- - Config files (pyproject.toml, setup.cfg, Makefile)
67
- - Similar implementations already in the codebase
68
- 4. Check git history for recent changes to relevant files:
69
- - `git log --oneline -n 5 -- path/to/file.py`
72
+ Use the provider-neutral Glob/Grep/Read search protocol even when Codex exposes
73
+ those operations through shell-backed commands:
74
+
75
+ 1. Glob-equivalent file discovery: find likely directories and file patterns.
76
+ 2. Grep-equivalent content search: locate exact symbols, imports, and keywords.
77
+ 3. Read-equivalent narrow inspection: open only the most relevant files and cite
78
+ function signatures, class definitions, imports, and inclusive line ranges.
79
+ 4. AAG-filter results against the requested Actor/Action/Goal when provided.
80
+ 5. Intent-inspect each returned range for `# Intent:` comments and set
81
+ `has_intent` accordingly.
82
+ 6. Use git history only when the task explicitly asks for recent-change or
83
+ regression context; never substitute history for file-line evidence.
70
84
 
71
85
  ## DO NOT
72
86
 
@@ -2233,6 +2233,84 @@ class TestMapEfficientSaveResearchWiring:
2233
2233
  assert "save direct current-session findings" in content
2234
2234
 
2235
2235
 
2236
+ class TestResearchProviderParity:
2237
+ """Regression tests for the shared Claude/Codex ResearchEvidence contract."""
2238
+
2239
+ @pytest.fixture(
2240
+ params=[
2241
+ Path(".claude/agents/research-agent.md"),
2242
+ Path("src/mapify_cli/templates/agents/research-agent.md"),
2243
+ Path(".codex/agents/researcher.toml"),
2244
+ Path("src/mapify_cli/templates/codex/agents/researcher.toml"),
2245
+ ],
2246
+ ids=["claude-dev", "claude-template", "codex-dev", "codex-template"],
2247
+ )
2248
+ def researcher_path(self, request: pytest.FixtureRequest) -> Path:
2249
+ return Path(__file__).parent.parent / request.param
2250
+
2251
+ def test_researcher_templates_share_core_evidence_fields(
2252
+ self, researcher_path: Path
2253
+ ) -> None:
2254
+ content = researcher_path.read_text(encoding="utf-8")
2255
+
2256
+ for field in [
2257
+ '"confidence"',
2258
+ '"status"',
2259
+ '"search_method"',
2260
+ '"search_stats"',
2261
+ '"files_scanned"',
2262
+ '"total_matches_found"',
2263
+ '"results_truncated"',
2264
+ '"executive_summary"',
2265
+ '"relevant_locations"',
2266
+ '"path"',
2267
+ '"lines"',
2268
+ '"signature"',
2269
+ '"relevance"',
2270
+ '"relevance_score"',
2271
+ '"has_intent"',
2272
+ '"patterns_discovered"',
2273
+ ]:
2274
+ assert field in content, f"{researcher_path} missing {field}"
2275
+
2276
+ def test_researcher_templates_keep_bounded_file_line_evidence(
2277
+ self, researcher_path: Path
2278
+ ) -> None:
2279
+ content = researcher_path.read_text(encoding="utf-8")
2280
+
2281
+ assert "at most 5" in content.lower() or "max 5" in content.lower()
2282
+ assert "inclusive" in content.lower()
2283
+ assert "line" in content.lower()
2284
+ assert (
2285
+ "safe relative" in content.lower()
2286
+ or "relative to project root" in content.lower()
2287
+ )
2288
+
2289
+ def test_codex_researcher_uses_provider_neutral_search_contract(self) -> None:
2290
+ project_root = Path(__file__).parent.parent
2291
+ for relative_path in [
2292
+ Path(".codex/agents/researcher.toml"),
2293
+ Path("src/mapify_cli/templates/codex/agents/researcher.toml"),
2294
+ ]:
2295
+ content = (project_root / relative_path).read_text(encoding="utf-8")
2296
+ assert "ResearchEvidence contract" in content
2297
+ assert "same downstream semantics" in content
2298
+ assert "Glob-equivalent" in content
2299
+ assert "Grep-equivalent" in content
2300
+ assert "Read-equivalent" in content
2301
+ assert "find . -type f" not in content
2302
+ assert "rg -l" not in content
2303
+
2304
+ def test_usage_docs_explain_provider_parity(self) -> None:
2305
+ docs = (Path(__file__).parent.parent / "docs/USAGE.md").read_text(
2306
+ encoding="utf-8"
2307
+ )
2308
+
2309
+ assert "Claude `research-agent` and Codex `researcher`" in docs
2310
+ assert "ResearchEvidence JSON" in docs
2311
+ assert "downstream Actor/Monitor semantics" in docs
2312
+
2313
+
2236
2314
  class TestMapEfficientBuildContextBlockCli:
2237
2315
  """Regression: map-efficient must show the build_context_block CLI form.
2238
2316
 
File without changes
File without changes
File without changes