mapify-cli 3.30.0__tar.gz → 3.30.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (663) hide show
  1. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/PKG-INFO +1 -1
  2. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/pyproject.toml +1 -1
  3. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/__init__.py +8 -3
  4. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/auto_update.py +39 -0
  5. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/codex_copier.py +38 -19
  6. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/map_step_runner.py +5 -9
  7. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +5 -9
  8. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_auto_update.py +86 -0
  9. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_map_step_runner.py +34 -0
  10. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_mapify_cli.py +212 -69
  11. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/.claude/hooks/README.md +0 -0
  12. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/.claude/skills/README.md +0 -0
  13. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/.gitignore +0 -0
  14. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/LICENSE +0 -0
  15. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/README.md +0 -0
  16. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/__main__.py +0 -0
  17. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/_locking.py +0 -0
  18. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/_python_guard.py +0 -0
  19. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/boundary_quality_report.py +0 -0
  20. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/cli_ui.py +0 -0
  21. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/code_map.py +0 -0
  22. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/codex_exec.py +0 -0
  23. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/config/__init__.py +0 -0
  24. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/config/mcp.py +0 -0
  25. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/config/project_config.py +0 -0
  26. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/config/settings.py +0 -0
  27. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/__init__.py +0 -0
  28. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/agent_generator.py +0 -0
  29. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/domain_skill.py +0 -0
  30. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/file_copier.py +0 -0
  31. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/governance_report.py +0 -0
  32. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/managed_file_copier.py +0 -0
  33. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/providers.py +0 -0
  34. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/template_renderer.py +0 -0
  35. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/dependency_graph.py +0 -0
  36. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/grace_eval/__init__.py +0 -0
  37. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/grace_eval/schema.py +0 -0
  38. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/grace_eval/sweep.py +0 -0
  39. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/install_manifest.py +0 -0
  40. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/intent_detector.py +0 -0
  41. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/memory/__init__.py +0 -0
  42. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/memory/capture.py +0 -0
  43. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/memory/digest_schema.py +0 -0
  44. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/memory/finalize.py +0 -0
  45. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/memory/recall.py +0 -0
  46. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/minimality_eval.py +0 -0
  47. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/minimality_report.py +0 -0
  48. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/parallelism_observability.py +0 -0
  49. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/provider_registry.py +0 -0
  50. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/python_runtime.py +0 -0
  51. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/ralph_state.py +0 -0
  52. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/repo_insight.py +0 -0
  53. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/research_eval.py +0 -0
  54. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/research_eval_compare.py +0 -0
  55. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/schemas.py +0 -0
  56. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/scope_classifier.py +0 -0
  57. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skill_ir.py +0 -0
  58. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/__init__.py +0 -0
  59. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/aggregator.py +0 -0
  60. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/apply_patcher.py +0 -0
  61. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/assertions.py +0 -0
  62. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/description_optimizer.py +0 -0
  63. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/dispatcher.py +0 -0
  64. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/eval_schema.py +0 -0
  65. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/proposer.py +0 -0
  66. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/runner.py +0 -0
  67. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/__init__.py +0 -0
  68. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/bundle.py +0 -0
  69. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/dispatcher.py +0 -0
  70. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/eval_schema.py +0 -0
  71. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/gates.py +0 -0
  72. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/judge.py +0 -0
  73. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/repeated.py +0 -0
  74. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/report.py +0 -0
  75. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/runner.py +0 -0
  76. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/seeding.py +0 -0
  77. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/viewer.py +0 -0
  78. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/.gitignore +0 -0
  79. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/CLAUDE.md +0 -0
  80. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/actor.md +0 -0
  81. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
  82. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/evaluator.md +0 -0
  83. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
  84. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/monitor.md +0 -0
  85. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/predictor.md +0 -0
  86. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/reflector.md +0 -0
  87. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/research-agent.md +0 -0
  88. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
  89. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
  90. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/actor.toml +0 -0
  91. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
  92. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/documentation-reviewer.toml +0 -0
  93. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/evaluator.toml +0 -0
  94. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/final-verifier.toml +0 -0
  95. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/monitor.toml +0 -0
  96. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/predictor.toml +0 -0
  97. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/reflector.toml +0 -0
  98. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/researcher.toml +0 -0
  99. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/config.toml +0 -0
  100. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/context-meter.py +0 -0
  101. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/detect-clarification-triggers.py +0 -0
  102. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/end-of-turn.sh +0 -0
  103. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-memory-capture.py +0 -0
  104. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-memory-endmark.py +0 -0
  105. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-memory-recall.py +0 -0
  106. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-memory-session.py +0 -0
  107. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-stop.py +0 -0
  108. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-token-meter.py +0 -0
  109. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/post-compact-context.py +0 -0
  110. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/pre-compact-save-transcript.py +0 -0
  111. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/ralph-context-pruner.py +0 -0
  112. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/ralph-iteration-logger.py +0 -0
  113. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/safety-guardrails.py +0 -0
  114. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/scrub-internal-ids.py +0 -0
  115. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/workflow-context-injector.py +0 -0
  116. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +0 -0
  117. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks.json +0 -0
  118. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/references/map-json-output-contracts.md +0 -0
  119. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/references/map-output-examples.md +0 -0
  120. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/references/map-xml-prompt-envelopes.md +0 -0
  121. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-architecture/SKILL.md +0 -0
  122. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-auto/SKILL.md +0 -0
  123. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-auto/auto-reference.md +0 -0
  124. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
  125. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-check/check-reference.md +0 -0
  126. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-debug/SKILL.md +0 -0
  127. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +0 -0
  128. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +0 -0
  129. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
  130. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
  131. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-learn/SKILL.md +0 -0
  132. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-learn/templates/example-rules.md +0 -0
  133. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-unconditional.md +0 -0
  134. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-with-paths.md +0 -0
  135. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-memory-now/SKILL.md +0 -0
  136. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +0 -0
  137. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-plan/plan-reference.md +0 -0
  138. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-prd-review/SKILL.md +0 -0
  139. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-release/SKILL.md +0 -0
  140. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-release/release-reference.md +0 -0
  141. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-resume/SKILL.md +0 -0
  142. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-resume/resume-reference.md +0 -0
  143. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md +0 -0
  144. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +0 -0
  145. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-review/review-reference.md +0 -0
  146. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-skill-eval/SKILL.md +0 -0
  147. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-so-search/SKILL.md +0 -0
  148. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-so-search/scripts/sofa_search.py +0 -0
  149. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/SKILL.md +0 -0
  150. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/scripts/check-complete.sh +0 -0
  151. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/scripts/get-plan-path.sh +0 -0
  152. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/scripts/init-session.sh +0 -0
  153. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/scripts/show-focus.sh +0 -0
  154. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/templates/findings.md +0 -0
  155. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/templates/iteration_history.md +0 -0
  156. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/templates/progress.md +0 -0
  157. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/templates/task_plan.md +0 -0
  158. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-task/SKILL.md +0 -0
  159. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-tdd/SKILL.md +0 -0
  160. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-tokenreport/SKILL.md +0 -0
  161. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-understand/SKILL.md +0 -0
  162. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-upgrade/SKILL.md +0 -0
  163. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-wayfind/SKILL.md +0 -0
  164. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-wayfind/wayfind-reference.md +0 -0
  165. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/README.md +0 -0
  166. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/context-meter.py +0 -0
  167. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +0 -0
  168. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/end-of-turn.sh +0 -0
  169. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-memory-capture.py +0 -0
  170. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-memory-endmark.py +0 -0
  171. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-memory-finalize.py +0 -0
  172. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-memory-recall.py +0 -0
  173. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-statusline.py +0 -0
  174. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-token-meter.py +0 -0
  175. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/post-compact-context.py +0 -0
  176. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +0 -0
  177. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +0 -0
  178. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +0 -0
  179. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/safety-guardrails.py +0 -0
  180. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/scrub-internal-ids.py +0 -0
  181. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/workflow-context-injector.py +0 -0
  182. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/workflow-gate.py +0 -0
  183. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/classify_scope.py +0 -0
  184. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/diagnostics.py +0 -0
  185. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +0 -0
  186. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/map_utils.py +0 -0
  187. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/scrub_internal_ids.py +0 -0
  188. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/sofa_client.py +0 -0
  189. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
  190. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/wayfind_runner.py +0 -0
  191. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
  192. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
  193. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
  194. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
  195. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
  196. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
  197. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
  198. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
  199. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
  200. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
  201. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/hook-patterns.md +0 -0
  202. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/host-paths.md +0 -0
  203. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
  204. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
  205. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
  206. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
  207. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
  208. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
  209. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/rules/learned/README.md +0 -0
  210. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/settings.json +0 -0
  211. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/README.md +0 -0
  212. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-architecture/SKILL.md +0 -0
  213. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-auto/SKILL.md +0 -0
  214. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-auto/auto-reference.md +0 -0
  215. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
  216. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
  217. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
  218. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +0 -0
  219. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +0 -0
  220. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
  221. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
  222. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
  223. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
  224. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
  225. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
  226. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
  227. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-plan/SKILL.md +0 -0
  228. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
  229. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-prd-review/SKILL.md +0 -0
  230. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-release/SKILL.md +0 -0
  231. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-release/release-reference.md +0 -0
  232. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
  233. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
  234. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-review/SKILL.md +0 -0
  235. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-review/adversarial-reference.md +0 -0
  236. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-review/review-reference.md +0 -0
  237. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
  238. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
  239. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +0 -0
  240. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
  241. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
  242. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
  243. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
  244. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
  245. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
  246. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
  247. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
  248. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
  249. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-task/SKILL.md +0 -0
  250. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
  251. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
  252. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-understand/SKILL.md +0 -0
  253. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-upgrade/SKILL.md +0 -0
  254. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-wayfind/SKILL.md +0 -0
  255. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-wayfind/wayfind-reference.md +0 -0
  256. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
  257. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/workflow-rules.json +0 -0
  258. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/.gitignore.jinja +0 -0
  259. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
  260. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/_partials/apply-patch-paths.py.jinja +0 -0
  261. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/_partials/auto-update-preflight.md.jinja +0 -0
  262. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/_partials/codex-memory-hook-wrapper.py.jinja +0 -0
  263. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/_partials/manual-upgrade-flow.md.jinja +0 -0
  264. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/_partials/python-version-guard.py.jinja +0 -0
  265. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/actor.md.jinja +0 -0
  266. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
  267. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +0 -0
  268. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
  269. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/monitor.md.jinja +0 -0
  270. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/predictor.md.jinja +0 -0
  271. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
  272. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +0 -0
  273. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
  274. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
  275. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/actor.toml.jinja +0 -0
  276. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
  277. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/documentation-reviewer.toml.jinja +0 -0
  278. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/evaluator.toml.jinja +0 -0
  279. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/final-verifier.toml.jinja +0 -0
  280. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +0 -0
  281. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/predictor.toml.jinja +0 -0
  282. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/reflector.toml.jinja +0 -0
  283. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +0 -0
  284. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
  285. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/context-meter.py.jinja +0 -0
  286. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/detect-clarification-triggers.py.jinja +0 -0
  287. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/end-of-turn.sh.jinja +0 -0
  288. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-memory-capture.py.jinja +0 -0
  289. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-memory-endmark.py.jinja +0 -0
  290. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-memory-recall.py.jinja +0 -0
  291. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-memory-session.py.jinja +0 -0
  292. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-stop.py.jinja +0 -0
  293. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-token-meter.py.jinja +0 -0
  294. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/post-compact-context.py.jinja +0 -0
  295. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/pre-compact-save-transcript.py.jinja +0 -0
  296. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/ralph-context-pruner.py.jinja +0 -0
  297. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/ralph-iteration-logger.py.jinja +0 -0
  298. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/safety-guardrails.py.jinja +0 -0
  299. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/scrub-internal-ids.py.jinja +0 -0
  300. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/workflow-context-injector.py.jinja +0 -0
  301. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +0 -0
  302. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
  303. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/references/map-json-output-contracts.md.jinja +0 -0
  304. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/references/map-output-examples.md.jinja +0 -0
  305. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/references/map-xml-prompt-envelopes.md.jinja +0 -0
  306. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-architecture/SKILL.md.jinja +0 -0
  307. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-auto/SKILL.md.jinja +0 -0
  308. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-auto/auto-reference.md.jinja +0 -0
  309. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
  310. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-check/check-reference.md.jinja +0 -0
  311. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-debug/SKILL.md.jinja +0 -0
  312. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +0 -0
  313. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +0 -0
  314. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
  315. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
  316. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-learn/SKILL.md.jinja +0 -0
  317. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/example-rules.md.jinja +0 -0
  318. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
  319. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
  320. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-memory-now/SKILL.md.jinja +0 -0
  321. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +0 -0
  322. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-plan/plan-reference.md.jinja +0 -0
  323. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-prd-review/SKILL.md.jinja +0 -0
  324. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-release/SKILL.md.jinja +0 -0
  325. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-release/release-reference.md.jinja +0 -0
  326. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-resume/SKILL.md.jinja +0 -0
  327. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-resume/resume-reference.md.jinja +0 -0
  328. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-review/SKILL.md.jinja +0 -0
  329. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-review/adversarial-reference.md.jinja +0 -0
  330. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-review/review-reference.md.jinja +0 -0
  331. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-skill-eval/SKILL.md.jinja +0 -0
  332. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-so-search/SKILL.md.jinja +0 -0
  333. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
  334. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/SKILL.md.jinja +0 -0
  335. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/check-complete.sh.jinja +0 -0
  336. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
  337. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/init-session.sh.jinja +0 -0
  338. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/show-focus.sh.jinja +0 -0
  339. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/templates/findings.md.jinja +0 -0
  340. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/templates/iteration_history.md.jinja +0 -0
  341. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/templates/progress.md.jinja +0 -0
  342. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/templates/task_plan.md.jinja +0 -0
  343. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-task/SKILL.md.jinja +0 -0
  344. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-tdd/SKILL.md.jinja +0 -0
  345. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-tokenreport/SKILL.md.jinja +0 -0
  346. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-understand/SKILL.md.jinja +0 -0
  347. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-upgrade/SKILL.md.jinja +0 -0
  348. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-wayfind/SKILL.md.jinja +0 -0
  349. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
  350. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/README.md.jinja +0 -0
  351. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +0 -0
  352. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +0 -0
  353. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +0 -0
  354. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +0 -0
  355. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +0 -0
  356. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +0 -0
  357. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +0 -0
  358. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-statusline.py.jinja +0 -0
  359. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +0 -0
  360. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +0 -0
  361. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +0 -0
  362. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +0 -0
  363. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +0 -0
  364. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +0 -0
  365. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/scrub-internal-ids.py.jinja +0 -0
  366. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +0 -0
  367. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +0 -0
  368. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/classify_scope.py.jinja +0 -0
  369. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +0 -0
  370. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +0 -0
  371. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +0 -0
  372. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/scrub_internal_ids.py.jinja +0 -0
  373. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +0 -0
  374. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
  375. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/wayfind_runner.py.jinja +0 -0
  376. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
  377. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
  378. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
  379. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
  380. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
  381. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
  382. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
  383. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
  384. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
  385. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
  386. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +0 -0
  387. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
  388. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
  389. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
  390. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
  391. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
  392. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
  393. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
  394. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
  395. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/settings.json.jinja +0 -0
  396. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
  397. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-architecture/SKILL.md.jinja +0 -0
  398. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-auto/SKILL.md.jinja +0 -0
  399. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-auto/auto-reference.md.jinja +0 -0
  400. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
  401. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
  402. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
  403. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +0 -0
  404. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +0 -0
  405. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
  406. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
  407. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
  408. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
  409. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
  410. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
  411. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
  412. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +0 -0
  413. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
  414. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-prd-review/SKILL.md.jinja +0 -0
  415. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +0 -0
  416. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-release/release-reference.md.jinja +0 -0
  417. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
  418. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
  419. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +0 -0
  420. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-review/adversarial-reference.md.jinja +0 -0
  421. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +0 -0
  422. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
  423. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
  424. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
  425. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
  426. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
  427. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
  428. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
  429. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
  430. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
  431. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
  432. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
  433. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
  434. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +0 -0
  435. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
  436. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
  437. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-understand/SKILL.md.jinja +0 -0
  438. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-upgrade/SKILL.md.jinja +0 -0
  439. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-wayfind/SKILL.md.jinja +0 -0
  440. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
  441. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
  442. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
  443. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/token_budget.py +0 -0
  444. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/tool_output_offload.py +0 -0
  445. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/tools/__init__.py +0 -0
  446. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/tools/validate_dependencies.py +0 -0
  447. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/update_install.py +0 -0
  448. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/update_state.py +0 -0
  449. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/update_versions.py +0 -0
  450. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/verification_recorder.py +0 -0
  451. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/workflow_finalizer.py +0 -0
  452. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/workflow_logger.py +0 -0
  453. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/workflow_state.py +0 -0
  454. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/__init__.py +0 -0
  455. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/_fake_task_tool.py +0 -0
  456. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/conftest.py +0 -0
  457. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/fixtures/claude/escalation-matrix.md +0 -0
  458. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/fixtures/codex/config.toml +0 -0
  459. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/fixtures/wave_blueprints.py +0 -0
  460. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/hooks/test_detect_clarification_triggers.py +0 -0
  461. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/hooks/test_end_of_turn.py +0 -0
  462. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/hooks/test_hook_inventory_smoke.py +0 -0
  463. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/hooks/test_safety_guardrails.py +0 -0
  464. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/hooks/test_scrub_internal_ids_hook.py +0 -0
  465. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/__init__.py +0 -0
  466. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/blueprint.json +0 -0
  467. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/code_review.md +0 -0
  468. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/plan_handoff.json +0 -0
  469. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/spec.md +0 -0
  470. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/step_state_initialized.json +0 -0
  471. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
  472. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/task_plan.md +0 -0
  473. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/verification_summary.md +0 -0
  474. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/test_e2e_artifact_contracts.py +0 -0
  475. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/test_e2e_claude_sdk.py +0 -0
  476. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/README.md +0 -0
  477. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
  478. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
  479. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
  480. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
  481. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
  482. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
  483. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
  484. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
  485. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
  486. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
  487. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
  488. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
  489. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
  490. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
  491. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
  492. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
  493. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
  494. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
  495. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/blueprint.json +0 -0
  496. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/task_plan_main.md +0 -0
  497. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
  498. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
  499. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/tests/test_compute.py +0 -0
  500. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/hidden/test_calc_full.py +0 -0
  501. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
  502. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/blueprint.json +0 -0
  503. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/task_plan_main.md +0 -0
  504. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
  505. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
  506. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/tests/test_calc_basic.py +0 -0
  507. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/hidden/test_calc_full.py +0 -0
  508. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
  509. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/blueprint.json +0 -0
  510. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/task_plan_main.md +0 -0
  511. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/__init__.py +0 -0
  512. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/calc.py +0 -0
  513. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/tests/test_calc_basic.py +0 -0
  514. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/hidden/test_kvparse_full.py +0 -0
  515. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/manifest.json +0 -0
  516. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/blueprint.json +0 -0
  517. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/task_plan_main.md +0 -0
  518. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/__init__.py +0 -0
  519. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/kvparse.py +0 -0
  520. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/tests/test_kvparse_basic.py +0 -0
  521. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
  522. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/blueprint.json +0 -0
  523. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/task_plan_main.md +0 -0
  524. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/__init__.py +0 -0
  525. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/config.py +0 -0
  526. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/utils.py +0 -0
  527. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/tests/test_price.py +0 -0
  528. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
  529. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/blueprint.json +0 -0
  530. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/task_plan_main.md +0 -0
  531. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/__init__.py +0 -0
  532. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/config.py +0 -0
  533. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/utils.py +0 -0
  534. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/tests/test_utils.py +0 -0
  535. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
  536. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/blueprint.json +0 -0
  537. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/task_plan_main.md +0 -0
  538. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
  539. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
  540. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/tests/test_semver.py +0 -0
  541. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/hidden/test_semver_full.py +0 -0
  542. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
  543. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/blueprint.json +0 -0
  544. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/task_plan_main.md +0 -0
  545. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/__init__.py +0 -0
  546. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/semver.py +0 -0
  547. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/tests/test_semver_basic.py +0 -0
  548. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/hidden/test_semver_full.py +0 -0
  549. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
  550. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/blueprint.json +0 -0
  551. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/task_plan_main.md +0 -0
  552. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/__init__.py +0 -0
  553. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/semver.py +0 -0
  554. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/tests/test_semver_basic.py +0 -0
  555. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/whole_skill/spike_runner.py +0 -0
  556. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_agent_cli_correctness.py +0 -0
  557. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_agent_dispatch_audit.py +0 -0
  558. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_agent_frontmatter.py +0 -0
  559. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_agent_memory.py +0 -0
  560. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_approval_hold.py +0 -0
  561. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_artifact_schemas.py +0 -0
  562. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_boundary_quality_report.py +0 -0
  563. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_bump_version.py +0 -0
  564. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_classify_scope_script.py +0 -0
  565. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_code_map.py +0 -0
  566. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_compaction_offload_integration.py +0 -0
  567. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_concurrent_dispatch_harness.py +0 -0
  568. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_context_usefulness.py +0 -0
  569. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_cross_ai_config.py +0 -0
  570. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_decomposition.py +0 -0
  571. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_dependency_graph.py +0 -0
  572. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_diagnostics.py +0 -0
  573. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_digest_schema.py +0 -0
  574. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_domain_skill.py +0 -0
  575. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_file_copier.py +0 -0
  576. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_governance_attack_fixtures.py +0 -0
  577. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_governance_report.py +0 -0
  578. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_grace_eval_schema.py +0 -0
  579. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_grace_eval_sweep.py +0 -0
  580. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_hook_patterns.py +0 -0
  581. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_init_import_graph.py +0 -0
  582. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_install_manifest.py +0 -0
  583. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_intent_detector.py +0 -0
  584. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_inv1_no_anthropic_optimize.py +0 -0
  585. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_jinja2_dep.py +0 -0
  586. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_locking.py +0 -0
  587. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_managed_file_copier.py +0 -0
  588. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_map_auto.py +0 -0
  589. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_map_orchestrator.py +0 -0
  590. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_map_token_meter.py +0 -0
  591. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_map_utils_sanitize.py +0 -0
  592. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_memory_capture.py +0 -0
  593. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_memory_finalize.py +0 -0
  594. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_memory_integration.py +0 -0
  595. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_memory_recall.py +0 -0
  596. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_memory_review_fixes.py +0 -0
  597. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_minimality_eval.py +0 -0
  598. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_minimality_report.py +0 -0
  599. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_parallelism_observability.py +0 -0
  600. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_post_compact_context.py +0 -0
  601. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_preset_commands.py +0 -0
  602. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_project_config.py +0 -0
  603. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_prompt_layering.py +0 -0
  604. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_prompt_profile_commands.py +0 -0
  605. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_python_version_requirement.py +0 -0
  606. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_pyyaml_dep.py +0 -0
  607. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_ralph_hooks.py +0 -0
  608. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_ralph_state.py +0 -0
  609. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_repo_insight.py +0 -0
  610. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_research_eval.py +0 -0
  611. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_research_eval_compare.py +0 -0
  612. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_review_verdict_ledger.py +0 -0
  613. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_schemas.py +0 -0
  614. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_scope_classifier.py +0 -0
  615. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_scrub_internal_ids.py +0 -0
  616. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_settings_deny_globs.py +0 -0
  617. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_shell_json_pipes.py +0 -0
  618. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skill_ir.py +0 -0
  619. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills.py +0 -0
  620. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_consistency.py +0 -0
  621. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_aggregator.py +0 -0
  622. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_apply.py +0 -0
  623. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_cli_optimize.py +0 -0
  624. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_dispatcher_env.py +0 -0
  625. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
  626. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_fixtures.py +0 -0
  627. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_optimizer.py +0 -0
  628. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_optimizer_isolation.py +0 -0
  629. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_proposer.py +0 -0
  630. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_runner.py +0 -0
  631. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_schema.py +0 -0
  632. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_bundle.py +0 -0
  633. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_cli.py +0 -0
  634. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_gates.py +0 -0
  635. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_judge.py +0 -0
  636. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_repeated.py +0 -0
  637. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_report.py +0 -0
  638. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_runner.py +0 -0
  639. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_schema.py +0 -0
  640. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_viewer.py +0 -0
  641. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_slice5b_leak_guards.py +0 -0
  642. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_sofa_client.py +0 -0
  643. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_sofa_search.py +0 -0
  644. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_statusline.py +0 -0
  645. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_template_render.py +0 -0
  646. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_token_budget.py +0 -0
  647. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_tool_output_offload.py +0 -0
  648. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_update_install.py +0 -0
  649. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_update_state.py +0 -0
  650. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_update_versions.py +0 -0
  651. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_validate_dependencies.py +0 -0
  652. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_validate_spec_citations.py +0 -0
  653. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_verification_recorder.py +0 -0
  654. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_wave_eval_harness.py +0 -0
  655. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_wave_fixtures.py +0 -0
  656. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_wave_parallel_harness.py +0 -0
  657. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_wayfind_runner.py +0 -0
  658. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_workflow_context_injector.py +0 -0
  659. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_workflow_finalizer.py +0 -0
  660. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_workflow_gate.py +0 -0
  661. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_workflow_logger.py +0 -0
  662. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_workflow_state.py +0 -0
  663. {mapify_cli-3.30.0 → mapify_cli-3.30.1}/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.30.0
