mapify-cli 3.36.0__tar.gz → 3.38.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/PKG-INFO +1 -1
  2. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/pyproject.toml +1 -1
  3. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/__init__.py +1 -1
  4. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/auto_update.py +119 -1
  5. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/delivery/file_copier.py +41 -1
  6. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/agents/review-reader.md +19 -4
  7. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/agents/review-reader.toml +5 -0
  8. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-release/SKILL.md +22 -26
  9. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-release/release-reference.md +73 -79
  10. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-review/review-reference.md +135 -18
  11. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/map_step_runner.py +2066 -199
  12. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/review_check_supervisor.py +22 -2
  13. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-release/SKILL.md +22 -26
  14. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-release/release-reference.md +73 -109
  15. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-review/SKILL.md +2 -2
  16. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-review/review-reference.md +135 -18
  17. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/agents/review-reader.md.jinja +19 -4
  18. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/agents/review-reader.toml.jinja +5 -0
  19. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +2066 -199
  20. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/review_check_supervisor.py.jinja +22 -2
  21. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +23 -31
  22. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-release/release-reference.md.jinja +73 -120
  23. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +2 -2
  24. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +139 -18
  25. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/hooks/test_safety_guardrails.py +15 -6
  26. mapify_cli-3.38.0/tests/load_tolerance.py +25 -0
  27. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/review_process_lifecycle.py +5 -4
  28. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_acceptance_proofs.py +28 -11
  29. mapify_cli-3.38.0/tests/test_auto_update_stale_project.py +214 -0
  30. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_codex_map_review_live.py +10 -4
  31. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_release_ci_gates.py +50 -0
  32. mapify_cli-3.38.0/tests/test_review_carried_findings.py +390 -0
  33. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_changed_scope.py +42 -27
  34. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_check_timeouts.py +25 -9
  35. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_context_delivery.py +9 -4
  36. mapify_cli-3.38.0/tests/test_review_context_file_delivery.py +681 -0
  37. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_context_transport.py +17 -8
  38. mapify_cli-3.38.0/tests/test_review_delivery_scaling.py +226 -0
  39. mapify_cli-3.38.0/tests/test_review_denied_scope.py +82 -0
  40. mapify_cli-3.38.0/tests/test_review_dynamic_shards.py +88 -0
  41. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_finding_validation.py +2 -1
  42. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_pending_collection.py +11 -1
  43. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_process_lifecycle.py +47 -20
  44. mapify_cli-3.38.0/tests/test_review_prompt_overhead.py +140 -0
  45. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_receipt_edge_cases.py +1 -1
  46. mapify_cli-3.38.0/tests/test_review_resolution_and_cap.py +225 -0
  47. mapify_cli-3.38.0/tests/test_review_roster_budget.py +136 -0
  48. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_security_gates.py +4 -0
  49. mapify_cli-3.38.0/tests/test_review_target_cache.py +293 -0
  50. mapify_cli-3.38.0/tests/test_review_task_artifacts.py +193 -0
  51. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_verdict_ledger.py +38 -9
  52. mapify_cli-3.38.0/tests/test_review_windowed_followups.py +270 -0
  53. mapify_cli-3.38.0/tests/test_review_windowed_sources.py +269 -0
  54. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_runtime_info_exclude.py +60 -0
  55. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills.py +10 -9
  56. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/.claude/hooks/README.md +0 -0
  57. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/.claude/skills/README.md +0 -0
  58. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/.gitignore +0 -0
  59. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/LICENSE +0 -0
  60. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/README.md +0 -0
  61. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/__main__.py +0 -0
  62. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/_locking.py +0 -0
  63. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/_python_guard.py +0 -0
  64. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/boundary_quality_report.py +0 -0
  65. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/cli_ui.py +0 -0
  66. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/code_map.py +0 -0
  67. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/codex_exec.py +0 -0
  68. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/config/__init__.py +0 -0
  69. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/config/mcp.py +0 -0
  70. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/config/project_config.py +0 -0
  71. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/config/settings.py +0 -0
  72. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/delivery/__init__.py +0 -0
  73. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/delivery/agent_generator.py +0 -0
  74. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/delivery/codex_copier.py +0 -0
  75. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/delivery/domain_skill.py +0 -0
  76. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/delivery/governance_report.py +0 -0
  77. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/delivery/managed_file_copier.py +0 -0
  78. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/delivery/providers.py +0 -0
  79. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/delivery/template_renderer.py +0 -0
  80. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/dependency_graph.py +0 -0
  81. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/grace_eval/__init__.py +0 -0
  82. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/grace_eval/schema.py +0 -0
  83. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/grace_eval/sweep.py +0 -0
  84. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/install_manifest.py +0 -0
  85. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/intent_detector.py +0 -0
  86. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/memory/__init__.py +0 -0
  87. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/memory/capture.py +0 -0
  88. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/memory/digest_schema.py +0 -0
  89. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/memory/evidence.py +0 -0
  90. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/memory/finalize.py +0 -0
  91. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/memory/recall.py +0 -0
  92. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/minimality_eval.py +0 -0
  93. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/minimality_report.py +0 -0
  94. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/parallelism_observability.py +0 -0
  95. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/provider_registry.py +0 -0
  96. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/python_runtime.py +0 -0
  97. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/ralph_state.py +0 -0
  98. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/repo_insight.py +0 -0
  99. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/research_eval.py +0 -0
  100. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/research_eval_compare.py +0 -0
  101. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/schemas.py +0 -0
  102. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/scope_classifier.py +0 -0
  103. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skill_ir.py +0 -0
  104. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/__init__.py +0 -0
  105. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/aggregator.py +0 -0
  106. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/apply_patcher.py +0 -0
  107. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/assertions.py +0 -0
  108. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/description_optimizer.py +0 -0
  109. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/dispatcher.py +0 -0
  110. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/eval_schema.py +0 -0
  111. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/proposer.py +0 -0
  112. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/review_corpus.py +0 -0
  113. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/review_pilot.py +0 -0
  114. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/runner.py +0 -0
  115. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/trajectory/__init__.py +0 -0
  116. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/trajectory/bundle.py +0 -0
  117. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/trajectory/dispatcher.py +0 -0
  118. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/trajectory/eval_schema.py +0 -0
  119. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/trajectory/gates.py +0 -0
  120. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/trajectory/judge.py +0 -0
  121. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/trajectory/repeated.py +0 -0
  122. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/trajectory/report.py +0 -0
  123. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/trajectory/runner.py +0 -0
  124. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/trajectory/seeding.py +0 -0
  125. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/skills_eval/viewer.py +0 -0
  126. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/.gitignore +0 -0
  127. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/CLAUDE.md +0 -0
  128. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/agents/actor.md +0 -0
  129. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
  130. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/agents/evaluator.md +0 -0
  131. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
  132. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/agents/monitor.md +0 -0
  133. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/agents/predictor.md +0 -0
  134. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/agents/reflector.md +0 -0
  135. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/agents/research-agent.md +0 -0
  136. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
  137. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
  138. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/agents/actor.toml +0 -0
  139. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
  140. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/agents/documentation-reviewer.toml +0 -0
  141. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/agents/evaluator.toml +0 -0
  142. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/agents/final-verifier.toml +0 -0
  143. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/agents/monitor.toml +0 -0
  144. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/agents/predictor.toml +0 -0
  145. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/agents/reflector.toml +0 -0
  146. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/agents/researcher.toml +0 -0
  147. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/config.toml +0 -0
  148. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/context-meter.py +0 -0
  149. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/detect-clarification-triggers.py +0 -0
  150. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/end-of-turn.sh +0 -0
  151. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/map-memory-capture.py +0 -0
  152. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/map-memory-endmark.py +0 -0
  153. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/map-memory-recall.py +0 -0
  154. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/map-memory-session.py +0 -0
  155. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/map-stop.py +0 -0
  156. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/map-token-meter.py +0 -0
  157. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/post-compact-context.py +0 -0
  158. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/pre-compact-save-transcript.py +0 -0
  159. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/ralph-context-pruner.py +0 -0
  160. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/ralph-iteration-logger.py +0 -0
  161. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/safety-guardrails.py +0 -0
  162. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/scrub-internal-ids.py +0 -0
  163. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/workflow-context-injector.py +0 -0
  164. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +0 -0
  165. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/hooks.json +0 -0
  166. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/references/map-json-output-contracts.md +0 -0
  167. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/references/map-output-examples.md +0 -0
  168. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/references/map-xml-prompt-envelopes.md +0 -0
  169. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-architecture/SKILL.md +0 -0
  170. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-auto/SKILL.md +0 -0
  171. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-auto/auto-reference.md +0 -0
  172. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
  173. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-check/check-reference.md +0 -0
  174. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-debug/SKILL.md +0 -0
  175. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +0 -0
  176. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +0 -0
  177. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
  178. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
  179. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-learn/SKILL.md +0 -0
  180. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-learn/templates/example-rules.md +0 -0
  181. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-unconditional.md +0 -0
  182. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-with-paths.md +0 -0
  183. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-memory-now/SKILL.md +0 -0
  184. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +0 -0
  185. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-plan/plan-reference.md +0 -0
  186. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-prd-review/SKILL.md +0 -0
  187. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-resume/SKILL.md +0 -0
  188. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-resume/resume-reference.md +0 -0
  189. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md +0 -0
  190. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +0 -0
  191. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-skill-eval/SKILL.md +0 -0
  192. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-so-search/SKILL.md +0 -0
  193. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-so-search/scripts/sofa_search.py +0 -0
  194. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-state/SKILL.md +0 -0
  195. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-state/scripts/check-complete.sh +0 -0
  196. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-state/scripts/get-plan-path.sh +0 -0
  197. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-state/scripts/init-session.sh +0 -0
  198. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-state/scripts/show-focus.sh +0 -0
  199. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-state/templates/findings.md +0 -0
  200. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-state/templates/iteration_history.md +0 -0
  201. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-state/templates/progress.md +0 -0
  202. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-state/templates/task_plan.md +0 -0
  203. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-task/SKILL.md +0 -0
  204. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-tdd/SKILL.md +0 -0
  205. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-tokenreport/SKILL.md +0 -0
  206. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-understand/SKILL.md +0 -0
  207. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-upgrade/SKILL.md +0 -0
  208. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-wayfind/SKILL.md +0 -0
  209. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/codex/skills/map-wayfind/wayfind-reference.md +0 -0
  210. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/README.md +0 -0
  211. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/context-meter.py +0 -0
  212. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +0 -0
  213. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/end-of-turn.sh +0 -0
  214. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/map-memory-capture.py +0 -0
  215. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/map-memory-endmark.py +0 -0
  216. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/map-memory-finalize.py +0 -0
  217. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/map-memory-recall.py +0 -0
  218. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/map-statusline.py +0 -0
  219. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/map-token-meter.py +0 -0
  220. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/post-compact-context.py +0 -0
  221. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +0 -0
  222. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +0 -0
  223. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +0 -0
  224. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/safety-guardrails.py +0 -0
  225. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/scrub-internal-ids.py +0 -0
  226. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/workflow-context-injector.py +0 -0
  227. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/hooks/workflow-gate.py +0 -0
  228. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/classify_scope.py +0 -0
  229. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/codex_review_host.py +0 -0
  230. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/codex_review_runner.py +0 -0
  231. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/diagnostics.py +0 -0
  232. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/map_interruption.py +0 -0
  233. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +0 -0
  234. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/map_utils.py +0 -0
  235. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/scrub_internal_ids.py +0 -0
  236. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/sofa_client.py +0 -0
  237. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
  238. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/scripts/wayfind_runner.py +0 -0
  239. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
  240. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
  241. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
  242. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
  243. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
  244. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
  245. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
  246. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
  247. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
  248. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
  249. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/references/hook-patterns.md +0 -0
  250. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/references/host-paths.md +0 -0
  251. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
  252. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
  253. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
  254. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
  255. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
  256. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
  257. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/rules/learned/README.md +0 -0
  258. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/settings.json +0 -0
  259. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/README.md +0 -0
  260. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-architecture/SKILL.md +0 -0
  261. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-auto/SKILL.md +0 -0
  262. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-auto/auto-reference.md +0 -0
  263. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
  264. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
  265. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
  266. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +0 -0
  267. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +0 -0
  268. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
  269. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
  270. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
  271. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
  272. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
  273. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
  274. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
  275. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-plan/SKILL.md +0 -0
  276. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
  277. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-prd-review/SKILL.md +0 -0
  278. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
  279. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
  280. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-review/adversarial-reference.md +0 -0
  281. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
  282. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
  283. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +0 -0
  284. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
  285. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
  286. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
  287. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
  288. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
  289. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
  290. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
  291. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
  292. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
  293. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-task/SKILL.md +0 -0
  294. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
  295. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
  296. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-understand/SKILL.md +0 -0
  297. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-upgrade/SKILL.md +0 -0
  298. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-wayfind/SKILL.md +0 -0
  299. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/map-wayfind/wayfind-reference.md +0 -0
  300. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
  301. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates/workflow-rules.json +0 -0
  302. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/.gitignore.jinja +0 -0
  303. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
  304. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/_partials/acceptance-runtime.py.jinja +0 -0
  305. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/_partials/apply-patch-paths.py.jinja +0 -0
  306. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/_partials/auto-update-preflight.md.jinja +0 -0
  307. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/_partials/codex-memory-hook-wrapper.py.jinja +0 -0
  308. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/_partials/manual-upgrade-flow.md.jinja +0 -0
  309. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/_partials/monitor-review-context.md.jinja +0 -0
  310. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/_partials/python-version-guard.py.jinja +0 -0
  311. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/_partials/serial-blocker-repair.md.jinja +0 -0
  312. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/_partials/stale-attribution-recovery.md.jinja +0 -0
  313. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/_partials/vacuous-test-check.md.jinja +0 -0
  314. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/agents/actor.md.jinja +0 -0
  315. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
  316. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +0 -0
  317. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
  318. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/agents/monitor.md.jinja +0 -0
  319. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/agents/predictor.md.jinja +0 -0
  320. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
  321. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +0 -0
  322. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
  323. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
  324. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/agents/actor.toml.jinja +0 -0
  325. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
  326. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/agents/documentation-reviewer.toml.jinja +0 -0
  327. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/agents/evaluator.toml.jinja +0 -0
  328. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/agents/final-verifier.toml.jinja +0 -0
  329. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +0 -0
  330. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/agents/predictor.toml.jinja +0 -0
  331. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/agents/reflector.toml.jinja +0 -0
  332. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +0 -0
  333. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
  334. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/context-meter.py.jinja +0 -0
  335. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/detect-clarification-triggers.py.jinja +0 -0
  336. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/end-of-turn.sh.jinja +0 -0
  337. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/map-memory-capture.py.jinja +0 -0
  338. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/map-memory-endmark.py.jinja +0 -0
  339. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/map-memory-recall.py.jinja +0 -0
  340. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/map-memory-session.py.jinja +0 -0
  341. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/map-stop.py.jinja +0 -0
  342. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/map-token-meter.py.jinja +0 -0
  343. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/post-compact-context.py.jinja +0 -0
  344. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/pre-compact-save-transcript.py.jinja +0 -0
  345. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/ralph-context-pruner.py.jinja +0 -0
  346. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/ralph-iteration-logger.py.jinja +0 -0
  347. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/safety-guardrails.py.jinja +0 -0
  348. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/scrub-internal-ids.py.jinja +0 -0
  349. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/workflow-context-injector.py.jinja +0 -0
  350. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +0 -0
  351. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
  352. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/references/map-json-output-contracts.md.jinja +0 -0
  353. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/references/map-output-examples.md.jinja +0 -0
  354. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/references/map-xml-prompt-envelopes.md.jinja +0 -0
  355. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-architecture/SKILL.md.jinja +0 -0
  356. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-auto/SKILL.md.jinja +0 -0
  357. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-auto/auto-reference.md.jinja +0 -0
  358. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
  359. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-check/check-reference.md.jinja +0 -0
  360. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-debug/SKILL.md.jinja +0 -0
  361. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +0 -0
  362. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +0 -0
  363. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
  364. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
  365. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-learn/SKILL.md.jinja +0 -0
  366. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/example-rules.md.jinja +0 -0
  367. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
  368. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
  369. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-memory-now/SKILL.md.jinja +0 -0
  370. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +0 -0
  371. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-plan/plan-reference.md.jinja +0 -0
  372. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-prd-review/SKILL.md.jinja +0 -0
  373. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-release/SKILL.md.jinja +0 -0
  374. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-release/release-reference.md.jinja +0 -0
  375. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-resume/SKILL.md.jinja +0 -0
  376. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-resume/resume-reference.md.jinja +0 -0
  377. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-review/SKILL.md.jinja +0 -0
  378. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-review/adversarial-reference.md.jinja +0 -0
  379. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-review/review-reference.md.jinja +0 -0
  380. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-skill-eval/SKILL.md.jinja +0 -0
  381. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-so-search/SKILL.md.jinja +0 -0
  382. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
  383. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-state/SKILL.md.jinja +0 -0
  384. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/check-complete.sh.jinja +0 -0
  385. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
  386. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/init-session.sh.jinja +0 -0
  387. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/show-focus.sh.jinja +0 -0
  388. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-state/templates/findings.md.jinja +0 -0
  389. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-state/templates/iteration_history.md.jinja +0 -0
  390. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-state/templates/progress.md.jinja +0 -0
  391. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-state/templates/task_plan.md.jinja +0 -0
  392. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-task/SKILL.md.jinja +0 -0
  393. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-tdd/SKILL.md.jinja +0 -0
  394. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-tokenreport/SKILL.md.jinja +0 -0
  395. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-understand/SKILL.md.jinja +0 -0
  396. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-upgrade/SKILL.md.jinja +0 -0
  397. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-wayfind/SKILL.md.jinja +0 -0
  398. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/codex/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
  399. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/README.md.jinja +0 -0
  400. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +0 -0
  401. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +0 -0
  402. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +0 -0
  403. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +0 -0
  404. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +0 -0
  405. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +0 -0
  406. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +0 -0
  407. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/map-statusline.py.jinja +0 -0
  408. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +0 -0
  409. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +0 -0
  410. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +0 -0
  411. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +0 -0
  412. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +0 -0
  413. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +0 -0
  414. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/scrub-internal-ids.py.jinja +0 -0
  415. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +0 -0
  416. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +0 -0
  417. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/classify_scope.py.jinja +0 -0
  418. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/codex_review_host.py.jinja +0 -0
  419. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/codex_review_runner.py.jinja +0 -0
  420. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +0 -0
  421. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/map_interruption.py.jinja +0 -0
  422. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +0 -0
  423. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +0 -0
  424. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/scrub_internal_ids.py.jinja +0 -0
  425. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +0 -0
  426. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
  427. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/scripts/wayfind_runner.py.jinja +0 -0
  428. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
  429. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
  430. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
  431. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
  432. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
  433. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
  434. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
  435. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
  436. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
  437. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
  438. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +0 -0
  439. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
  440. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
  441. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
  442. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
  443. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
  444. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
  445. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
  446. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
  447. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/settings.json.jinja +0 -0
  448. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
  449. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-architecture/SKILL.md.jinja +0 -0
  450. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-auto/SKILL.md.jinja +0 -0
  451. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-auto/auto-reference.md.jinja +0 -0
  452. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
  453. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
  454. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
  455. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +0 -0
  456. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +0 -0
  457. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
  458. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
  459. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
  460. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
  461. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
  462. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
  463. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
  464. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +0 -0
  465. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
  466. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-prd-review/SKILL.md.jinja +0 -0
  467. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
  468. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
  469. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-review/adversarial-reference.md.jinja +0 -0
  470. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
  471. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
  472. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
  473. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
  474. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
  475. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
  476. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
  477. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
  478. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
  479. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
  480. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
  481. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
  482. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +0 -0
  483. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
  484. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
  485. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-understand/SKILL.md.jinja +0 -0
  486. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-upgrade/SKILL.md.jinja +0 -0
  487. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-wayfind/SKILL.md.jinja +0 -0
  488. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
  489. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
  490. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
  491. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/token_budget.py +0 -0
  492. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/tool_output_offload.py +0 -0
  493. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/tools/__init__.py +0 -0
  494. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/tools/validate_dependencies.py +0 -0
  495. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/update_install.py +0 -0
  496. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/update_state.py +0 -0
  497. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/update_versions.py +0 -0
  498. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/verification_recorder.py +0 -0
  499. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/workflow_finalizer.py +0 -0
  500. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/workflow_logger.py +0 -0
  501. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/src/mapify_cli/workflow_state.py +0 -0
  502. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/__init__.py +0 -0
  503. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/_fake_task_tool.py +0 -0
  504. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/conftest.py +0 -0
  505. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/fixtures/claude/escalation-matrix.md +0 -0
  506. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/fixtures/codex/config.toml +0 -0
  507. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/fixtures/wave_blueprints.py +0 -0
  508. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/hooks/test_detect_clarification_triggers.py +0 -0
  509. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/hooks/test_end_of_turn.py +0 -0
  510. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/hooks/test_hook_inventory_smoke.py +0 -0
  511. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/hooks/test_scrub_internal_ids_hook.py +0 -0
  512. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/integration/__init__.py +0 -0
  513. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/integration/fixtures/blueprint.json +0 -0
  514. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/integration/fixtures/code_review.md +0 -0
  515. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/integration/fixtures/plan_handoff.json +0 -0
  516. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/integration/fixtures/spec.md +0 -0
  517. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/integration/fixtures/step_state_initialized.json +0 -0
  518. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
  519. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/integration/fixtures/task_plan.md +0 -0
  520. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/integration/fixtures/verification_summary.md +0 -0
  521. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/integration/test_e2e_artifact_contracts.py +0 -0
  522. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/integration/test_e2e_claude_sdk.py +0 -0
  523. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/review_context_helpers.py +0 -0
  524. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/review_pilot_git_cache.py +0 -0
  525. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/README.md +0 -0
  526. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
  527. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
  528. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
  529. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
  530. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
  531. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
  532. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
  533. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
  534. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
  535. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
  536. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
  537. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
  538. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
  539. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
  540. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
  541. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
  542. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
  543. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
  544. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/blueprint.json +0 -0
  545. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/task_plan_main.md +0 -0
  546. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
  547. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
  548. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/tests/test_compute.py +0 -0
  549. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/hidden/test_calc_full.py +0 -0
  550. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
  551. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/blueprint.json +0 -0
  552. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/task_plan_main.md +0 -0
  553. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
  554. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
  555. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/tests/test_calc_basic.py +0 -0
  556. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/hidden/test_calc_full.py +0 -0
  557. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
  558. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/blueprint.json +0 -0
  559. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/task_plan_main.md +0 -0
  560. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/__init__.py +0 -0
  561. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/calc.py +0 -0
  562. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/tests/test_calc_basic.py +0 -0
  563. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/hidden/test_kvparse_full.py +0 -0
  564. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/manifest.json +0 -0
  565. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/blueprint.json +0 -0
  566. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/task_plan_main.md +0 -0
  567. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/__init__.py +0 -0
  568. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/kvparse.py +0 -0
  569. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/tests/test_kvparse_basic.py +0 -0
  570. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
  571. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/blueprint.json +0 -0
  572. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/task_plan_main.md +0 -0
  573. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/__init__.py +0 -0
  574. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/config.py +0 -0
  575. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/utils.py +0 -0
  576. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/tests/test_price.py +0 -0
  577. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
  578. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/blueprint.json +0 -0
  579. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/task_plan_main.md +0 -0
  580. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/__init__.py +0 -0
  581. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/config.py +0 -0
  582. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/utils.py +0 -0
  583. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/tests/test_utils.py +0 -0
  584. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
  585. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/blueprint.json +0 -0
  586. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/task_plan_main.md +0 -0
  587. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
  588. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
  589. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/tests/test_semver.py +0 -0
  590. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/hidden/test_semver_full.py +0 -0
  591. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
  592. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/blueprint.json +0 -0
  593. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/task_plan_main.md +0 -0
  594. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/__init__.py +0 -0
  595. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/semver.py +0 -0
  596. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/tests/test_semver_basic.py +0 -0
  597. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/hidden/test_semver_full.py +0 -0
  598. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
  599. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/blueprint.json +0 -0
  600. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/task_plan_main.md +0 -0
  601. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/__init__.py +0 -0
  602. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/semver.py +0 -0
  603. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/tests/test_semver_basic.py +0 -0
  604. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/review_corpus/corpus.json +0 -0
  605. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/review_corpus/evidence/adjudication.json +0 -0
  606. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/review_corpus/evidence/control-audit.json +0 -0
  607. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/review_corpus/evidence/manual-run.json +0 -0
  608. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/review_corpus/evidence/manual-run.log +0 -0
  609. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/review_corpus/evidence/manual_repro.py +0 -0
  610. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/review_pilot_error_max_budget.sanitized.json +0 -0
  611. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/skills_eval/whole_skill/spike_runner.py +0 -0
  612. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_acceptance_additive_revision.py +0 -0
  613. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_acceptance_additive_revision_review.py +0 -0
  614. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_agent_cli_correctness.py +0 -0
  615. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_agent_dispatch_audit.py +0 -0
  616. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_agent_frontmatter.py +0 -0
  617. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_agent_memory.py +0 -0
  618. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_approval_hold.py +0 -0
  619. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_approved_baseline_gate_contract.py +0 -0
  620. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_artifact_schemas.py +0 -0
  621. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_auto_update.py +0 -0
  622. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_boundary_quality_report.py +0 -0
  623. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_bump_version.py +0 -0
  624. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_classify_scope_script.py +0 -0
  625. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_code_map.py +0 -0
  626. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_codex_review_host.py +0 -0
  627. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_codex_review_native.py +0 -0
  628. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_compaction_offload_integration.py +0 -0
  629. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_concurrent_dispatch_harness.py +0 -0
  630. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_context_usefulness.py +0 -0
  631. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_cross_ai_config.py +0 -0
  632. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_debug_reference_install.py +0 -0
  633. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_decomposition.py +0 -0
  634. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_dependency_graph.py +0 -0
  635. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_diagnostics.py +0 -0
  636. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_digest_schema.py +0 -0
  637. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_domain_skill.py +0 -0
  638. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_file_copier.py +0 -0
  639. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_governance_attack_fixtures.py +0 -0
  640. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_governance_report.py +0 -0
  641. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_grace_eval_schema.py +0 -0
  642. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_grace_eval_sweep.py +0 -0
  643. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_hook_patterns.py +0 -0
  644. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_init_import_graph.py +0 -0
  645. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_install_manifest.py +0 -0
  646. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_intent_detector.py +0 -0
  647. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_inv1_no_anthropic_optimize.py +0 -0
  648. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_jinja2_dep.py +0 -0
  649. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_locking.py +0 -0
  650. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_managed_file_copier.py +0 -0
  651. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_map_auto.py +0 -0
  652. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_map_interruption.py +0 -0
  653. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_map_orchestrator.py +0 -0
  654. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_map_step_runner.py +0 -0
  655. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_map_token_meter.py +0 -0
  656. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_map_utils_sanitize.py +0 -0
  657. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_mapify_cli.py +0 -0
  658. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_memory_capture.py +0 -0
  659. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_memory_events.py +0 -0
  660. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_memory_events_compat.py +0 -0
  661. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_memory_events_exit_status.py +0 -0
  662. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_memory_events_privacy.py +0 -0
  663. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_memory_events_review.py +0 -0
  664. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_memory_events_tools.py +0 -0
  665. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_memory_finalize.py +0 -0
  666. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_memory_integration.py +0 -0
  667. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_memory_recall.py +0 -0
  668. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_memory_review_fixes.py +0 -0
  669. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_minimality_eval.py +0 -0
  670. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_minimality_report.py +0 -0
  671. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_model_invocable_skills.py +0 -0
  672. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_monitor_worktree_context.py +0 -0
  673. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_mutation_path_normalization.py +0 -0
  674. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_orchestrator_acceptance.py +0 -0
  675. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_parallelism_observability.py +0 -0
  676. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_post_compact_context.py +0 -0
  677. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_preset_commands.py +0 -0
  678. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_project_config.py +0 -0
  679. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_prompt_layering.py +0 -0
  680. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_prompt_profile_commands.py +0 -0
  681. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_python_version_requirement.py +0 -0
  682. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_pyyaml_dep.py +0 -0
  683. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_ralph_hooks.py +0 -0
  684. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_ralph_response_types.py +0 -0
  685. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_ralph_state.py +0 -0
  686. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_repair_attribution.py +0 -0
  687. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_repair_workflow_gate.py +0 -0
  688. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_repo_insight.py +0 -0
  689. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_research_eval.py +0 -0
  690. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_research_eval_compare.py +0 -0
  691. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_resequence_pending.py +0 -0
  692. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_attribution_receipts.py +0 -0
  693. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_branch_receipts.py +0 -0
  694. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_corpus.py +0 -0
  695. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_explicit_base.py +0 -0
  696. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_explicit_base_legacy_override.py +0 -0
  697. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_explicit_base_stale_readers.py +0 -0
  698. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_mapify_managed.py +0 -0
  699. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_pilot.py +0 -0
  700. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_pilot_git_cache.py +0 -0
  701. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_reader_capabilities.py +0 -0
  702. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_shard_docs.py +0 -0
  703. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_review_trusted_policy.py +0 -0
  704. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_role_coverage_receipts.py +0 -0
  705. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_runtime_privacy_ignores.py +0 -0
  706. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_schemas.py +0 -0
  707. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_scope_classifier.py +0 -0
  708. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_scrub_internal_ids.py +0 -0
  709. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_settings_deny_globs.py +0 -0
  710. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_shell_json_pipes.py +0 -0
  711. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skill_ir.py +0 -0
  712. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_consistency.py +0 -0
  713. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_aggregator.py +0 -0
  714. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_apply.py +0 -0
  715. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_cli_optimize.py +0 -0
  716. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_dispatcher_env.py +0 -0
  717. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
  718. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_fixtures.py +0 -0
  719. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_optimizer.py +0 -0
  720. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_optimizer_isolation.py +0 -0
  721. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_proposer.py +0 -0
  722. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_runner.py +0 -0
  723. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_schema.py +0 -0
  724. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_trajectory_bundle.py +0 -0
  725. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_trajectory_cli.py +0 -0
  726. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_trajectory_gates.py +0 -0
  727. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_trajectory_judge.py +0 -0
  728. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_trajectory_repeated.py +0 -0
  729. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_trajectory_report.py +0 -0
  730. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_trajectory_runner.py +0 -0
  731. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_trajectory_schema.py +0 -0
  732. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_skills_eval_viewer.py +0 -0
  733. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_slice5b_leak_guards.py +0 -0
  734. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_sofa_client.py +0 -0
  735. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_sofa_search.py +0 -0
  736. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_static_analysis_bash.py +0 -0
  737. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_statusline.py +0 -0
  738. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_template_render.py +0 -0
  739. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_token_budget.py +0 -0
  740. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_tool_output_offload.py +0 -0
  741. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_unborn_branch_scope.py +0 -0
  742. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_unrun_verification_contract.py +0 -0
  743. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_update_install.py +0 -0
  744. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_update_state.py +0 -0
  745. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_update_versions.py +0 -0
  746. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_vacuous_test_check.py +0 -0
  747. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_validate_dependencies.py +0 -0
  748. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_validate_spec_citations.py +0 -0
  749. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_verification_recorder.py +0 -0
  750. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_wave_abort_preservation.py +0 -0
  751. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_wave_eval_harness.py +0 -0
  752. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_wave_fixtures.py +0 -0
  753. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_wave_parallel_harness.py +0 -0
  754. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_wayfind_install.py +0 -0
  755. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_wayfind_research.py +0 -0
  756. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_wayfind_runner.py +0 -0
  757. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_workflow_context_injector.py +0 -0
  758. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_workflow_finalizer.py +0 -0
  759. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_workflow_gate.py +0 -0
  760. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_workflow_logger.py +0 -0
  761. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_workflow_state.py +0 -0
  762. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/tests/test_worktree_commit_hooks.py +0 -0
  763. {mapify_cli-3.36.0 → mapify_cli-3.38.0}/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.36.0
