mapify-cli 3.27.0__tar.gz → 3.27.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 (545) hide show
  1. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/PKG-INFO +1 -3
  2. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/README.md +0 -2
  3. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/pyproject.toml +1 -1
  4. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/__init__.py +1 -1
  5. mapify_cli-3.27.1/src/mapify_cli/templates/hooks/end-of-turn.sh +355 -0
  6. mapify_cli-3.27.1/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +355 -0
  7. mapify_cli-3.27.1/tests/hooks/test_end_of_turn.py +665 -0
  8. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_sofa_client.py +2 -2
  9. mapify_cli-3.27.0/src/mapify_cli/templates/hooks/end-of-turn.sh +0 -196
  10. mapify_cli-3.27.0/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +0 -196
  11. mapify_cli-3.27.0/tests/hooks/test_end_of_turn.py +0 -348
  12. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/.claude/hooks/README.md +0 -0
  13. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/.claude/skills/README.md +0 -0
  14. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/.gitignore +0 -0
  15. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/LICENSE +0 -0
  16. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/_locking.py +0 -0
  17. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/auto_update.py +0 -0
  18. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/boundary_quality_report.py +0 -0
  19. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/cli_ui.py +0 -0
  20. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/code_map.py +0 -0
  21. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/config/__init__.py +0 -0
  22. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/config/mcp.py +0 -0
  23. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/config/project_config.py +0 -0
  24. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/config/settings.py +0 -0
  25. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/delivery/__init__.py +0 -0
  26. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/delivery/agent_generator.py +0 -0
  27. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/delivery/codex_copier.py +0 -0
  28. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/delivery/domain_skill.py +0 -0
  29. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/delivery/file_copier.py +0 -0
  30. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/delivery/governance_report.py +0 -0
  31. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/delivery/managed_file_copier.py +0 -0
  32. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/delivery/providers.py +0 -0
  33. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/delivery/template_renderer.py +0 -0
  34. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/dependency_graph.py +0 -0
  35. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/grace_eval/__init__.py +0 -0
  36. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/grace_eval/schema.py +0 -0
  37. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/grace_eval/sweep.py +0 -0
  38. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/install_manifest.py +0 -0
  39. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/intent_detector.py +0 -0
  40. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/memory/__init__.py +0 -0
  41. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/memory/capture.py +0 -0
  42. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/memory/digest_schema.py +0 -0
  43. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/memory/finalize.py +0 -0
  44. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/memory/recall.py +0 -0
  45. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/minimality_eval.py +0 -0
  46. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/minimality_report.py +0 -0
  47. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/parallelism_observability.py +0 -0
  48. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/ralph_state.py +0 -0
  49. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/repo_insight.py +0 -0
  50. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/research_eval.py +0 -0
  51. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/research_eval_compare.py +0 -0
  52. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/schemas.py +0 -0
  53. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/scope_classifier.py +0 -0
  54. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skill_ir.py +0 -0
  55. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/__init__.py +0 -0
  56. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/aggregator.py +0 -0
  57. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/apply_patcher.py +0 -0
  58. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/assertions.py +0 -0
  59. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/description_optimizer.py +0 -0
  60. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/dispatcher.py +0 -0
  61. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/eval_schema.py +0 -0
  62. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/proposer.py +0 -0
  63. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/runner.py +0 -0
  64. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/trajectory/__init__.py +0 -0
  65. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/trajectory/bundle.py +0 -0
  66. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/trajectory/dispatcher.py +0 -0
  67. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/trajectory/eval_schema.py +0 -0
  68. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/trajectory/gates.py +0 -0
  69. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/trajectory/judge.py +0 -0
  70. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/trajectory/repeated.py +0 -0
  71. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/trajectory/report.py +0 -0
  72. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/trajectory/runner.py +0 -0
  73. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/trajectory/seeding.py +0 -0
  74. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/skills_eval/viewer.py +0 -0
  75. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/.gitignore +0 -0
  76. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/CLAUDE.md +0 -0
  77. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/agents/actor.md +0 -0
  78. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
  79. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/agents/evaluator.md +0 -0
  80. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
  81. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/agents/monitor.md +0 -0
  82. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/agents/predictor.md +0 -0
  83. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/agents/reflector.md +0 -0
  84. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/agents/research-agent.md +0 -0
  85. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
  86. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
  87. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
  88. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/agents/evaluator.toml +0 -0
  89. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/agents/monitor.toml +0 -0
  90. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/agents/predictor.toml +0 -0
  91. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/agents/researcher.toml +0 -0
  92. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/config.toml +0 -0
  93. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +0 -0
  94. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/hooks.json +0 -0
  95. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
  96. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +0 -0
  97. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +0 -0
  98. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
  99. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
  100. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +0 -0
  101. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md +0 -0
  102. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +0 -0
  103. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/skills/map-review/review-reference.md +0 -0
  104. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/skills/map-understand/SKILL.md +0 -0
  105. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/codex/skills/map-upgrade/SKILL.md +0 -0
  106. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/README.md +0 -0
  107. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/context-meter.py +0 -0
  108. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +0 -0
  109. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/map-memory-capture.py +0 -0
  110. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/map-memory-endmark.py +0 -0
  111. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/map-memory-finalize.py +0 -0
  112. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/map-memory-recall.py +0 -0
  113. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/map-statusline.py +0 -0
  114. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/map-token-meter.py +0 -0
  115. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/post-compact-context.py +0 -0
  116. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +0 -0
  117. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +0 -0
  118. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +0 -0
  119. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/safety-guardrails.py +0 -0
  120. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/scrub-internal-ids.py +0 -0
  121. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/workflow-context-injector.py +0 -0
  122. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/hooks/workflow-gate.py +0 -0
  123. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/scripts/classify_scope.py +0 -0
  124. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/scripts/diagnostics.py +0 -0
  125. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +0 -0
  126. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/scripts/map_step_runner.py +0 -0
  127. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/scripts/map_utils.py +0 -0
  128. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/scripts/scrub_internal_ids.py +0 -0
  129. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/scripts/sofa_client.py +0 -0
  130. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
  131. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/scripts/wayfind_runner.py +0 -0
  132. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
  133. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
  134. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
  135. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
  136. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
  137. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
  138. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
  139. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
  140. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
  141. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
  142. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/references/hook-patterns.md +0 -0
  143. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/references/host-paths.md +0 -0
  144. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
  145. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
  146. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
  147. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
  148. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
  149. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
  150. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/rules/learned/README.md +0 -0
  151. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/settings.json +0 -0
  152. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/README.md +0 -0
  153. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-architecture/SKILL.md +0 -0
  154. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-auto/SKILL.md +0 -0
  155. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-auto/auto-reference.md +0 -0
  156. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
  157. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
  158. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
  159. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +0 -0
  160. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +0 -0
  161. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
  162. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
  163. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
  164. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
  165. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
  166. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
  167. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
  168. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-plan/SKILL.md +0 -0
  169. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
  170. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-prd-review/SKILL.md +0 -0
  171. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-release/SKILL.md +0 -0
  172. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-release/release-reference.md +0 -0
  173. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
  174. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
  175. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-review/SKILL.md +0 -0
  176. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-review/adversarial-reference.md +0 -0
  177. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-review/review-reference.md +0 -0
  178. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
  179. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
  180. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +0 -0
  181. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
  182. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
  183. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
  184. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
  185. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
  186. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
  187. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
  188. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
  189. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
  190. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-task/SKILL.md +0 -0
  191. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
  192. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
  193. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-understand/SKILL.md +0 -0
  194. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-upgrade/SKILL.md +0 -0
  195. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-wayfind/SKILL.md +0 -0
  196. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/map-wayfind/wayfind-reference.md +0 -0
  197. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
  198. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates/workflow-rules.json +0 -0
  199. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/.gitignore.jinja +0 -0
  200. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
  201. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/_partials/auto-update-preflight.md.jinja +0 -0
  202. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/_partials/manual-upgrade-flow.md.jinja +0 -0
  203. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/agents/actor.md.jinja +0 -0
  204. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
  205. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +0 -0
  206. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
  207. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/agents/monitor.md.jinja +0 -0
  208. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/agents/predictor.md.jinja +0 -0
  209. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
  210. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +0 -0
  211. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
  212. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
  213. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
  214. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/agents/evaluator.toml.jinja +0 -0
  215. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +0 -0
  216. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/agents/predictor.toml.jinja +0 -0
  217. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +0 -0
  218. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
  219. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +0 -0
  220. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
  221. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
  222. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +0 -0
  223. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +0 -0
  224. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
  225. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
  226. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +0 -0
  227. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/skills/map-review/SKILL.md.jinja +0 -0
  228. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/skills/map-review/adversarial-reference.md.jinja +0 -0
  229. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/skills/map-review/review-reference.md.jinja +0 -0
  230. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/skills/map-understand/SKILL.md.jinja +0 -0
  231. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/codex/skills/map-upgrade/SKILL.md.jinja +0 -0
  232. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/README.md.jinja +0 -0
  233. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +0 -0
  234. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +0 -0
  235. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +0 -0
  236. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +0 -0
  237. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +0 -0
  238. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +0 -0
  239. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/map-statusline.py.jinja +0 -0
  240. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +0 -0
  241. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +0 -0
  242. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +0 -0
  243. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +0 -0
  244. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +0 -0
  245. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +0 -0
  246. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/scrub-internal-ids.py.jinja +0 -0
  247. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +0 -0
  248. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +0 -0
  249. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/scripts/classify_scope.py.jinja +0 -0
  250. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +0 -0
  251. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +0 -0
  252. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +0 -0
  253. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +0 -0
  254. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/scripts/scrub_internal_ids.py.jinja +0 -0
  255. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +0 -0
  256. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
  257. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/scripts/wayfind_runner.py.jinja +0 -0
  258. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
  259. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
  260. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
  261. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
  262. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
  263. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
  264. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
  265. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
  266. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
  267. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
  268. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +0 -0
  269. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
  270. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
  271. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
  272. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
  273. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
  274. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
  275. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
  276. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
  277. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/settings.json.jinja +0 -0
  278. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
  279. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-architecture/SKILL.md.jinja +0 -0
  280. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-auto/SKILL.md.jinja +0 -0
  281. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-auto/auto-reference.md.jinja +0 -0
  282. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
  283. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
  284. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
  285. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +0 -0
  286. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +0 -0
  287. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
  288. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
  289. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
  290. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
  291. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
  292. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
  293. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
  294. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +0 -0
  295. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
  296. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-prd-review/SKILL.md.jinja +0 -0
  297. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +0 -0
  298. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-release/release-reference.md.jinja +0 -0
  299. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
  300. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
  301. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +0 -0
  302. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-review/adversarial-reference.md.jinja +0 -0
  303. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +0 -0
  304. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
  305. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
  306. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
  307. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
  308. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
  309. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
  310. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
  311. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
  312. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
  313. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
  314. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
  315. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
  316. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +0 -0
  317. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
  318. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
  319. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-understand/SKILL.md.jinja +0 -0
  320. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-upgrade/SKILL.md.jinja +0 -0
  321. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-wayfind/SKILL.md.jinja +0 -0
  322. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
  323. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
  324. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
  325. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/token_budget.py +0 -0
  326. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/tool_output_offload.py +0 -0
  327. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/tools/__init__.py +0 -0
  328. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/tools/validate_dependencies.py +0 -0
  329. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/update_install.py +0 -0
  330. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/update_state.py +0 -0
  331. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/update_versions.py +0 -0
  332. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/verification_recorder.py +0 -0
  333. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/workflow_finalizer.py +0 -0
  334. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/workflow_logger.py +0 -0
  335. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/src/mapify_cli/workflow_state.py +0 -0
  336. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/__init__.py +0 -0
  337. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/_fake_task_tool.py +0 -0
  338. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/conftest.py +0 -0
  339. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/fixtures/claude/escalation-matrix.md +0 -0
  340. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/fixtures/codex/config.toml +0 -0
  341. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/fixtures/wave_blueprints.py +0 -0
  342. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/hooks/test_detect_clarification_triggers.py +0 -0
  343. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/hooks/test_hook_inventory_smoke.py +0 -0
  344. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/hooks/test_safety_guardrails.py +0 -0
  345. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/hooks/test_scrub_internal_ids_hook.py +0 -0
  346. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/integration/__init__.py +0 -0
  347. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/integration/fixtures/blueprint.json +0 -0
  348. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/integration/fixtures/code_review.md +0 -0
  349. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/integration/fixtures/plan_handoff.json +0 -0
  350. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/integration/fixtures/spec.md +0 -0
  351. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/integration/fixtures/step_state_initialized.json +0 -0
  352. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
  353. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/integration/fixtures/task_plan.md +0 -0
  354. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/integration/fixtures/verification_summary.md +0 -0
  355. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/integration/test_e2e_artifact_contracts.py +0 -0
  356. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/integration/test_e2e_claude_sdk.py +0 -0
  357. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/README.md +0 -0
  358. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
  359. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
  360. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
  361. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
  362. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
  363. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
  364. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
  365. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
  366. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
  367. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
  368. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
  369. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
  370. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
  371. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
  372. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
  373. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
  374. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
  375. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
  376. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/blueprint.json +0 -0
  377. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/task_plan_main.md +0 -0
  378. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
  379. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
  380. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/tests/test_compute.py +0 -0
  381. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/hidden/test_calc_full.py +0 -0
  382. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
  383. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/blueprint.json +0 -0
  384. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/task_plan_main.md +0 -0
  385. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
  386. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
  387. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/tests/test_calc_basic.py +0 -0
  388. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/hidden/test_calc_full.py +0 -0
  389. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
  390. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/blueprint.json +0 -0
  391. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/task_plan_main.md +0 -0
  392. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/__init__.py +0 -0
  393. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/calc.py +0 -0
  394. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/tests/test_calc_basic.py +0 -0
  395. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/hidden/test_kvparse_full.py +0 -0
  396. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/manifest.json +0 -0
  397. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/blueprint.json +0 -0
  398. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/task_plan_main.md +0 -0
  399. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/__init__.py +0 -0
  400. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/kvparse.py +0 -0
  401. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/tests/test_kvparse_basic.py +0 -0
  402. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
  403. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/blueprint.json +0 -0
  404. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/task_plan_main.md +0 -0
  405. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/__init__.py +0 -0
  406. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/config.py +0 -0
  407. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/utils.py +0 -0
  408. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/tests/test_price.py +0 -0
  409. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
  410. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/blueprint.json +0 -0
  411. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/task_plan_main.md +0 -0
  412. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/__init__.py +0 -0
  413. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/config.py +0 -0
  414. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/utils.py +0 -0
  415. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/tests/test_utils.py +0 -0
  416. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
  417. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/blueprint.json +0 -0
  418. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/task_plan_main.md +0 -0
  419. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
  420. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
  421. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/tests/test_semver.py +0 -0
  422. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/hidden/test_semver_full.py +0 -0
  423. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
  424. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/blueprint.json +0 -0
  425. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/task_plan_main.md +0 -0
  426. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/__init__.py +0 -0
  427. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/semver.py +0 -0
  428. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/tests/test_semver_basic.py +0 -0
  429. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/hidden/test_semver_full.py +0 -0
  430. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
  431. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/blueprint.json +0 -0
  432. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/task_plan_main.md +0 -0
  433. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/__init__.py +0 -0
  434. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/semver.py +0 -0
  435. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/tests/test_semver_basic.py +0 -0
  436. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/skills_eval/whole_skill/spike_runner.py +0 -0
  437. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_agent_cli_correctness.py +0 -0
  438. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_agent_dispatch_audit.py +0 -0
  439. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_agent_frontmatter.py +0 -0
  440. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_agent_memory.py +0 -0
  441. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_approval_hold.py +0 -0
  442. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_artifact_schemas.py +0 -0
  443. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_auto_update.py +0 -0
  444. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_boundary_quality_report.py +0 -0
  445. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_bump_version.py +0 -0
  446. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_classify_scope_script.py +0 -0
  447. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_code_map.py +0 -0
  448. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_compaction_offload_integration.py +0 -0
  449. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_concurrent_dispatch_harness.py +0 -0
  450. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_context_usefulness.py +0 -0
  451. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_cross_ai_config.py +0 -0
  452. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_decomposition.py +0 -0
  453. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_dependency_graph.py +0 -0
  454. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_diagnostics.py +0 -0
  455. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_digest_schema.py +0 -0
  456. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_domain_skill.py +0 -0
  457. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_file_copier.py +0 -0
  458. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_governance_attack_fixtures.py +0 -0
  459. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_governance_report.py +0 -0
  460. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_grace_eval_schema.py +0 -0
  461. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_grace_eval_sweep.py +0 -0
  462. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_hook_patterns.py +0 -0
  463. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_init_import_graph.py +0 -0
  464. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_install_manifest.py +0 -0
  465. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_intent_detector.py +0 -0
  466. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_inv1_no_anthropic_optimize.py +0 -0
  467. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_jinja2_dep.py +0 -0
  468. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_locking.py +0 -0
  469. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_managed_file_copier.py +0 -0
  470. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_map_auto.py +0 -0
  471. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_map_orchestrator.py +0 -0
  472. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_map_step_runner.py +0 -0
  473. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_map_token_meter.py +0 -0
  474. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_map_utils_sanitize.py +0 -0
  475. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_mapify_cli.py +0 -0
  476. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_memory_capture.py +0 -0
  477. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_memory_finalize.py +0 -0
  478. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_memory_integration.py +0 -0
  479. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_memory_recall.py +0 -0
  480. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_memory_review_fixes.py +0 -0
  481. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_minimality_eval.py +0 -0
  482. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_minimality_report.py +0 -0
  483. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_parallelism_observability.py +0 -0
  484. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_post_compact_context.py +0 -0
  485. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_preset_commands.py +0 -0
  486. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_project_config.py +0 -0
  487. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_prompt_layering.py +0 -0
  488. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_prompt_profile_commands.py +0 -0
  489. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_pyyaml_dep.py +0 -0
  490. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_ralph_hooks.py +0 -0
  491. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_ralph_state.py +0 -0
  492. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_repo_insight.py +0 -0
  493. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_research_eval.py +0 -0
  494. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_research_eval_compare.py +0 -0
  495. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_review_verdict_ledger.py +0 -0
  496. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_schemas.py +0 -0
  497. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_scope_classifier.py +0 -0
  498. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_scrub_internal_ids.py +0 -0
  499. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_settings_deny_globs.py +0 -0
  500. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_shell_json_pipes.py +0 -0
  501. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skill_ir.py +0 -0
  502. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills.py +0 -0
  503. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_consistency.py +0 -0
  504. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_aggregator.py +0 -0
  505. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_apply.py +0 -0
  506. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_cli_optimize.py +0 -0
  507. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_dispatcher_env.py +0 -0
  508. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
  509. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_fixtures.py +0 -0
  510. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_optimizer.py +0 -0
  511. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_optimizer_isolation.py +0 -0
  512. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_proposer.py +0 -0
  513. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_runner.py +0 -0
  514. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_schema.py +0 -0
  515. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_trajectory_bundle.py +0 -0
  516. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_trajectory_cli.py +0 -0
  517. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_trajectory_gates.py +0 -0
  518. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_trajectory_judge.py +0 -0
  519. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_trajectory_repeated.py +0 -0
  520. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_trajectory_report.py +0 -0
  521. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_trajectory_runner.py +0 -0
  522. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_trajectory_schema.py +0 -0
  523. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_skills_eval_viewer.py +0 -0
  524. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_slice5b_leak_guards.py +0 -0
  525. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_sofa_search.py +0 -0
  526. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_statusline.py +0 -0
  527. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_template_render.py +0 -0
  528. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_token_budget.py +0 -0
  529. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_tool_output_offload.py +0 -0
  530. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_update_install.py +0 -0
  531. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_update_state.py +0 -0
  532. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_update_versions.py +0 -0
  533. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_validate_dependencies.py +0 -0
  534. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_validate_spec_citations.py +0 -0
  535. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_verification_recorder.py +0 -0
  536. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_wave_eval_harness.py +0 -0
  537. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_wave_fixtures.py +0 -0
  538. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_wave_parallel_harness.py +0 -0
  539. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_wayfind_runner.py +0 -0
  540. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_workflow_context_injector.py +0 -0
  541. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_workflow_finalizer.py +0 -0
  542. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_workflow_gate.py +0 -0
  543. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_workflow_logger.py +0 -0
  544. {mapify_cli-3.27.0 → mapify_cli-3.27.1}/tests/test_workflow_state.py +0 -0
  545. {mapify_cli-3.27.0 → mapify_cli-3.27.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.27.0
3
+ Version: 3.27.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
@@ -43,8 +43,6 @@ Requires-Dist: pytest>=7.0.0; extra == 'test'
43
43
  Requires-Dist: pyyaml>=6.0.0; extra == 'test'
44
44
  Description-Content-Type: text/markdown
45
45
 
46
- # MAP Framework
47
-
48
46
  <p align="center">
49
47
  <img src="./assets/readme/hero.svg" width="100%" alt="MAP Framework — Plan-then-build AI coding. You approve the plan before the model writes a line of code.">
50
48
  </p>
@@ -1,5 +1,3 @@
1
- # MAP Framework
2
-
3
1
  <p align="center">
4
2
  <img src="./assets/readme/hero.svg" width="100%" alt="MAP Framework — Plan-then-build AI coding. You approve the plan before the model writes a line of code.">
5
3
  </p>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mapify-cli"
3
- version = "3.27.0"
3
+ version = "3.27.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.27.0"
26
+ __version__ = "3.27.1"
27
27
 
28
28
  import contextlib
29
29
  import functools
@@ -0,0 +1,355 @@
1
+ #!/usr/bin/env bash
2
+ # =============================================================================
3
+ # End-of-Turn Lightweight Hook
4
+ # =============================================================================
5
+ #
6
+ # This hook runs when Claude finishes responding (Stop event).
7
+ #
8
+ # DESIGN (per LLM Council recommendations):
9
+ # - Only runs if there are uncommitted changes (dirty state)
10
+ # - Checks only changed files, not the entire project
11
+ # - Auto-fixes what it can (silent)
12
+ # - Only reports critical issues that need manual intervention
13
+ # - Full linting moved to /map-check command
14
+ # - Stop-hook re-entry is honored (stop_hook_active) and persistent findings
15
+ # are self-capped, so a finding the agent cannot resolve inside the turn
16
+ # never livelocks the session (#437)
17
+ # - Before the first commit, per-language gates run only on files the current
18
+ # turn actually wrote (stateful snapshot), not on every untracked file (#438)
19
+ #
20
+ # Exit codes:
21
+ # 0 = Success (continue normally)
22
+ # 1 = Warning shown to user (non-blocking)
23
+ # 2 = Block and feed stderr to Claude (critical issues only)
24
+ #
25
+ # =============================================================================
26
+
27
+ set -euo pipefail
28
+
29
+ # Recursion guard: no-op when MAP spawned this subprocess (MAP_INVOKED_BY set)
30
+ [ -n "${MAP_INVOKED_BY:-}" ] && exit 0
31
+
32
+ # -----------------------------------------------------------------------------
33
+ # Configuration
34
+ # -----------------------------------------------------------------------------
35
+
36
+ VERBOSE="${CLAUDE_HOOK_VERBOSE:-false}"
37
+ CRITICAL_ISSUES=()
38
+
39
+ # -----------------------------------------------------------------------------
40
+ # Helper Functions
41
+ # -----------------------------------------------------------------------------
42
+
43
+ log() {
44
+ if [[ "$VERBOSE" == "true" ]]; then
45
+ echo "[end-of-turn] $*" >&2
46
+ fi
47
+ }
48
+
49
+ add_critical() {
50
+ CRITICAL_ISSUES+=("$1")
51
+ }
52
+
53
+ # Read a flat dotted key from .map/config.yaml using minimal stdlib Python.
54
+ # Falls back to $2 when the file is absent, the key is missing, or python3
55
+ # is unavailable. Never raises: all errors are silently swallowed so the
56
+ # hook degrades gracefully to host defaults.
57
+ _read_map_config_value() {
58
+ local key="$1" default="$2"
59
+ if [[ ! -f ".map/config.yaml" ]] || ! command -v python3 &>/dev/null; then
60
+ printf '%s' "$default"
61
+ return
62
+ fi
63
+ python3 -B -c "
64
+ import re, sys
65
+ key, default = sys.argv[1], sys.argv[2]
66
+ try:
67
+ text = open('.map/config.yaml', encoding='utf-8').read()
68
+ m = re.search(r'^\s*' + re.escape(key) + r'\s*:\s*(\S+)', text, re.MULTILINE)
69
+ print(m.group(1).strip() if m else default)
70
+ except Exception:
71
+ print(default)
72
+ " "$key" "$default" 2>/dev/null || printf '%s' "$default"
73
+ }
74
+
75
+ # -----------------------------------------------------------------------------
76
+ # Stop-hook Re-entry Guard (#437)
77
+ # -----------------------------------------------------------------------------
78
+ # Claude Code re-invokes a Stop hook that blocked, passing 'stop_hook_active:
79
+ # true' in the hook input, so the hook can let the turn end instead of blocking
80
+ # forever. Without this check, any finding that cannot be resolved inside the
81
+ # turn (human decision, upstream fix, action outside the agent's authority)
82
+ # livelocks the session: the turn tries to end, the hook blocks again, forever.
83
+ if [[ ! -t 0 ]]; then
84
+ # Bound the read: a harness that leaves stdin open without writing must
85
+ # not hang the hook ('timeout' is not portable to stock macOS, so use the
86
+ # bash builtin read -t instead of 'timeout cat').
87
+ HOOK_INPUT=""
88
+ while IFS= read -r -t 2 hook_line; do
89
+ HOOK_INPUT="$HOOK_INPUT$hook_line"$'\n'
90
+ done || true
91
+ if printf '%s' "$HOOK_INPUT" | grep -qE '"stop_hook_active"[[:space:]]*:[[:space:]]*"*true'; then
92
+ log "stop_hook_active=true, letting the turn end"
93
+ echo '{}'
94
+ exit 0
95
+ fi
96
+ fi
97
+
98
+ # -----------------------------------------------------------------------------
99
+ # Early Exit: Check for Dirty State
100
+ # -----------------------------------------------------------------------------
101
+
102
+ # Not a git repo? Exit silently.
103
+ if ! git rev-parse --git-dir &>/dev/null; then
104
+ echo '{}'
105
+ exit 0
106
+ fi
107
+
108
+ # Runtime state lives inside the git dir, so it never pollutes the working tree
109
+ # and never shows up in 'git status'. Used by:
110
+ # - the no-commit changed-file snapshot (#438)
111
+ # - the repeated-finding self-cap (#437)
112
+ GIT_DIR_PATH="$(git rev-parse --git-dir 2>/dev/null || true)"
113
+ STATE_DIR="$GIT_DIR_PATH/mapify-end-of-turn"
114
+ SNAPSHOT_FILE="$STATE_DIR/untracked.snapshot"
115
+ BLOCK_STATE_FILE="$STATE_DIR/block.state"
116
+
117
+ # No changes? Exit silently.
118
+ if [[ -z "$(git status --porcelain 2>/dev/null)" ]]; then
119
+ log "No changes detected, skipping checks"
120
+ echo '{}'
121
+ exit 0
122
+ fi
123
+
124
+ log "Changes detected, running lightweight checks"
125
+
126
+ # -----------------------------------------------------------------------------
127
+ # Get Changed Files
128
+ # -----------------------------------------------------------------------------
129
+
130
+ # Get changed files: staged + unstaged + untracked
131
+ CHANGED_FILES=""
132
+
133
+ # Staged files (works even with no commits)
134
+ STAGED=$(git diff --cached --name-only 2>/dev/null || true)
135
+ if [[ -n "$STAGED" ]]; then
136
+ CHANGED_FILES="$STAGED"
137
+ fi
138
+
139
+ # Unstaged changes (only if HEAD exists)
140
+ if git rev-parse --verify HEAD &>/dev/null; then
141
+ UNSTAGED=$(git diff --name-only HEAD 2>/dev/null || true)
142
+ if [[ -n "$UNSTAGED" ]]; then
143
+ CHANGED_FILES="$CHANGED_FILES"$'\n'"$UNSTAGED"
144
+ fi
145
+ fi
146
+
147
+ # Untracked files.
148
+ # With HEAD present, plain 'git ls-files --others' is fine. Before the first
149
+ # commit there is no baseline, so it would report every init-created file as
150
+ # "changed" on every turn and the per-language gates would fire on unrelated
151
+ # turns (#438). In that state we gate only files the current turn actually
152
+ # wrote: untracked files that are new or were modified since the previous hook
153
+ # run ended (their mtime is newer than the snapshot written at the end of that
154
+ # run). The very first run has no baseline and treats everything as changed.
155
+ NO_HEAD_MODE=0
156
+ if git rev-parse --verify HEAD &>/dev/null; then
157
+ UNTRACKED=$(git ls-files --others --exclude-standard 2>/dev/null || true)
158
+ else
159
+ NO_HEAD_MODE=1
160
+ UNTRACKED=""
161
+ CURRENT_UNTRACKED=$(git ls-files --others --exclude-standard 2>/dev/null || true)
162
+ if [[ -f "$SNAPSHOT_FILE" ]]; then
163
+ SNAPSHOT_SET="$(cat "$SNAPSHOT_FILE" 2>/dev/null || true)"
164
+ while IFS= read -r file; do
165
+ [[ -z "$file" ]] && continue
166
+ # Changed this turn = new (absent from the snapshot) or modified
167
+ # since the previous run (mtime newer than the snapshot file).
168
+ if ! grep -qxF "$file" <<< "$SNAPSHOT_SET" || find "$file" -newer "$SNAPSHOT_FILE" -print 2>/dev/null | grep -q .; then
169
+ UNTRACKED="$UNTRACKED"$'\n'"$file"
170
+ fi
171
+ done <<< "$CURRENT_UNTRACKED"
172
+ else
173
+ UNTRACKED="$CURRENT_UNTRACKED"
174
+ fi
175
+ fi
176
+ if [[ -n "$UNTRACKED" ]]; then
177
+ CHANGED_FILES="$CHANGED_FILES"$'\n'"$UNTRACKED"
178
+ fi
179
+
180
+ # Remove empty lines and duplicates
181
+ CHANGED_FILES=$(echo "$CHANGED_FILES" | grep -v '^$' | sort -u || true)
182
+
183
+ # Persist the untracked snapshot (no-commit repos only) so the next turn can
184
+ # tell which files are new. Written at the end of the run so its mtime marks
185
+ # "previous run finished" for the -newer comparison above.
186
+ persist_snapshot() {
187
+ if [[ "$NO_HEAD_MODE" == "1" ]]; then
188
+ mkdir -p "$STATE_DIR" 2>/dev/null || true
189
+ printf '%s\n' "$CURRENT_UNTRACKED" | grep -v '^$' | sort -u > "$SNAPSHOT_FILE" 2>/dev/null || true
190
+ fi
191
+ }
192
+
193
+ if [[ -z "$CHANGED_FILES" ]]; then
194
+ persist_snapshot
195
+ log "No specific files to check"
196
+ echo '{}'
197
+ exit 0
198
+ fi
199
+
200
+ log "Changed files: $(echo "$CHANGED_FILES" | tr '\n' ' ')"
201
+
202
+ # -----------------------------------------------------------------------------
203
+ # Auto-Fix Layer (Silent)
204
+ # -----------------------------------------------------------------------------
205
+
206
+ # Python: ruff auto-fix
207
+ if command -v ruff &>/dev/null; then
208
+ for file in $CHANGED_FILES; do
209
+ if [[ "$file" == *.py ]] && [[ -f "$file" ]]; then
210
+ ruff check --fix --quiet "$file" >/dev/null 2>&1 || true
211
+ fi
212
+ done
213
+ fi
214
+
215
+ # Go: gofmt auto-fix
216
+ if command -v gofmt &>/dev/null; then
217
+ for file in $CHANGED_FILES; do
218
+ if [[ "$file" == *.go ]] && [[ -f "$file" ]]; then
219
+ gofmt -w "$file" 2>/dev/null || true
220
+ fi
221
+ done
222
+ fi
223
+
224
+ # -----------------------------------------------------------------------------
225
+ # Critical Checks Only (on changed files)
226
+ # -----------------------------------------------------------------------------
227
+
228
+ # Check for secrets in staged files (always critical)
229
+ STAGED_FILES=$(git diff --cached --name-only 2>/dev/null || true)
230
+ if [[ -n "$STAGED_FILES" ]]; then
231
+ SECRET_PATTERN='(API_KEY|SECRET|TOKEN|PASSWORD|PRIVATE_KEY)\s*[=:]\s*["'"'"'][A-Za-z0-9_\-]{8,}'
232
+ while IFS= read -r file; do
233
+ if [[ -f "$file" ]] && grep -qE "$SECRET_PATTERN" "$file" 2>/dev/null; then
234
+ add_critical "Possible hardcoded secret in staged file: $file"
235
+ fi
236
+ done <<< "$STAGED_FILES"
237
+
238
+ # Check for .env files staged
239
+ if echo "$STAGED_FILES" | grep -q "^\.env"; then
240
+ add_critical ".env file is staged for commit!"
241
+ fi
242
+ fi
243
+
244
+ # Python: Check for syntax errors only (fast, critical).
245
+ # We use 'ast.parse' instead of 'py_compile' because 'py_compile' always
246
+ # writes '__pycache__/*.pyc' next to the source — even with '-B' or
247
+ # PYTHONDONTWRITEBYTECODE, since emitting bytecode is 'py_compile''s entire
248
+ # job. Touching any .py under .map/scripts/ or src/mapify_cli/templates/ then
249
+ # leaves a tracked __pycache__/ that the template-hygiene gate
250
+ # (tests/test_template_render.py) rejects.
251
+ if command -v python3 &>/dev/null; then
252
+ for file in $CHANGED_FILES; do
253
+ if [[ "$file" == *.py ]] && [[ -f "$file" ]]; then
254
+ if ! python3 -B -c "import ast,sys; ast.parse(open(sys.argv[1],'rb').read())" "$file" 2>/dev/null; then
255
+ add_critical "Python syntax error in: $file"
256
+ fi
257
+ fi
258
+ done
259
+ fi
260
+
261
+ # Go: Check for compile errors only (fast, critical)
262
+ if command -v go &>/dev/null && [[ -f "go.mod" ]]; then
263
+ # Allow disabling this check entirely via .map/config.yaml:
264
+ # checks.go.build: false
265
+ _go_build_cfg=$(_read_map_config_value "checks.go.build" "true")
266
+ case "$_go_build_cfg" in
267
+ false|False|no|No|off|Off|0)
268
+ log "Go build check disabled via checks.go.build config"
269
+ ;;
270
+ *)
271
+ GO_FILES=""
272
+ for file in $CHANGED_FILES; do
273
+ if [[ "$file" == *.go ]] && [[ -f "$file" ]]; then
274
+ GO_FILES="$GO_FILES $file"
275
+ fi
276
+ done
277
+ if [[ -n "$GO_FILES" ]]; then
278
+ # Determine effective GOOS: env var takes precedence, then
279
+ # .map/config.yaml checks.go.goos, then host default.
280
+ # This prevents false criticals for Linux-only projects
281
+ # developed on macOS (e.g. projects using cgroups/eBPF/netlink).
282
+ # Example config: checks.go.goos: linux
283
+ _go_goos="${GOOS:-$(_read_map_config_value 'checks.go.goos' '')}"
284
+ _go_build_ok=true
285
+ if [[ -n "$_go_goos" ]]; then
286
+ GOOS="$_go_goos" go build -o /dev/null ./... 2>/dev/null \
287
+ || _go_build_ok=false
288
+ else
289
+ go build -o /dev/null ./... 2>/dev/null || _go_build_ok=false
290
+ fi
291
+ if [[ "$_go_build_ok" == "false" ]]; then
292
+ add_critical "Go build errors detected (run 'go build ./...' for details)"
293
+ fi
294
+ fi
295
+ ;;
296
+ esac
297
+ fi
298
+
299
+ # -----------------------------------------------------------------------------
300
+ # Repeated-finding Self-cap (#437)
301
+ # -----------------------------------------------------------------------------
302
+ # A Stop hook that blocks on a finding the agent cannot resolve within the turn
303
+ # would re-block the end of every subsequent turn forever (livelock). The
304
+ # primary guard is the stop_hook_active re-entry check above; this cap is the
305
+ # fallback for harnesses that do not re-invoke Stop hooks with that flag: after
306
+ # N consecutive turns with the exact same critical findings the hook stops
307
+ # blocking and downgrades to a non-blocking warning so the session can proceed.
308
+ if [[ ${#CRITICAL_ISSUES[@]} -gt 0 ]]; then
309
+ BLOCK_CAP="${MAPIFY_END_OF_TURN_BLOCK_CAP:-3}"
310
+ [[ "$BLOCK_CAP" =~ ^[0-9]+$ ]] || BLOCK_CAP=3
311
+ ISSUES_TEXT="$(printf '%s\n' "${CRITICAL_ISSUES[@]}")"
312
+ COUNT=1
313
+ if [[ -f "$BLOCK_STATE_FILE" ]]; then
314
+ PREV_COUNT="$(sed -n '1s/^count=//p' "$BLOCK_STATE_FILE" 2>/dev/null || true)"
315
+ PREV_TEXT="$(sed -n '3,$p' "$BLOCK_STATE_FILE" 2>/dev/null || true)"
316
+ if [[ "$PREV_TEXT" == "$ISSUES_TEXT" ]] && [[ "$PREV_COUNT" =~ ^[0-9]+$ ]]; then
317
+ COUNT=$((PREV_COUNT + 1))
318
+ fi
319
+ fi
320
+ mkdir -p "$STATE_DIR" 2>/dev/null || true
321
+ printf 'count=%s\n---\n%s\n' "$COUNT" "$ISSUES_TEXT" > "$BLOCK_STATE_FILE" 2>/dev/null || true
322
+ if [[ "$COUNT" -gt "$BLOCK_CAP" ]]; then
323
+ echo "⚠️ Same critical issue for $((COUNT - 1)) consecutive turns (self-capped, no longer blocking):" >&2
324
+ for issue in "${CRITICAL_ISSUES[@]}"; do
325
+ echo " - $issue" >&2
326
+ done
327
+ echo "" >&2
328
+ echo "Run /map-check for full diagnostics. Set MAPIFY_END_OF_TURN_BLOCK_CAP to adjust the cap." >&2
329
+ persist_snapshot
330
+ exit 1
331
+ fi
332
+ else
333
+ # No critical issues this turn: reset the repeat counter.
334
+ rm -f "$BLOCK_STATE_FILE" 2>/dev/null || true
335
+ fi
336
+
337
+ # -----------------------------------------------------------------------------
338
+ # Report Results
339
+ # -----------------------------------------------------------------------------
340
+
341
+ persist_snapshot
342
+
343
+ if [[ ${#CRITICAL_ISSUES[@]} -gt 0 ]]; then
344
+ echo "⚠️ Critical issues found:" >&2
345
+ for issue in "${CRITICAL_ISSUES[@]}"; do
346
+ echo " - $issue" >&2
347
+ done
348
+ echo "" >&2
349
+ echo "Run /map-check for full diagnostics" >&2
350
+ exit 2 # Block and feed to Claude
351
+ fi
352
+
353
+ log "Lightweight checks passed"
354
+ echo '{}'
355
+ exit 0