3
+ Version: 3.30.1
4
4
  Summary: MAP Framework installer - Modular Agentic Planner for Claude Code
5
5
  Project-URL: Homepage, https://github.com/azalio/map-framework
6
6
  Project-URL: Repository, https://github.com/azalio/map-framework.git
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mapify-cli"
3
- version = "3.30.0"
3
+ version = "3.30.1"
4
4
  description = "MAP Framework installer - Modular Agentic Planner for Claude Code"
5
5
  authors = [{ name = "MAP Framework Contributors" }]
6
6
  readme = "README.md"
@@ -23,7 +23,7 @@ Or install globally:
23
23
  mapify check
24
24
  """
25
25
 
26
- __version__ = "3.30.0"
26
+ __version__ = "3.30.1"
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
@@ -1495,13 +1495,18 @@ def init(
1495
1495
  raise typer.Exit(1) from exc
1496
1496
 
1497
1497
  if provider == "codex":
1498
- # Codex provider: install .agents/.codex files + .map/scripts/ (skip-if-exists)
1498
+ # Codex provider: install .agents/.codex files + .map/scripts/
1499
+ # (.map/scripts policy is documented on create_codex_files)
1499
1500
  from mapify_cli.delivery.providers import CodexProvider
1500
1501
 
1501
1502
  tracker.add("create-codex", "Create Codex files")
1502
1503
  tracker.start("create-codex")
1503
1504
  codex_provider = CodexProvider()
1504
- counts = codex_provider.install(project_path)
1505
+ try:
1506
+ counts = codex_provider.install(project_path)
1507
+ except RuntimeError as exc:
1508
+ console.print(f"[red]Error:[/red] {exc}")
1509
+ raise typer.Exit(1) from exc
1505
1510
  total = sum(counts.values())
1506
1511
  tracker.complete("create-codex", f"{total} files")
1507
1512
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import tomllib
5
6
  from dataclasses import dataclass, replace
6
7
  from datetime import UTC, datetime
7
8
  from enum import StrEnum
@@ -45,6 +46,33 @@ _DEFAULT_INSTALL_EXACT_VERSION = install_exact_version
45
46
  LOCK_TIMEOUT_SECONDS = 0.0
46
47
  REFRESH_BARRIER_TIMEOUT_SECONDS = 0.0
47
48
 
49
+ FRAMEWORK_SOURCE_REPO_MESSAGE = (
50
+ "This project is the mapify-cli source repository; its provider trees are "
51
+ "rendered from src/mapify_cli/templates_src/ by `make render-templates` "
52
+ "and are never installed by the updater."
53
+ )
54
+
55
+
56
+ def is_framework_source_repo(project_path: Path) -> bool:
57
+ """Return True when ``project_path`` is the mapify-cli source repository.
58
+
59
+ The framework repo's generated trees (``.claude/``, ``.codex/``,
60
+ ``.agents/``, ``.map/scripts/``) are fence-free renders of
61
+ ``src/mapify_cli/templates_src/``. Running the provider refresh there
62
+ re-installs the shipped templates with fences and ``MAP-MANAGED`` headers
63
+ over 100+ tracked files and leaves a ``.bak`` beside each (#462).
64
+ """
65
+ project_path = Path(project_path)
66
+ if not (project_path / "src" / "mapify_cli" / "templates_src").is_dir():
67
+ return False
68
+ try:
69
+ with (project_path / "pyproject.toml").open("rb") as handle:
70
+ pyproject = tomllib.load(handle)
71
+ except (OSError, tomllib.TOMLDecodeError):
72
+ return False
73
+ project = pyproject.get("project")
74
+ return isinstance(project, dict) and project.get("name") == "mapify-cli"
75
+
48
76
 
49
77
  class UpdateMode(StrEnum):
50
78
  """Whether an update check was initiated by a skill or explicitly by a user."""
@@ -714,6 +742,17 @@ def check_and_update(
714
742
 
715
743
  completed_result: UpdateResult | None = None
716
744
  try:
745
+ if is_framework_source_repo(project_path):
746
+ # Intent: the framework repo is never an install target. Its
747
+ # generated trees are the rendered source of truth (#462).
748
+ if mode is UpdateMode.AUTOMATIC:
749
+ return UpdateResult(
750
+ UpdateStatus.SKIPPED,
751
+ current_version,
752
+ message=FRAMEWORK_SOURCE_REPO_MESSAGE,
753
+ )
754
+ return _error(current_version, FRAMEWORK_SOURCE_REPO_MESSAGE)
755
+
717
756
  if (
718
757
  mode is UpdateMode.AUTOMATIC
719
758
  and not load_map_config(project_path).updates_auto
@@ -15,6 +15,9 @@ from pathlib import Path
15
15
  from typing import Any
16
16
 
17
17
  from mapify_cli.delivery.file_copier import (
18
+ _IGNORED_TEMPLATE_NAMES,
19
+ _IGNORED_TEMPLATE_SUFFIXES,
20
+ _copy_map_path,
18
21
  _extract_requires_block,
19
22
  _get_version,
20
23
  _load_template_skill_catalog,
@@ -65,14 +68,12 @@ def _copy_tree(
65
68
  """
66
69
  count = 0
67
70
  dst_dir.mkdir(parents=True, exist_ok=True)
68
- ignored_names = {"__pycache__", ".DS_Store"}
69
- ignored_suffixes = {".pyc", ".pyo"}
70
71
  for src_file in src_dir.rglob("*"):
71
72
  if not src_file.is_file():
72
73
  continue
73
- if any(part in ignored_names for part in src_file.parts):
74
+ if any(part in _IGNORED_TEMPLATE_NAMES for part in src_file.parts):
74
75
  continue
75
- if src_file.suffix in ignored_suffixes:
76
+ if src_file.suffix in _IGNORED_TEMPLATE_SUFFIXES:
76
77
  continue
77
78
  rel = src_file.relative_to(src_dir)
78
79
  target = dst_dir / rel
@@ -90,6 +91,20 @@ def _copy_tree(
90
91
  _EXEC_SUFFIXES = frozenset((".py", ".sh"))
91
92
 
92
93
 
94
+ def _first_symlink_component(root: Path, dest: Path) -> Path | None:
95
+ """Return the first component of *dest* below *root* that is a symlink.
96
+
97
+ Checked component by component (``.map``, then ``.map/scripts``) so a
98
+ linked ancestor cannot redirect the runtime install outside *root*.
99
+ """
100
+ current = root
101
+ for part in dest.relative_to(root).parts:
102
+ current = current / part
103
+ if current.is_symlink():
104
+ return current
105
+ return None
106
+
107
+
93
108
  def _managed_codex_hook_names(hooks_dir_src: Path) -> frozenset[str]:
94
109
  """Names of the scripts mapify ships into .codex/hooks/ — the MAP-owned set."""
95
110
  if not hooks_dir_src.is_dir():
@@ -250,9 +265,11 @@ def create_codex_files(project_path: Path) -> dict[str, int]:
250
265
  Watched files (skills, agents, config, AGENTS.md, hooks) are installed
251
266
  fence-aware so a re-install preserves any user content below the fence;
252
267
  hooks.json is merged without MAP metadata because Codex validates top-level
253
- keys strictly; .map/scripts is MAP-owned (fenced=False, skip-if-exists).
268
+ keys strictly; .map/scripts is MAP-owned and refreshed exactly like the
269
+ Claude provider's tree (``_copy_map_path``: shipped scripts are overwritten,
270
+ a drifted managed copy is backed up to ``.bak.<ts>`` first, project-added
271
+ files are left alone).
254
272
 
255
- Skips .map/scripts/ if the directory already exists.
256
273
  Never creates or modifies any .claude/ path.
257
274
 
258
275
  Args:
@@ -264,6 +281,8 @@ def create_codex_files(project_path: Path) -> dict[str, int]:
264
281
  """
265
282
  templates_dir = get_templates_dir()
266
283
  codex_templates = templates_dir / "codex"
284
+ map_scripts_src = templates_dir / "map" / "scripts"
285
+ map_scripts_dst = project_path / ".map" / "scripts"
267
286
 
268
287
  empty_counts: dict[str, int] = {
269
288
  "skills": 0,
@@ -277,6 +296,14 @@ def create_codex_files(project_path: Path) -> dict[str, int]:
277
296
  if not codex_templates.exists():
278
297
  return empty_counts
279
298
 
299
+ if map_scripts_src.exists():
300
+ link = _first_symlink_component(project_path, map_scripts_dst)
301
+ if link is not None:
302
+ raise RuntimeError(
303
+ f"{link} is a symbolic link; mapify will not install .map/scripts "
304
+ "through it. Replace the link with a real directory and re-run."
305
+ )
306
+
280
307
  counts: dict[str, int] = dict(empty_counts)
281
308
  codex_dir = project_path / ".codex"
282
309
  agents_dir = project_path / ".agents"
@@ -391,19 +418,11 @@ def create_codex_files(project_path: Path) -> dict[str, int]:
391
418
  counts["docs"] += 1
392
419
 
393
420
  # ------------------------------------------------------------------
394
- # 6. .map/scripts/ — skip-if-exists (do not overwrite user scripts)
395
- # MAP-owned: install fenced=False (no fence) when absent.
421
+ # 6. .map/scripts/ — MAP-owned, same policy as the Claude provider:
422
+ # shipped scripts are refreshed (.bak.<ts> on drift), project-added
423
+ # files are never touched.
396
424
  # ------------------------------------------------------------------
397
- map_scripts_dst = project_path / ".map" / "scripts"
398
- if not map_scripts_dst.exists():
399
- map_scripts_src = templates_dir / "map" / "scripts"
400
- if map_scripts_src.exists():
401
- counts["scripts"] = _copy_tree(
402
- map_scripts_src,
403
- map_scripts_dst,
404
- version,
405
- fenced=False,
406
- executable_suffixes=_EXEC_SUFFIXES,
407
- )
425
+ if map_scripts_src.exists():
426
+ counts["scripts"] = _copy_map_path(map_scripts_src, map_scripts_dst, version)
408
427
 
409
428
  return counts
@@ -5277,7 +5277,7 @@ def ensure_human_artifacts(branch: str | None = None) -> dict:
5277
5277
  if path.exists():
5278
5278
  existing.append(file_name)
5279
5279
  continue
5280
- path.write_text(content, encoding="utf-8")
5280
+ _write_text_file(path, content)
5281
5281
  created.append(file_name)
5282
5282
 
5283
5283
  return {
@@ -9577,9 +9577,7 @@ def ensure_active_issues_file(branch: str | None = None) -> dict:
9577
9577
  issues_file = branch_dir / "active-issues.json"
9578
9578
  if not issues_file.exists():
9579
9579
  payload = {**ACTIVE_ISSUES_DEFAULT, "updated_at": datetime.now(UTC).isoformat()}
9580
- issues_file.write_text(
9581
- json.dumps(payload, indent=2, ensure_ascii=True) + "\n", encoding="utf-8"
9582
- )
9580
+ _write_json_file(issues_file, payload)
9583
9581
  return {"status": "success", "path": str(issues_file), "created": True}
9584
9582
  return {"status": "success", "path": str(issues_file), "created": False}
9585
9583
 
@@ -12836,10 +12834,7 @@ def ensure_known_issues_file(branch: str | None = None) -> dict:
12836
12834
  branch_dir.mkdir(parents=True, exist_ok=True)
12837
12835
  issues_file = branch_dir / "known-issues.json"
12838
12836
  if not issues_file.exists():
12839
- issues_file.write_text(
12840
- json.dumps(KNOWN_ISSUES_DEFAULT, indent=2, ensure_ascii=True) + "\n",
12841
- encoding="utf-8",
12842
- )
12837
+ _write_json_file(issues_file, KNOWN_ISSUES_DEFAULT)
12843
12838
  return {"status": "success", "path": str(issues_file), "created": True}
12844
12839
  return {"status": "success", "path": str(issues_file), "created": False}
12845
12840
 
@@ -12853,7 +12848,8 @@ def add_known_issue(
12853
12848
  """Append a known issue / accepted blocker entry."""
12854
12849
  ensure_known_issues_file(branch)
12855
12850
  issues_file = get_branch_dir(branch) / "known-issues.json"
12856
- payload = json.loads(issues_file.read_text(encoding="utf-8"))
12851
+ raw = _read_json_file(issues_file)
12852
+ payload: dict[str, Any] = dict(raw) if raw is not None else dict(KNOWN_ISSUES_DEFAULT)
12857
12853
  payload.setdefault("issues", []).append(
12858
12854
  {
12859
12855
  "title": title,
@@ -5252,7 +5252,7 @@ def ensure_human_artifacts(branch: str | None = None) -> dict:
5252
5252
  if path.exists():
5253
5253
  existing.append(file_name)
5254
5254
  continue
5255
- path.write_text(content, encoding="utf-8")
5255
+ _write_text_file(path, content)
5256
5256
  created.append(file_name)
5257
5257
 
5258
5258
  return {
@@ -9552,9 +9552,7 @@ def ensure_active_issues_file(branch: str | None = None) -> dict:
9552
9552
  issues_file = branch_dir / "active-issues.json"
9553
9553
  if not issues_file.exists():
9554
9554
  payload = {**ACTIVE_ISSUES_DEFAULT, "updated_at": datetime.now(UTC).isoformat()}
9555
- issues_file.write_text(
9556
- json.dumps(payload, indent=2, ensure_ascii=True) + "\n", encoding="utf-8"
9557
- )
9555
+ _write_json_file(issues_file, payload)
9558
9556
  return {"status": "success", "path": str(issues_file), "created": True}
9559
9557
  return {"status": "success", "path": str(issues_file), "created": False}
9560
9558
 
@@ -12811,10 +12809,7 @@ def ensure_known_issues_file(branch: str | None = None) -> dict:
12811
12809
  branch_dir.mkdir(parents=True, exist_ok=True)
12812
12810
  issues_file = branch_dir / "known-issues.json"
12813
12811
  if not issues_file.exists():
12814
- issues_file.write_text(
12815
- json.dumps(KNOWN_ISSUES_DEFAULT, indent=2, ensure_ascii=True) + "\n",
12816
- encoding="utf-8",
12817
- )
12812
+ _write_json_file(issues_file, KNOWN_ISSUES_DEFAULT)
12818
12813
  return {"status": "success", "path": str(issues_file), "created": True}
12819
12814
  return {"status": "success", "path": str(issues_file), "created": False}
12820
12815
 
@@ -12828,7 +12823,8 @@ def add_known_issue(
12828
12823
  """Append a known issue / accepted blocker entry."""
12829
12824
  ensure_known_issues_file(branch)
12830
12825
  issues_file = get_branch_dir(branch) / "known-issues.json"
12831
- payload = json.loads(issues_file.read_text(encoding="utf-8"))
12826
+ raw = _read_json_file(issues_file)
12827
+ payload: dict[str, Any] = dict(raw) if raw is not None else dict(KNOWN_ISSUES_DEFAULT)
12832
12828
  payload.setdefault("issues", []).append(
12833
12829
  {
12834
12830
  "title": title,
@@ -39,6 +39,7 @@ from mapify_cli.update_state import (
39
39
  from mapify_cli.update_versions import ReleaseHighlights, StableVersion, VersionTargets
40
40
 
41
41
  NOW = datetime(2026, 8, 13, 12, 0, tzinfo=UTC)
42
+ REPO_ROOT = Path(__file__).resolve().parents[1]
42
43
 
43
44
 
44
45
  @pytest.fixture(autouse=True)
@@ -441,6 +442,91 @@ def test_source_install_is_silent_skip_automatically_and_error_manually(
441
442
  assert "owner-managed" in manual.message
442
443
 
443
444
 
445
+ def _write_framework_fingerprint(project: Path, *, name: str = "mapify-cli") -> None:
446
+ (project / "src" / "mapify_cli" / "templates_src").mkdir(parents=True)
447
+ (project / "pyproject.toml").write_text(
448
+ f'[project]\nname = "{name}"\nversion = "0.0.0"\n', encoding="utf-8"
449
+ )
450
+
451
+
452
+ def test_framework_source_repo_is_silent_skip_automatically_and_error_manually(
453
+ tmp_path: Path, monkeypatch: pytest.MonkeyPatch
454
+ ) -> None:
455
+ """#462: never install the shipped templates over the rendered dev trees."""
456
+ _write_framework_fingerprint(tmp_path)
457
+ fetch = Mock(side_effect=AssertionError("network must not run"))
458
+ monkeypatch.setattr(auto_update, "fetch_version_targets", fetch)
459
+ refresh = Mock(side_effect=AssertionError("provider refresh must not run"))
460
+ monkeypatch.setattr(auto_update, "refresh_installed_providers", refresh)
461
+
462
+ automatic = check_and_update(tmp_path, "3.29.1", UpdateMode.AUTOMATIC, now=NOW)
463
+ manual = check_and_update(tmp_path, "3.29.1", UpdateMode.MANUAL, now=NOW)
464
+
465
+ assert automatic.status is UpdateStatus.SKIPPED
466
+ assert automatic.message == auto_update.FRAMEWORK_SOURCE_REPO_MESSAGE
467
+ assert manual.status is UpdateStatus.ERROR
468
+ assert manual.message == auto_update.FRAMEWORK_SOURCE_REPO_MESSAGE
469
+ assert "make render-templates" in manual.message
470
+ fetch.assert_not_called()
471
+ refresh.assert_not_called()
472
+ # No update state, lock, or provider file is written in either mode.
473
+ assert not (tmp_path / ".map").exists()
474
+
475
+
476
+ def test_framework_source_repo_skip_ignores_config_and_throttle(
477
+ tmp_path: Path, monkeypatch: pytest.MonkeyPatch
478
+ ) -> None:
479
+ _write_framework_fingerprint(tmp_path)
480
+ _write_config(tmp_path, "updates.auto: true\n")
481
+ write_update_state(tmp_path, UpdateState(last_attempt_at="2026-08-01T00:00:00Z"))
482
+ attempt_before = read_update_state(tmp_path).last_attempt_at
483
+ fetch = Mock(side_effect=AssertionError("network must not run"))
484
+ monkeypatch.setattr(auto_update, "fetch_version_targets", fetch)
485
+
486
+ result = check_and_update(tmp_path, "3.29.1", UpdateMode.AUTOMATIC, now=NOW)
487
+
488
+ assert result.status is UpdateStatus.SKIPPED
489
+ assert result.message == auto_update.FRAMEWORK_SOURCE_REPO_MESSAGE
490
+ assert read_update_state(tmp_path).last_attempt_at == attempt_before
491
+ fetch.assert_not_called()
492
+
493
+
494
+ def test_this_repository_is_the_framework_source_repo(
495
+ monkeypatch: pytest.MonkeyPatch,
496
+ ) -> None:
497
+ """The real dev checkout must trip the guard, not only a synthetic fixture."""
498
+ assert auto_update.is_framework_source_repo(REPO_ROOT)
499
+ fetch = Mock(side_effect=AssertionError("network must not run"))
500
+ monkeypatch.setattr(auto_update, "fetch_version_targets", fetch)
501
+
502
+ result = check_and_update(REPO_ROOT, "3.29.1", UpdateMode.AUTOMATIC, now=NOW)
503
+
504
+ assert result.status is UpdateStatus.SKIPPED
505
+ assert result.message == auto_update.FRAMEWORK_SOURCE_REPO_MESSAGE
506
+ fetch.assert_not_called()
507
+
508
+
509
+ @pytest.mark.parametrize(
510
+ ("pyproject", "templates_src"),
511
+ [
512
+ pytest.param('[project]\nname = "mapify-cli"\n', False, id="no-templates-src"),
513
+ pytest.param('[project]\nname = "other-package"\n', True, id="other-name"),
514
+ pytest.param('[tool.x]\nname = "mapify-cli"\n', True, id="no-project-table"),
515
+ pytest.param("name = [unterminated\n", True, id="malformed-toml"),
516
+ pytest.param(None, True, id="no-pyproject"),
517
+ ],
518
+ )
519
+ def test_partial_framework_fingerprint_is_an_ordinary_project(
520
+ tmp_path: Path, pyproject: str | None, templates_src: bool
521
+ ) -> None:
522
+ if pyproject is not None:
523
+ (tmp_path / "pyproject.toml").write_text(pyproject, encoding="utf-8")
524
+ if templates_src:
525
+ (tmp_path / "src" / "mapify_cli" / "templates_src").mkdir(parents=True)
526
+
527
+ assert not auto_update.is_framework_source_repo(tmp_path)
528
+
529
+
444
530
  def test_lock_contention_skips_automatic_and_errors_manual(
445
531
  tmp_path: Path, monkeypatch: pytest.MonkeyPatch
446
532
  ) -> None:
@@ -4868,6 +4868,18 @@ class TestEnsureActiveIssuesFile:
4868
4868
 
4869
4869
  assert issues_file.read_text(encoding="utf-8") == custom_content
4870
4870
 
4871
+ def test_corrupt_file_is_not_written_partially(self, branch_workspace):
4872
+ """File creation is atomic: reader never sees partial JSON (#464)."""
4873
+ issues_file = branch_workspace / "active-issues.json"
4874
+ # simulate a corrupt file left by a crash mid-write
4875
+ issues_file.write_text("{corrupt", encoding="utf-8")
4876
+
4877
+ # ensure_active_issues_file skips creation if file exists (even corrupt)
4878
+ result = map_step_runner.ensure_active_issues_file()
4879
+ assert result["created"] is False
4880
+ # the corrupt file is NOT overwritten by ensure_*; replace_active_issues must be used
4881
+ assert issues_file.read_text(encoding="utf-8") == "{corrupt"
4882
+
4871
4883
 
4872
4884
  # ---------------------------------------------------------------------------
4873
4885
  # replace_active_issues — focused unit tests
@@ -5185,6 +5197,14 @@ class TestEnsureKnownIssuesFile:
5185
5197
 
5186
5198
  assert issues_file.read_text(encoding="utf-8") == original
5187
5199
 
5200
+ def test_new_file_write_is_valid_json(self, branch_workspace):
5201
+ """ensure_known_issues_file writes valid JSON (atomic write, #464)."""
5202
+ result = map_step_runner.ensure_known_issues_file()
5203
+
5204
+ assert result["created"] is True
5205
+ data = json.loads((branch_workspace / "known-issues.json").read_text(encoding="utf-8"))
5206
+ assert data == {"issues": []}
5207
+
5188
5208
 
5189
5209
  # ---------------------------------------------------------------------------
5190
5210
  # add_known_issue — focused unit tests
@@ -5244,6 +5264,20 @@ class TestAddKnownIssue:
5244
5264
  )
5245
5265
  assert data["issues"][0]["status"] == "accepted"
5246
5266
 
5267
+ def test_add_known_issue_recovers_from_corrupt_file(self, branch_workspace):
5268
+ """add_known_issue does not crash on corrupt known-issues.json (#464)."""
5269
+ issues_file = branch_workspace / "known-issues.json"
5270
+ # simulate a file left corrupt by a crash mid-write
5271
+ issues_file.write_text("{corrupt json", encoding="utf-8")
5272
+
5273
+ # must not raise JSONDecodeError; should recover to an empty issues list
5274
+ result = map_step_runner.add_known_issue("Post-crash issue", "accepted")
5275
+
5276
+ assert result["status"] == "success"
5277
+ assert result["count"] == 1
5278
+ data = json.loads(issues_file.read_text(encoding="utf-8"))
5279
+ assert data["issues"][0]["title"] == "Post-crash issue"
5280
+
5247
5281
 
5248
5282
  # ---------------------------------------------------------------------------
5249
5283
  # run_test_gate — focused unit tests