mapify-cli 3.35.1__tar.gz → 3.35.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (745) hide show
  1. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/PKG-INFO +3 -1
  2. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/pyproject.toml +3 -1
  3. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/__init__.py +1 -1
  4. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-auto/SKILL.md +3 -3
  5. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-auto/auto-reference.md +6 -4
  6. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-release/SKILL.md +1 -1
  7. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-release/release-reference.md +11 -2
  8. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_step_runner.py +54 -11
  9. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-auto/SKILL.md +3 -3
  10. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-auto/auto-reference.md +6 -4
  11. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-release/SKILL.md +1 -1
  12. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-release/release-reference.md +11 -2
  13. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +54 -11
  14. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-auto/SKILL.md.jinja +3 -3
  15. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-auto/auto-reference.md.jinja +6 -4
  16. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +1 -1
  17. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-release/release-reference.md.jinja +11 -2
  18. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_locking.py +4 -0
  19. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_step_runner.py +125 -13
  20. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_release_ci_gates.py +127 -0
  21. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/.claude/hooks/README.md +0 -0
  22. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/.claude/skills/README.md +0 -0
  23. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/.gitignore +0 -0
  24. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/LICENSE +0 -0
  25. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/README.md +0 -0
  26. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/__main__.py +0 -0
  27. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/_locking.py +0 -0
  28. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/_python_guard.py +0 -0
  29. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/auto_update.py +0 -0
  30. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/boundary_quality_report.py +0 -0
  31. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/cli_ui.py +0 -0
  32. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/code_map.py +0 -0
  33. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/codex_exec.py +0 -0
  34. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/config/__init__.py +0 -0
  35. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/config/mcp.py +0 -0
  36. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/config/project_config.py +0 -0
  37. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/config/settings.py +0 -0
  38. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/__init__.py +0 -0
  39. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/agent_generator.py +0 -0
  40. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/codex_copier.py +0 -0
  41. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/domain_skill.py +0 -0
  42. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/file_copier.py +0 -0
  43. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/governance_report.py +0 -0
  44. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/managed_file_copier.py +0 -0
  45. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/providers.py +0 -0
  46. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/template_renderer.py +0 -0
  47. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/dependency_graph.py +0 -0
  48. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/grace_eval/__init__.py +0 -0
  49. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/grace_eval/schema.py +0 -0
  50. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/grace_eval/sweep.py +0 -0
  51. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/install_manifest.py +0 -0
  52. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/intent_detector.py +0 -0
  53. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/__init__.py +0 -0
  54. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/capture.py +0 -0
  55. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/digest_schema.py +0 -0
  56. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/evidence.py +0 -0
  57. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/finalize.py +0 -0
  58. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/recall.py +0 -0
  59. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/minimality_eval.py +0 -0
  60. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/minimality_report.py +0 -0
  61. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/parallelism_observability.py +0 -0
  62. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/provider_registry.py +0 -0
  63. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/python_runtime.py +0 -0
  64. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/ralph_state.py +0 -0
  65. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/repo_insight.py +0 -0
  66. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/research_eval.py +0 -0
  67. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/research_eval_compare.py +0 -0
  68. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/schemas.py +0 -0
  69. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/scope_classifier.py +0 -0
  70. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skill_ir.py +0 -0
  71. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/__init__.py +0 -0
  72. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/aggregator.py +0 -0
  73. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/apply_patcher.py +0 -0
  74. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/assertions.py +0 -0
  75. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/description_optimizer.py +0 -0
  76. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/dispatcher.py +0 -0
  77. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/eval_schema.py +0 -0
  78. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/proposer.py +0 -0
  79. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/review_corpus.py +0 -0
  80. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/review_pilot.py +0 -0
  81. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/runner.py +0 -0
  82. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/__init__.py +0 -0
  83. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/bundle.py +0 -0
  84. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/dispatcher.py +0 -0
  85. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/eval_schema.py +0 -0
  86. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/gates.py +0 -0
  87. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/judge.py +0 -0
  88. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/repeated.py +0 -0
  89. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/report.py +0 -0
  90. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/runner.py +0 -0
  91. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/seeding.py +0 -0
  92. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/viewer.py +0 -0
  93. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/.gitignore +0 -0
  94. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/CLAUDE.md +0 -0
  95. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/actor.md +0 -0
  96. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
  97. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/evaluator.md +0 -0
  98. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
  99. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/monitor.md +0 -0
  100. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/predictor.md +0 -0
  101. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/reflector.md +0 -0
  102. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/research-agent.md +0 -0
  103. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/review-reader.md +0 -0
  104. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
  105. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
  106. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/actor.toml +0 -0
  107. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
  108. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/documentation-reviewer.toml +0 -0
  109. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/evaluator.toml +0 -0
  110. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/final-verifier.toml +0 -0
  111. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/monitor.toml +0 -0
  112. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/predictor.toml +0 -0
  113. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/reflector.toml +0 -0
  114. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/researcher.toml +0 -0
  115. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/review-reader.toml +0 -0
  116. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/config.toml +0 -0
  117. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/context-meter.py +0 -0
  118. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/detect-clarification-triggers.py +0 -0
  119. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/end-of-turn.sh +0 -0
  120. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-capture.py +0 -0
  121. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-endmark.py +0 -0
  122. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-recall.py +0 -0
  123. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-session.py +0 -0
  124. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-stop.py +0 -0
  125. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-token-meter.py +0 -0
  126. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/post-compact-context.py +0 -0
  127. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/pre-compact-save-transcript.py +0 -0
  128. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/ralph-context-pruner.py +0 -0
  129. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/ralph-iteration-logger.py +0 -0
  130. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/safety-guardrails.py +0 -0
  131. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/scrub-internal-ids.py +0 -0
  132. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/workflow-context-injector.py +0 -0
  133. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +0 -0
  134. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks.json +0 -0
  135. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/references/map-json-output-contracts.md +0 -0
  136. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/references/map-output-examples.md +0 -0
  137. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/references/map-xml-prompt-envelopes.md +0 -0
  138. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-architecture/SKILL.md +0 -0
  139. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
  140. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-check/check-reference.md +0 -0
  141. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-debug/SKILL.md +0 -0
  142. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +0 -0
  143. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +0 -0
  144. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
  145. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
  146. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/SKILL.md +0 -0
  147. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/example-rules.md +0 -0
  148. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-unconditional.md +0 -0
  149. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-with-paths.md +0 -0
  150. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-memory-now/SKILL.md +0 -0
  151. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +0 -0
  152. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-plan/plan-reference.md +0 -0
  153. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-prd-review/SKILL.md +0 -0
  154. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-resume/SKILL.md +0 -0
  155. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-resume/resume-reference.md +0 -0
  156. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md +0 -0
  157. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +0 -0
  158. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-review/review-reference.md +0 -0
  159. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-skill-eval/SKILL.md +0 -0
  160. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-so-search/SKILL.md +0 -0
  161. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-so-search/scripts/sofa_search.py +0 -0
  162. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/SKILL.md +0 -0
  163. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/check-complete.sh +0 -0
  164. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/get-plan-path.sh +0 -0
  165. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/init-session.sh +0 -0
  166. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/show-focus.sh +0 -0
  167. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/findings.md +0 -0
  168. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/iteration_history.md +0 -0
  169. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/progress.md +0 -0
  170. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/task_plan.md +0 -0
  171. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-task/SKILL.md +0 -0
  172. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-tdd/SKILL.md +0 -0
  173. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-tokenreport/SKILL.md +0 -0
  174. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-understand/SKILL.md +0 -0
  175. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-upgrade/SKILL.md +0 -0
  176. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-wayfind/SKILL.md +0 -0
  177. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-wayfind/wayfind-reference.md +0 -0
  178. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/README.md +0 -0
  179. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/context-meter.py +0 -0
  180. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +0 -0
  181. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/end-of-turn.sh +0 -0
  182. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-capture.py +0 -0
  183. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-endmark.py +0 -0
  184. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-finalize.py +0 -0
  185. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-recall.py +0 -0
  186. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-statusline.py +0 -0
  187. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-token-meter.py +0 -0
  188. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/post-compact-context.py +0 -0
  189. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +0 -0
  190. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +0 -0
  191. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +0 -0
  192. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/safety-guardrails.py +0 -0
  193. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/scrub-internal-ids.py +0 -0
  194. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/workflow-context-injector.py +0 -0
  195. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/workflow-gate.py +0 -0
  196. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/classify_scope.py +0 -0
  197. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/codex_review_host.py +0 -0
  198. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/codex_review_runner.py +0 -0
  199. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/diagnostics.py +0 -0
  200. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_interruption.py +0 -0
  201. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +0 -0
  202. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_utils.py +0 -0
  203. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/review_check_supervisor.py +0 -0
  204. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/scrub_internal_ids.py +0 -0
  205. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/sofa_client.py +0 -0
  206. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
  207. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/wayfind_runner.py +0 -0
  208. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
  209. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
  210. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
  211. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
  212. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
  213. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
  214. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
  215. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
  216. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
  217. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
  218. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/hook-patterns.md +0 -0
  219. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/host-paths.md +0 -0
  220. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
  221. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
  222. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
  223. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
  224. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
  225. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
  226. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/rules/learned/README.md +0 -0
  227. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/settings.json +0 -0
  228. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/README.md +0 -0
  229. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-architecture/SKILL.md +0 -0
  230. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
  231. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
  232. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
  233. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +0 -0
  234. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +0 -0
  235. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
  236. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
  237. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
  238. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
  239. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
  240. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
  241. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
  242. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-plan/SKILL.md +0 -0
  243. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
  244. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-prd-review/SKILL.md +0 -0
  245. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
  246. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
  247. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-review/SKILL.md +0 -0
  248. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-review/adversarial-reference.md +0 -0
  249. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-review/review-reference.md +0 -0
  250. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
  251. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
  252. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +0 -0
  253. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
  254. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
  255. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
  256. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
  257. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
  258. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
  259. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
  260. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
  261. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
  262. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-task/SKILL.md +0 -0
  263. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
  264. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
  265. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-understand/SKILL.md +0 -0
  266. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-upgrade/SKILL.md +0 -0
  267. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-wayfind/SKILL.md +0 -0
  268. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-wayfind/wayfind-reference.md +0 -0
  269. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
  270. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/workflow-rules.json +0 -0
  271. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/.gitignore.jinja +0 -0
  272. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
  273. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/acceptance-runtime.py.jinja +0 -0
  274. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/apply-patch-paths.py.jinja +0 -0
  275. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/auto-update-preflight.md.jinja +0 -0
  276. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/codex-memory-hook-wrapper.py.jinja +0 -0
  277. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/manual-upgrade-flow.md.jinja +0 -0
  278. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/monitor-review-context.md.jinja +0 -0
  279. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/python-version-guard.py.jinja +0 -0
  280. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/serial-blocker-repair.md.jinja +0 -0
  281. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/stale-attribution-recovery.md.jinja +0 -0
  282. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/vacuous-test-check.md.jinja +0 -0
  283. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/actor.md.jinja +0 -0
  284. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
  285. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +0 -0
  286. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
  287. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/monitor.md.jinja +0 -0
  288. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/predictor.md.jinja +0 -0
  289. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
  290. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +0 -0
  291. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/review-reader.md.jinja +0 -0
  292. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
  293. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
  294. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/actor.toml.jinja +0 -0
  295. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
  296. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/documentation-reviewer.toml.jinja +0 -0
  297. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/evaluator.toml.jinja +0 -0
  298. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/final-verifier.toml.jinja +0 -0
  299. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +0 -0
  300. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/predictor.toml.jinja +0 -0
  301. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/reflector.toml.jinja +0 -0
  302. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +0 -0
  303. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/review-reader.toml.jinja +0 -0
  304. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
  305. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/context-meter.py.jinja +0 -0
  306. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/detect-clarification-triggers.py.jinja +0 -0
  307. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/end-of-turn.sh.jinja +0 -0
  308. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-capture.py.jinja +0 -0
  309. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-endmark.py.jinja +0 -0
  310. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-recall.py.jinja +0 -0
  311. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-session.py.jinja +0 -0
  312. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-stop.py.jinja +0 -0
  313. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-token-meter.py.jinja +0 -0
  314. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/post-compact-context.py.jinja +0 -0
  315. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/pre-compact-save-transcript.py.jinja +0 -0
  316. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/ralph-context-pruner.py.jinja +0 -0
  317. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/ralph-iteration-logger.py.jinja +0 -0
  318. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/safety-guardrails.py.jinja +0 -0
  319. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/scrub-internal-ids.py.jinja +0 -0
  320. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/workflow-context-injector.py.jinja +0 -0
  321. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +0 -0
  322. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
  323. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/references/map-json-output-contracts.md.jinja +0 -0
  324. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/references/map-output-examples.md.jinja +0 -0
  325. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/references/map-xml-prompt-envelopes.md.jinja +0 -0
  326. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-architecture/SKILL.md.jinja +0 -0
  327. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-auto/SKILL.md.jinja +0 -0
  328. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-auto/auto-reference.md.jinja +0 -0
  329. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
  330. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-check/check-reference.md.jinja +0 -0
  331. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-debug/SKILL.md.jinja +0 -0
  332. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +0 -0
  333. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +0 -0
  334. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
  335. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
  336. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-learn/SKILL.md.jinja +0 -0
  337. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/example-rules.md.jinja +0 -0
  338. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
  339. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
  340. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-memory-now/SKILL.md.jinja +0 -0
  341. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +0 -0
  342. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-plan/plan-reference.md.jinja +0 -0
  343. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-prd-review/SKILL.md.jinja +0 -0
  344. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-release/SKILL.md.jinja +0 -0
  345. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-release/release-reference.md.jinja +0 -0
  346. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-resume/SKILL.md.jinja +0 -0
  347. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-resume/resume-reference.md.jinja +0 -0
  348. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-review/SKILL.md.jinja +0 -0
  349. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-review/adversarial-reference.md.jinja +0 -0
  350. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-review/review-reference.md.jinja +0 -0
  351. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-skill-eval/SKILL.md.jinja +0 -0
  352. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-so-search/SKILL.md.jinja +0 -0
  353. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
  354. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/SKILL.md.jinja +0 -0
  355. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/check-complete.sh.jinja +0 -0
  356. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
  357. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/init-session.sh.jinja +0 -0
  358. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/show-focus.sh.jinja +0 -0
  359. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/findings.md.jinja +0 -0
  360. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/iteration_history.md.jinja +0 -0
  361. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/progress.md.jinja +0 -0
  362. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/task_plan.md.jinja +0 -0
  363. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-task/SKILL.md.jinja +0 -0
  364. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-tdd/SKILL.md.jinja +0 -0
  365. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-tokenreport/SKILL.md.jinja +0 -0
  366. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-understand/SKILL.md.jinja +0 -0
  367. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-upgrade/SKILL.md.jinja +0 -0
  368. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-wayfind/SKILL.md.jinja +0 -0
  369. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
  370. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/README.md.jinja +0 -0
  371. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +0 -0
  372. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +0 -0
  373. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +0 -0
  374. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +0 -0
  375. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +0 -0
  376. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +0 -0
  377. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +0 -0
  378. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-statusline.py.jinja +0 -0
  379. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +0 -0
  380. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +0 -0
  381. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +0 -0
  382. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +0 -0
  383. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +0 -0
  384. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +0 -0
  385. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/scrub-internal-ids.py.jinja +0 -0
  386. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +0 -0
  387. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +0 -0
  388. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/classify_scope.py.jinja +0 -0
  389. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/codex_review_host.py.jinja +0 -0
  390. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/codex_review_runner.py.jinja +0 -0
  391. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +0 -0
  392. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_interruption.py.jinja +0 -0
  393. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +0 -0
  394. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +0 -0
  395. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/review_check_supervisor.py.jinja +0 -0
  396. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/scrub_internal_ids.py.jinja +0 -0
  397. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +0 -0
  398. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
  399. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/wayfind_runner.py.jinja +0 -0
  400. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
  401. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
  402. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
  403. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
  404. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
  405. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
  406. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
  407. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
  408. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
  409. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
  410. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +0 -0
  411. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
  412. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
  413. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
  414. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
  415. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
  416. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
  417. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
  418. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
  419. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/settings.json.jinja +0 -0
  420. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
  421. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-architecture/SKILL.md.jinja +0 -0
  422. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
  423. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
  424. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
  425. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +0 -0
  426. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +0 -0
  427. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
  428. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
  429. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
  430. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
  431. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
  432. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
  433. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
  434. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +0 -0
  435. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
  436. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-prd-review/SKILL.md.jinja +0 -0
  437. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
  438. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
  439. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +0 -0
  440. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-review/adversarial-reference.md.jinja +0 -0
  441. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +0 -0
  442. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
  443. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
  444. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
  445. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
  446. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
  447. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
  448. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
  449. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
  450. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
  451. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
  452. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
  453. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
  454. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +0 -0
  455. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
  456. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
  457. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-understand/SKILL.md.jinja +0 -0
  458. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-upgrade/SKILL.md.jinja +0 -0
  459. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-wayfind/SKILL.md.jinja +0 -0
  460. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
  461. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
  462. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
  463. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/token_budget.py +0 -0
  464. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/tool_output_offload.py +0 -0
  465. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/tools/__init__.py +0 -0
  466. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/tools/validate_dependencies.py +0 -0
  467. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/update_install.py +0 -0
  468. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/update_state.py +0 -0
  469. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/update_versions.py +0 -0
  470. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/verification_recorder.py +0 -0
  471. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/workflow_finalizer.py +0 -0
  472. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/workflow_logger.py +0 -0
  473. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/workflow_state.py +0 -0
  474. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/__init__.py +0 -0
  475. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/_fake_task_tool.py +0 -0
  476. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/conftest.py +0 -0
  477. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/fixtures/claude/escalation-matrix.md +0 -0
  478. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/fixtures/codex/config.toml +0 -0
  479. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/fixtures/wave_blueprints.py +0 -0
  480. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/hooks/test_detect_clarification_triggers.py +0 -0
  481. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/hooks/test_end_of_turn.py +0 -0
  482. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/hooks/test_hook_inventory_smoke.py +0 -0
  483. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/hooks/test_safety_guardrails.py +0 -0
  484. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/hooks/test_scrub_internal_ids_hook.py +0 -0
  485. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/__init__.py +0 -0
  486. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/blueprint.json +0 -0
  487. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/code_review.md +0 -0
  488. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/plan_handoff.json +0 -0
  489. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/spec.md +0 -0
  490. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/step_state_initialized.json +0 -0
  491. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
  492. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/task_plan.md +0 -0
  493. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/verification_summary.md +0 -0
  494. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/test_e2e_artifact_contracts.py +0 -0
  495. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/test_e2e_claude_sdk.py +0 -0
  496. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/review_context_helpers.py +0 -0
  497. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/review_pilot_git_cache.py +0 -0
  498. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/review_process_lifecycle.py +0 -0
  499. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/README.md +0 -0
  500. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
  501. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
  502. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
  503. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
  504. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
  505. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
  506. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
  507. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
  508. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
  509. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
  510. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
  511. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
  512. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
  513. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
  514. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
  515. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
  516. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
  517. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
  518. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/blueprint.json +0 -0
  519. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/task_plan_main.md +0 -0
  520. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
  521. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
  522. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/tests/test_compute.py +0 -0
  523. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/hidden/test_calc_full.py +0 -0
  524. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
  525. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/blueprint.json +0 -0
  526. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/task_plan_main.md +0 -0
  527. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
  528. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
  529. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/tests/test_calc_basic.py +0 -0
  530. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/hidden/test_calc_full.py +0 -0
  531. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
  532. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/blueprint.json +0 -0
  533. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/task_plan_main.md +0 -0
  534. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/__init__.py +0 -0
  535. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/calc.py +0 -0
  536. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/tests/test_calc_basic.py +0 -0
  537. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/hidden/test_kvparse_full.py +0 -0
  538. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/manifest.json +0 -0
  539. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/blueprint.json +0 -0
  540. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/task_plan_main.md +0 -0
  541. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/__init__.py +0 -0
  542. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/kvparse.py +0 -0
  543. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/tests/test_kvparse_basic.py +0 -0
  544. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
  545. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/blueprint.json +0 -0
  546. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/task_plan_main.md +0 -0
  547. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/__init__.py +0 -0
  548. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/config.py +0 -0
  549. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/utils.py +0 -0
  550. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/tests/test_price.py +0 -0
  551. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
  552. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/blueprint.json +0 -0
  553. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/task_plan_main.md +0 -0
  554. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/__init__.py +0 -0
  555. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/config.py +0 -0
  556. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/utils.py +0 -0
  557. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/tests/test_utils.py +0 -0
  558. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
  559. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/blueprint.json +0 -0
  560. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/task_plan_main.md +0 -0
  561. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
  562. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
  563. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/tests/test_semver.py +0 -0
  564. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/hidden/test_semver_full.py +0 -0
  565. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
  566. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/blueprint.json +0 -0
  567. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/task_plan_main.md +0 -0
  568. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/__init__.py +0 -0
  569. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/semver.py +0 -0
  570. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/tests/test_semver_basic.py +0 -0
  571. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/hidden/test_semver_full.py +0 -0
  572. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
  573. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/blueprint.json +0 -0
  574. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/task_plan_main.md +0 -0
  575. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/__init__.py +0 -0
  576. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/semver.py +0 -0
  577. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/tests/test_semver_basic.py +0 -0
  578. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/corpus.json +0 -0
  579. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/adjudication.json +0 -0
  580. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/control-audit.json +0 -0
  581. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/manual-run.json +0 -0
  582. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/manual-run.log +0 -0
  583. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/manual_repro.py +0 -0
  584. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_pilot_error_max_budget.sanitized.json +0 -0
  585. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/whole_skill/spike_runner.py +0 -0
  586. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_acceptance_additive_revision.py +0 -0
  587. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_acceptance_additive_revision_review.py +0 -0
  588. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_acceptance_proofs.py +0 -0
  589. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_agent_cli_correctness.py +0 -0
  590. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_agent_dispatch_audit.py +0 -0
  591. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_agent_frontmatter.py +0 -0
  592. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_agent_memory.py +0 -0
  593. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_approval_hold.py +0 -0
  594. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_approved_baseline_gate_contract.py +0 -0
  595. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_artifact_schemas.py +0 -0
  596. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_auto_update.py +0 -0
  597. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_boundary_quality_report.py +0 -0
  598. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_bump_version.py +0 -0
  599. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_classify_scope_script.py +0 -0
  600. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_code_map.py +0 -0
  601. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_codex_map_review_live.py +0 -0
  602. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_codex_review_host.py +0 -0
  603. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_codex_review_native.py +0 -0
  604. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_compaction_offload_integration.py +0 -0
  605. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_concurrent_dispatch_harness.py +0 -0
  606. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_context_usefulness.py +0 -0
  607. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_cross_ai_config.py +0 -0
  608. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_debug_reference_install.py +0 -0
  609. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_decomposition.py +0 -0
  610. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_dependency_graph.py +0 -0
  611. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_diagnostics.py +0 -0
  612. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_digest_schema.py +0 -0
  613. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_domain_skill.py +0 -0
  614. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_file_copier.py +0 -0
  615. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_governance_attack_fixtures.py +0 -0
  616. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_governance_report.py +0 -0
  617. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_grace_eval_schema.py +0 -0
  618. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_grace_eval_sweep.py +0 -0
  619. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_hook_patterns.py +0 -0
  620. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_init_import_graph.py +0 -0
  621. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_install_manifest.py +0 -0
  622. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_intent_detector.py +0 -0
  623. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_inv1_no_anthropic_optimize.py +0 -0
  624. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_jinja2_dep.py +0 -0
  625. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_managed_file_copier.py +0 -0
  626. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_auto.py +0 -0
  627. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_interruption.py +0 -0
  628. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_orchestrator.py +0 -0
  629. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_token_meter.py +0 -0
  630. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_utils_sanitize.py +0 -0
  631. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_mapify_cli.py +0 -0
  632. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_capture.py +0 -0
  633. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events.py +0 -0
  634. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events_compat.py +0 -0
  635. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events_exit_status.py +0 -0
  636. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events_privacy.py +0 -0
  637. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events_review.py +0 -0
  638. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events_tools.py +0 -0
  639. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_finalize.py +0 -0
  640. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_integration.py +0 -0
  641. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_recall.py +0 -0
  642. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_review_fixes.py +0 -0
  643. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_minimality_eval.py +0 -0
  644. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_minimality_report.py +0 -0
  645. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_model_invocable_skills.py +0 -0
  646. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_monitor_worktree_context.py +0 -0
  647. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_mutation_path_normalization.py +0 -0
  648. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_orchestrator_acceptance.py +0 -0
  649. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_parallelism_observability.py +0 -0
  650. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_post_compact_context.py +0 -0
  651. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_preset_commands.py +0 -0
  652. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_project_config.py +0 -0
  653. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_prompt_layering.py +0 -0
  654. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_prompt_profile_commands.py +0 -0
  655. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_python_version_requirement.py +0 -0
  656. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_pyyaml_dep.py +0 -0
  657. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_ralph_hooks.py +0 -0
  658. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_ralph_response_types.py +0 -0
  659. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_ralph_state.py +0 -0
  660. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_repair_attribution.py +0 -0
  661. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_repair_workflow_gate.py +0 -0
  662. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_repo_insight.py +0 -0
  663. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_research_eval.py +0 -0
  664. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_research_eval_compare.py +0 -0
  665. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_resequence_pending.py +0 -0
  666. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_attribution_receipts.py +0 -0
  667. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_branch_receipts.py +0 -0
  668. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_changed_scope.py +0 -0
  669. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_check_timeouts.py +0 -0
  670. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_context_delivery.py +0 -0
  671. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_context_transport.py +0 -0
  672. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_corpus.py +0 -0
  673. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_explicit_base.py +0 -0
  674. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_explicit_base_legacy_override.py +0 -0
  675. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_explicit_base_stale_readers.py +0 -0
  676. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_finding_validation.py +0 -0
  677. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_pending_collection.py +0 -0
  678. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_pilot.py +0 -0
  679. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_pilot_git_cache.py +0 -0
  680. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_process_lifecycle.py +0 -0
  681. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_reader_capabilities.py +0 -0
  682. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_receipt_edge_cases.py +0 -0
  683. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_security_gates.py +0 -0
  684. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_trusted_policy.py +0 -0
  685. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_verdict_ledger.py +0 -0
  686. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_role_coverage_receipts.py +0 -0
  687. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_runtime_privacy_ignores.py +0 -0
  688. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_schemas.py +0 -0
  689. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_scope_classifier.py +0 -0
  690. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_scrub_internal_ids.py +0 -0
  691. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_settings_deny_globs.py +0 -0
  692. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_shell_json_pipes.py +0 -0
  693. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skill_ir.py +0 -0
  694. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills.py +0 -0
  695. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_consistency.py +0 -0
  696. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_aggregator.py +0 -0
  697. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_apply.py +0 -0
  698. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_cli_optimize.py +0 -0
  699. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_dispatcher_env.py +0 -0
  700. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
  701. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_fixtures.py +0 -0
  702. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_optimizer.py +0 -0
  703. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_optimizer_isolation.py +0 -0
  704. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_proposer.py +0 -0
  705. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_runner.py +0 -0
  706. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_schema.py +0 -0
  707. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_bundle.py +0 -0
  708. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_cli.py +0 -0
  709. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_gates.py +0 -0
  710. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_judge.py +0 -0
  711. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_repeated.py +0 -0
  712. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_report.py +0 -0
  713. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_runner.py +0 -0
  714. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_schema.py +0 -0
  715. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_viewer.py +0 -0
  716. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_slice5b_leak_guards.py +0 -0
  717. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_sofa_client.py +0 -0
  718. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_sofa_search.py +0 -0
  719. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_static_analysis_bash.py +0 -0
  720. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_statusline.py +0 -0
  721. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_template_render.py +0 -0
  722. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_token_budget.py +0 -0
  723. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_tool_output_offload.py +0 -0
  724. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_unborn_branch_scope.py +0 -0
  725. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_update_install.py +0 -0
  726. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_update_state.py +0 -0
  727. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_update_versions.py +0 -0
  728. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_vacuous_test_check.py +0 -0
  729. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_validate_dependencies.py +0 -0
  730. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_validate_spec_citations.py +0 -0
  731. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_verification_recorder.py +0 -0
  732. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wave_abort_preservation.py +0 -0
  733. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wave_eval_harness.py +0 -0
  734. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wave_fixtures.py +0 -0
  735. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wave_parallel_harness.py +0 -0
  736. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wayfind_install.py +0 -0
  737. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wayfind_research.py +0 -0
  738. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wayfind_runner.py +0 -0
  739. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_workflow_context_injector.py +0 -0
  740. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_workflow_finalizer.py +0 -0
  741. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_workflow_gate.py +0 -0
  742. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_workflow_logger.py +0 -0
  743. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_workflow_state.py +0 -0
  744. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_worktree_commit_hooks.py +0 -0
  745. {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_worktree_isolation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: mapify-cli
3
- Version: 3.35.1
3
+ Version: 3.35.2
4
4
  Summary: MAP Framework installer - Modular Agentic Planner for Claude Code
5
5
  Project-URL: Homepage, https://github.com/azalio/map-framework
6
6
  Project-URL: Repository, https://github.com/azalio/map-framework.git
@@ -26,6 +26,7 @@ Requires-Dist: pytest-asyncio>=0.26.0; extra == 'dev'
26
26
  Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
27
27
  Requires-Dist: pytest-mock>=3.10.0; extra == 'dev'
28
28
  Requires-Dist: pytest-timeout>=2.1.0; extra == 'dev'
29
+ Requires-Dist: pytest-xdist>=3.5.0; extra == 'dev'
29
30
  Requires-Dist: pytest>=7.0.0; extra == 'dev'
30
31
  Requires-Dist: pyyaml>=6.0.0; extra == 'dev'
31
32
  Requires-Dist: ruff>=0.1.0; extra == 'dev'
@@ -39,6 +40,7 @@ Requires-Dist: pytest-asyncio>=0.26.0; extra == 'test'
39
40
  Requires-Dist: pytest-cov>=4.0.0; extra == 'test'
40
41
  Requires-Dist: pytest-mock>=3.10.0; extra == 'test'
41
42
  Requires-Dist: pytest-timeout>=2.1.0; extra == 'test'
43
+ Requires-Dist: pytest-xdist>=3.5.0; extra == 'test'
42
44
  Requires-Dist: pytest>=7.0.0; extra == 'test'
43
45
  Requires-Dist: pyyaml>=6.0.0; extra == 'test'
44
46
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mapify-cli"
3
- version = "3.35.1"
3
+ version = "3.35.2"
4
4
  description = "MAP Framework installer - Modular Agentic Planner for Claude Code"
5
5
  authors = [{ name = "MAP Framework Contributors" }]
6
6
  readme = "README.md"
@@ -29,6 +29,7 @@ test = [
29
29
  "pytest-cov>=4.0.0",
30
30
  "pytest-mock>=3.10.0",
31
31
  "pytest-timeout>=2.1.0",
32
+ "pytest-xdist>=3.5.0",
32
33
  "pyyaml>=6.0.0",
33
34
  "hypothesis>=6.0.0",
34
35
  "jsonschema>=4.0.0",
@@ -39,6 +40,7 @@ dev = [
39
40
  "pytest-cov>=4.0.0",
40
41
  "pytest-mock>=3.10.0",
41
42
  "pytest-timeout>=2.1.0",
43
+ "pytest-xdist>=3.5.0",
42
44
  "pyyaml>=6.0.0",
43
45
  "hypothesis>=6.0.0",
44
46
  "jsonschema>=4.0.0",
@@ -23,7 +23,7 @@ Or install globally:
23
23
  mapify check
24
24
  """
25
25
 
26
- __version__ = "3.35.1"
26
+ __version__ = "3.35.2"
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
@@ -72,7 +72,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase "<phase>" "<status>" \
72
72
  --reason "<why this status>"
73
73
  ```
74
74
 
75
- `<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
75
+ `<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Phase completion and route completion are separate: a `completed` phase closes the chain only when it is the last phase of the selected route -- `map-review` for the multi-phase `map-plan` and `map-efficient` routes, or the route's only phase for the single-phase `map-resume`, `map-check`, and `map-fast` routes. Any earlier `completed` leaves the chain `in_progress` so the next phase is accepted. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
76
76
 
77
77
  **At most one re-entry per phase (HC-2):** `record_auto_phase` mechanically enforces this -- the first record of a phase name is `attempt: 1`, a re-entry is `attempt: 2`, and a third call for the SAME phase name is refused and force-aborts the chain (`chain_status: "aborted"`). Before spending the single permitted re-entry, inspect ground truth -- `git status`/`git diff` and the phase's own `step_state.json` (or equivalent phase artifacts, test output, Monitor verdict) -- to confirm the phase genuinely needs a fresh attempt rather than a partial success being misread as a failure. A second failure of the same phase means STOP and hand off to `$map-resume` -- never attempt a third call for that phase. A chain already `chain_status: "aborted"` or `"blocked"` refuses every further `record_auto_phase` call regardless of phase name; a new `route_task` call is the ONLY legitimate way to continue.
78
78
 
@@ -84,8 +84,8 @@ Once routed, drive the selected chain by invoking the existing slash workflows e
84
84
  route_task -> [map-plan] -> [map-efficient] -> [map-check] -> [map-review]
85
85
  ```
86
86
 
87
- - `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish.
88
- - `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop.
87
+ - `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish -- the route's only phase closes the chain.
88
+ - `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop. The route stays `chain_status: in_progress` after each intermediate phase completes and closes only when `map-review` completes.
89
89
  - Invoke each phase by reading and following its own `SKILL.md` in full, exactly as if the user had typed the corresponding slash command -- do not summarize, skip, or reimplement its internal steps. `$map-auto` never shells out to a separate Claude process, a new Python execution engine, or any other new phase-driving mechanism to do this -- phases are driven ONLY by invoking the existing slash workflows above and the three runner subcommands from Steps 1-3.
90
90
  - A `valid=false` Monitor verdict INSIDE a phase is that phase's own hard stop: its owning workflow's existing retry/escalation rules apply unchanged. `$map-auto` never overrides, suppresses, or re-runs past a Monitor rejection on the phase's behalf -- a phase that cannot get past Monitor is a failed phase for the purposes of Step 3's re-entry bound.
91
91
  - The autopilot run ends at a committed feature branch. `$map-auto` never opens a pull request, never merges, and never polls CI -- report the committed branch, the phases recorded, and stop.
@@ -15,7 +15,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase <phase> <status> [--br
15
15
 
16
16
  - `route_task <task>` -- `<task>` is the free-text task description (quote it). `--branch` defaults to the current branch. `--dry-run` recommends a route without marking the chain `in_progress` (see Dry-run usage below).
17
17
  - `auto_decide_holds` -- no positional arguments; only `--branch` (defaults to current branch).
18
- - `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
18
+ - `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). A `completed` status closes the chain (`chain_status: "completed"`) only on the LAST phase of the selected route -- `map-review` for multi-phase `map-plan`/`map-efficient` routes, or the single phase of `map-resume`/`map-check`/`map-fast`; a `completed` intermediate phase keeps the chain `in_progress`. `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
19
19
 
20
20
  ## Chain Walkthrough Example
21
21
 
@@ -35,10 +35,12 @@ $ python3 .map/scripts/map_step_runner.py auto_decide_holds
35
35
 
36
36
  $ python3 .map/scripts/map_step_runner.py record_auto_phase "map-efficient" "completed" \
37
37
  --evidence-refs "hold-1" --reason "all subtasks closed, make check green"
38
- {"status": "success", "chain_status": "completed", "phase": "map-efficient", "attempt": 1, ...}
38
+ {"status": "success", "chain_status": "in_progress", "phase": "map-efficient", "attempt": 1, ...}
39
39
 
40
- # -- chain then continues to map-check, then map-review, each following the same
41
- # poll -> drive -> poll -> record loop, until the last phase records "completed" --
40
+ # -- map-efficient is not the last phase of this route: the chain stays
41
+ # in_progress and continues to map-check, then map-review, each following the
42
+ # same poll -> drive -> poll -> record loop. Only map-review completing closes
43
+ # the route (chain_status: "completed") --
42
44
  ```
43
45
 
44
46
  The run ends there: a committed feature branch, `phases[]` in `auto-route.json` holding one entry per phase attempt, and no PR/merge/CI step of any kind.
@@ -71,7 +71,7 @@ Execute all 12 gates. Read the full gate scripts in [release-reference.md § Pha
71
71
  **Gate summary (full commands in reference):**
72
72
  - **Gates 1–4:** `make check` — tests, ruff, mypy, pyright, rendered-template parity
73
73
  - **Gates 5–6:** Build + twine check
74
- - **Gate 7:** Security audit (`pip-audit`)
74
+ - **Gate 7:** Security audit of the project's resolved requirements (`uv export` + `pip-audit -r`)
75
75
  - **Gates 8–10:** Git state — main branch, clean working directory, up-to-date with origin
76
76
  - **Gate 11:** CI run for `git merge-base HEAD origin/main` must have `conclusion: "success"`; unpushed commits may touch only release metadata
77
77
  - **Gate 12:** CHANGELOG.md completeness (Unreleased section exists and has content; commit/entry gap check)
@@ -35,11 +35,20 @@ uv run --with twine twine check dist/*
35
35
  ### Gate 7: Security Audit
36
36
 
37
37
  ```bash
38
- pip install pip-audit
39
- pip-audit
38
+ set -euo pipefail
39
+ # Audit the project's resolved dependency set, not the runner interpreter.
40
+ REQS_FILE=$(mktemp "${TMPDIR:-/tmp}/mapify-release-reqs.XXXXXX")
41
+ trap 'rm -f "$REQS_FILE"' EXIT
42
+ uv export --all-extras --all-groups --no-hashes --no-emit-project \
43
+ --format requirements-txt > "$REQS_FILE"
44
+ # --no-deps audits exactly the exported pins; --disable-pip stops pip from
45
+ # resolving or mutating the runner environment.
46
+ uvx pip-audit -r "$REQS_FILE" --disable-pip --no-deps
40
47
  ```
41
48
 
42
49
  **Expected Results:**
50
+ - ✅ `uv export` resolves the project's dependencies (all extras and groups)
51
+ - ✅ `pip-audit` audits the exported pinned requirements, not the runner environment
43
52
  - ✅ No known security vulnerabilities in dependencies
44
53
 
45
54
  **If vulnerabilities found:** Assess severity; update dependencies if critical.
@@ -20216,20 +20216,51 @@ _AUTO_ROUTE_NEXT_COMMAND: dict[str, str] = {
20216
20216
 
20217
20217
  # /map-auto phase ledger (issue #414): closed status vocabulary for
20218
20218
  # record_auto_phase's chain_status transitions. A phase status in
20219
- # AUTO_PHASE_TERMINAL_SUCCESS_STATUSES completes the chain; a status in
20220
- # AUTO_PHASE_ABORT_STATUSES aborts it; any other status leaves the chain
20221
- # in_progress. These two sets are intentionally NOT required to partition
20222
- # every possible status string -- callers may pass phase-specific statuses
20223
- # (e.g. "monitor_rejected") that fall through to in_progress.
20219
+ # AUTO_PHASE_TERMINAL_SUCCESS_STATUSES completes the ROUTE only when that
20220
+ # phase is the last phase of the routed chain (see AUTO_ROUTE_PHASE_CHAINS); a
20221
+ # status in AUTO_PHASE_ABORT_STATUSES aborts the chain; any other status
20222
+ # leaves the chain in_progress. These two sets are intentionally NOT required
20223
+ # to partition every possible status string -- callers may pass phase-specific
20224
+ # statuses (e.g. "monitor_rejected") that fall through to in_progress.
20224
20225
  AUTO_PHASE_TERMINAL_SUCCESS_STATUSES = frozenset({"completed"})
20225
20226
  AUTO_PHASE_ABORT_STATUSES = frozenset({"aborted", "failed"})
20226
20227
 
20228
+ # /map-auto routed phase chains (issue #621): phase completion and route
20229
+ # completion are separate. A route reaches chain_status="completed" only when
20230
+ # the completed phase is the LAST phase of the chain its selected_route drives.
20231
+ # map-resume, map-check and map-fast are single-phase routes; map-plan and
20232
+ # map-efficient are multi-phase routes that continue through map-check and
20233
+ # close on map-review. Keeping the table beside the terminal-status vocabulary
20234
+ # makes the route/phase split explicit instead of inferring "completed" from
20235
+ # the phase status alone (the #446 regression).
20236
+ AUTO_ROUTE_PHASE_CHAINS: dict[str, tuple[str, ...]] = {
20237
+ "map-resume": ("map-resume",),
20238
+ "map-check": ("map-check",),
20239
+ "map-fast": ("map-fast",),
20240
+ "map-plan": ("map-plan", "map-efficient", "map-check", "map-review"),
20241
+ "map-efficient": ("map-efficient", "map-check", "map-review"),
20242
+ }
20243
+
20227
20244
  # Chain-level retry bound: at most ONE re-entry per phase -- attempt 1
20228
20245
  # (first record) plus attempt 2 (the single permitted re-entry) are allowed;
20229
20246
  # a 3rd record of the same phase name is refused by record_auto_phase.
20230
20247
  AUTO_PHASE_MAX_ATTEMPTS = 2
20231
20248
 
20232
20249
 
20250
+ def _auto_route_final_phase(route: object) -> str | None:
20251
+ """Return the last phase of `route`'s chain, or None for an unknown route.
20252
+
20253
+ record_auto_phase uses this to keep "this phase completed" and "the whole
20254
+ route completed" separate (issue #621). A missing or unrecognized route
20255
+ fails closed (returns None), so an unknown route can never be treated as
20256
+ completed by a phase record.
20257
+ """
20258
+ if not isinstance(route, str):
20259
+ return None
20260
+ chain = AUTO_ROUTE_PHASE_CHAINS.get(route)
20261
+ return chain[-1] if chain else None
20262
+
20263
+
20233
20264
  def auto_route_artifact_path(branch: str | None = None) -> Path:
20234
20265
  """Return the branch-scoped /map-auto routing decision artifact path."""
20235
20266
  return get_branch_dir(branch) / "auto-route.json"
@@ -20447,11 +20478,16 @@ def record_auto_phase(
20447
20478
 
20448
20479
  On every non-refused call, chain_status transitions from the recorded
20449
20480
  `status` using a closed vocabulary (AUTO_PHASE_TERMINAL_SUCCESS_STATUSES
20450
- -> "completed", AUTO_PHASE_ABORT_STATUSES -> "aborted", otherwise
20451
- "in_progress") and the `abort_reason` field is set/cleared to match. The
20452
- `auto_route` manifest stage is refreshed on every call (refused or not)
20453
- so progress is observable outside the artifact, with its status
20454
- mirroring the resulting chain_status.
20481
+ -> "completed" when the phase is the LAST phase of the route's chain,
20482
+ AUTO_PHASE_ABORT_STATUSES -> "aborted", otherwise "in_progress") and the
20483
+ `abort_reason` field is set/cleared to match. Phase completion and route
20484
+ completion are separate: a multi-phase route (map-plan, map-efficient)
20485
+ stays "in_progress" after map-plan/map-efficient/map-check completes and
20486
+ closes only on map-review; a single-phase route (map-resume, map-check,
20487
+ map-fast) closes on its only phase. AUTO_ROUTE_PHASE_CHAINS is the single
20488
+ source for each route's ordered chain. The `auto_route` manifest stage is
20489
+ refreshed on every call (refused or not) so progress is observable outside
20490
+ the artifact, with its status mirroring the resulting chain_status.
20455
20491
 
20456
20492
  `evidence_refs` persists caller-supplied ids (e.g. hold ids
20457
20493
  auto-approved by `auto_decide_holds`) in the phase entry, giving every
@@ -20562,7 +20598,14 @@ def record_auto_phase(
20562
20598
  artifact["phases"] = phases
20563
20599
 
20564
20600
  if status in AUTO_PHASE_TERMINAL_SUCCESS_STATUSES:
20565
- chain_status = "completed"
20601
+ # Issue #621: a phase completing is not the route completing. Only the
20602
+ # LAST phase of the routed chain closes chain_status; earlier completed
20603
+ # phases keep the chain in_progress so the next phase is accepted
20604
+ # instead of being refused by the terminal-chain guard below.
20605
+ if phase == _auto_route_final_phase(artifact.get("selected_route")):
20606
+ chain_status = "completed"
20607
+ else:
20608
+ chain_status = "in_progress"
20566
20609
  elif status in AUTO_PHASE_ABORT_STATUSES:
20567
20610
  chain_status = "aborted"
20568
20611
  else:
@@ -74,7 +74,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase "<phase>" "<status>" \
74
74
  --reason "<why this status>"
75
75
  ```
76
76
 
77
- `<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
77
+ `<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Phase completion and route completion are separate: a `completed` phase closes the chain only when it is the last phase of the selected route -- `map-review` for the multi-phase `map-plan` and `map-efficient` routes, or the route's only phase for the single-phase `map-resume`, `map-check`, and `map-fast` routes. Any earlier `completed` leaves the chain `in_progress` so the next phase is accepted. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
78
78
 
79
79
  **At most one re-entry per phase (HC-2):** `record_auto_phase` mechanically enforces this -- the first record of a phase name is `attempt: 1`, a re-entry is `attempt: 2`, and a third call for the SAME phase name is refused and force-aborts the chain (`chain_status: "aborted"`). Before spending the single permitted re-entry, inspect ground truth -- `git status`/`git diff` and the phase's own `step_state.json` (or equivalent phase artifacts, test output, Monitor verdict) -- to confirm the phase genuinely needs a fresh attempt rather than a partial success being misread as a failure. A second failure of the same phase means STOP and hand off to `/map-resume` -- never attempt a third call for that phase. A chain already `chain_status: "aborted"` or `"blocked"` refuses every further `record_auto_phase` call regardless of phase name; a new `route_task` call is the ONLY legitimate way to continue.
80
80
 
@@ -86,8 +86,8 @@ Once routed, drive the selected chain by invoking the existing slash workflows e
86
86
  route_task -> [map-plan] -> [map-efficient] -> [map-check] -> [map-review]
87
87
  ```
88
88
 
89
- - `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish.
90
- - `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop.
89
+ - `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish -- the route's only phase closes the chain.
90
+ - `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop. The route stays `chain_status: in_progress` after each intermediate phase completes and closes only when `map-review` completes.
91
91
  - Invoke each phase by reading and following its own `SKILL.md` in full, exactly as if the user had typed the corresponding slash command -- do not summarize, skip, or reimplement its internal steps. `/map-auto` never shells out to a separate Claude process, a new Python execution engine, or any other new phase-driving mechanism to do this -- phases are driven ONLY by invoking the existing slash workflows above and the three runner subcommands from Steps 1-3.
92
92
  - A `valid=false` Monitor verdict INSIDE a phase is that phase's own hard stop: its owning workflow's existing retry/escalation rules apply unchanged. `/map-auto` never overrides, suppresses, or re-runs past a Monitor rejection on the phase's behalf -- a phase that cannot get past Monitor is a failed phase for the purposes of Step 3's re-entry bound.
93
93
  - The autopilot run ends at a committed feature branch. `/map-auto` never opens a pull request, never merges, and never polls CI -- report the committed branch, the phases recorded, and stop.
@@ -15,7 +15,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase <phase> <status> [--br
15
15
 
16
16
  - `route_task <task>` -- `<task>` is the free-text task description (quote it). `--branch` defaults to the current branch. `--dry-run` recommends a route without marking the chain `in_progress` (see Dry-run usage below).
17
17
  - `auto_decide_holds` -- no positional arguments; only `--branch` (defaults to current branch).
18
- - `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
18
+ - `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). A `completed` status closes the chain (`chain_status: "completed"`) only on the LAST phase of the selected route -- `map-review` for multi-phase `map-plan`/`map-efficient` routes, or the single phase of `map-resume`/`map-check`/`map-fast`; a `completed` intermediate phase keeps the chain `in_progress`. `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
19
19
 
20
20
  ## Chain Walkthrough Example
21
21
 
@@ -35,10 +35,12 @@ $ python3 .map/scripts/map_step_runner.py auto_decide_holds
35
35
 
36
36
  $ python3 .map/scripts/map_step_runner.py record_auto_phase "map-efficient" "completed" \
37
37
  --evidence-refs "hold-1" --reason "all subtasks closed, make check green"
38
- {"status": "success", "chain_status": "completed", "phase": "map-efficient", "attempt": 1, ...}
38
+ {"status": "success", "chain_status": "in_progress", "phase": "map-efficient", "attempt": 1, ...}
39
39
 
40
- # -- chain then continues to map-check, then map-review, each following the same
41
- # poll -> drive -> poll -> record loop, until the last phase records "completed" --
40
+ # -- map-efficient is not the last phase of this route: the chain stays
41
+ # in_progress and continues to map-check, then map-review, each following the
42
+ # same poll -> drive -> poll -> record loop. Only map-review completing closes
43
+ # the route (chain_status: "completed") --
42
44
  ```
43
45
 
44
46
  The run ends there: a committed feature branch, `phases[]` in `auto-route.json` holding one entry per phase attempt, and no PR/merge/CI step of any kind.
@@ -74,7 +74,7 @@ Execute all 12 gates. Read the full gate scripts in [release-reference.md § Pha
74
74
  **Gate summary (full commands in reference):**
75
75
  - **Gates 1–4:** `make check` — tests, ruff, mypy, pyright, rendered-template parity
76
76
  - **Gates 5–6:** Build + twine check
77
- - **Gate 7:** Security audit (`pip-audit`)
77
+ - **Gate 7:** Security audit of the project's resolved requirements (`uv export` + `pip-audit -r`)
78
78
  - **Gates 8–10:** Git state — main branch, clean working directory, up-to-date with origin
79
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)
@@ -35,11 +35,20 @@ uv run --with twine twine check dist/*
35
35
  ### Gate 7: Security Audit
36
36
 
37
37
  ```bash
38
- pip install pip-audit
39
- pip-audit
38
+ set -euo pipefail
39
+ # Audit the project's resolved dependency set, not the runner interpreter.
40
+ REQS_FILE=$(mktemp "${TMPDIR:-/tmp}/mapify-release-reqs.XXXXXX")
41
+ trap 'rm -f "$REQS_FILE"' EXIT
42
+ uv export --all-extras --all-groups --no-hashes --no-emit-project \
43
+ --format requirements-txt > "$REQS_FILE"
44
+ # --no-deps audits exactly the exported pins; --disable-pip stops pip from
45
+ # resolving or mutating the runner environment.
46
+ uvx pip-audit -r "$REQS_FILE" --disable-pip --no-deps
40
47
  ```
41
48
 
42
49
  **Expected Results:**
50
+ - ✅ `uv export` resolves the project's dependencies (all extras and groups)
51
+ - ✅ `pip-audit` audits the exported pinned requirements, not the runner environment
43
52
  - ✅ No known security vulnerabilities in dependencies
44
53
 
45
54
  **If vulnerabilities found:** Assess severity; update dependencies if critical.
@@ -19586,20 +19586,51 @@ _AUTO_ROUTE_NEXT_COMMAND: dict[str, str] = {
19586
19586
 
19587
19587
  # /map-auto phase ledger (issue #414): closed status vocabulary for
19588
19588
  # record_auto_phase's chain_status transitions. A phase status in
19589
- # AUTO_PHASE_TERMINAL_SUCCESS_STATUSES completes the chain; a status in
19590
- # AUTO_PHASE_ABORT_STATUSES aborts it; any other status leaves the chain
19591
- # in_progress. These two sets are intentionally NOT required to partition
19592
- # every possible status string -- callers may pass phase-specific statuses
19593
- # (e.g. "monitor_rejected") that fall through to in_progress.
19589
+ # AUTO_PHASE_TERMINAL_SUCCESS_STATUSES completes the ROUTE only when that
19590
+ # phase is the last phase of the routed chain (see AUTO_ROUTE_PHASE_CHAINS); a
19591
+ # status in AUTO_PHASE_ABORT_STATUSES aborts the chain; any other status
19592
+ # leaves the chain in_progress. These two sets are intentionally NOT required
19593
+ # to partition every possible status string -- callers may pass phase-specific
19594
+ # statuses (e.g. "monitor_rejected") that fall through to in_progress.
19594
19595
  AUTO_PHASE_TERMINAL_SUCCESS_STATUSES = frozenset({"completed"})
19595
19596
  AUTO_PHASE_ABORT_STATUSES = frozenset({"aborted", "failed"})
19596
19597
 
19598
+ # /map-auto routed phase chains (issue #621): phase completion and route
19599
+ # completion are separate. A route reaches chain_status="completed" only when
19600
+ # the completed phase is the LAST phase of the chain its selected_route drives.
19601
+ # map-resume, map-check and map-fast are single-phase routes; map-plan and
19602
+ # map-efficient are multi-phase routes that continue through map-check and
19603
+ # close on map-review. Keeping the table beside the terminal-status vocabulary
19604
+ # makes the route/phase split explicit instead of inferring "completed" from
19605
+ # the phase status alone (the #446 regression).
19606
+ AUTO_ROUTE_PHASE_CHAINS: dict[str, tuple[str, ...]] = {
19607
+ "map-resume": ("map-resume",),
19608
+ "map-check": ("map-check",),
19609
+ "map-fast": ("map-fast",),
19610
+ "map-plan": ("map-plan", "map-efficient", "map-check", "map-review"),
19611
+ "map-efficient": ("map-efficient", "map-check", "map-review"),
19612
+ }
19613
+
19597
19614
  # Chain-level retry bound: at most ONE re-entry per phase -- attempt 1
19598
19615
  # (first record) plus attempt 2 (the single permitted re-entry) are allowed;
19599
19616
  # a 3rd record of the same phase name is refused by record_auto_phase.
19600
19617
  AUTO_PHASE_MAX_ATTEMPTS = 2
19601
19618
 
19602
19619
 
19620
+ def _auto_route_final_phase(route: object) -> str | None:
19621
+ """Return the last phase of `route`'s chain, or None for an unknown route.
19622
+
19623
+ record_auto_phase uses this to keep "this phase completed" and "the whole
19624
+ route completed" separate (issue #621). A missing or unrecognized route
19625
+ fails closed (returns None), so an unknown route can never be treated as
19626
+ completed by a phase record.
19627
+ """
19628
+ if not isinstance(route, str):
19629
+ return None
19630
+ chain = AUTO_ROUTE_PHASE_CHAINS.get(route)
19631
+ return chain[-1] if chain else None
19632
+
19633
+
19603
19634
  def auto_route_artifact_path(branch: str | None = None) -> Path:
19604
19635
  """Return the branch-scoped /map-auto routing decision artifact path."""
19605
19636
  return get_branch_dir(branch) / "auto-route.json"
@@ -19817,11 +19848,16 @@ def record_auto_phase(
19817
19848
 
19818
19849
  On every non-refused call, chain_status transitions from the recorded
19819
19850
  `status` using a closed vocabulary (AUTO_PHASE_TERMINAL_SUCCESS_STATUSES
19820
- -> "completed", AUTO_PHASE_ABORT_STATUSES -> "aborted", otherwise
19821
- "in_progress") and the `abort_reason` field is set/cleared to match. The
19822
- `auto_route` manifest stage is refreshed on every call (refused or not)
19823
- so progress is observable outside the artifact, with its status
19824
- mirroring the resulting chain_status.
19851
+ -> "completed" when the phase is the LAST phase of the route's chain,
19852
+ AUTO_PHASE_ABORT_STATUSES -> "aborted", otherwise "in_progress") and the
19853
+ `abort_reason` field is set/cleared to match. Phase completion and route
19854
+ completion are separate: a multi-phase route (map-plan, map-efficient)
19855
+ stays "in_progress" after map-plan/map-efficient/map-check completes and
19856
+ closes only on map-review; a single-phase route (map-resume, map-check,
19857
+ map-fast) closes on its only phase. AUTO_ROUTE_PHASE_CHAINS is the single
19858
+ source for each route's ordered chain. The `auto_route` manifest stage is
19859
+ refreshed on every call (refused or not) so progress is observable outside
19860
+ the artifact, with its status mirroring the resulting chain_status.
19825
19861
 
19826
19862
  `evidence_refs` persists caller-supplied ids (e.g. hold ids
19827
19863
  auto-approved by `auto_decide_holds`) in the phase entry, giving every
@@ -19932,7 +19968,14 @@ def record_auto_phase(
19932
19968
  artifact["phases"] = phases
19933
19969
 
19934
19970
  if status in AUTO_PHASE_TERMINAL_SUCCESS_STATUSES:
19935
- chain_status = "completed"
19971
+ # Issue #621: a phase completing is not the route completing. Only the
19972
+ # LAST phase of the routed chain closes chain_status; earlier completed
19973
+ # phases keep the chain in_progress so the next phase is accepted
19974
+ # instead of being refused by the terminal-chain guard below.
19975
+ if phase == _auto_route_final_phase(artifact.get("selected_route")):
19976
+ chain_status = "completed"
19977
+ else:
19978
+ chain_status = "in_progress"
19936
19979
  elif status in AUTO_PHASE_ABORT_STATUSES:
19937
19980
  chain_status = "aborted"
19938
19981
  else:
@@ -72,7 +72,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase "<phase>" "<status>" \
72
72
  --reason "<why this status>"
73
73
  ```
74
74
 
75
- `<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
75
+ `<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Phase completion and route completion are separate: a `completed` phase closes the chain only when it is the last phase of the selected route -- `map-review` for the multi-phase `map-plan` and `map-efficient` routes, or the route's only phase for the single-phase `map-resume`, `map-check`, and `map-fast` routes. Any earlier `completed` leaves the chain `in_progress` so the next phase is accepted. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
76
76
 
77
77
  **At most one re-entry per phase (HC-2):** `record_auto_phase` mechanically enforces this -- the first record of a phase name is `attempt: 1`, a re-entry is `attempt: 2`, and a third call for the SAME phase name is refused and force-aborts the chain (`chain_status: "aborted"`). Before spending the single permitted re-entry, inspect ground truth -- `git status`/`git diff` and the phase's own `step_state.json` (or equivalent phase artifacts, test output, Monitor verdict) -- to confirm the phase genuinely needs a fresh attempt rather than a partial success being misread as a failure. A second failure of the same phase means STOP and hand off to `<% cmd %>map-resume` -- never attempt a third call for that phase. A chain already `chain_status: "aborted"` or `"blocked"` refuses every further `record_auto_phase` call regardless of phase name; a new `route_task` call is the ONLY legitimate way to continue.
78
78
 
@@ -84,8 +84,8 @@ Once routed, drive the selected chain by invoking the existing slash workflows e
84
84
  route_task -> [map-plan] -> [map-efficient] -> [map-check] -> [map-review]
85
85
  ```
86
86
 
87
- - `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish.
88
- - `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop.
87
+ - `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish -- the route's only phase closes the chain.
88
+ - `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop. The route stays `chain_status: in_progress` after each intermediate phase completes and closes only when `map-review` completes.
89
89
  - Invoke each phase by reading and following its own `SKILL.md` in full, exactly as if the user had typed the corresponding slash command -- do not summarize, skip, or reimplement its internal steps. `<% cmd %>map-auto` never shells out to a separate Claude process, a new Python execution engine, or any other new phase-driving mechanism to do this -- phases are driven ONLY by invoking the existing slash workflows above and the three runner subcommands from Steps 1-3.
90
90
  - A `valid=false` Monitor verdict INSIDE a phase is that phase's own hard stop: its owning workflow's existing retry/escalation rules apply unchanged. `<% cmd %>map-auto` never overrides, suppresses, or re-runs past a Monitor rejection on the phase's behalf -- a phase that cannot get past Monitor is a failed phase for the purposes of Step 3's re-entry bound.
91
91
  - The autopilot run ends at a committed feature branch. `<% cmd %>map-auto` never opens a pull request, never merges, and never polls CI -- report the committed branch, the phases recorded, and stop.
@@ -16,7 +16,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase <phase> <status> [--br
16
16
 
17
17
  - `route_task <task>` -- `<task>` is the free-text task description (quote it). `--branch` defaults to the current branch. `--dry-run` recommends a route without marking the chain `in_progress` (see Dry-run usage below).
18
18
  - `auto_decide_holds` -- no positional arguments; only `--branch` (defaults to current branch).
19
- - `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
19
+ - `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). A `completed` status closes the chain (`chain_status: "completed"`) only on the LAST phase of the selected route -- `map-review` for multi-phase `map-plan`/`map-efficient` routes, or the single phase of `map-resume`/`map-check`/`map-fast`; a `completed` intermediate phase keeps the chain `in_progress`. `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
20
20
 
21
21
  ## Chain Walkthrough Example
22
22
 
@@ -36,10 +36,12 @@ $ python3 .map/scripts/map_step_runner.py auto_decide_holds
36
36
 
37
37
  $ python3 .map/scripts/map_step_runner.py record_auto_phase "map-efficient" "completed" \
38
38
  --evidence-refs "hold-1" --reason "all subtasks closed, make check green"
39
- {"status": "success", "chain_status": "completed", "phase": "map-efficient", "attempt": 1, ...}
39
+ {"status": "success", "chain_status": "in_progress", "phase": "map-efficient", "attempt": 1, ...}
40
40
 
41
- # -- chain then continues to map-check, then map-review, each following the same
42
- # poll -> drive -> poll -> record loop, until the last phase records "completed" --
41
+ # -- map-efficient is not the last phase of this route: the chain stays
42
+ # in_progress and continues to map-check, then map-review, each following the
43
+ # same poll -> drive -> poll -> record loop. Only map-review completing closes
44
+ # the route (chain_status: "completed") --
43
45
  ```
44
46
 
45
47
  The run ends there: a committed feature branch, `phases[]` in `auto-route.json` holding one entry per phase attempt, and no PR/merge/CI step of any kind.
@@ -72,7 +72,7 @@ Execute all 12 gates. Read the full gate scripts in [release-reference.md § Pha
72
72
  **Gate summary (full commands in reference):**
73
73
  - **Gates 1–4:** `make check` — tests, ruff, mypy, pyright, rendered-template parity
74
74
  - **Gates 5–6:** Build + twine check
75
- - **Gate 7:** Security audit (`pip-audit`)
75
+ - **Gate 7:** Security audit of the project's resolved requirements (`uv export` + `pip-audit -r`)
76
76
  - **Gates 8–10:** Git state — main branch, clean working directory, up-to-date with origin
77
77
  - **Gate 11:** CI run for `git merge-base HEAD origin/main` must have `conclusion: "success"`; unpushed commits may touch only release metadata
78
78
  - **Gate 12:** CHANGELOG.md completeness (Unreleased section exists and has content; commit/entry gap check)
@@ -36,11 +36,20 @@ uv run --with twine twine check dist/*
36
36
  ### Gate 7: Security Audit
37
37
 
38
38
  ```bash
39
- pip install pip-audit
40
- pip-audit
39
+ set -euo pipefail
40
+ # Audit the project's resolved dependency set, not the runner interpreter.
41
+ REQS_FILE=$(mktemp "${TMPDIR:-/tmp}/mapify-release-reqs.XXXXXX")
42
+ trap 'rm -f "$REQS_FILE"' EXIT
43
+ uv export --all-extras --all-groups --no-hashes --no-emit-project \
44
+ --format requirements-txt > "$REQS_FILE"
45
+ # --no-deps audits exactly the exported pins; --disable-pip stops pip from
46
+ # resolving or mutating the runner environment.
47
+ uvx pip-audit -r "$REQS_FILE" --disable-pip --no-deps
41
48
  ```
42
49
 
43
50
  **Expected Results:**
51
+ - ✅ `uv export` resolves the project's dependencies (all extras and groups)
52
+ - ✅ `pip-audit` audits the exported pinned requirements, not the runner environment
44
53
  - ✅ No known security vulnerabilities in dependencies
45
54
 
46
55
  **If vulnerabilities found:** Assess severity; update dependencies if critical.
@@ -468,6 +468,10 @@ def test_existing_lock_dir_mode_enforced(
468
468
 
469
469
  lock_root = tmp_path / ".map" / "locks"
470
470
  lock_root.mkdir(mode=0o755, parents=True) # too permissive
471
+ # mkdir(mode=...) is filtered through the process umask, so a restrictive
472
+ # umask (e.g. 0o077) would create 0o700 and fail the precondition below.
473
+ # Set the broad mode explicitly to keep the test's intent umask-independent.
474
+ os.chmod(str(lock_root), 0o755)
471
475
  # Verify the broad mode is actually in place before we call.
472
476
  pre_mode = os.stat(str(lock_root)).st_mode & 0o777
473
477
  assert pre_mode == 0o755, f"Setup precondition failed: {oct(pre_mode)}"