mapify-cli 3.23.0__tar.gz → 3.24.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 (515) hide show
  1. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/PKG-INFO +87 -106
  2. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/README.md +86 -105
  3. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/pyproject.toml +19 -1
  4. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/__init__.py +143 -102
  5. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/_locking.py +4 -4
  6. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/boundary_quality_report.py +0 -1
  7. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/cli_ui.py +9 -11
  8. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/code_map.py +0 -1
  9. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/config/mcp.py +13 -12
  10. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/config/project_config.py +2 -2
  11. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/config/settings.py +18 -9
  12. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/delivery/agent_generator.py +7 -8
  13. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/delivery/domain_skill.py +4 -6
  14. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/delivery/file_copier.py +10 -12
  15. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/delivery/governance_report.py +3 -4
  16. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/delivery/managed_file_copier.py +12 -13
  17. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/delivery/template_renderer.py +5 -4
  18. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/dependency_graph.py +43 -45
  19. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/grace_eval/schema.py +5 -5
  20. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/grace_eval/sweep.py +1 -1
  21. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/install_manifest.py +10 -8
  22. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/intent_detector.py +3 -3
  23. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/memory/capture.py +5 -6
  24. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/memory/finalize.py +4 -3
  25. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/memory/recall.py +2 -2
  26. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/minimality_eval.py +13 -12
  27. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/minimality_report.py +8 -7
  28. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/parallelism_observability.py +2 -3
  29. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/ralph_state.py +19 -20
  30. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/repo_insight.py +6 -4
  31. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/research_eval.py +2 -3
  32. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/research_eval_compare.py +1 -2
  33. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/schemas.py +2 -2
  34. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skill_ir.py +4 -5
  35. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/aggregator.py +1 -2
  36. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/apply_patcher.py +2 -2
  37. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/assertions.py +0 -1
  38. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/description_optimizer.py +4 -1
  39. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/dispatcher.py +1 -0
  40. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/eval_schema.py +5 -5
  41. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/proposer.py +3 -2
  42. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/trajectory/bundle.py +1 -3
  43. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/trajectory/dispatcher.py +3 -2
  44. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/trajectory/eval_schema.py +5 -5
  45. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/trajectory/gates.py +1 -1
  46. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/trajectory/judge.py +4 -3
  47. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/trajectory/report.py +2 -2
  48. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/trajectory/runner.py +3 -3
  49. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/trajectory/seeding.py +2 -2
  50. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/viewer.py +2 -2
  51. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/agents/evaluator.md +4 -0
  52. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/agents/monitor.md +3 -0
  53. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/agents/predictor.md +4 -0
  54. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/agents/research-agent.md +3 -0
  55. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +9 -15
  56. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/context-meter.py +2 -1
  57. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +2 -4
  58. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/map-memory-capture.py +1 -1
  59. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/map-memory-endmark.py +1 -1
  60. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/map-memory-finalize.py +1 -1
  61. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/map-statusline.py +1 -1
  62. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/map-token-meter.py +4 -2
  63. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/post-compact-context.py +5 -4
  64. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +11 -11
  65. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +27 -27
  66. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +14 -14
  67. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/safety-guardrails.py +4 -4
  68. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/scrub-internal-ids.py +6 -5
  69. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/workflow-context-injector.py +11 -22
  70. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/workflow-gate.py +9 -15
  71. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/scripts/classify_scope.py +0 -2
  72. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/scripts/diagnostics.py +4 -5
  73. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +125 -80
  74. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/scripts/map_step_runner.py +482 -425
  75. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/scripts/map_utils.py +2 -1
  76. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/scripts/scrub_internal_ids.py +15 -16
  77. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/scripts/sofa_client.py +1 -2
  78. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/scripts/wayfind_runner.py +30 -34
  79. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/settings.json +0 -6
  80. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +3 -5
  81. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +4 -0
  82. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/agents/monitor.md.jinja +3 -0
  83. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/agents/predictor.md.jinja +4 -0
  84. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +3 -0
  85. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +9 -15
  86. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +2 -1
  87. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +2 -4
  88. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +1 -1
  89. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +1 -1
  90. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +1 -1
  91. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/map-statusline.py.jinja +1 -1
  92. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +4 -2
  93. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +5 -4
  94. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +11 -11
  95. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +27 -27
  96. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +14 -14
  97. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +4 -4
  98. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/scrub-internal-ids.py.jinja +6 -5
  99. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +11 -22
  100. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +9 -15
  101. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/scripts/classify_scope.py.jinja +0 -2
  102. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +4 -5
  103. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +125 -80
  104. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +482 -425
  105. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +2 -1
  106. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/scripts/scrub_internal_ids.py.jinja +15 -16
  107. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +1 -2
  108. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/scripts/wayfind_runner.py.jinja +30 -34
  109. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/settings.json.jinja +0 -6
  110. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-so-search/scripts/sofa_search.py.jinja +3 -5
  111. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/token_budget.py +1 -1
  112. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/tool_output_offload.py +7 -9
  113. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/tools/validate_dependencies.py +23 -25
  114. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/verification_recorder.py +8 -8
  115. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/workflow_finalizer.py +1 -2
  116. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/workflow_logger.py +34 -34
  117. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/workflow_state.py +21 -21
  118. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/_fake_task_tool.py +1 -2
  119. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/conftest.py +0 -1
  120. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/fixtures/wave_blueprints.py +0 -1
  121. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/hooks/test_detect_clarification_triggers.py +4 -1
  122. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/hooks/test_end_of_turn.py +48 -31
  123. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/hooks/test_hook_inventory_smoke.py +0 -1
  124. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/hooks/test_safety_guardrails.py +6 -2
  125. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/integration/test_e2e_artifact_contracts.py +3 -3
  126. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/integration/test_e2e_claude_sdk.py +13 -4
  127. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/whole_skill/spike_runner.py +5 -6
  128. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_agent_cli_correctness.py +0 -1
  129. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_agent_frontmatter.py +128 -2
  130. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_approval_hold.py +2 -2
  131. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_artifact_schemas.py +0 -1
  132. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_boundary_quality_report.py +0 -1
  133. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_bump_version.py +0 -1
  134. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_classify_scope_script.py +8 -2
  135. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_code_map.py +2 -1
  136. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_compaction_offload_integration.py +1 -0
  137. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_concurrent_dispatch_harness.py +8 -7
  138. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_context_usefulness.py +3 -3
  139. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_decomposition.py +3 -2
  140. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_dependency_graph.py +1 -0
  141. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_diagnostics.py +1 -1
  142. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_digest_schema.py +1 -2
  143. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_file_copier.py +0 -1
  144. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_governance_attack_fixtures.py +10 -7
  145. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_grace_eval_sweep.py +1 -2
  146. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_hook_patterns.py +1 -0
  147. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_init_import_graph.py +1 -1
  148. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_install_manifest.py +0 -2
  149. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_inv1_no_anthropic_optimize.py +8 -9
  150. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_jinja2_dep.py +0 -1
  151. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_locking.py +12 -14
  152. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_managed_file_copier.py +0 -1
  153. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_map_orchestrator.py +201 -64
  154. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_map_step_runner.py +366 -61
  155. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_map_token_meter.py +10 -5
  156. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_map_utils_sanitize.py +0 -1
  157. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_mapify_cli.py +69 -6
  158. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_memory_capture.py +13 -13
  159. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_memory_finalize.py +1 -0
  160. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_memory_integration.py +0 -1
  161. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_memory_recall.py +0 -1
  162. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_memory_review_fixes.py +4 -5
  163. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_minimality_eval.py +2 -3
  164. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_minimality_report.py +8 -8
  165. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_parallelism_observability.py +2 -3
  166. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_project_config.py +3 -0
  167. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_prompt_layering.py +1 -1
  168. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_pyyaml_dep.py +0 -1
  169. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_ralph_hooks.py +12 -20
  170. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_ralph_state.py +3 -3
  171. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_repo_insight.py +4 -5
  172. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills.py +9 -9
  173. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_aggregator.py +0 -1
  174. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_apply.py +6 -4
  175. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_cli_optimize.py +4 -2
  176. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_optimizer.py +5 -7
  177. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_optimizer_isolation.py +2 -3
  178. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_proposer.py +0 -1
  179. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_runner.py +22 -13
  180. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_schema.py +0 -1
  181. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_trajectory_cli.py +0 -1
  182. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_trajectory_gates.py +0 -1
  183. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_trajectory_runner.py +0 -1
  184. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_trajectory_schema.py +2 -3
  185. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_viewer.py +2 -3
  186. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_slice5b_leak_guards.py +3 -3
  187. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_sofa_client.py +66 -70
  188. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_sofa_search.py +25 -30
  189. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_template_render.py +8 -6
  190. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_token_budget.py +0 -1
  191. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_tool_output_offload.py +0 -1
  192. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_validate_dependencies.py +12 -17
  193. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_validate_spec_citations.py +0 -1
  194. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_verification_recorder.py +7 -7
  195. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_wave_eval_harness.py +7 -10
  196. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_wave_fixtures.py +9 -6
  197. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_wave_parallel_harness.py +2 -3
  198. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_wayfind_runner.py +2 -2
  199. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_workflow_finalizer.py +2 -4
  200. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_workflow_gate.py +6 -3
  201. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_workflow_logger.py +2 -0
  202. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_workflow_state.py +1 -3
  203. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_worktree_isolation.py +5 -3
  204. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/.claude/hooks/README.md +0 -0
  205. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/.claude/skills/README.md +0 -0
  206. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/.gitignore +0 -0
  207. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/LICENSE +0 -0
  208. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/config/__init__.py +15 -15
  209. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/delivery/__init__.py +36 -36
  210. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/delivery/codex_copier.py +0 -0
  211. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/delivery/providers.py +3 -3
  212. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/grace_eval/__init__.py +4 -4
  213. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/memory/__init__.py +0 -0
  214. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/memory/digest_schema.py +0 -0
  215. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/scope_classifier.py +0 -0
  216. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/__init__.py +5 -5
  217. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/runner.py +0 -0
  218. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/trajectory/__init__.py +0 -0
  219. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/skills_eval/trajectory/repeated.py +0 -0
  220. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/.gitignore +0 -0
  221. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/CLAUDE.md +0 -0
  222. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/agents/actor.md +0 -0
  223. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
  224. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
  225. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/agents/reflector.md +0 -0
  226. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
  227. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
  228. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
  229. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/agents/evaluator.toml +0 -0
  230. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/agents/monitor.toml +0 -0
  231. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/agents/predictor.toml +0 -0
  232. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/agents/researcher.toml +0 -0
  233. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/config.toml +0 -0
  234. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/hooks.json +0 -0
  235. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
  236. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +0 -0
  237. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +0 -0
  238. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
  239. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
  240. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +0 -0
  241. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md +0 -0
  242. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +0 -0
  243. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/skills/map-review/review-reference.md +0 -0
  244. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/codex/skills/map-understand/SKILL.md +0 -0
  245. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/README.md +0 -0
  246. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/end-of-turn.sh +0 -0
  247. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/hooks/map-memory-recall.py +1 -1
  248. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
  249. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
  250. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
  251. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
  252. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
  253. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
  254. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
  255. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
  256. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
  257. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
  258. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
  259. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/references/hook-patterns.md +0 -0
  260. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/references/host-paths.md +0 -0
  261. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
  262. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
  263. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
  264. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
  265. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
  266. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
  267. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/rules/learned/README.md +0 -0
  268. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/README.md +0 -0
  269. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-architecture/SKILL.md +0 -0
  270. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
  271. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
  272. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
  273. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +0 -0
  274. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +0 -0
  275. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
  276. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
  277. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
  278. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
  279. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
  280. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
  281. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
  282. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-plan/SKILL.md +0 -0
  283. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
  284. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-release/SKILL.md +0 -0
  285. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
  286. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
  287. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-review/SKILL.md +0 -0
  288. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-review/adversarial-reference.md +0 -0
  289. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-review/review-reference.md +0 -0
  290. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
  291. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
  292. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
  293. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
  294. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
  295. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
  296. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
  297. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
  298. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
  299. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
  300. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
  301. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-task/SKILL.md +0 -0
  302. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
  303. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
  304. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-understand/SKILL.md +0 -0
  305. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-wayfind/SKILL.md +0 -0
  306. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/map-wayfind/wayfind-reference.md +0 -0
  307. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
  308. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates/workflow-rules.json +0 -0
  309. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/.gitignore.jinja +0 -0
  310. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
  311. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/agents/actor.md.jinja +0 -0
  312. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
  313. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
  314. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
  315. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
  316. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
  317. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
  318. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/agents/evaluator.toml.jinja +0 -0
  319. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +0 -0
  320. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/agents/predictor.toml.jinja +0 -0
  321. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +0 -0
  322. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
  323. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
  324. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
  325. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +0 -0
  326. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +0 -0
  327. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
  328. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
  329. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +0 -0
  330. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/skills/map-review/SKILL.md.jinja +0 -0
  331. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/skills/map-review/adversarial-reference.md.jinja +0 -0
  332. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/skills/map-review/review-reference.md.jinja +0 -0
  333. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/codex/skills/map-understand/SKILL.md.jinja +0 -0
  334. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/README.md.jinja +0 -0
  335. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +0 -0
  336. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +1 -1
  337. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
  338. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
  339. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
  340. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
  341. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
  342. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
  343. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
  344. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
  345. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
  346. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
  347. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
  348. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +0 -0
  349. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
  350. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
  351. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
  352. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
  353. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
  354. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
  355. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
  356. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
  357. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
  358. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-architecture/SKILL.md.jinja +0 -0
  359. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
  360. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
  361. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
  362. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +0 -0
  363. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +0 -0
  364. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
  365. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
  366. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
  367. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
  368. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
  369. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
  370. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
  371. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +0 -0
  372. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
  373. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +0 -0
  374. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
  375. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
  376. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +0 -0
  377. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-review/adversarial-reference.md.jinja +0 -0
  378. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +0 -0
  379. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
  380. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
  381. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
  382. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
  383. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
  384. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
  385. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
  386. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
  387. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
  388. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
  389. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
  390. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +0 -0
  391. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
  392. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
  393. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-understand/SKILL.md.jinja +0 -0
  394. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-wayfind/SKILL.md.jinja +0 -0
  395. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
  396. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
  397. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
  398. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/src/mapify_cli/tools/__init__.py +8 -8
  399. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/__init__.py +0 -0
  400. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/fixtures/claude/escalation-matrix.md +0 -0
  401. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/fixtures/codex/config.toml +0 -0
  402. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/hooks/test_scrub_internal_ids_hook.py +0 -0
  403. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/integration/__init__.py +0 -0
  404. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/integration/fixtures/blueprint.json +0 -0
  405. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/integration/fixtures/code_review.md +0 -0
  406. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/integration/fixtures/plan_handoff.json +0 -0
  407. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/integration/fixtures/spec.md +0 -0
  408. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/integration/fixtures/step_state_initialized.json +0 -0
  409. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
  410. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/integration/fixtures/task_plan.md +0 -0
  411. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/integration/fixtures/verification_summary.md +0 -0
  412. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/README.md +0 -0
  413. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
  414. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
  415. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
  416. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
  417. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
  418. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
  419. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
  420. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
  421. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
  422. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
  423. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
  424. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
  425. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
  426. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
  427. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
  428. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
  429. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
  430. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
  431. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/blueprint.json +0 -0
  432. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/task_plan_main.md +0 -0
  433. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
  434. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
  435. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/tests/test_compute.py +0 -0
  436. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/hidden/test_calc_full.py +0 -0
  437. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
  438. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/blueprint.json +0 -0
  439. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/task_plan_main.md +0 -0
  440. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
  441. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
  442. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/tests/test_calc_basic.py +0 -0
  443. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/hidden/test_calc_full.py +0 -0
  444. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
  445. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/blueprint.json +0 -0
  446. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/task_plan_main.md +0 -0
  447. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/__init__.py +0 -0
  448. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/calc.py +0 -0
  449. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/tests/test_calc_basic.py +0 -0
  450. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/hidden/test_kvparse_full.py +0 -0
  451. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/manifest.json +0 -0
  452. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/blueprint.json +0 -0
  453. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/task_plan_main.md +0 -0
  454. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/__init__.py +0 -0
  455. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/kvparse.py +0 -0
  456. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/tests/test_kvparse_basic.py +0 -0
  457. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
  458. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/blueprint.json +0 -0
  459. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/task_plan_main.md +0 -0
  460. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/__init__.py +0 -0
  461. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/config.py +0 -0
  462. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/utils.py +0 -0
  463. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/tests/test_price.py +0 -0
  464. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
  465. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/blueprint.json +0 -0
  466. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/task_plan_main.md +0 -0
  467. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/__init__.py +0 -0
  468. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/config.py +0 -0
  469. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/utils.py +0 -0
  470. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/tests/test_utils.py +0 -0
  471. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
  472. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/blueprint.json +0 -0
  473. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/task_plan_main.md +0 -0
  474. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
  475. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
  476. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/tests/test_semver.py +0 -0
  477. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/hidden/test_semver_full.py +0 -0
  478. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
  479. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/blueprint.json +0 -0
  480. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/task_plan_main.md +0 -0
  481. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/__init__.py +0 -0
  482. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/semver.py +0 -0
  483. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/tests/test_semver_basic.py +0 -0
  484. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/hidden/test_semver_full.py +0 -0
  485. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
  486. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/blueprint.json +0 -0
  487. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/task_plan_main.md +0 -0
  488. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/__init__.py +0 -0
  489. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/semver.py +0 -0
  490. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/tests/test_semver_basic.py +0 -0
  491. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_agent_dispatch_audit.py +0 -0
  492. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_cross_ai_config.py +0 -0
  493. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_domain_skill.py +0 -0
  494. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_governance_report.py +0 -0
  495. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_grace_eval_schema.py +3 -3
  496. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_intent_detector.py +0 -0
  497. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_post_compact_context.py +0 -0
  498. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_preset_commands.py +0 -0
  499. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_prompt_profile_commands.py +0 -0
  500. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_research_eval.py +0 -0
  501. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_research_eval_compare.py +0 -0
  502. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_schemas.py +0 -0
  503. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_scope_classifier.py +1 -1
  504. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_scrub_internal_ids.py +0 -0
  505. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skill_ir.py +0 -0
  506. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_consistency.py +0 -0
  507. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_dispatcher_env.py +0 -0
  508. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
  509. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_fixtures.py +0 -0
  510. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_trajectory_bundle.py +0 -0
  511. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_trajectory_judge.py +0 -0
  512. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_trajectory_repeated.py +0 -0
  513. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_skills_eval_trajectory_report.py +0 -0
  514. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_statusline.py +0 -0
  515. {mapify_cli-3.23.0 → mapify_cli-3.24.0}/tests/test_workflow_context_injector.py +1 -1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mapify-cli