3
+ Version: 3.38.0
4
4
  Summary: MAP Framework installer - Modular Agentic Planner for Claude Code
5
5
  Project-URL: Homepage, https://github.com/azalio/map-framework
6
6
  Project-URL: Repository, https://github.com/azalio/map-framework.git
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mapify-cli"
3
- version = "3.36.0"
3
+ version = "3.38.0"
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.36.0"
26
+ __version__ = "3.38.0"
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
@@ -12,6 +12,7 @@ import httpx
12
12
 
13
13
  from mapify_cli import create_ssl_context
14
14
  from mapify_cli.config import load_map_config
15
+ from mapify_cli.install_manifest import read_manifest
15
16
  from mapify_cli.update_install import (
16
17
  InstallKind,
17
18
  PackageUpdateError,
@@ -175,10 +176,22 @@ def record_declined_major(
175
176
  declined = StableVersion.parse(declined_major)
176
177
  if current is None:
177
178
  raise ValueError("installed MAP version is not a stable version")
178
- if declined is None or declined.major <= current.major:
179
+ if declined is None:
179
180
  raise ValueError(
180
181
  "declined major must be a stable version above the installed major"
181
182
  )
183
+ if declined.major <= current.major:
184
+ # Intent: a project a major behind the running CLI is offered the CLI's own
185
+ # major (#643); that exact offer may be declined too.
186
+ stale = _stale_project_providers(Path(project_path).resolve(), current)
187
+ if (
188
+ declined != current
189
+ or stale is None
190
+ or not _major_behind(stale[0], current)
191
+ ):
192
+ raise ValueError(
193
+ "declined major must be a stable version above the installed major"
194
+ )
182
195
 
183
196
  project = Path(project_path).resolve()
184
197
  with project_update_lock(project, timeout_s=LOCK_TIMEOUT_SECONDS):
@@ -443,6 +456,60 @@ def _metadata_unavailable_result(
443
456
  )
444
457
 
445
458
 
459
+ def _stale_project_providers(
460
+ project_path: Path, current: StableVersion
461
+ ) -> tuple[StableVersion, tuple[str, ...]] | None:
462
+ """Return (installed version, providers) when project files predate the CLI.
463
+
464
+ Intent: PyPI-based discovery only asks whether a newer CLI exists, so a CLI
465
+ upgraded outside the updater (#643) left project files stale while the result
466
+ stayed ``current``. The lock's ``mapify_version`` is the project's installed
467
+ version; an older stable value is local proof a refresh is owed. A newer or
468
+ unreadable project version never downgrades.
469
+ """
470
+ manifest = read_manifest(project_path)
471
+ if manifest is None:
472
+ return None
473
+ installed = StableVersion.parse(manifest.mapify_version)
474
+ if installed is None or installed >= current:
475
+ return None
476
+ providers = installed_providers(project_path)
477
+ if not providers:
478
+ return None
479
+ return installed, providers
480
+
481
+
482
+ def _major_behind(installed: StableVersion, current: StableVersion) -> bool:
483
+ return installed.major < current.major
484
+
485
+
486
+ def _stale_project_state(
487
+ project_path: Path,
488
+ state: UpdateState,
489
+ current: StableVersion,
490
+ mode: UpdateMode,
491
+ ) -> UpdateState | None:
492
+ """Return a pending-refresh state when a stale project may refresh now.
493
+
494
+ Same-major staleness refreshes in both modes. A project a MAJOR behind
495
+ refreshes only in manual mode; automatic mode offers it through the existing
496
+ major-consent flow instead (see ``_check_locked``).
497
+ """
498
+ stale = _stale_project_providers(project_path, current)
499
+ if stale is None:
500
+ return None
501
+ installed, providers = stale
502
+ if mode is UpdateMode.AUTOMATIC and _major_behind(installed, current):
503
+ return None
504
+ return replace(
505
+ state,
506
+ last_installed_version=str(current),
507
+ pending_install_version=None,
508
+ pending_refresh=True,
509
+ pending_providers=providers,
510
+ )
511
+
512
+
446
513
  def _check_locked(
447
514
  project_path: Path,
448
515
  current_version: str,
@@ -489,6 +556,14 @@ def _check_locked(
489
556
  write_update_state(project_path, cleared)
490
557
  progress.state = cleared
491
558
 
559
+ if not progress.state.pending_refresh:
560
+ stale_state = _stale_project_state(
561
+ project_path, progress.state, current, mode
562
+ )
563
+ if stale_state is not None:
564
+ write_update_state(project_path, stale_state)
565
+ progress.state = stale_state
566
+
492
567
  if progress.state.pending_refresh:
493
568
  if mode is UpdateMode.AUTOMATIC and not refresh_retry_due(
494
569
  progress.state,
@@ -567,6 +642,17 @@ def _check_locked(
567
642
  refresh_complete=True,
568
643
  )
569
644
  progress.recovered_refresh = True
645
+ if approved_major == str(current):
646
+ # Intent: approving the CLI's own major for a project a major
647
+ # behind is a refresh only; there is no newer package to install.
648
+ return UpdateResult(
649
+ UpdateStatus.UPDATED,
650
+ current_version,
651
+ installed_version=progress.installed_version,
652
+ refreshed_providers=progress.refreshed_providers,
653
+ reload_current_skill=True,
654
+ refresh_complete=True,
655
+ )
570
656
 
571
657
  if mode is UpdateMode.AUTOMATIC and not automatic_check_due(
572
658
  progress.state,
@@ -591,6 +677,38 @@ def _check_locked(
591
677
  )
592
678
  write_update_state(project_path, progress.state)
593
679
 
680
+ if mode is UpdateMode.AUTOMATIC:
681
+ stale = _stale_project_providers(project_path, current)
682
+ if (
683
+ stale is not None
684
+ and _major_behind(stale[0], current)
685
+ and progress.state.declined_major_version != str(current)
686
+ ):
687
+ # Intent: a project a major behind the running CLI is stale, not
688
+ # current (#643). Reuse the major-consent signal: approving
689
+ # refreshes the project (no package install), declining records
690
+ # the exact offer so it does not repeat.
691
+ with httpx.Client(verify=create_ssl_context()) as offer_client:
692
+ offer = fetch_release_highlights(current, offer_client)
693
+ if offer is None:
694
+ return _metadata_unavailable_result(
695
+ mode,
696
+ current_version,
697
+ installed_version=progress.installed_version,
698
+ refreshed_providers=progress.refreshed_providers,
699
+ reload_current_skill=progress.reload_current_skill,
700
+ refresh_complete=progress.refresh_complete,
701
+ )
702
+ return UpdateResult(
703
+ UpdateStatus.MAJOR_AVAILABLE,
704
+ current_version,
705
+ installed_version=progress.installed_version,
706
+ major=offer,
707
+ refreshed_providers=progress.refreshed_providers,
708
+ reload_current_skill=progress.reload_current_skill,
709
+ refresh_complete=progress.refresh_complete,
710
+ )
711
+
594
712
  with httpx.Client(verify=create_ssl_context()) as client:
595
713
  targets = fetch_version_targets(current, client)
596
714
  _validate_targets(targets, current)
@@ -14,6 +14,7 @@ import secrets
14
14
  import shutil
15
15
  import stat
16
16
  import subprocess
17
+ import sys
17
18
  import tempfile
18
19
  import time
19
20
  from collections.abc import Generator
@@ -1266,6 +1267,31 @@ def _has_gitignore_marker(lines: list[bytes], marker: str) -> bool:
1266
1267
  return any(line == encoded or line.startswith(encoded + b" ") for line in lines)
1267
1268
 
1268
1269
 
1270
+ def _negation_defeats_exclude_entry(negation: bytes, required: bytes) -> bool:
1271
+ """Return whether a ``.gitignore`` negation really overrides an exclude entry.
1272
+
1273
+ Literal entries keep ``_negation_targets_path`` semantics. For wildcard
1274
+ entries (``**/__pycache__/``, ``.map/**/sessions/``) a negation counts only
1275
+ when it names the entry's basename (``!src/__pycache__/``) or is scoped in a
1276
+ MAP-owned root the runtime block covers (``!.map/scripts/**``). A blanket
1277
+ re-include under an unrelated directory (``!trivy/bdu-db/data/**``) only
1278
+ re-includes that user subtree and must not push the whole runtime block
1279
+ into the tracked ``.gitignore`` (#649).
1280
+ """
1281
+ if not _negation_targets_path(negation, required):
1282
+ return False
1283
+ base = required.rstrip(b"/")
1284
+ if b"*" not in base:
1285
+ return True
1286
+ pattern = _canonical_gitignore_line(negation[1:]).strip(b"/")
1287
+ return base.rsplit(b"/", 1)[-1] in pattern or pattern.split(b"/", 1)[0] in (
1288
+ b".map",
1289
+ b".claude",
1290
+ b".codex",
1291
+ b".agents",
1292
+ )
1293
+
1294
+
1269
1295
  def _merge_runtime_exclude(
1270
1296
  exclude: Path,
1271
1297
  gitignore_lines: list[bytes],
@@ -1291,7 +1317,7 @@ def _merge_runtime_exclude(
1291
1317
  if not missing:
1292
1318
  return False
1293
1319
  if any(
1294
- line.startswith(b"!") and _negation_targets_path(line, path.encode())
1320
+ line.startswith(b"!") and _negation_defeats_exclude_entry(line, path.encode())
1295
1321
  for path in missing
1296
1322
  for line in gitignore_lines
1297
1323
  ):
@@ -1355,6 +1381,13 @@ def _merge_project_gitignore_locked(
1355
1381
  if outcome is not None:
1356
1382
  exclude_changed = outcome
1357
1383
  missing_runtime_paths = []
1384
+ else:
1385
+ print(
1386
+ "[mapify: a .gitignore negation overrides info/exclude for "
1387
+ "a runtime path; writing the runtime block to the tracked "
1388
+ ".gitignore instead]",
1389
+ file=sys.stderr,
1390
+ )
1358
1391
  if missing_runtime_paths:
1359
1392
  runtime_lines: list[bytes] = []
1360
1393
  marker = _UPDATE_RUNTIME_GITIGNORE_MARKER.encode()
@@ -1430,6 +1463,13 @@ def _merge_project_gitignore(
1430
1463
  if include_runtime and runtime_to_git_exclude
1431
1464
  else None
1432
1465
  )
1466
+ if include_runtime and runtime_to_git_exclude and runtime_exclude is None:
1467
+ print(
1468
+ "[mapify: info/exclude is unavailable for this project (not a "
1469
+ "repository root, or the repository query failed); writing the "
1470
+ "runtime block to .gitignore]",
1471
+ file=sys.stderr,
1472
+ )
1433
1473
  with _project_gitignore_lock(project_root) as (directory_fd, project_original):
1434
1474
  return _merge_project_gitignore_locked(
1435
1475
  project_root,
@@ -29,18 +29,33 @@ not prove a behavioral defect is pre-existing; require supporting context or mar
29
29
  attribution unknown. Request missing bundle content from the parent, never shell.
30
30
 
31
31
  When the prompt provides parent-served context, return its exact context_request
32
- JSON and consume context_chunk continuations in this same session. Follow
33
- next_offset through eof and check offsets, total size and hash metadata against the manifest before using it. Request
34
- permitted resources from the parent, never read context object paths directly.
32
+ JSON and consume the parent's continuations in this same session. A context_file
33
+ reply names one served file: Read exactly that `path` sequentially from the
34
+ first line to the end (page with offset/limit; do not skip ranges), collect every
35
+ proof fragment the file carries (line 2 states how many there are and how to
36
+ recognise one; they are scattered through the body), then return ONLY a
37
+ context_ack JSON echoing its session_id, context_id, resource_id and sha256 plus
38
+ `nonce` set to all fragments concatenated in file order, or put that object as
39
+ `ack` inside your next context_request. A context_file whose resource_id is `*required`
40
+ holds every listed required resource in one file; one ack covers all of them. A context_chunk reply carries bytes: follow
41
+ next_offset through eof and check offsets, total size and hash metadata against
42
+ the manifest before using it. Read no other context store, object or ledger path;
43
+ request permitted resources from the parent instead.
35
44
  These intermediate responses are not findings or final review envelopes.
36
45
  Wait for the parent's post-delivery finalization request before returning a final
37
46
  review. In structured final envelopes, echo its session_id and finalization_token
38
47
  in a context_receipt object.
48
+ Order is fixed: ack, then finalization token, then final. Never return the final
49
+ review before the parent sent its finalization request, and never skip the ack. A
50
+ subagent's handback (the message you end your turn with) contains ONLY the JSON
51
+ envelope the protocol asks for: no prose, no preamble, no code fence, so the parent
52
+ can pipe it verbatim.
39
53
  Delivery is parent_acknowledged; it does not prove inspection or capability.
40
54
  After receiving needed evidence, return the role's envelope with an additional receipt object:
41
55
  `receipt={covered_files:[],skipped_files:[],denied_access:[],check_evidence:[check_id]}`.
42
56
  List only paths actually inspected in covered_files; report skipped scope and denied
43
- required access honestly. Reading claims are self_reported, not tool_witnessed.
57
+ required access honestly. denied_access names only required review scope the parent
58
+ refused to serve; an unread role rubric file is neither skipped nor denied scope. Reading claims are self_reported, not tool_witnessed.
44
59
  check_evidence contains only current runner-issued check IDs present in the prompt;
45
60
  never claim you ran tests, treat a proposed command as a result, or invent an ID.
46
61
  Keep findings even when collection is incomplete. Return output to the parent;
@@ -27,6 +27,11 @@ These are intermediate responses, not findings or final review envelopes.
27
27
  Wait for the parent's post-delivery finalization request before returning a final
28
28
  review. In structured final envelopes, echo its session_id and finalization_token
29
29
  in a context_receipt object.
30
+ Order is fixed: ack, then finalization token, then final. Never return the final
31
+ review before the parent sent its finalization request, and never skip the ack. A
32
+ subagent's handback (the message you end your turn with) contains ONLY the JSON
33
+ envelope the protocol asks for: no prose, no preamble, no code fence, so the parent
34
+ can pipe it verbatim.
30
35
  Delivery is parent_acknowledged; it does not prove inspection or capability.
31
36
  After receiving needed evidence, return the role envelope plus
32
37
  receipt={covered_files:[],skipped_files:[],denied_access:[],check_evidence:[check_id]}.
@@ -11,7 +11,7 @@ For `updated`, re-read this invoked skill's installed `SKILL.md`, skip its alrea
11
11
 
12
12
  # MAP Framework Release Workflow
13
13
 
14
- **CRITICAL INSTRUCTION:** This is an **automated sequential workflow with IRREVERSIBLE operations**. You MUST execute ALL validation gates and get explicit user confirmation before pushing tags.
14
+ **CRITICAL INSTRUCTION:** This is an **automated sequential workflow with IRREVERSIBLE operations**. You MUST execute ALL validation gates; any failing gate aborts the release. Invoking this skill is the operator's authorization to publish the version Phase 2 computes — never ask the operator questions.
15
15
 
16
16
  **🚨 ABSOLUTELY FORBIDDEN 🚨**
17
17
 
@@ -20,7 +20,7 @@ You are **STRICTLY PROHIBITED** from:
20
20
  ❌ Skipping validation gates to save time — every gate exists for a reason
21
21
  ❌ Pushing tags without CI confirmation — tag push triggers release workflow immediately
22
22
  ❌ Assuming tests passed without checking — always verify CI status explicitly
23
- ❌ Proceeding without user confirmation on IRREVERSIBLE steps — tag push cannot be undone easily
23
+ ❌ Pushing a tag when any gate or the Phase 4.1 re-verification did not pass in this run — tag push cannot be undone easily
24
24
  ❌ Creating releases without updating CHANGELOG.md — users need to know what changed
25
25
  ❌ Pushing tag without verifying `__version__` in `__init__.py` — CRITICAL: bump-version.sh has known bug
26
26
  ❌ Any variation of "I'll optimize the release process" — follow the workflow exactly
@@ -38,7 +38,7 @@ parallel_tool_policy: validation_gates_only
38
38
 
39
39
  - Use deeper reasoning for version selection, release safety, CI interpretation, and rollback decisions.
40
40
  - Parallelize only independent pre-release validation gates when their outputs do not depend on one another.
41
- - Keep version bumping, commits, tags, pushes, PyPI verification, and any irreversible or state-mutating operation sequential with the required user confirmation gates.
41
+ - Keep version bumping, commits, tags, pushes, PyPI verification, and any irreversible or state-mutating operation sequential, each gated by the preceding verification block.
42
42
 
43
43
  ## Workflow Overview
44
44
 
@@ -47,7 +47,7 @@ This workflow orchestrates a complete package release through 7 sequential phase
47
47
  ```
48
48
  Phase 1: Pre-Release Validation (12 gates)
49
49
  ↓
50
- Phase 2: Version Determination (user decision)
50
+ Phase 2: Version Determination (recommended bump, no prompt)
51
51
  ↓
52
52
  Phase 3: Execute Version Bump Script (updates code + git commit + tag)
53
53
  ↓
@@ -80,19 +80,18 @@ Execute all 12 gates. Read the full gate scripts in [release-reference.md § Pha
80
80
 
81
81
  ## Phase 2: Version Determination
82
82
 
83
- Read CHANGELOG.md `[Unreleased]` section to determine bump type (MAJOR/MINOR/PATCH/EXPLICIT).
84
- Get current version from `pyproject.toml`.
83
+ Run the Phase 2 reference block with `RELEASE_REQUEST` set to the release argument
84
+ (empty when none). It never asks: an explicit `X.Y.Z` or `patch`/`minor`/`major`
85
+ argument wins, otherwise the recommended bump is chosen from `[Unreleased]`
86
+ (an entry starting with `BREAKING` or a `### Removed`/`### Breaking` section → MAJOR,
87
+ `### Added`/`### Changed` → MINOR, else PATCH) and a version that does not move forward aborts. Carry exactly the printed
88
+ `BUMP_TYPE` and `NEW_VERSION` into Phase 3 and 4; each command runs in a fresh shell.
85
89
 
86
- Ask the user directly for PATCH / MINOR / MAJOR / EXPLICIT, and wait for their answer.
87
-
88
- For EXPLICIT, ask separately for the exact version. Carry only the user's approved
89
- `BUMP_TYPE` and exact `NEW_VERSION` into Phase 3; each command runs in a fresh shell.
90
-
91
- See [release-reference.md § Phase 2](release-reference.md#phase-2-version-determination) for the full question/option block.
90
+ See [release-reference.md § Phase 2](release-reference.md#phase-2-version-determination).
92
91
 
93
92
  ## Phase 3: Execute Version Bump Script
94
93
 
95
- Show the exact approved version and bump type, then execute the Phase 3 reference
94
+ Show the exact Phase 2 version and bump type, then execute the Phase 3 reference
96
95
  blocks with those values explicitly supplied in each invocation. Never rely on
97
96
  variables left by a previous shell. Verify the version-derived `vX.Y.Z` tag points
98
97
  to HEAD and both version fields match it using the Phase 3.3 reference block.
@@ -105,16 +104,13 @@ If `__version__` mismatches, follow the fix procedure in [release-reference.md
105
104
 
106
105
  Re-verify: on main branch, exact merge-base CI completed successfully with matching
107
106
  `headSha`, only the three allowed metadata files changed, version-derived tag
108
- points to HEAD and does not already exist on remote. Then request **explicit user
109
- confirmation** (YES / NO / REVIEW options).
110
-
111
- Ask the user directly and wait; only an unambiguous YES authorizes pushing.
107
+ points to HEAD and does not already exist on remote. Then push without asking —
108
+ invoking the release is the authorization. If the version, commit or tag changed
109
+ since Phase 2, stop and re-run Phases 2–4.1 instead of pushing.
112
110
 
113
111
  Read [release-reference.md § Phase 4](release-reference.md#phase-4-push-commit-and-tag-irreversible)
114
- for the confirmation and push blocks. Recompute the tag in the push invocation;
115
- consent for an earlier version or commit does not authorize a changed release.
116
-
117
- If user aborts: stop workflow, exit gracefully. Tag remains local only.
112
+ for the verification and push blocks. Recompute the tag in the push invocation and
113
+ pass `NEW_VERSION` so a changed release aborts.
118
114
 
119
115
  ## Phase 5: CI/CD Monitoring
120
116
 
@@ -136,7 +132,7 @@ Print release statistics (version, tag, PyPI URL, GitHub Release URL, CI run). O
136
132
 
137
133
  - **NEVER skip validation gates** — all 12 gates must pass before Phase 4
138
134
  - **NEVER push tag without CI confirmation** — verify CI passed on main before Phase 4
139
- - **NEVER proceed without user confirmation on IRREVERSIBLE operations**
135
+ - **NEVER push unless Phase 4.1 passed in this run for the Phase 2 version** — no operator prompt replaces a gate
140
136
  - **ALWAYS monitor CI/CD pipeline** — don't assume success
141
137
  - **ALWAYS verify PyPI availability** before declaring success
142
138
 
@@ -147,10 +143,10 @@ Print release statistics (version, tag, PyPI URL, GitHub Release URL, CI run). O
147
143
  | 1 | Pytest tests | ❌ NO |
148
144
  | 2 | Pyright + hook lint | ❌ NO |
149
145
  | 3 | Ruff lint | ❌ NO |
150
- | 4 | Mypy types | ⚠️ Review |
146
+ | 4 | Mypy types | ❌ NO |
151
147
  | 5 | Package build | ❌ NO |
152
148
  | 6 | Twine check | ❌ NO |
153
- | 7 | Security audit | ⚠️ Review |
149
+ | 7 | Security audit | ❌ NO (update the vulnerable pin first) |
154
150
  | 8 | Git branch | ❌ NO |
155
151
  | 9 | Git clean | ❌ NO |
156
152
  | 10 | Git sync | ❌ NO |
@@ -162,8 +158,8 @@ Begin now with the release request above. Read the relevant [release-reference.m
162
158
  ## Examples
163
159
 
164
160
  ```
165
- $map-release # full release workflow; bump type chosen at the confirmation gate
166
- $map-release patch # hint to the version-determination phase
161
+ $map-release # full release; recommended bump chosen from [Unreleased]
162
+ $map-release patch # force a bump type (patch|minor|major)
167
163
  ```
168
164
 
169
165
  ## Troubleshooting