mapify-cli 3.31.2__tar.gz → 3.31.4__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 (663) hide show
  1. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/PKG-INFO +1 -1
  2. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/pyproject.toml +1 -1
  3. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/__init__.py +7 -4
  4. {mapify_cli-3.31.2/src/mapify_cli/templates → mapify_cli-3.31.4/src/mapify_cli/templates/codex}/hooks/scrub-internal-ids.py +25 -14
  5. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +1 -1
  6. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +7 -19
  7. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +1 -6
  8. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-task/SKILL.md +1 -1
  9. {mapify_cli-3.31.2/src/mapify_cli/templates/codex → mapify_cli-3.31.4/src/mapify_cli/templates}/hooks/scrub-internal-ids.py +24 -15
  10. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/scripts/map_step_runner.py +1 -33
  11. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/scripts/scrub_internal_ids.py +23 -9
  12. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +1 -1
  13. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +7 -19
  14. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-plan/SKILL.md +2 -7
  15. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-release/SKILL.md +1 -1
  16. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-release/release-reference.md +23 -5
  17. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-task/SKILL.md +1 -1
  18. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +1 -1
  19. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +7 -19
  20. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +1 -6
  21. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-task/SKILL.md.jinja +1 -1
  22. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/scrub-internal-ids.py.jinja +24 -14
  23. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +1 -33
  24. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/scripts/scrub_internal_ids.py.jinja +23 -9
  25. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +1 -1
  26. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +7 -19
  27. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +2 -7
  28. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +1 -1
  29. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-release/release-reference.md.jinja +23 -5
  30. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +1 -1
  31. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/tools/validate_dependencies.py +53 -28
  32. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/hooks/test_scrub_internal_ids_hook.py +34 -7
  33. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_approval_hold.py +8 -83
  34. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_mapify_cli.py +5 -2
  35. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_scrub_internal_ids.py +25 -0
  36. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_validate_dependencies.py +150 -6
  37. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_worktree_isolation.py +14 -13
  38. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/.claude/hooks/README.md +0 -0
  39. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/.claude/skills/README.md +0 -0
  40. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/.gitignore +0 -0
  41. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/LICENSE +0 -0
  42. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/README.md +0 -0
  43. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/__main__.py +0 -0
  44. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/_locking.py +0 -0
  45. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/_python_guard.py +0 -0
  46. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/auto_update.py +0 -0
  47. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/boundary_quality_report.py +0 -0
  48. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/cli_ui.py +0 -0
  49. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/code_map.py +0 -0
  50. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/codex_exec.py +0 -0
  51. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/config/__init__.py +0 -0
  52. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/config/mcp.py +0 -0
  53. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/config/project_config.py +0 -0
  54. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/config/settings.py +0 -0
  55. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/delivery/__init__.py +0 -0
  56. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/delivery/agent_generator.py +0 -0
  57. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/delivery/codex_copier.py +0 -0
  58. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/delivery/domain_skill.py +0 -0
  59. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/delivery/file_copier.py +0 -0
  60. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/delivery/governance_report.py +0 -0
  61. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/delivery/managed_file_copier.py +0 -0
  62. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/delivery/providers.py +0 -0
  63. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/delivery/template_renderer.py +0 -0
  64. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/dependency_graph.py +0 -0
  65. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/grace_eval/__init__.py +0 -0
  66. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/grace_eval/schema.py +0 -0
  67. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/grace_eval/sweep.py +0 -0
  68. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/install_manifest.py +0 -0
  69. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/intent_detector.py +0 -0
  70. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/memory/__init__.py +0 -0
  71. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/memory/capture.py +0 -0
  72. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/memory/digest_schema.py +0 -0
  73. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/memory/finalize.py +0 -0
  74. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/memory/recall.py +0 -0
  75. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/minimality_eval.py +0 -0
  76. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/minimality_report.py +0 -0
  77. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/parallelism_observability.py +0 -0
  78. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/provider_registry.py +0 -0
  79. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/python_runtime.py +0 -0
  80. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/ralph_state.py +0 -0
  81. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/repo_insight.py +0 -0
  82. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/research_eval.py +0 -0
  83. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/research_eval_compare.py +0 -0
  84. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/schemas.py +0 -0
  85. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/scope_classifier.py +0 -0
  86. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skill_ir.py +0 -0
  87. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/__init__.py +0 -0
  88. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/aggregator.py +0 -0
  89. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/apply_patcher.py +0 -0
  90. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/assertions.py +0 -0
  91. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/description_optimizer.py +0 -0
  92. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/dispatcher.py +0 -0
  93. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/eval_schema.py +0 -0
  94. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/proposer.py +0 -0
  95. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/runner.py +0 -0
  96. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/trajectory/__init__.py +0 -0
  97. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/trajectory/bundle.py +0 -0
  98. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/trajectory/dispatcher.py +0 -0
  99. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/trajectory/eval_schema.py +0 -0
  100. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/trajectory/gates.py +0 -0
  101. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/trajectory/judge.py +0 -0
  102. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/trajectory/repeated.py +0 -0
  103. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/trajectory/report.py +0 -0
  104. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/trajectory/runner.py +0 -0
  105. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/trajectory/seeding.py +0 -0
  106. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/skills_eval/viewer.py +0 -0
  107. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/.gitignore +0 -0
  108. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/CLAUDE.md +0 -0
  109. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/agents/actor.md +0 -0
  110. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
  111. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/agents/evaluator.md +0 -0
  112. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
  113. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/agents/monitor.md +0 -0
  114. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/agents/predictor.md +0 -0
  115. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/agents/reflector.md +0 -0
  116. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/agents/research-agent.md +0 -0
  117. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
  118. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
  119. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/agents/actor.toml +0 -0
  120. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
  121. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/agents/documentation-reviewer.toml +0 -0
  122. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/agents/evaluator.toml +0 -0
  123. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/agents/final-verifier.toml +0 -0
  124. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/agents/monitor.toml +0 -0
  125. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/agents/predictor.toml +0 -0
  126. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/agents/reflector.toml +0 -0
  127. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/agents/researcher.toml +0 -0
  128. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/config.toml +0 -0
  129. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/context-meter.py +0 -0
  130. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/detect-clarification-triggers.py +0 -0
  131. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/end-of-turn.sh +0 -0
  132. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/map-memory-capture.py +0 -0
  133. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/map-memory-endmark.py +0 -0
  134. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/map-memory-recall.py +0 -0
  135. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/map-memory-session.py +0 -0
  136. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/map-stop.py +0 -0
  137. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/map-token-meter.py +0 -0
  138. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/post-compact-context.py +0 -0
  139. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/pre-compact-save-transcript.py +0 -0
  140. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/ralph-context-pruner.py +0 -0
  141. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/ralph-iteration-logger.py +0 -0
  142. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/safety-guardrails.py +0 -0
  143. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/workflow-context-injector.py +0 -0
  144. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +0 -0
  145. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/hooks.json +0 -0
  146. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/references/map-json-output-contracts.md +0 -0
  147. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/references/map-output-examples.md +0 -0
  148. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/references/map-xml-prompt-envelopes.md +0 -0
  149. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-architecture/SKILL.md +0 -0
  150. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-auto/SKILL.md +0 -0
  151. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-auto/auto-reference.md +0 -0
  152. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
  153. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-check/check-reference.md +0 -0
  154. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-debug/SKILL.md +0 -0
  155. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
  156. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
  157. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-learn/SKILL.md +0 -0
  158. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-learn/templates/example-rules.md +0 -0
  159. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-unconditional.md +0 -0
  160. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-with-paths.md +0 -0
  161. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-memory-now/SKILL.md +0 -0
  162. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-plan/plan-reference.md +0 -0
  163. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-prd-review/SKILL.md +0 -0
  164. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-release/SKILL.md +0 -0
  165. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-release/release-reference.md +0 -0
  166. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-resume/SKILL.md +0 -0
  167. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-resume/resume-reference.md +0 -0
  168. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md +0 -0
  169. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +0 -0
  170. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-review/review-reference.md +0 -0
  171. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-skill-eval/SKILL.md +0 -0
  172. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-so-search/SKILL.md +0 -0
  173. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-so-search/scripts/sofa_search.py +0 -0
  174. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-state/SKILL.md +0 -0
  175. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-state/scripts/check-complete.sh +0 -0
  176. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-state/scripts/get-plan-path.sh +0 -0
  177. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-state/scripts/init-session.sh +0 -0
  178. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-state/scripts/show-focus.sh +0 -0
  179. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-state/templates/findings.md +0 -0
  180. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-state/templates/iteration_history.md +0 -0
  181. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-state/templates/progress.md +0 -0
  182. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-state/templates/task_plan.md +0 -0
  183. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-tdd/SKILL.md +0 -0
  184. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-tokenreport/SKILL.md +0 -0
  185. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-understand/SKILL.md +0 -0
  186. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-upgrade/SKILL.md +0 -0
  187. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-wayfind/SKILL.md +0 -0
  188. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/codex/skills/map-wayfind/wayfind-reference.md +0 -0
  189. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/README.md +0 -0
  190. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/context-meter.py +0 -0
  191. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +0 -0
  192. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/end-of-turn.sh +0 -0
  193. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/map-memory-capture.py +0 -0
  194. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/map-memory-endmark.py +0 -0
  195. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/map-memory-finalize.py +0 -0
  196. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/map-memory-recall.py +0 -0
  197. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/map-statusline.py +0 -0
  198. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/map-token-meter.py +0 -0
  199. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/post-compact-context.py +0 -0
  200. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +0 -0
  201. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +0 -0
  202. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +0 -0
  203. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/safety-guardrails.py +0 -0
  204. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/workflow-context-injector.py +0 -0
  205. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/hooks/workflow-gate.py +0 -0
  206. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/scripts/classify_scope.py +0 -0
  207. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/scripts/diagnostics.py +0 -0
  208. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +0 -0
  209. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/scripts/map_utils.py +0 -0
  210. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/scripts/sofa_client.py +0 -0
  211. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
  212. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/scripts/wayfind_runner.py +0 -0
  213. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
  214. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
  215. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
  216. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
  217. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
  218. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
  219. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
  220. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
  221. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
  222. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
  223. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/references/hook-patterns.md +0 -0
  224. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/references/host-paths.md +0 -0
  225. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
  226. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
  227. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
  228. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
  229. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
  230. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
  231. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/rules/learned/README.md +0 -0
  232. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/settings.json +0 -0
  233. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/README.md +0 -0
  234. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-architecture/SKILL.md +0 -0
  235. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-auto/SKILL.md +0 -0
  236. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-auto/auto-reference.md +0 -0
  237. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
  238. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
  239. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
  240. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
  241. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
  242. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
  243. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
  244. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
  245. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
  246. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
  247. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
  248. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-prd-review/SKILL.md +0 -0
  249. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
  250. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
  251. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-review/SKILL.md +0 -0
  252. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-review/adversarial-reference.md +0 -0
  253. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-review/review-reference.md +0 -0
  254. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
  255. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
  256. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +0 -0
  257. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
  258. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
  259. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
  260. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
  261. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
  262. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
  263. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
  264. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
  265. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
  266. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
  267. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
  268. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-understand/SKILL.md +0 -0
  269. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-upgrade/SKILL.md +0 -0
  270. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-wayfind/SKILL.md +0 -0
  271. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/map-wayfind/wayfind-reference.md +0 -0
  272. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
  273. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates/workflow-rules.json +0 -0
  274. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/.gitignore.jinja +0 -0
  275. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
  276. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/_partials/apply-patch-paths.py.jinja +0 -0
  277. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/_partials/auto-update-preflight.md.jinja +0 -0
  278. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/_partials/codex-memory-hook-wrapper.py.jinja +0 -0
  279. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/_partials/manual-upgrade-flow.md.jinja +0 -0
  280. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/_partials/python-version-guard.py.jinja +0 -0
  281. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/agents/actor.md.jinja +0 -0
  282. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
  283. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +0 -0
  284. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
  285. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/agents/monitor.md.jinja +0 -0
  286. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/agents/predictor.md.jinja +0 -0
  287. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
  288. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +0 -0
  289. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
  290. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
  291. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/agents/actor.toml.jinja +0 -0
  292. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
  293. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/agents/documentation-reviewer.toml.jinja +0 -0
  294. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/agents/evaluator.toml.jinja +0 -0
  295. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/agents/final-verifier.toml.jinja +0 -0
  296. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +0 -0
  297. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/agents/predictor.toml.jinja +0 -0
  298. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/agents/reflector.toml.jinja +0 -0
  299. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +0 -0
  300. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
  301. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/context-meter.py.jinja +0 -0
  302. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/detect-clarification-triggers.py.jinja +0 -0
  303. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/end-of-turn.sh.jinja +0 -0
  304. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/map-memory-capture.py.jinja +0 -0
  305. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/map-memory-endmark.py.jinja +0 -0
  306. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/map-memory-recall.py.jinja +0 -0
  307. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/map-memory-session.py.jinja +0 -0
  308. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/map-stop.py.jinja +0 -0
  309. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/map-token-meter.py.jinja +0 -0
  310. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/post-compact-context.py.jinja +0 -0
  311. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/pre-compact-save-transcript.py.jinja +0 -0
  312. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/ralph-context-pruner.py.jinja +0 -0
  313. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/ralph-iteration-logger.py.jinja +0 -0
  314. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/safety-guardrails.py.jinja +0 -0
  315. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/scrub-internal-ids.py.jinja +0 -0
  316. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/workflow-context-injector.py.jinja +0 -0
  317. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +0 -0
  318. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
  319. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/references/map-json-output-contracts.md.jinja +0 -0
  320. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/references/map-output-examples.md.jinja +0 -0
  321. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/references/map-xml-prompt-envelopes.md.jinja +0 -0
  322. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-architecture/SKILL.md.jinja +0 -0
  323. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-auto/SKILL.md.jinja +0 -0
  324. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-auto/auto-reference.md.jinja +0 -0
  325. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
  326. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-check/check-reference.md.jinja +0 -0
  327. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-debug/SKILL.md.jinja +0 -0
  328. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
  329. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
  330. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-learn/SKILL.md.jinja +0 -0
  331. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/example-rules.md.jinja +0 -0
  332. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
  333. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
  334. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-memory-now/SKILL.md.jinja +0 -0
  335. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-plan/plan-reference.md.jinja +0 -0
  336. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-prd-review/SKILL.md.jinja +0 -0
  337. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-release/SKILL.md.jinja +0 -0
  338. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-release/release-reference.md.jinja +0 -0
  339. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-resume/SKILL.md.jinja +0 -0
  340. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-resume/resume-reference.md.jinja +0 -0
  341. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-review/SKILL.md.jinja +0 -0
  342. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-review/adversarial-reference.md.jinja +0 -0
  343. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-review/review-reference.md.jinja +0 -0
  344. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-skill-eval/SKILL.md.jinja +0 -0
  345. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-so-search/SKILL.md.jinja +0 -0
  346. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
  347. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-state/SKILL.md.jinja +0 -0
  348. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/check-complete.sh.jinja +0 -0
  349. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
  350. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/init-session.sh.jinja +0 -0
  351. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/show-focus.sh.jinja +0 -0
  352. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-state/templates/findings.md.jinja +0 -0
  353. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-state/templates/iteration_history.md.jinja +0 -0
  354. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-state/templates/progress.md.jinja +0 -0
  355. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-state/templates/task_plan.md.jinja +0 -0
  356. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-tdd/SKILL.md.jinja +0 -0
  357. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-tokenreport/SKILL.md.jinja +0 -0
  358. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-understand/SKILL.md.jinja +0 -0
  359. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-upgrade/SKILL.md.jinja +0 -0
  360. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-wayfind/SKILL.md.jinja +0 -0
  361. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/codex/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
  362. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/README.md.jinja +0 -0
  363. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +0 -0
  364. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +0 -0
  365. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +0 -0
  366. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +0 -0
  367. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +0 -0
  368. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +0 -0
  369. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +0 -0
  370. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/map-statusline.py.jinja +0 -0
  371. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +0 -0
  372. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +0 -0
  373. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +0 -0
  374. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +0 -0
  375. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +0 -0
  376. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +0 -0
  377. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +0 -0
  378. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +0 -0
  379. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/scripts/classify_scope.py.jinja +0 -0
  380. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +0 -0
  381. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +0 -0
  382. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +0 -0
  383. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +0 -0
  384. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
  385. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/scripts/wayfind_runner.py.jinja +0 -0
  386. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
  387. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
  388. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
  389. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
  390. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
  391. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
  392. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
  393. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
  394. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
  395. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
  396. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +0 -0
  397. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
  398. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
  399. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
  400. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
  401. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
  402. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
  403. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
  404. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
  405. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/settings.json.jinja +0 -0
  406. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
  407. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-architecture/SKILL.md.jinja +0 -0
  408. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-auto/SKILL.md.jinja +0 -0
  409. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-auto/auto-reference.md.jinja +0 -0
  410. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
  411. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
  412. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
  413. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
  414. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
  415. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
  416. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
  417. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
  418. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
  419. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
  420. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
  421. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-prd-review/SKILL.md.jinja +0 -0
  422. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
  423. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
  424. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +0 -0
  425. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-review/adversarial-reference.md.jinja +0 -0
  426. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +0 -0
  427. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
  428. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
  429. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
  430. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
  431. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
  432. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
  433. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
  434. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
  435. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
  436. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
  437. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
  438. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
  439. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
  440. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
  441. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-understand/SKILL.md.jinja +0 -0
  442. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-upgrade/SKILL.md.jinja +0 -0
  443. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-wayfind/SKILL.md.jinja +0 -0
  444. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
  445. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
  446. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
  447. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/token_budget.py +0 -0
  448. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/tool_output_offload.py +0 -0
  449. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/tools/__init__.py +0 -0
  450. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/update_install.py +0 -0
  451. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/update_state.py +0 -0
  452. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/update_versions.py +0 -0
  453. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/verification_recorder.py +0 -0
  454. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/workflow_finalizer.py +0 -0
  455. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/workflow_logger.py +0 -0
  456. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/src/mapify_cli/workflow_state.py +0 -0
  457. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/__init__.py +0 -0
  458. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/_fake_task_tool.py +0 -0
  459. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/conftest.py +0 -0
  460. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/fixtures/claude/escalation-matrix.md +0 -0
  461. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/fixtures/codex/config.toml +0 -0
  462. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/fixtures/wave_blueprints.py +0 -0
  463. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/hooks/test_detect_clarification_triggers.py +0 -0
  464. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/hooks/test_end_of_turn.py +0 -0
  465. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/hooks/test_hook_inventory_smoke.py +0 -0
  466. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/hooks/test_safety_guardrails.py +0 -0
  467. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/integration/__init__.py +0 -0
  468. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/integration/fixtures/blueprint.json +0 -0
  469. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/integration/fixtures/code_review.md +0 -0
  470. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/integration/fixtures/plan_handoff.json +0 -0
  471. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/integration/fixtures/spec.md +0 -0
  472. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/integration/fixtures/step_state_initialized.json +0 -0
  473. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
  474. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/integration/fixtures/task_plan.md +0 -0
  475. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/integration/fixtures/verification_summary.md +0 -0
  476. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/integration/test_e2e_artifact_contracts.py +0 -0
  477. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/integration/test_e2e_claude_sdk.py +0 -0
  478. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/README.md +0 -0
  479. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
  480. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
  481. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
  482. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
  483. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
  484. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
  485. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
  486. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
  487. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
  488. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
  489. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
  490. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
  491. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
  492. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
  493. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
  494. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
  495. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
  496. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
  497. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/blueprint.json +0 -0
  498. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/task_plan_main.md +0 -0
  499. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
  500. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
  501. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/tests/test_compute.py +0 -0
  502. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc/hidden/test_calc_full.py +0 -0
  503. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
  504. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/blueprint.json +0 -0
  505. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/task_plan_main.md +0 -0
  506. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
  507. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
  508. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/tests/test_calc_basic.py +0 -0
  509. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/hidden/test_calc_full.py +0 -0
  510. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
  511. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/blueprint.json +0 -0
  512. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/task_plan_main.md +0 -0
  513. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/__init__.py +0 -0
  514. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/calc.py +0 -0
  515. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/tests/test_calc_basic.py +0 -0
  516. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/hidden/test_kvparse_full.py +0 -0
  517. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/manifest.json +0 -0
  518. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/blueprint.json +0 -0
  519. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/task_plan_main.md +0 -0
  520. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/__init__.py +0 -0
  521. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/kvparse.py +0 -0
  522. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/tests/test_kvparse_basic.py +0 -0
  523. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
  524. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/blueprint.json +0 -0
  525. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/task_plan_main.md +0 -0
  526. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/__init__.py +0 -0
  527. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/config.py +0 -0
  528. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/utils.py +0 -0
  529. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/tests/test_price.py +0 -0
  530. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
  531. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/blueprint.json +0 -0
  532. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/task_plan_main.md +0 -0
  533. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/__init__.py +0 -0
  534. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/config.py +0 -0
  535. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/utils.py +0 -0
  536. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/tests/test_utils.py +0 -0
  537. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
  538. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/blueprint.json +0 -0
  539. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/task_plan_main.md +0 -0
  540. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
  541. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
  542. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/tests/test_semver.py +0 -0
  543. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/hidden/test_semver_full.py +0 -0
  544. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
  545. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/blueprint.json +0 -0
  546. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/task_plan_main.md +0 -0
  547. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/__init__.py +0 -0
  548. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/semver.py +0 -0
  549. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/tests/test_semver_basic.py +0 -0
  550. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/hidden/test_semver_full.py +0 -0
  551. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
  552. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/blueprint.json +0 -0
  553. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/task_plan_main.md +0 -0
  554. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/__init__.py +0 -0
  555. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/semver.py +0 -0
  556. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/tests/test_semver_basic.py +0 -0
  557. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/skills_eval/whole_skill/spike_runner.py +0 -0
  558. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_agent_cli_correctness.py +0 -0
  559. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_agent_dispatch_audit.py +0 -0
  560. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_agent_frontmatter.py +0 -0
  561. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_agent_memory.py +0 -0
  562. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_artifact_schemas.py +0 -0
  563. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_auto_update.py +0 -0
  564. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_boundary_quality_report.py +0 -0
  565. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_bump_version.py +0 -0
  566. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_classify_scope_script.py +0 -0
  567. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_code_map.py +0 -0
  568. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_compaction_offload_integration.py +0 -0
  569. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_concurrent_dispatch_harness.py +0 -0
  570. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_context_usefulness.py +0 -0
  571. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_cross_ai_config.py +0 -0
  572. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_decomposition.py +0 -0
  573. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_dependency_graph.py +0 -0
  574. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_diagnostics.py +0 -0
  575. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_digest_schema.py +0 -0
  576. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_domain_skill.py +0 -0
  577. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_file_copier.py +0 -0
  578. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_governance_attack_fixtures.py +0 -0
  579. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_governance_report.py +0 -0
  580. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_grace_eval_schema.py +0 -0
  581. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_grace_eval_sweep.py +0 -0
  582. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_hook_patterns.py +0 -0
  583. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_init_import_graph.py +0 -0
  584. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_install_manifest.py +0 -0
  585. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_intent_detector.py +0 -0
  586. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_inv1_no_anthropic_optimize.py +0 -0
  587. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_jinja2_dep.py +0 -0
  588. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_locking.py +0 -0
  589. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_managed_file_copier.py +0 -0
  590. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_map_auto.py +0 -0
  591. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_map_orchestrator.py +0 -0
  592. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_map_step_runner.py +0 -0
  593. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_map_token_meter.py +0 -0
  594. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_map_utils_sanitize.py +0 -0
  595. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_memory_capture.py +0 -0
  596. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_memory_finalize.py +0 -0
  597. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_memory_integration.py +0 -0
  598. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_memory_recall.py +0 -0
  599. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_memory_review_fixes.py +0 -0
  600. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_minimality_eval.py +0 -0
  601. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_minimality_report.py +0 -0
  602. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_parallelism_observability.py +0 -0
  603. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_post_compact_context.py +0 -0
  604. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_preset_commands.py +0 -0
  605. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_project_config.py +0 -0
  606. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_prompt_layering.py +0 -0
  607. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_prompt_profile_commands.py +0 -0
  608. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_python_version_requirement.py +0 -0
  609. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_pyyaml_dep.py +0 -0
  610. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_ralph_hooks.py +0 -0
  611. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_ralph_state.py +0 -0
  612. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_repo_insight.py +0 -0
  613. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_research_eval.py +0 -0
  614. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_research_eval_compare.py +0 -0
  615. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_review_verdict_ledger.py +0 -0
  616. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_schemas.py +0 -0
  617. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_scope_classifier.py +0 -0
  618. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_settings_deny_globs.py +0 -0
  619. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_shell_json_pipes.py +0 -0
  620. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skill_ir.py +0 -0
  621. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills.py +0 -0
  622. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_consistency.py +0 -0
  623. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_aggregator.py +0 -0
  624. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_apply.py +0 -0
  625. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_cli_optimize.py +0 -0
  626. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_dispatcher_env.py +0 -0
  627. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
  628. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_fixtures.py +0 -0
  629. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_optimizer.py +0 -0
  630. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_optimizer_isolation.py +0 -0
  631. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_proposer.py +0 -0
  632. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_runner.py +0 -0
  633. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_schema.py +0 -0
  634. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_trajectory_bundle.py +0 -0
  635. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_trajectory_cli.py +0 -0
  636. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_trajectory_gates.py +0 -0
  637. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_trajectory_judge.py +0 -0
  638. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_trajectory_repeated.py +0 -0
  639. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_trajectory_report.py +0 -0
  640. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_trajectory_runner.py +0 -0
  641. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_trajectory_schema.py +0 -0
  642. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_skills_eval_viewer.py +0 -0
  643. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_slice5b_leak_guards.py +0 -0
  644. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_sofa_client.py +0 -0
  645. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_sofa_search.py +0 -0
  646. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_statusline.py +0 -0
  647. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_template_render.py +0 -0
  648. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_token_budget.py +0 -0
  649. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_tool_output_offload.py +0 -0
  650. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_update_install.py +0 -0
  651. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_update_state.py +0 -0
  652. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_update_versions.py +0 -0
  653. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_validate_spec_citations.py +0 -0
  654. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_verification_recorder.py +0 -0
  655. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_wave_eval_harness.py +0 -0
  656. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_wave_fixtures.py +0 -0
  657. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_wave_parallel_harness.py +0 -0
  658. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_wayfind_runner.py +0 -0
  659. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_workflow_context_injector.py +0 -0
  660. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_workflow_finalizer.py +0 -0
  661. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_workflow_gate.py +0 -0
  662. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_workflow_logger.py +0 -0
  663. {mapify_cli-3.31.2 → mapify_cli-3.31.4}/tests/test_workflow_state.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: mapify-cli