3
- Version: 3.23.0
3
+ Version: 3.24.0
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
@@ -45,44 +45,41 @@ Description-Content-Type: text/markdown
45
45
 
46
46
  # MAP Framework
47
47
 
48
- [![PyPI version](https://badge.fury.io/py/mapify-cli.svg)](https://pypi.org/project/mapify-cli/)
49
- [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
50
- [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
51
- [![GitHub stars](https://img.shields.io/github/stars/azalio/map-framework?style=social)](https://github.com/azalio/map-framework)
48
+ <p align="center">
49
+ <img src="./assets/readme/hero.svg" width="100%" alt="MAP Framework — Plan-then-build AI coding. You approve the plan before the model writes a line of code.">
50
+ </p>
52
51
 
53
- > **Plan-then-build AI coding for Claude Code & Codex CLI.** `/map-plan` decomposes your task into small, reviewable subtasks you approve *before* any code is written; `/map-efficient` implements the approved plan, subtask by subtask. The AI still writes the code — you keep the architecture, scope, and review.
52
+ <p align="center">
53
+ <a href="https://pypi.org/project/mapify-cli/"><img src="https://badge.fury.io/py/mapify-cli.svg" alt="PyPI version"></a>
54
+ <img src="https://img.shields.io/badge/python-3.11+-blue.svg" alt="Python 3.11+">
55
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License: MIT"></a>
56
+ <a href="https://github.com/azalio/map-framework"><img src="https://img.shields.io/github/stars/azalio/map-framework?style=social" alt="GitHub stars"></a>
57
+ </p>
54
58
 
55
- ![MAP in action: /map-plan decomposes the task into reviewable subtasks, /map-efficient implements the approved plan, then /map-check, /map-review, and /map-learn close the loop](docs/demo.gif)
56
-
57
- ## The MAP loop
58
-
59
- Most AI agents rush straight to code before they understand the task — so you get fast wrong answers and silent rework. MAP inserts a plan you approve first, then implements it in reviewable steps:
59
+ ## Why MAP Exists
60
60
 
61
- ```text
62
- idea -> prompt -> code -> hope # without MAP
63
- SPEC -> PLAN -> TEST -> CODE -> REVIEW -> LEARN # with MAP
64
- ```
61
+ Most AI agents rush straight to code — fast wrong answers, silent rework.
65
62
 
66
- You drive the whole loop with two core commands plus three gates:
63
+ <p align="center">
64
+ <img src="./assets/readme/loop.svg" width="100%" alt="Without MAP: idea, prompt, code, hope. With MAP: SPEC, PLAN, TEST, CODE, REVIEW, LEARN — a closed loop.">
65
+ </p>
67
66
 
68
- ```text
69
- /map-plan "add rate limiting to the public API" # 1. PLAN — decompose the task; you approve before any code
70
- /map-efficient # 2. BUILD — implement the approved plan, subtask by subtask
71
- /map-check # 3. CHECK — quality gates against the plan
72
- /map-review # 4. REVIEW — semantic review vs spec, tests, and diff
73
- /map-learn # 5. LEARN — save the gotchas for next session
74
- /map-understand # optional - teach and quiz until the workflow makes sense
75
- ```
67
+ Common failure modes MAP eliminates:
76
68
 
77
- - **Start with `/map-plan`** for anything non-trivial it clarifies behavior and splits the work into contract-sized subtasks.
78
- - **Already scoped?** Go straight to `/map-efficient`.
79
- - **Tiny edit?** `/map-plan` off-ramps you to a direct edit or `/map-fast` instead of forcing full planning.
80
- - **Too foggy to plan?** `/map-wayfind` resolves the open design decisions one at a time on a durable map, then hands the settled decisions to `/map-plan`.
69
+ - AI silently makes architecture decisions you did not approve.
70
+ - One prompt produces a large diff that is hard to review.
71
+ - Tests are written around the generated implementation, including its mistakes.
72
+ - The output compiles, but you cannot explain why the design is correct.
73
+ - The next session forgets the gotchas you already paid to discover.
81
74
 
82
- > Codex CLI users invoke the same skills with `$`: `$map-plan`, `$map-efficient`, `$map-check`. See the [Usage Guide](docs/USAGE.md#codex-cli-provider).
75
+ MAP moves engineering judgment earlier: write down the behavior, split the work into small contracts, verify each stage, review against the spec, and save lessons for the next run.
83
76
 
84
77
  ## Quick Start
85
78
 
79
+ <p align="center">
80
+ <img src="./assets/readme/section-quickstart.svg" width="100%" alt="Quick Start — install, init, run the loop">
81
+ </p>
82
+
86
83
  **1. Install**
87
84
 
88
85
  ```bash
@@ -102,7 +99,7 @@ mapify init
102
99
  claude
103
100
  ```
104
101
 
105
- Codex CLI is also supported:
102
+ Codex CLI:
106
103
 
107
104
  ```bash
108
105
  cd your-project
@@ -110,7 +107,7 @@ mapify init . --provider codex
110
107
  codex
111
108
  ```
112
109
 
113
- Then enable the Codex hook manually: run `/hooks`, select `PreToolUse`, press `t` to toggle it on, then press `Esc`. If your Codex version does not support the `hooks` feature key yet, start it with `codex --enable codex_hooks` or upgrade Codex first (upgrading is recommended).
110
+ Then enable the Codex hook: run `/hooks`, select `PreToolUse`, press `t` to toggle on, then `Esc`. If your Codex version does not support the `hooks` feature key yet, start with `codex --enable codex_hooks` or upgrade first.
114
111
 
115
112
  **3. Run the loop**
116
113
 
@@ -120,24 +117,29 @@ Then enable the Codex hook manually: run `/hooks`, select `PreToolUse`, press `t
120
117
  /map-check
121
118
  /map-review
122
119
  /map-learn
123
- /map-understand # optional learning/quiz mode
124
120
  ```
125
121
 
126
- That's the whole golden path. Everything below explains *why* it works and *when* to reach for it.
122
+ That's the whole golden path.
127
123
 
128
- ## Why MAP Exists
124
+ - **Start with `/map-plan`** for anything non-trivial — it clarifies behavior and splits the work into contract-sized subtasks.
125
+ - **Already scoped?** Go straight to `/map-efficient`.
126
+ - **Tiny edit?** `/map-plan` off-ramps you to a direct edit or `/map-fast` instead of forcing full planning.
127
+ - **Too foggy to plan?** `/map-wayfind` resolves open design decisions one at a time on a durable map, then hands settled decisions to `/map-plan`.
128
+
129
+ > Codex CLI users invoke the same skills with `$`: `$map-plan`, `$map-efficient`, `$map-check`. See the [Usage Guide](docs/USAGE.md#codex-cli-provider).
129
130
 
130
- Ad-hoc prompting feels fast on simple tasks. On complex systems it creates a different problem: code appears quickly, but the engineering process disappears.
131
+ ## Case Study: 90 days 7 days
131
132
 
132
- Common failure modes:
133
+ The DevOpsConf 2026 case study applies this process to a production Kubernetes Project Operator:
133
134
 
134
- - AI silently makes architecture decisions you did not approve.
135
- - One prompt produces a large diff that is hard to review.
136
- - Tests are written around the generated implementation, including its mistakes.
137
- - The output compiles, but you cannot explain why the design is correct.
138
- - The next session forgets the gotchas you already paid to discover.
135
+ - human estimate: **90 days**
136
+ - MAP-style delivery: **7 days**
137
+ - workflow: `SPEC PLAN TEST CODE REVIEW → LEARN`
138
+ - small reviewable PRs instead of one giant generated diff
139
+ - tests before implementation for critical pieces
140
+ - semantic bugs caught in review before merge
139
141
 
140
- MAP moves engineering judgment earlier: write down the behavior, split the work into small contracts, verify each stage, review against the spec, and save lessons for the next run.
142
+ [DevOpsConf 2026 case study →](https://github.com/azalio/devopsconf-ai-develop)
141
143
 
142
144
  ## When To Use MAP
143
145
 
@@ -145,43 +147,18 @@ MAP moves engineering judgment earlier: write down the behavior, split the work
145
147
  |-----------|-----------|
146
148
  | Complex backend features | Typos and tiny edits |
147
149
  | Kubernetes controllers and operators | Small one-off scripts |
148
- | Internal platform tooling | Product ideas where the desired behavior is still unknown |
150
+ | Internal platform tooling | Product ideas where behavior is still unknown |
149
151
  | API, CRD, or domain-model changes with invariants | Broad rewrites without clear boundaries |
150
152
  | Refactoring with a meaningful test harness | Tasks cheaper to do directly than to plan |
151
153
 
152
- ## What Success Looks Like
153
-
154
- After a good first workflow, you should see:
155
-
156
- - a written plan or spec before implementation starts;
157
- - small implementation contracts instead of one giant AI diff;
158
- - verification and review artifacts under `.map/<branch>/`;
159
- - review comments focused on correctness and semantics, not formatting noise;
160
- - `/map-learn` preserving project rules, gotchas, and handoffs for future sessions.
161
-
162
- MAP review is useful, but it is not a replacement for engineering judgment. Serious changes still need human review. The goal is to make that review smaller, earlier, and better grounded.
163
-
164
- ## Case Study: 90 days → 7 days
165
-
166
- The DevOpsConf 2026 case study applies this process to a production Kubernetes Project Operator, not a toy CRUD app:
167
-
168
- - human estimate: **90 days**;
169
- - MAP-style delivery: **7 days**;
170
- - workflow: `SPEC -> PLAN -> TEST -> CODE -> REVIEW -> LEARN`;
171
- - small reviewable PRs instead of one giant generated diff;
172
- - tests before implementation for critical pieces;
173
- - semantic bugs caught in review before merge.
174
-
175
- [DevOpsConf 2026 case study ->](https://github.com/azalio/devopsconf-ai-develop)
176
-
177
154
  ## Core Commands
178
155
 
179
156
  | Command | Use For |
180
157
  |---------|---------|
181
158
  | `/map-plan` | **Start here** for non-trivial work; clarify behavior and decompose tasks |
182
- | `/map-wayfind` | Too foggy to plan? Resolve open design decisions on a durable map *before* `/map-plan` |
159
+ | `/map-wayfind` | Too foggy to plan? Resolve design decisions on a durable map *before* `/map-plan` |
183
160
  | `/map-efficient` | **Implement** an approved plan or already-scoped task |
184
- | `/map-fast` | Small, low-risk changes where full planning would be overhead |
161
+ | `/map-fast` | Small, low-risk changes where full planning is overhead |
185
162
  | `/map-check` | Quality gates, verification, and artifact checks |
186
163
  | `/map-review` | Pre-commit semantic review against the plan, tests, and diff |
187
164
  | `/map-learn` | Capture project memory and reusable lessons |
@@ -192,34 +169,26 @@ The DevOpsConf 2026 case study applies this process to a production Kubernetes P
192
169
  | `/map-release` | Package release workflow |
193
170
  | `/map-resume` | Resume interrupted workflows |
194
171
 
195
- [Detailed usage and options ->](docs/USAGE.md)
196
-
197
- Canonical MAP flows:
198
-
199
- - **Standard:** `/map-plan` -> `/map-efficient` -> `/map-check` -> `/map-review` -> `/map-learn`
200
- - **Full TDD:** `/map-plan` -> `/map-tdd` -> `/map-check` -> `/map-review` -> `/map-learn`
201
- - **Targeted subtask TDD:** `/map-plan` -> `/map-tdd ST-001` -> `/map-task ST-001` -> ... -> `/map-check` -> `/map-review` -> `/map-learn`
202
-
203
- These flows maintain branch-scoped artifacts under `.map/<branch>/` — `blueprint.json` (subtask size/concern contracts), `code-review-001.md`, `verification-summary.md`, `pr-draft.md`, run dossiers, and more — so research, review lineage, and verification survive context resets.
172
+ [Detailed usage and options ](docs/USAGE.md)
204
173
 
205
174
  ## Why Engineers Stick With It
206
175
 
207
- - **Daily-driver speed** — optimized for repeated use, not occasional demo workflows. Structured enough to prevent chaos, lightweight enough to keep token and time cost under control.
208
- - **Reviewable diffs** — `/map-plan` and `/map-efficient` require per-subtask size, concern, and constraint metadata, then validate `blueprint.json` *before* implementation, so oversized or mixed-concern plans fail early instead of surprising reviewers later.
176
+ - **Daily-driver speed** — optimized for repeated use, not occasional demos. Structured enough to prevent chaos, lightweight enough to keep token and time cost under control.
177
+ - **Reviewable diffs** — `/map-plan` and `/map-efficient` require per-subtask size, concern, and constraint metadata, then validate `blueprint.json` *before* implementation, so oversized or mixed-concern plans fail early.
209
178
  - **Gates that check the plan, not vibes** — `/map-check` and `/map-review` validate against the spec, tests, and diff instead of asking whether code "looks fine".
210
- - **Clean-room review** — `/map-review` auto-bundles spec, plan, tests, verification, and coverage evidence into a single durable input (`.map/<branch>/review-bundle.json`); `--detached` opens a read-only worktree for inspection without touching your branch. With `minimality` enabled, review also runs an advisory what-to-delete lens for over-engineering cuts.
179
+ - **Clean-room review** — `/map-review` auto-bundles spec, plan, tests, verification, and coverage evidence into a single durable input (`.map/<branch>/review-bundle.json`); `--detached` opens a read-only worktree for inspection without touching your branch.
211
180
  - **Project memory** — `/map-learn` turns hard-won fixes and gotchas into reusable context, so the next session doesn't relearn them.
212
181
 
213
182
  <details>
214
- <summary><b>More under the hood</b> (calibrated effort, mutation boundaries, token budgets, retry quarantine, run-health diagnostics, skill IR audit)</summary>
215
-
216
- - **Calibrated workflow effort** — each shipped slash skill declares a `thinking_policy` and `parallel_tool_policy`, so lightweight commands stay direct while planning, review, and release workflows reserve deeper reasoning and parallel fan-out for the stages that benefit. Non-release prompts use targeted guardrails instead of blanket all-caps prohibition blocks, reducing over-triggered agents and tool calls while keeping true hard stops explicit.
217
- - **Mutation boundary constraints** — write-capable Claude and Codex surfaces tell agents not to edit unrelated files, add or upgrade dependencies, or refactor neighboring code unless the current subtask requires it. Broader scope is reported as a blocker or tradeoff instead of silently expanding the diff.
218
- - **Context-first prompt envelopes** — high-context `/map-plan`, `/map-efficient`, `/map-debug`, and `/map-review` prompts wrap branch artifacts in XML-style `<documents>`, then state the `<task>` and `<expected_output>`, so specs, diffs, logs, and schemas stay separated for the model.
219
- - **Contract-sized subtasks** — blueprints require `expected_diff_size`, `concern_type`, `one_logical_step`, `hard_constraints`, `soft_constraints`, and `coverage_map`. Hard constraints must be owned in `coverage_map` and cited in the owning subtask; soft constraints can be traded off only with explicit `tradeoff_rationale`.
220
- - **Token budget and research ROI reports** — Actor and review prompt builders append active-path budget decisions to `.map/<branch>/token_budget.json`, while `token_accounting.json` and `/map-tokenreport` separate research-agent/researcher cost from Actor/Monitor cost so operators can see whether delegated research paid for itself.
221
- - **Clean retry quarantine** — after repeated Monitor rejection, write-capable workflows switch the next attempt into clean-retry mode using `.map/<branch>/retry_quarantine.json` (constraints, required evidence, do-not-repeat feedback) instead of raw failed-session context.
222
- - **Run health report** — workflows write `.map/<branch>/run_health_report.json` during closeout: terminal status, step progress, retry counters, artifact presence, hook-injection status, and advisory research artifact/ROI signals. CI can fail inconsistent closeouts with `python3 .map/scripts/map_step_runner.py validate_run_health_report`.
183
+ <summary><b>More under the hood</b> calibrated effort, mutation boundaries, token budgets, retry quarantine, run-health diagnostics, skill IR audit</summary>
184
+
185
+ - **Calibrated workflow effort** — each shipped slash skill declares a `thinking_policy` and `parallel_tool_policy`, so lightweight commands stay direct while planning, review, and release workflows reserve deeper reasoning and parallel fan-out for the stages that benefit.
186
+ - **Mutation boundary constraints** — write-capable Claude and Codex surfaces tell agents not to edit unrelated files, add or upgrade dependencies, or refactor neighboring code unless the current subtask requires it.
187
+ - **Context-first prompt envelopes** — high-context prompts wrap branch artifacts in XML-style `<documents>`, then state the `<task>` and `<expected_output>`, so specs, diffs, logs, and schemas stay separated for the model.
188
+ - **Contract-sized subtasks** — blueprints require `expected_diff_size`, `concern_type`, `one_logical_step`, `hard_constraints`, `soft_constraints`, and `coverage_map`. Hard constraints must be owned in `coverage_map` and cited in the owning subtask.
189
+ - **Token budget and research ROI reports** — Actor and review prompt builders append active-path budget decisions to `.map/<branch>/token_budget.json`, while `token_accounting.json` and `/map-tokenreport` separate research-agent/researcher cost from Actor/Monitor cost.
190
+ - **Clean retry quarantine** — after repeated Monitor rejection, write-capable workflows switch the next attempt into clean-retry mode using `.map/<branch>/retry_quarantine.json` instead of raw failed-session context.
191
+ - **Run health report** — workflows write `.map/<branch>/run_health_report.json` during closeout: terminal status, step progress, retry counters, artifact presence, hook-injection status, and advisory signals. CI can fail inconsistent closeouts with `python3 .map/scripts/map_step_runner.py validate_run_health_report`.
223
192
  - **Compact recovery surface** — `/map-resume` keeps the active recovery flow short and moves low-frequency notes to `resume-reference.md`, so recovery after `/clear` or context exhaustion gives the next checkpoint action without loading the whole appendix.
224
193
  - **Skill IR audit** — release checks lower shipped Claude and Codex `SKILL.md` files into a typed `SkillIR`, verify content hashes, catch unsupported frontmatter, reject missing supporting-file links, and block injection-like instructions before `mapify init` copies surfaces into user repos.
225
194
 
@@ -230,32 +199,44 @@ These flows maintain branch-scoped artifacts under `.map/<branch>/` — `bluepri
230
199
  MAP orchestrates specialized roles through slash commands and skills:
231
200
 
232
201
  ```text
233
- TaskDecomposer -> breaks goals into subtasks
234
- Actor -> implements scoped tasks
235
- Monitor -> validates quality and blocks invalid output
236
- Predictor -> analyzes impact for risky changes
237
- Learner -> captures reusable project memory
202
+ TaskDecomposer breaks goals into subtasks
203
+ Actor implements scoped tasks
204
+ Monitor validates quality and blocks invalid output
205
+ Predictor analyzes impact for risky changes
206
+ Learner captures reusable project memory
238
207
  ```
239
208
 
240
209
  For Claude Code, MAP slash surfaces live in `.claude/skills/map-*/SKILL.md` files created by `mapify init`. For Codex CLI, `mapify init . --provider codex` creates `.agents/skills/`, `.codex/agents/`, `.codex/config.toml`, hooks, and shared `.map/scripts/`.
241
210
 
242
211
  MAP is inspired by the [MAP cognitive architecture](https://github.com/Shanka123/MAP) (Nature Communications, 2025), which reported a 74% improvement on planning tasks. The CLI turns that idea into a practical software-development workflow.
243
212
 
244
- [Architecture deep-dive ->](docs/ARCHITECTURE.md)
213
+ [Architecture deep-dive ](docs/ARCHITECTURE.md)
214
+
215
+ ## What Success Looks Like
216
+
217
+ After a good first workflow, you should see:
218
+
219
+ - a written plan or spec before implementation starts;
220
+ - small implementation contracts instead of one giant AI diff;
221
+ - verification and review artifacts under `.map/<branch>/`;
222
+ - review comments focused on correctness and semantics, not formatting noise;
223
+ - `/map-learn` preserving project rules, gotchas, and handoffs for future sessions.
224
+
225
+ MAP review is useful, but it is not a replacement for engineering judgment. Serious changes still need human review. The goal is to make that review smaller, earlier, and better grounded.
245
226
 
246
227
  ## Options
247
228
 
248
229
  <details>
249
- <summary>Minimality doctrine, context-compression policy, Stack Overflow for Agents (SOFA), and other init flags</summary>
230
+ <summary>Minimality doctrine, context-compression policy, SOFA, and other init flags</summary>
250
231
 
251
232
  **Minimality doctrine** (controls how strongly MAP pushes Actor/Monitor/Evaluator toward the smallest sufficient safe change):
252
233
 
253
234
  ```yaml
254
235
  # .map/config.yaml
255
- minimality: lite # default for ALL projects incl. keyless configs (#183); set 'off' to opt out
236
+ minimality: lite # default for ALL projects; set 'off' to opt out
256
237
  ```
257
238
 
258
- Allowed values: `off`, `lite`, `full`, `ultra`. The global default is `lite` (Phase 3 flip, #183 — keyless configs included; set `off` to opt out). `lite` is conservative: Actor prefers the fewest moving parts, Monitor blocks scope drift only when it affects required behavior, and Evaluator scores simplicity without letting it hide missing required work. `/map-review` also adds an advisory what-to-delete lens when minimality is not `off`; its `net: -N` estimate is informational, not a gate. In `full`/`ultra`, the decomposer may place speculative omissions in `blueprint.deferred_yagni`; those items must be shown during plan approval and can be restored before execution with `python3 .map/scripts/map_orchestrator.py restore_deferred_yagni YG-NNN`. Maintainers can still inspect local rollout telemetry with `mapify minimality-report --json`, which compares complete `off` and opt-in run-health cohorts, reports sample gaps and cohort branch names, lists next telemetry actions, and emits a candidate-only `manual_review_gate` with opt-in branches plus a clarity/underscope checklist.
239
+ Allowed values: `off`, `lite`, `full`, `ultra`. The global default is `lite`. `lite` is conservative: Actor prefers the fewest moving parts, Monitor blocks scope drift only when it affects required behavior, and Evaluator scores simplicity without letting it hide missing required work. `/map-review` also adds an advisory what-to-delete lens when minimality is not `off`; its `net: -N` estimate is informational, not a gate. In `full`/`ultra`, the decomposer may place speculative omissions in `blueprint.deferred_yagni`; those items must be shown during plan approval and can be restored with `python3 .map/scripts/map_orchestrator.py restore_deferred_yagni YG-NNN`. Maintainers can inspect local rollout telemetry with `mapify minimality-report --json`.
259
240
 
260
241
  **Context-compression policy** (controls the `/compact` nudge; default `never` — opt-in):
261
242
 
@@ -266,7 +247,7 @@ mapify init . --compression aggressive # nudge at 0.4 x threshold
266
247
  mapify init . --compression-threshold 250000 # Opus 1M / 50+ subtask plans
267
248
  ```
268
249
 
269
- Actor and reviewer prompts always carry the full bundled context — context-block truncation was removed. If the conversation grows beyond your model's window, opt into `/compact` via `--compression auto` or trigger it manually. When a policy other than `never` is active, MAP also offloads large tool outputs (grep/test/file-read results) to `.map/<branch>/compacted/` before `/compact` drops them, so a dropped output is re-read from its sidecar instead of re-running broad discovery (these sidecars can hold secrets — they are `0o600` and self-ignored from git; never push `.map/`). See [docs/USAGE.md#context-budget-policy](docs/USAGE.md).
250
+ Actor and reviewer prompts always carry the full bundled context — context-block truncation was removed. When a policy other than `never` is active, MAP offloads large tool outputs to `.map/<branch>/compacted/` before `/compact` drops them, so a dropped output is re-read from its sidecar instead of re-running broad discovery (these sidecars can hold secrets — they are `0o600` and self-ignored from git; never push `.map/`). See [docs/USAGE.md#context-budget-policy](docs/USAGE.md).
270
251
 
271
252
  **Stack Overflow for Agents (SOFA)** read-only prior-art search — **off by default**, no network or credentials unless you enable it:
272
253
 
@@ -283,7 +264,7 @@ mapify init . --autonomy # auto-approve most tools; keep git commit/push
283
264
  mapify init . --no-autonomy # remove the autonomy posture
284
265
  ```
285
266
 
286
- `--autonomy` writes a broad auto-approve allowlist plus a `git commit`/`push` deny into the **per-user, gitignored** `.claude/settings.local.json` (the committed team `.claude/settings.json` stays the secure baseline) and gitignores that file. The git block is enforced by the `safety-guardrails.py` PreToolUse hook (the permission deny alone is bypassable under a broad `Bash(*)` allow). Omit the flag to leave existing local settings untouched on re-init. See the [autonomy usage guide](docs/USAGE.md#autonomy-posture-yolo-minus-git).
267
+ `--autonomy` writes a broad auto-approve allowlist plus a `git commit`/`push` deny into the **per-user, gitignored** `.claude/settings.local.json` (the committed team `.claude/settings.json` stays the secure baseline). The git block is enforced by the `safety-guardrails.py` PreToolUse hook. Omit the flag to leave existing local settings untouched on re-init. See the [autonomy usage guide](docs/USAGE.md#autonomy-posture-yolo-minus-git).
287
268
 
288
269
  </details>
289
270
 
@@ -299,10 +280,10 @@ mapify init . --no-autonomy # remove the autonomy posture
299
280
 
300
281
  ## Trouble?
301
282
 
302
- - **Command not found** -> Run `mapify init` in your project first.
303
- - **Agent errors** -> Check `.claude/agents/` has all shipped agent `.md` files, or run `mapify doctor`.
304
- - **Poor output on a complex task** -> Start with `/map-plan` and feed `/map-efficient` the approved plan instead of asking it to infer the architecture.
305
- - [More help ->](docs/INSTALL.md#troubleshooting)
283
+ - **Command not found** Run `mapify init` in your project first.
284
+ - **Agent errors** Check `.claude/agents/` has all shipped agent `.md` files, or run `mapify doctor`.
285
+ - **Poor output on a complex task** Start with `/map-plan` and feed `/map-efficient` the approved plan instead of asking it to infer the architecture.
286
+ - [More help ](docs/INSTALL.md#troubleshooting)
306
287
 
307
288
  ## Contributing
308
289