3
- Version: 3.31.2
3
+ Version: 3.31.4
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.31.2"
3
+ version = "3.31.4"
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.31.2"
26
+ __version__ = "3.31.4"
27
27
 
28
28
  # MUST stay the first import: it turns "this interpreter is older than 3.11" into
29
29
  # a message that says so, instead of the ImportError raised by `from datetime
@@ -2490,7 +2490,10 @@ def _self_upgrade_command(kind: str) -> list[str] | None:
2490
2490
  """Return the argv that upgrades mapify-cli for ``kind``, or None if unknown."""
2491
2491
  if kind == "uv-tool":
2492
2492
  uv = shutil.which("uv")
2493
- return [uv, "tool", "upgrade", "mapify-cli"] if uv else None
2493
+ # Not `uv tool upgrade`: the automatic updater installs an exact
2494
+ # `mapify-cli==X` pin, which `uv tool upgrade` honours ("Nothing to
2495
+ # upgrade"). `install <pkg>@latest` upgrades and drops the pin.
2496
+ return [uv, "tool", "install", "mapify-cli@latest"] if uv else None
2494
2497
  if kind == "pip":
2495
2498
  return [sys.executable, "-m", "pip", "install", "--upgrade", "mapify-cli"]
2496
2499
  return None
@@ -2587,7 +2590,7 @@ def upgrade():
2587
2590
  "[red]Could not determine how to upgrade mapify automatically.[/red]"
2588
2591
  )
2589
2592
  console.print(
2590
- "Upgrade manually: [cyan]uv tool upgrade mapify-cli[/cyan] "
2593
+ "Upgrade manually: [cyan]uv tool install mapify-cli@latest[/cyan] "
2591
2594
  "or [cyan]pip install --upgrade mapify-cli[/cyan]"
2592
2595
  )
2593
2596
  raise typer.Exit(1)
@@ -2605,7 +2608,7 @@ def upgrade():
2605
2608
  raise typer.Exit(1)
2606
2609
 
2607
2610
  # A zero exit does not mean the version changed: when PyPI's index lags the
2608
- # GitHub release, `uv tool upgrade` exits 0 with "Nothing to upgrade".
2611
+ # GitHub release, uv installs the older version it can resolve and exits 0.
2609
2612
  installed = _installed_mapify_version()
2610
2613
  console.print()
2611
2614
  if installed is not None and parse_version(installed) <= parse_version(
@@ -14,12 +14,16 @@ Gating (no-op in ~all turns):
14
14
  1. ``MAP_INVOKED_BY`` set -> exit (don't run inside a sub-agent).
15
15
  2. no ``.map/<branch>/step_state.json`` OR ``workflow_status`` is not
16
16
  ``WORKFLOW_COMPLETE`` -> exit (run not finished).
17
- 3. marker ``.map/<branch>/.scrub_done`` present -> exit (already ran once).
18
- 4. ``scrub_internal_ids: false`` in ``.map/config.yaml`` -> exit (opt-out).
17
+ 3. no ``.map/<branch>/run_health_report.json`` -> exit (final verification
18
+ not yet complete; ``workflow_status`` transitions to ``WORKFLOW_COMPLETE``
19
+ before the final-verifier step, so we gate on the health report instead).
20
+ 4. marker ``.map/<branch>/.scrub_done`` present -> exit (already ran once).
21
+ 5. ``scrub_internal_ids: false`` in ``.map/config.yaml`` -> exit (opt-out).
19
22
 
20
- When it does run: calls the engine in ``clean`` mode, commits the resulting
21
- working-tree changes as a dedicated ``chore(map): strip internal workflow IDs``
22
- commit (never amends), and writes the marker so it fires exactly once.
23
+ When it does run: calls the engine in ``clean`` mode, leaves any cleaned files
24
+ unstaged, prints a short ``stderr`` reminder to the operator, and writes the
25
+ marker so it fires exactly once. The operator decides how and whether to commit
26
+ the changes (preserving the host repository's commit conventions).
23
27
 
24
28
  Synchronous by design (justified exception to the async-hook rule): the scrub
25
29
  must finish and commit before the run is considered done; a detached run would
@@ -135,6 +139,13 @@ def main() -> None:
135
139
  if status != "WORKFLOW_COMPLETE":
136
140
  _silent()
137
141
 
142
+ # Gate on run_health_report.json: written after the final-verifier step.
143
+ # workflow_status becomes WORKFLOW_COMPLETE before final verification, so
144
+ # we wait for the health report to avoid scrubbing while the verifier is
145
+ # reading HEAD.
146
+ if not (branch_dir / "run_health_report.json").exists():
147
+ _silent()
148
+
138
149
  marker = branch_dir / ".scrub_done"
139
150
  if marker.exists():
140
151
  _silent()
@@ -162,17 +173,16 @@ def main() -> None:
162
173
  report = {}
163
174
 
164
175
  modified = report.get("files_modified") or []
176
+ # Leave cleaned files unstaged so the operator can review and commit them
177
+ # using the host repository's conventions (ticket ID, sign-off, etc.).
178
+ # Never auto-commit with a fixed message.
165
179
  if modified:
166
- try:
167
- subprocess.run(["git", "add", "--", *modified], cwd=PROJECT_DIR,
168
- env=env, capture_output=True, text=True, timeout=15, check=False)
169
- subprocess.run(
170
- ["git", "commit", "-m", "chore(map): strip internal workflow IDs"],
171
- cwd=PROJECT_DIR, env=env, capture_output=True, text=True, timeout=30,
172
- check=False,
180
+ sys.stderr.write(
181
+ "[scrub-internal-ids] cleaned {} file(s) — review and commit with "
182
+ "your project's conventions:\n git add -- {}\n".format(
183
+ len(modified), " ".join(modified)
173
184
  )
174
- except (OSError, subprocess.SubprocessError):
175
- pass # leave the cleaned working tree in place; never block
185
+ )
176
186
 
177
187
  # Mark done so the scrub fires exactly once for this completed run.
178
188
  try:
@@ -198,3 +208,4 @@ def main() -> None:
198
208
 
199
209
  if __name__ == "__main__":
200
210
  main()
211
+
@@ -96,7 +96,7 @@ Resolve pending approval holds before `resume_from_plan` initializes any executi
96
96
  python3 .map/scripts/map_step_runner.py list_approval_holds --state pending
97
97
  ```
98
98
 
99
- A pending `plan_approval` requires an explicit operator approve/deny, recorded via `decide_approval_hold <hold-id> <approved|denied> --note "<operator note>"`: approved continues into Step 0, denied STOPS here — revise the plan and re-run `$map-plan` (no staleness re-check); an autonomous chain never reaches this ask because its pre-phase `auto_decide_holds` poll approves `plan_approval` first. A pending `dangerous_action`/`safety_guardrail` hold refuses to proceed instead — surface the hold's `reason` and stop.
99
+ A ready plan needs no approval. A pending `plan_approval` (left by an older `$map-plan`) is not a gate: do not ask — close it via `decide_approval_hold <hold-id> approved --note "plan_approval no longer gates execution"` and continue into Step 0. A pending `dangerous_action`/`safety_guardrail` hold refuses to proceed instead — surface the hold's `reason` and stop.
100
100
 
101
101
  ## Step 0: Resume Existing State Or Plan
102
102
 
@@ -6,9 +6,8 @@ Load only the section needed by the active phase.
6
6
  ## Approval-Hold Preflight
7
7
 
8
8
  Resolve any pending approval hold BEFORE Step 0's `resume_from_plan`
9
- bootstraps execution state — a hold left pending means execution has not
10
- been explicitly authorized, and a denied plan must stop before any
11
- `step_state.json` exists.
9
+ bootstraps execution state. A ready plan itself needs no approval —
10
+ `$map-plan` no longer opens a hold.
12
11
 
13
12
  ```bash
14
13
  python3 .map/scripts/map_step_runner.py list_approval_holds --state pending
@@ -16,31 +15,20 @@ python3 .map/scripts/map_step_runner.py list_approval_holds --state pending
16
15
 
17
16
  Each pending hold's `kind` decides the branch:
18
17
 
19
- - **`plan_approval`** — the operator must explicitly approve or deny before
20
- execution starts:
18
+ - **`plan_approval`** (left by an older `$map-plan`) — not a gate. Do not
19
+ ask the operator; close it and continue:
21
20
  ```bash
22
21
  python3 .map/scripts/map_step_runner.py decide_approval_hold \
23
- <hold-id> approved --note "approved by operator; proceeding with plan"
24
- # or:
25
- python3 .map/scripts/map_step_runner.py decide_approval_hold \
26
- <hold-id> denied --note "<why the plan was denied>"
22
+ <hold-id> approved --note "plan_approval no longer gates execution"
27
23
  ```
28
- - **Approved** — continue into the pre-flight test baseline below.
29
- - **Denied** — STOP. Tell the operator to revise the plan and re-run
30
- `$map-plan`; there is no staleness re-check against the denied blueprint
31
- — the operator who denied it is the same operator re-running
32
- `$map-efficient`.
33
24
  - **`dangerous_action` / `safety_guardrail`** (hard stops) — never decide
34
25
  these from inside the preflight. Refuse to proceed: surface the hold's
35
26
  `reason` and `request_summary`, and stop. The operator resolves the
36
27
  underlying issue out of band and decides the hold via `decide_approval_hold`
37
28
  before retrying.
38
29
 
39
- An autonomous chain never reaches the interactive ask above: its pre-phase
40
- `auto_decide_holds` poll auto-approves `plan_approval` before `$map-efficient`
41
- starts, so the preflight here finds nothing pending. If the operator
42
- already decided the hold manually (CLI) before starting `$map-efficient`, the
43
- preflight likewise finds nothing pending and proceeds without asking.
30
+ If the operator already decided a hold manually (CLI) before starting
31
+ `$map-efficient`, the preflight finds nothing pending and proceeds.
44
32
 
45
33
  ## Pre-Monitor Gates
46
34
 
@@ -773,13 +773,9 @@ Record artifacts in the manifest:
773
773
  ```
774
774
  exec_command:
775
775
  cmd: |
776
- PLAN_ARTIFACTS_RESULT=$(python3 .map/scripts/map_step_runner.py record_plan_artifacts)
777
- printf '%s\n' "$PLAN_ARTIFACTS_RESULT"
778
- PLAN_APPROVAL_HOLD_ID=$(printf '%s' "$PLAN_ARTIFACTS_RESULT" | jq -r '.plan_approval_hold_id // empty')
776
+ python3 .map/scripts/map_step_runner.py record_plan_artifacts
779
777
  ```
780
778
 
781
- `record_plan_artifacts` also opens a `plan_approval` hold at the plan-ready boundary and returns it as `plan_approval_hold_id` (idempotent — re-running finds the same pending hold instead of spamming a new one). Capture `PLAN_APPROVAL_HOLD_ID` for the Step 8 checkpoint. This hold does **not** block `$map-plan` itself: planning artifacts are written and Step 8 prints its checkpoint regardless of whether the hold is still pending. The decision (`decide_approval_hold <hold-id> approved|denied`) happens later, at the `$map-efficient` approval-hold preflight — or automatically via an autonomous chain's `auto_decide_holds` poll. If the result instead carries `plan_approval_hold_error: true`, the hold store failed — say so in the Step 8 checkpoint and have the operator create/decide the hold manually (`create_approval_hold --kind plan_approval ...`).
782
-
783
779
  ---
784
780
 
785
781
  ## Step 8: Output Checkpoint
@@ -804,7 +800,6 @@ exec_command:
804
800
  echo "[ok] Plan written to .map/${BRANCH}/task_plan_${BRANCH}.md"
805
801
  echo "[ok] artifact_manifest.json updated"
806
802
  echo "[ok] Mode: [standard | light | deep]"
807
- echo "[ok] Plan approval hold: ${PLAN_APPROVAL_HOLD_ID:-none} — decide via decide_approval_hold <hold-id> <approved|denied> --note \"<operator note>\" before \$map-efficient will proceed"
808
803
  echo ""
809
804
  echo "Next steps:"
810
805
  echo " 1. Review .map/${BRANCH}/task_plan_${BRANCH}.md"
@@ -71,7 +71,7 @@ fi
71
71
  python3 .map/scripts/map_step_runner.py list_approval_holds --state pending
72
72
  ```
73
73
 
74
- Pending `plan_approval`: ask the operator to approve or deny, then record the decision via `decide_approval_hold <hold-id> <approved|denied> --note "<operator note>"` — approved continues to the resume call below; denied STOPS here — tell the operator to revise the plan and re-run `$map-plan` (do not resume the subtask). Pending `dangerous_action`/`safety_guardrail`: refuse to proceed — surface the hold's `reason` and stop. `$map-task` never auto-decides either kind; both a hard-stop hold and a pending `plan_approval` always require an explicit operator response before single-subtask execution starts.
74
+ A ready plan needs no approval. Pending `plan_approval` (left by an older `$map-plan`): do not ask — close it via `decide_approval_hold <hold-id> approved --note "plan_approval no longer gates execution"` and continue to the resume call below. Pending `dangerous_action`/`safety_guardrail`: refuse to proceed — surface the hold's `reason` and stop; `$map-task` never auto-decides these.
75
75
 
76
76
  ```bash
77
77
  BRANCH=$(git rev-parse --abbrev-ref HEAD | sed -E 's|/|-|g; s|[^a-zA-Z0-9_.-]|-|g; s|-{2,}|-|g; s|^-||; s|-$||')
@@ -14,12 +14,16 @@ Gating (no-op in ~all turns):
14
14
  1. ``MAP_INVOKED_BY`` set -> exit (don't run inside a sub-agent).
15
15
  2. no ``.map/<branch>/step_state.json`` OR ``workflow_status`` is not
16
16
  ``WORKFLOW_COMPLETE`` -> exit (run not finished).
17
- 3. marker ``.map/<branch>/.scrub_done`` present -> exit (already ran once).
18
- 4. ``scrub_internal_ids: false`` in ``.map/config.yaml`` -> exit (opt-out).
17
+ 3. no ``.map/<branch>/run_health_report.json`` -> exit (final verification
18
+ not yet complete; ``workflow_status`` transitions to ``WORKFLOW_COMPLETE``
19
+ before the final-verifier step, so we gate on the health report instead).
20
+ 4. marker ``.map/<branch>/.scrub_done`` present -> exit (already ran once).
21
+ 5. ``scrub_internal_ids: false`` in ``.map/config.yaml`` -> exit (opt-out).
19
22
 
20
- When it does run: calls the engine in ``clean`` mode, commits the resulting
21
- working-tree changes as a dedicated ``chore(map): strip internal workflow IDs``
22
- commit (never amends), and writes the marker so it fires exactly once.
23
+ When it does run: calls the engine in ``clean`` mode, leaves any cleaned files
24
+ unstaged, prints a short ``stderr`` reminder to the operator, and writes the
25
+ marker so it fires exactly once. The operator decides how and whether to commit
26
+ the changes (preserving the host repository's commit conventions).
23
27
 
24
28
  Synchronous by design (justified exception to the async-hook rule): the scrub
25
29
  must finish and commit before the run is considered done; a detached run would
@@ -135,6 +139,13 @@ def main() -> None:
135
139
  if status != "WORKFLOW_COMPLETE":
136
140
  _silent()
137
141
 
142
+ # Gate on run_health_report.json: written after the final-verifier step.
143
+ # workflow_status becomes WORKFLOW_COMPLETE before final verification, so
144
+ # we wait for the health report to avoid scrubbing while the verifier is
145
+ # reading HEAD.
146
+ if not (branch_dir / "run_health_report.json").exists():
147
+ _silent()
148
+
138
149
  marker = branch_dir / ".scrub_done"
139
150
  if marker.exists():
140
151
  _silent()
@@ -162,17 +173,16 @@ def main() -> None:
162
173
  report = {}
163
174
 
164
175
  modified = report.get("files_modified") or []
176
+ # Leave cleaned files unstaged so the operator can review and commit them
177
+ # using the host repository's conventions (ticket ID, sign-off, etc.).
178
+ # Never auto-commit with a fixed message.
165
179
  if modified:
166
- try:
167
- subprocess.run(["git", "add", "--", *modified], cwd=PROJECT_DIR,
168
- env=env, capture_output=True, text=True, timeout=15, check=False)
169
- subprocess.run(
170
- ["git", "commit", "-m", "chore(map): strip internal workflow IDs"],
171
- cwd=PROJECT_DIR, env=env, capture_output=True, text=True, timeout=30,
172
- check=False,
180
+ sys.stderr.write(
181
+ "[scrub-internal-ids] cleaned {} file(s) — review and commit with "
182
+ "your project's conventions:\n git add -- {}\n".format(
183
+ len(modified), " ".join(modified)
173
184
  )
174
- except (OSError, subprocess.SubprocessError):
175
- pass # leave the cleaned working tree in place; never block
185
+ )
176
186
 
177
187
  # Mark done so the scrub fires exactly once for this completed run.
178
188
  try:
@@ -198,4 +208,3 @@ def main() -> None:
198
208
 
199
209
  if __name__ == "__main__":
200
210
  main()
201
-
@@ -528,7 +528,7 @@ APPROVAL_HOLD_KINDS = frozenset(
528
528
  "safety_guardrail", # hard-deny safety hook triggered
529
529
  "autonomy_posture", # git commit/push blocked by autonomy setting
530
530
  "template_overwrite", # risky managed-file overwrite decision
531
- "plan_approval", # explicit plan approval gate
531
+ "plan_approval", # legacy plan approval gate (no longer produced)
532
532
  "dangerous_action", # generic risky action not otherwise categorised
533
533
  }
534
534
  )
@@ -4022,38 +4022,6 @@ def record_plan_artifacts(branch: str | None = None) -> dict[str, object]:
4022
4022
  "plan_status": stages["plan"]["status"],
4023
4023
  }
4024
4024
 
4025
- # Intent: emit the plan_approval hold at the plan-ready boundary (#422
4026
- # AC-1) -- once task_plan + blueprint are both present -- so the
4027
- # existing approval-hold lifecycle (#344) has a live producer instead of
4028
- # only synthetic test fixtures. request_summary is derived solely from
4029
- # the branch name (no timestamp/sha) so create_approval_hold's
4030
- # (kind, request_summary, pending) dedup makes re-running this function
4031
- # idempotent rather than spamming a fresh hold on every call.
4032
- # The producer is best-effort like the other live producers (#422 INV-4
4033
- # posture): a hold-store I/O failure must not fail the plan-artifact
4034
- # recording that already completed above -- the result simply carries no
4035
- # plan_approval_hold_id.
4036
- if plan_status == "ready":
4037
- try:
4038
- hold_result = create_approval_hold(
4039
- kind="plan_approval",
4040
- reason="The generated plan requires explicit approval before execution.",
4041
- request_summary=f"Approve the generated plan for {branch_name}",
4042
- source="map-plan",
4043
- branch=branch_name,
4044
- safe_continuation=(
4045
- "Review the plan and decide the hold via decide_approval_hold "
4046
- "(approved/denied) before starting /map-efficient or /map-task."
4047
- ),
4048
- )
4049
- if hold_result.get("status") == "ok":
4050
- result["plan_approval_hold_id"] = hold_result["hold_id"]
4051
- except Exception: # noqa: BLE001 -- deliberate fallback/resilience boundary, must not propagate
4052
- # Surface the degradation instead of losing the approval gate
4053
- # silently: the Step 8 checkpoint prints this flag and the operator
4054
- # can create/decide the hold manually before execution.
4055
- result["plan_approval_hold_error"] = True
4056
-
4057
4025
  return result
4058
4026
 
4059
4027
 
@@ -24,12 +24,18 @@ Safety model — conservative, hard-scoped, corruption-averse:
24
24
  and unknown types are skipped entirely — never blanked.
25
25
  3. EDIT. Only inside COMMENTS:
26
26
  - a comment whose payload is only an ID marker -> delete the line;
27
- - an ID token inside a larger comment -> strip the token and tidy
28
- adjacent decoration (``()`` / ``[]`` / stray ``:``), keep the line.
27
+ - an ID token inside a larger comment -> strip the token and any
28
+ immediately trailing separator (``ID:`` -> `` ``, ``ID -`` -> `` ``),
29
+ empty brackets, and redundant whitespace. ``(ID)`` is handled by the
30
+ empty-bracket cleanup. The line is kept unless the whole comment becomes
31
+ empty.
29
32
  Test identifiers carrying ``vc<n>`` are renamed (``test_vc1_foo`` ->
30
- ``test_foo``) with a collision guard. IDs in code, string literals, or
31
- docstrings are LEFT IN PLACE and reported (stripping a string substring would
32
- corrupt legitimate values, e.g. ``"INV-7-special-sku"`` or a JSON value).
33
+ ``test_foo``, ``TestFoo_VC1_Bar`` -> ``TestFoo_Bar``) with a collision guard.
34
+ IDs in code, string literals, or docstrings are LEFT IN PLACE and reported
35
+ (stripping a string substring would corrupt legitimate values, e.g.
36
+ ``"INV-7-special-sku"`` or a JSON value). Go subtest names
37
+ (``t.Run("AC-3: ...", ...)``) are string literals and therefore excluded;
38
+ they appear in the ``residual`` list so the operator can clean them manually.
33
39
  4. RE-SCAN. After cleaning, scope is scanned again; anything not removed is
34
40
  reported as ``residual`` rather than corrupted.
35
41
 
@@ -213,7 +219,13 @@ def scrub_line(line: str, syntax: dict | None) -> tuple[str | None, list[str], l
213
219
  eligible_spans: list[tuple[int, int]] = []
214
220
  for m in matches:
215
221
  if _region_kind(regions, m.start()) == "comment":
216
- eligible_spans.append((m.start(), m.end()))
222
+ start, end = m.start(), m.end()
223
+ # Absorb a trailing separator ("ID: text" -> "text", "ID - note" -> "note")
224
+ # to avoid leaving broken prose. Only one separator consumed.
225
+ sep = re.match(r"[ \t]*[:\-][ \t]?", line[end:])
226
+ if sep:
227
+ end += sep.end()
228
+ eligible_spans.append((start, end))
217
229
  removed.append(m.group(0))
218
230
  else:
219
231
  residual.append(m.group(0))
@@ -254,9 +266,11 @@ def renamed_test_identifier(name: str) -> str | None:
254
266
  if not _VC_SEGMENT.search(name):
255
267
  return None
256
268
  new = _VC_SEGMENT.sub("", name)
257
- new = re.sub(r"__+", "_", new)
258
- new = re.sub(r"_+$", "", new)
259
- new = re.sub(r"(?<=[A-Za-z])_(?=[A-Z])", "", new) # Test_Foo -> TestFoo (Go/class)
269
+ new = re.sub(r"__+", "_", new) # collapse double-underscore artifacts from removal
270
+ new = re.sub(r"_+$", "", new) # strip trailing underscore artifacts
271
+ # NOTE: do NOT collapse single underscores (e.g. TestFoo_VC1_Bar -> TestFoo__Bar
272
+ # -> TestFoo_Bar). A blanket (?<=[A-Za-z])_(?=[A-Z]) rule would also remove
273
+ # legitimate Go table-test separators like TestFoo_CaseA.
260
274
  if not new or new in ("test", "test_", "Test"):
261
275
  return None
262
276
  if new == name:
@@ -106,7 +106,7 @@ phase that reads `$TASK_ARGS` — and resumed workflows skip it.
106
106
  python3 .map/scripts/map_step_runner.py list_approval_holds --state pending
107
107
  ```
108
108
 
109
- Pending `plan_approval`: ask the operator to approve/deny, then record via `decide_approval_hold <hold-id> <approved|denied> --note "<operator note>"` — approved continues into Step 0, denied STOPS here, BEFORE `resume_from_plan` initializes any execution state, with "revise the plan and re-run `/map-plan`" (no staleness re-check); `/map-auto` never reaches this ask because its pre-phase `auto_decide_holds` poll approves `plan_approval` first. Pending `dangerous_action`/`safety_guardrail`: refuse to proceed — surface the hold's `reason` and stop. Full recipe: [efficient-reference.md](efficient-reference.md#approval-hold-preflight).
109
+ A ready plan needs no approval. Pending `plan_approval` (left by an older `/map-plan`): do not ask — close it via `decide_approval_hold <hold-id> approved --note "plan_approval no longer gates execution"` and continue into Step 0. Pending `dangerous_action`/`safety_guardrail`: refuse to proceed — surface the hold's `reason` and stop. Full recipe: [efficient-reference.md](efficient-reference.md#approval-hold-preflight).
110
110
 
111
111
  ## Step 0: Detect Existing State or Plan
112
112
 
@@ -466,9 +466,8 @@ It is read-only and exits 0 always; callers branch on `recommended_gate`.
466
466
  ## Approval-hold preflight
467
467
 
468
468
  Resolve any pending approval hold BEFORE Step 0's `resume_from_plan`
469
- bootstraps execution state — a hold left pending means execution has not
470
- been explicitly authorized, and a denied plan must stop before any
471
- `step_state.json` exists.
469
+ bootstraps execution state. A ready plan itself needs no approval —
470
+ `/map-plan` no longer opens a hold.
472
471
 
473
472
  ```bash
474
473
  python3 .map/scripts/map_step_runner.py list_approval_holds --state pending
@@ -476,31 +475,20 @@ python3 .map/scripts/map_step_runner.py list_approval_holds --state pending
476
475
 
477
476
  Each pending hold's `kind` decides the branch:
478
477
 
479
- - **`plan_approval`** — the operator must explicitly approve or deny before
480
- execution starts:
478
+ - **`plan_approval`** (left by an older `/map-plan`) — not a gate. Do not
479
+ ask the operator; close it and continue into the pre-flight test baseline:
481
480
  ```bash
482
481
  python3 .map/scripts/map_step_runner.py decide_approval_hold \
483
- <hold-id> approved --note "approved by operator; proceeding with plan"
484
- # or:
485
- python3 .map/scripts/map_step_runner.py decide_approval_hold \
486
- <hold-id> denied --note "<why the plan was denied>"
482
+ <hold-id> approved --note "plan_approval no longer gates execution"
487
483
  ```
488
- - **Approved** — continue into the pre-flight test baseline below.
489
- - **Denied** — STOP. Tell the operator to revise the plan and re-run
490
- `/map-plan`; there is no staleness re-check against the denied blueprint —
491
- the operator who denied it is the same operator re-running
492
- `/map-efficient`.
493
484
  - **`dangerous_action` / `safety_guardrail`** (hard stops,
494
485
  `HARD_STOP_HOLD_KINDS`) — never decide these from inside the preflight.
495
486
  Refuse to proceed: surface the hold's `reason` and `request_summary`, and
496
487
  stop. The operator resolves the underlying issue out of band and decides
497
488
  the hold via `decide_approval_hold` before retrying.
498
489
 
499
- `/map-auto` runs never reach the interactive ask above: its pre-phase
500
- `auto_decide_holds` poll auto-approves `plan_approval` before `/map-efficient`
501
- starts, so the preflight here finds nothing pending. If the operator
502
- already decided the hold manually (CLI) before starting `/map-efficient`, the
503
- preflight likewise finds nothing pending and proceeds without asking.
490
+ If the operator already decided a hold manually (CLI) before starting
491
+ `/map-efficient`, the preflight finds nothing pending and proceeds.
504
492
 
505
493
  ## Pre-flight test baseline
506
494
 
@@ -428,15 +428,11 @@ Rerun blueprint validation after writing the human-readable plan if any decompos
428
428
  Record planning artifacts in the branch manifest after spec, blueprint, and task plan exist. Use the named CLI — don't introspect the script:
429
429
 
430
430
  ```bash
431
- PLAN_ARTIFACTS_RESULT=$(python3 .map/scripts/map_step_runner.py record_plan_artifacts)
432
- echo "$PLAN_ARTIFACTS_RESULT"
433
- PLAN_APPROVAL_HOLD_ID=$(printf '%s' "$PLAN_ARTIFACTS_RESULT" | jq -r '.plan_approval_hold_id // empty')
431
+ python3 .map/scripts/map_step_runner.py record_plan_artifacts
434
432
  ```
435
433
 
436
434
  `/map-plan` deliberately stops BEFORE `INIT_STATE` (that step belongs to `/map-efficient`), so `plan_status: "ready"` requires only `task_plan_<branch>.md` + `blueprint.json` — `step_state.json` will land later. Don't be alarmed by `has_step_state: false` in the response; it's the expected planning-complete state.
437
435
 
438
- `record_plan_artifacts` also opens a `plan_approval` hold at the plan-ready boundary and returns it as `plan_approval_hold_id` (idempotent — re-running finds the same pending hold instead of spamming a new one). Capture `PLAN_APPROVAL_HOLD_ID` for the Step 8 checkpoint. This hold does **not** block `/map-plan` itself: planning artifacts are written and Step 8 prints its checkpoint regardless of whether the hold is still pending. The decision (`decide_approval_hold <hold-id> approved|denied`) happens later, at the `/map-efficient` approval-hold preflight or the `/map-task` Step 1 preflight — or automatically via `/map-auto`'s hold poll. If the result instead carries `plan_approval_hold_error: true`, the hold store failed — say so in the Step 8 checkpoint and have the operator create/decide the hold manually (`create_approval_hold --kind plan_approval ...`).
439
-
440
436
  Runner functions you'll commonly need from `/map-plan`:
441
437
 
442
438
  | Function | Purpose |
@@ -460,11 +456,10 @@ Spec: .map/<branch>/spec_<branch>.md
460
456
  Blueprint: .map/<branch>/blueprint.json
461
457
  Task plan: .map/<branch>/task_plan_<branch>.md
462
458
  Mode: [standard | light | deep]
463
- Plan approval hold: <$PLAN_APPROVAL_HOLD_ID, or "none" if empty> — decide via `decide_approval_hold <hold-id> <approved|denied> --note "<operator note>"` before /map-efficient or /map-task will proceed
464
459
  Next: /map-efficient or /map-task for a selected subtask
465
460
  ```
466
461
 
467
- Include the active mode (`light` / `deep` / `standard`) so the operator knows which steps ran, and the `$PLAN_APPROVAL_HOLD_ID` captured in Step 7 on the "Plan approval hold" line. This hold does not gate the checkpoint — it prints whether the hold is pending, decided, or absent.
462
+ Include the active mode (`light` / `deep` / `standard`) so the operator knows which steps ran. A ready plan needs no separate approval: `/map-efficient` or `/map-task` can start right away.
468
463
 
469
464
  ### Step 8.5: Execution Handoff Note
470
465
 
@@ -76,7 +76,7 @@ Execute all 12 gates. Read the full gate scripts in [release-reference.md § Pha
76
76
  - **Gates 5–6:** Build + twine check
77
77
  - **Gate 7:** Security audit (`pip-audit`)
78
78
  - **Gates 8–10:** Git state — main branch, clean working directory, up-to-date with origin
79
- - **Gate 11:** Latest CI run on main must have `conclusion: "success"`
79
+ - **Gate 11:** CI run for `git merge-base HEAD origin/main` must have `conclusion: "success"`; unpushed commits may touch only release metadata
80
80
  - **Gate 12:** CHANGELOG.md completeness (Unreleased section exists and has content; commit/entry gap check)
81
81
 
82
82
  **If any gate fails:** ABORT. Fix issues, re-run Phase 1.
@@ -73,13 +73,21 @@ git pull origin main
73
73
  ### Gate 11: CI Status Verification
74
74
 
75
75
  ```bash
76
- gh run list --branch main --limit 1 --json conclusion,status,headBranch
77
- gh run view
76
+ # CI only runs on pushed commits. Local commits on top of origin/main (a
77
+ # docs(changelog) fix-up, later the chore(release) bump) never get a run, so
78
+ # verify CI on the merge-base and allow only release-metadata files after it.
79
+ git fetch origin main -q
80
+ BASE_SHA=$(git merge-base HEAD origin/main)
81
+ UNVERIFIED=$(git diff --name-only "$BASE_SHA" HEAD | grep -vxE 'CHANGELOG\.md|pyproject\.toml|src/mapify_cli/__init__\.py' || true)
82
+ [[ -n "$UNVERIFIED" ]] && echo "❌ ABORT: local commits change files CI has not verified — push them and wait for CI:" && echo "$UNVERIFIED" && exit 1
83
+ gh run list --commit "$BASE_SHA" --workflow CI --json conclusion,status,headSha --jq '.[0]'
78
84
  ```
79
85
 
80
86
  **Expected Results:**
81
- - ✅ Latest CI run on main branch has `conclusion: "success"`
87
+ - ✅ Commits after `BASE_SHA` touch only `CHANGELOG.md`, `pyproject.toml`, `src/mapify_cli/__init__.py`
88
+ - ✅ CI run for `BASE_SHA` has `conclusion: "success"` and `status: "completed"`
82
89
  - ✅ All jobs passed (build, test, lint)
90
+ - ✅ `headSha` in the run output matches `BASE_SHA`
83
91
 
84
92
  **If CI failed:** ABORT release, investigate and fix CI failures first.
85
93
 
@@ -276,9 +284,19 @@ git tag -l -n50 "$LAST_TAG"
276
284
  CURRENT_BRANCH=$(git branch --show-current)
277
285
  [[ "$CURRENT_BRANCH" != "main" ]] && echo "❌ ABORT: Not on main branch" && exit 1
278
286
 
279
- LATEST_RUN=$(gh run list --branch main --limit 1 --json conclusion,status,createdAt,headBranch --jq '.[0]')
287
+ # HEAD is the local chore(release) bump commit, which has no CI run yet.
288
+ # Verify CI on the merge-base with origin/main and allow only
289
+ # release-metadata files in the unpushed commits on top of it.
290
+ git fetch origin main -q
291
+ BASE_SHA=$(git merge-base HEAD origin/main)
292
+ UNVERIFIED=$(git diff --name-only "$BASE_SHA" HEAD | grep -vxE 'CHANGELOG\.md|pyproject\.toml|src/mapify_cli/__init__\.py' || true)
293
+ [[ -n "$UNVERIFIED" ]] && echo "❌ ABORT: unpushed commits change files CI has not verified:" && echo "$UNVERIFIED" && exit 1
294
+ LATEST_RUN=$(gh run list --commit "$BASE_SHA" --workflow CI --json conclusion,status,headSha --jq '.[0]')
295
+ [[ -z "$LATEST_RUN" || "$LATEST_RUN" == "null" ]] && echo "❌ ABORT: No CI run found for $BASE_SHA" && exit 1
296
+ RUN_STATUS=$(printf '%s' "$LATEST_RUN" | jq -r '.status')
297
+ [[ "$RUN_STATUS" != "completed" ]] && echo "❌ ABORT: CI run for $BASE_SHA is not completed (status: $RUN_STATUS)" && exit 1
280
298
  RUN_CONCLUSION=$(printf '%s' "$LATEST_RUN" | jq -r '.conclusion')
281
- [[ "$RUN_CONCLUSION" != "success" ]] && echo "❌ ABORT: Latest CI did not succeed" && exit 1
299
+ [[ "$RUN_CONCLUSION" != "success" ]] && echo "❌ ABORT: CI run for $BASE_SHA did not succeed (conclusion: $RUN_CONCLUSION)" && exit 1
282
300
 
283
301
  LAST_TAG=$(git tag --sort=-version:refname | head -1)
284
302
  git ls-remote --tags origin | grep -q "refs/tags/$LAST_TAG" && echo "❌ ABORT: Tag already on remote" && exit 1
@@ -74,7 +74,7 @@ fi
74
74
  python3 .map/scripts/map_step_runner.py list_approval_holds --state pending
75
75
  ```
76
76
 
77
- Pending `plan_approval`: ask the operator to approve or deny, then record the decision via `decide_approval_hold <hold-id> <approved|denied> --note "<operator note>"` — approved continues to the resume call below; denied STOPS here — tell the operator to revise the plan and re-run `/map-plan` (do not resume the subtask). Pending `dangerous_action`/`safety_guardrail`: refuse to proceed — surface the hold's `reason` and stop. `/map-task` never auto-decides either kind; both a hard-stop hold and a pending `plan_approval` always require an explicit operator response before single-subtask execution starts.
77
+ A ready plan needs no approval. Pending `plan_approval` (left by an older `/map-plan`): do not ask — close it via `decide_approval_hold <hold-id> approved --note "plan_approval no longer gates execution"` and continue to the resume call below. Pending `dangerous_action`/`safety_guardrail`: refuse to proceed — surface the hold's `reason` and stop; `/map-task` never auto-decides these.
78
78
 
79
79
  ```bash
80
80
  BRANCH=$(git rev-parse --abbrev-ref HEAD | sed -E 's|/|-|g; s|[^a-zA-Z0-9_.-]|-|g; s|-{2,}|-|g; s|^-||; s|-$||')
@@ -91,7 +91,7 @@ Resolve pending approval holds before `resume_from_plan` initializes any executi
91
91
  python3 .map/scripts/map_step_runner.py list_approval_holds --state pending
92
92
  ```
93
93
 
94
- A pending `plan_approval` requires an explicit operator approve/deny, recorded via `decide_approval_hold <hold-id> <approved|denied> --note "<operator note>"`: approved continues into Step 0, denied STOPS here — revise the plan and re-run `$map-plan` (no staleness re-check); an autonomous chain never reaches this ask because its pre-phase `auto_decide_holds` poll approves `plan_approval` first. A pending `dangerous_action`/`safety_guardrail` hold refuses to proceed instead — surface the hold's `reason` and stop.
94
+ A ready plan needs no approval. A pending `plan_approval` (left by an older `$map-plan`) is not a gate: do not ask — close it via `decide_approval_hold <hold-id> approved --note "plan_approval no longer gates execution"` and continue into Step 0. A pending `dangerous_action`/`safety_guardrail` hold refuses to proceed instead — surface the hold's `reason` and stop.
95
95
 
96
96
  ## Step 0: Resume Existing State Or Plan
97
97