mapify-cli 3.36.0__tar.gz → 3.37.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.
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/PKG-INFO +1 -1
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/pyproject.toml +1 -1
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/__init__.py +1 -1
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/auto_update.py +119 -1
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-release/SKILL.md +22 -26
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-release/release-reference.md +73 -79
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-review/review-reference.md +31 -1
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/map_step_runner.py +595 -91
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-release/SKILL.md +22 -26
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-release/release-reference.md +73 -109
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-review/review-reference.md +31 -1
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +595 -91
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +23 -31
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-release/release-reference.md.jinja +73 -120
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +31 -1
- mapify_cli-3.37.0/tests/test_auto_update_stale_project.py +214 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_release_ci_gates.py +50 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_changed_scope.py +13 -7
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_context_transport.py +15 -7
- mapify_cli-3.37.0/tests/test_review_prompt_overhead.py +140 -0
- mapify_cli-3.37.0/tests/test_review_roster_budget.py +130 -0
- mapify_cli-3.37.0/tests/test_review_windowed_followups.py +270 -0
- mapify_cli-3.37.0/tests/test_review_windowed_sources.py +269 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills.py +10 -9
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/.claude/hooks/README.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/.claude/skills/README.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/.gitignore +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/LICENSE +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/README.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/__main__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/_locking.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/_python_guard.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/boundary_quality_report.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/cli_ui.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/code_map.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/codex_exec.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/config/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/config/mcp.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/config/project_config.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/config/settings.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/delivery/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/delivery/agent_generator.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/delivery/codex_copier.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/delivery/domain_skill.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/delivery/file_copier.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/delivery/governance_report.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/delivery/managed_file_copier.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/delivery/providers.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/delivery/template_renderer.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/dependency_graph.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/grace_eval/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/grace_eval/schema.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/grace_eval/sweep.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/install_manifest.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/intent_detector.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/memory/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/memory/capture.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/memory/digest_schema.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/memory/evidence.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/memory/finalize.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/memory/recall.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/minimality_eval.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/minimality_report.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/parallelism_observability.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/provider_registry.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/python_runtime.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/ralph_state.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/repo_insight.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/research_eval.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/research_eval_compare.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/schemas.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/scope_classifier.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skill_ir.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/aggregator.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/apply_patcher.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/assertions.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/description_optimizer.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/dispatcher.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/eval_schema.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/proposer.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/review_corpus.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/review_pilot.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/runner.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/trajectory/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/trajectory/bundle.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/trajectory/dispatcher.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/trajectory/eval_schema.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/trajectory/gates.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/trajectory/judge.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/trajectory/repeated.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/trajectory/report.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/trajectory/runner.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/trajectory/seeding.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/skills_eval/viewer.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/.gitignore +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/CLAUDE.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/agents/actor.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/agents/evaluator.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/agents/monitor.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/agents/predictor.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/agents/reflector.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/agents/research-agent.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/agents/review-reader.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/agents/actor.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/agents/documentation-reviewer.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/agents/evaluator.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/agents/final-verifier.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/agents/monitor.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/agents/predictor.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/agents/reflector.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/agents/researcher.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/agents/review-reader.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/config.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/context-meter.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/detect-clarification-triggers.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/end-of-turn.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/map-memory-capture.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/map-memory-endmark.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/map-memory-recall.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/map-memory-session.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/map-stop.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/map-token-meter.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/post-compact-context.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/pre-compact-save-transcript.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/ralph-context-pruner.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/ralph-iteration-logger.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/safety-guardrails.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/scrub-internal-ids.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/workflow-context-injector.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/hooks.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/references/map-json-output-contracts.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/references/map-output-examples.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/references/map-xml-prompt-envelopes.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-architecture/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-auto/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-auto/auto-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-check/check-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-debug/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-learn/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-learn/templates/example-rules.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-unconditional.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-with-paths.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-memory-now/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-plan/plan-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-prd-review/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-resume/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-resume/resume-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-skill-eval/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-so-search/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-so-search/scripts/sofa_search.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-state/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-state/scripts/check-complete.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-state/scripts/get-plan-path.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-state/scripts/init-session.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-state/scripts/show-focus.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-state/templates/findings.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-state/templates/iteration_history.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-state/templates/progress.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-state/templates/task_plan.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-task/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-tdd/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-tokenreport/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-understand/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-upgrade/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-wayfind/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-wayfind/wayfind-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/README.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/context-meter.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/end-of-turn.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/map-memory-capture.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/map-memory-endmark.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/map-memory-finalize.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/map-memory-recall.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/map-statusline.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/map-token-meter.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/post-compact-context.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/safety-guardrails.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/scrub-internal-ids.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/workflow-context-injector.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/hooks/workflow-gate.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/classify_scope.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/codex_review_host.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/codex_review_runner.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/diagnostics.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/map_interruption.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/map_utils.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/review_check_supervisor.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/scrub_internal_ids.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/sofa_client.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/scripts/wayfind_runner.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/references/hook-patterns.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/references/host-paths.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/rules/learned/README.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/settings.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/README.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-architecture/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-auto/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-auto/auto-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-plan/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-prd-review/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-review/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-review/adversarial-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-task/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-understand/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-upgrade/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-wayfind/SKILL.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/map-wayfind/wayfind-reference.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/workflow-rules.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/.gitignore.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/_partials/acceptance-runtime.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/_partials/apply-patch-paths.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/_partials/auto-update-preflight.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/_partials/codex-memory-hook-wrapper.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/_partials/manual-upgrade-flow.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/_partials/monitor-review-context.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/_partials/python-version-guard.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/_partials/serial-blocker-repair.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/_partials/stale-attribution-recovery.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/_partials/vacuous-test-check.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/agents/actor.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/agents/monitor.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/agents/predictor.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/agents/review-reader.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/agents/actor.toml.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/agents/documentation-reviewer.toml.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/agents/evaluator.toml.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/agents/final-verifier.toml.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/agents/predictor.toml.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/agents/reflector.toml.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/agents/review-reader.toml.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/context-meter.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/detect-clarification-triggers.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/end-of-turn.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/map-memory-capture.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/map-memory-endmark.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/map-memory-recall.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/map-memory-session.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/map-stop.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/map-token-meter.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/post-compact-context.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/pre-compact-save-transcript.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/ralph-context-pruner.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/ralph-iteration-logger.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/safety-guardrails.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/scrub-internal-ids.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/workflow-context-injector.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/references/map-json-output-contracts.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/references/map-output-examples.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/references/map-xml-prompt-envelopes.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-architecture/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-auto/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-auto/auto-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-check/check-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-debug/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-learn/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/example-rules.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-memory-now/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-plan/plan-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-prd-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-release/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-release/release-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-resume/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-resume/resume-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-review/adversarial-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-review/review-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-skill-eval/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-so-search/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-state/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/check-complete.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/init-session.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/show-focus.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-state/templates/findings.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-state/templates/iteration_history.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-state/templates/progress.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-state/templates/task_plan.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-task/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-tdd/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-tokenreport/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-understand/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-upgrade/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-wayfind/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/codex/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/README.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/map-statusline.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/scrub-internal-ids.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/classify_scope.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/codex_review_host.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/codex_review_runner.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/map_interruption.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/review_check_supervisor.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/scrub_internal_ids.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/scripts/wayfind_runner.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/settings.json.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-architecture/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-auto/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-auto/auto-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-prd-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-review/adversarial-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-understand/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-upgrade/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-wayfind/SKILL.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/token_budget.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/tool_output_offload.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/tools/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/tools/validate_dependencies.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/update_install.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/update_state.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/update_versions.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/verification_recorder.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/workflow_finalizer.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/workflow_logger.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/workflow_state.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/_fake_task_tool.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/conftest.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/fixtures/claude/escalation-matrix.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/fixtures/codex/config.toml +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/fixtures/wave_blueprints.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/hooks/test_detect_clarification_triggers.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/hooks/test_end_of_turn.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/hooks/test_hook_inventory_smoke.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/hooks/test_safety_guardrails.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/hooks/test_scrub_internal_ids_hook.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/integration/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/integration/fixtures/blueprint.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/integration/fixtures/code_review.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/integration/fixtures/plan_handoff.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/integration/fixtures/spec.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/integration/fixtures/step_state_initialized.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/integration/fixtures/task_plan.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/integration/fixtures/verification_summary.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/integration/test_e2e_artifact_contracts.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/integration/test_e2e_claude_sdk.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/review_context_helpers.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/review_pilot_git_cache.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/review_process_lifecycle.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/README.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/tests/test_compute.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/hidden/test_calc_full.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/tests/test_calc_basic.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/hidden/test_calc_full.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/calc.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/tests/test_calc_basic.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/hidden/test_kvparse_full.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/manifest.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/kvparse.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/tests/test_kvparse_basic.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/config.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/utils.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/tests/test_price.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/config.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/utils.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/tests/test_utils.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/tests/test_semver.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/hidden/test_semver_full.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/semver.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/tests/test_semver_basic.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/hidden/test_semver_full.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/__init__.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/semver.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/tests/test_semver_basic.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/review_corpus/corpus.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/review_corpus/evidence/adjudication.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/review_corpus/evidence/control-audit.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/review_corpus/evidence/manual-run.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/review_corpus/evidence/manual-run.log +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/review_corpus/evidence/manual_repro.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/review_pilot_error_max_budget.sanitized.json +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/skills_eval/whole_skill/spike_runner.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_acceptance_additive_revision.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_acceptance_additive_revision_review.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_acceptance_proofs.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_agent_cli_correctness.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_agent_dispatch_audit.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_agent_frontmatter.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_agent_memory.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_approval_hold.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_approved_baseline_gate_contract.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_artifact_schemas.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_auto_update.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_boundary_quality_report.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_bump_version.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_classify_scope_script.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_code_map.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_codex_map_review_live.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_codex_review_host.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_codex_review_native.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_compaction_offload_integration.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_concurrent_dispatch_harness.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_context_usefulness.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_cross_ai_config.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_debug_reference_install.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_decomposition.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_dependency_graph.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_diagnostics.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_digest_schema.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_domain_skill.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_file_copier.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_governance_attack_fixtures.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_governance_report.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_grace_eval_schema.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_grace_eval_sweep.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_hook_patterns.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_init_import_graph.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_install_manifest.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_intent_detector.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_inv1_no_anthropic_optimize.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_jinja2_dep.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_locking.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_managed_file_copier.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_map_auto.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_map_interruption.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_map_orchestrator.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_map_step_runner.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_map_token_meter.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_map_utils_sanitize.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_mapify_cli.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_memory_capture.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_memory_events.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_memory_events_compat.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_memory_events_exit_status.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_memory_events_privacy.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_memory_events_review.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_memory_events_tools.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_memory_finalize.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_memory_integration.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_memory_recall.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_memory_review_fixes.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_minimality_eval.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_minimality_report.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_model_invocable_skills.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_monitor_worktree_context.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_mutation_path_normalization.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_orchestrator_acceptance.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_parallelism_observability.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_post_compact_context.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_preset_commands.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_project_config.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_prompt_layering.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_prompt_profile_commands.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_python_version_requirement.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_pyyaml_dep.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_ralph_hooks.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_ralph_response_types.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_ralph_state.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_repair_attribution.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_repair_workflow_gate.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_repo_insight.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_research_eval.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_research_eval_compare.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_resequence_pending.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_attribution_receipts.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_branch_receipts.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_check_timeouts.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_context_delivery.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_corpus.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_explicit_base.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_explicit_base_legacy_override.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_explicit_base_stale_readers.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_finding_validation.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_mapify_managed.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_pending_collection.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_pilot.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_pilot_git_cache.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_process_lifecycle.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_reader_capabilities.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_receipt_edge_cases.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_security_gates.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_shard_docs.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_trusted_policy.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_review_verdict_ledger.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_role_coverage_receipts.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_runtime_info_exclude.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_runtime_privacy_ignores.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_schemas.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_scope_classifier.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_scrub_internal_ids.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_settings_deny_globs.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_shell_json_pipes.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skill_ir.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_consistency.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_aggregator.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_apply.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_cli_optimize.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_dispatcher_env.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_fixtures.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_optimizer.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_optimizer_isolation.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_proposer.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_runner.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_schema.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_trajectory_bundle.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_trajectory_cli.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_trajectory_gates.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_trajectory_judge.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_trajectory_repeated.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_trajectory_report.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_trajectory_runner.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_trajectory_schema.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_skills_eval_viewer.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_slice5b_leak_guards.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_sofa_client.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_sofa_search.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_static_analysis_bash.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_statusline.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_template_render.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_token_budget.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_tool_output_offload.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_unborn_branch_scope.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_unrun_verification_contract.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_update_install.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_update_state.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_update_versions.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_vacuous_test_check.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_validate_dependencies.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_validate_spec_citations.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_verification_recorder.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_wave_abort_preservation.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_wave_eval_harness.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_wave_fixtures.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_wave_parallel_harness.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_wayfind_install.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_wayfind_research.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_wayfind_runner.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_workflow_context_injector.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_workflow_finalizer.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_workflow_gate.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_workflow_logger.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_workflow_state.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.0}/tests/test_worktree_commit_hooks.py +0 -0
- {mapify_cli-3.36.0 → mapify_cli-3.37.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.
|
|
3
|
+
Version: 3.37.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
|
|
@@ -23,7 +23,7 @@ Or install globally:
|
|
|
23
23
|
mapify check
|
|
24
24
|
"""
|
|
25
25
|
|
|
26
|
-
__version__ = "3.
|
|
26
|
+
__version__ = "3.37.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
|
|
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)
|
{mapify_cli-3.36.0 → mapify_cli-3.37.0}/src/mapify_cli/templates/codex/skills/map-release/SKILL.md
RENAMED
|
@@ -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
|
|
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
|
-
❌
|
|
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
|
|
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 (
|
|
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
|
-
|
|
84
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
109
|
-
|
|
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
|
|
115
|
-
|
|
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
|
|
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 |
|
|
146
|
+
| 4 | Mypy types | ❌ NO |
|
|
151
147
|
| 5 | Package build | ❌ NO |
|
|
152
148
|
| 6 | Twine check | ❌ NO |
|
|
153
|
-
| 7 | Security audit |
|
|
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
|
|
166
|
-
$map-release patch #
|
|
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
|
|
@@ -160,36 +160,10 @@ if [[ -n "$LAST_TAG" ]]; then
|
|
|
160
160
|
awk '/^## \[Unreleased\]/{f=1;next} /^## \[/{f=0} f' CHANGELOG.md
|
|
161
161
|
echo ""
|
|
162
162
|
|
|
163
|
-
#
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
echo ""
|
|
168
|
-
echo "Suggested CHANGELOG entries (review and add manually):"
|
|
169
|
-
echo "────────────────────────────────────────────────────────"
|
|
170
|
-
git log ${LAST_TAG}..HEAD --no-merges --format="%s (%h)" | while read -r commit_msg; do
|
|
171
|
-
if [[ "$commit_msg" =~ ^feat ]]; then
|
|
172
|
-
echo "### Changed"
|
|
173
|
-
echo "- ${commit_msg#feat*: }"
|
|
174
|
-
elif [[ "$commit_msg" =~ ^fix ]]; then
|
|
175
|
-
echo "### Fixed"
|
|
176
|
-
echo "- ${commit_msg#fix*: }"
|
|
177
|
-
elif [[ "$commit_msg" =~ ^docs ]]; then
|
|
178
|
-
echo "### Documentation"
|
|
179
|
-
echo "- ${commit_msg#docs*: }"
|
|
180
|
-
else
|
|
181
|
-
echo "### Changed"
|
|
182
|
-
echo "- $commit_msg"
|
|
183
|
-
fi
|
|
184
|
-
done
|
|
185
|
-
echo "────────────────────────────────────────────────────────"
|
|
186
|
-
echo ""
|
|
187
|
-
echo "Please update CHANGELOG.md manually, then re-run the release."
|
|
188
|
-
exit 1
|
|
189
|
-
else
|
|
190
|
-
read -p "Continue with potentially incomplete CHANGELOG? (y/N): " PROCEED_ANYWAY
|
|
191
|
-
[[ "$PROCEED_ANYWAY" != "y" ]] && exit 1
|
|
192
|
-
fi
|
|
163
|
+
# Never prompt: the release agent reconciles the CHANGELOG itself.
|
|
164
|
+
echo "ACTION: add the missing user-visible entries to [Unreleased] from the commits above"
|
|
165
|
+
echo " in a docs(changelog) commit, then re-run Phase 1 Gates 8-12."
|
|
166
|
+
exit 2
|
|
193
167
|
fi
|
|
194
168
|
else
|
|
195
169
|
echo "ℹ️ No previous tag found, skipping completeness check"
|
|
@@ -198,33 +172,58 @@ fi
|
|
|
198
172
|
|
|
199
173
|
## Phase 2: Version Determination
|
|
200
174
|
|
|
175
|
+
Invoking the release is the authorization: never ask the operator. Run this block
|
|
176
|
+
with `RELEASE_REQUEST` set to the release argument (empty when none). An explicit
|
|
177
|
+
`X.Y.Z` or `patch`/`minor`/`major` argument wins; anything else selects the
|
|
178
|
+
recommended bump from `[Unreleased]`.
|
|
179
|
+
|
|
201
180
|
```bash
|
|
202
|
-
|
|
181
|
+
set -euo pipefail
|
|
203
182
|
CURRENT_VERSION=$(grep -m1 -E '^version = ' pyproject.toml | sed -E 's/version = "(.*)"/\1/')
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
183
|
+
SEMVER='^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$'
|
|
184
|
+
[[ "$CURRENT_VERSION" =~ $SEMVER ]] || { echo "ABORT: invalid current version '$CURRENT_VERSION'"; exit 1; }
|
|
185
|
+
UNRELEASED=$(awk '/^## \[Unreleased\]/{f=1;next} /^## \[/{f=0} f' CHANGELOG.md)
|
|
186
|
+
REQUEST=$(printf '%s' "${RELEASE_REQUEST:-}" | tr -d '[:space:]' | tr '[:upper:]' '[:lower:]')
|
|
187
|
+
IFS=. read -r MAJ MIN PAT <<< "$CURRENT_VERSION"
|
|
188
|
+
if [[ "$REQUEST" =~ $SEMVER ]]; then
|
|
189
|
+
BUMP_TYPE="$REQUEST"; NEW_VERSION="$REQUEST"
|
|
190
|
+
else
|
|
191
|
+
case "$REQUEST" in
|
|
192
|
+
patch|minor|major) BUMP_TYPE="$REQUEST" ;;
|
|
193
|
+
*)
|
|
194
|
+
# Recommended bump: explicit breaking markers -> major, added/changed -> minor, else patch.
|
|
195
|
+
# Only an entry that STARTS with BREAKING (or a Removed/Breaking section) counts; the word
|
|
196
|
+
# inside prose (e.g. an entry describing this rule) must not force a major release.
|
|
197
|
+
if grep -qE '^- (\*\*)?BREAKING' <<< "$UNRELEASED" || grep -qE '^### (Removed|Breaking)' <<< "$UNRELEASED"; then
|
|
198
|
+
BUMP_TYPE=major
|
|
199
|
+
elif grep -qE '^### (Added|Changed)' <<< "$UNRELEASED"; then
|
|
200
|
+
BUMP_TYPE=minor
|
|
201
|
+
else
|
|
202
|
+
BUMP_TYPE=patch
|
|
203
|
+
fi ;;
|
|
204
|
+
esac
|
|
205
|
+
case "$BUMP_TYPE" in
|
|
206
|
+
major) NEW_VERSION="$((MAJ + 1)).0.0" ;;
|
|
207
|
+
minor) NEW_VERSION="$MAJ.$((MIN + 1)).0" ;;
|
|
208
|
+
patch) NEW_VERSION="$MAJ.$MIN.$((PAT + 1))" ;;
|
|
209
|
+
esac
|
|
210
|
+
fi
|
|
211
|
+
IFS=. read -r NMAJ NMIN NPAT <<< "$NEW_VERSION"
|
|
212
|
+
if (( NMAJ < MAJ || (NMAJ == MAJ && (NMIN < MIN || (NMIN == MIN && NPAT <= PAT))) )); then
|
|
213
|
+
echo "ABORT: $NEW_VERSION does not move forward from $CURRENT_VERSION"; exit 1
|
|
214
|
+
fi
|
|
215
|
+
echo "BUMP_TYPE=$BUMP_TYPE"
|
|
216
|
+
echo "NEW_VERSION=$NEW_VERSION"
|
|
208
217
|
```
|
|
209
218
|
|
|
210
|
-
**Semantic Versioning Rules:**
|
|
211
|
-
- **MAJOR (X.0.0):**
|
|
212
|
-
- **MINOR (x.Y.0):**
|
|
213
|
-
- **PATCH (x.y.Z):**
|
|
214
|
-
|
|
219
|
+
**Semantic Versioning Rules (applied above):**
|
|
220
|
+
- **MAJOR (X.0.0):** an entry starting with `BREAKING` (or `**BREAKING**`), or a `### Removed` / `### Breaking` section
|
|
221
|
+
- **MINOR (x.Y.0):** an `### Added` or `### Changed` section
|
|
222
|
+
- **PATCH (x.y.Z):** only fixes
|
|
215
223
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
For EXPLICIT, ask a separate question for the exact `X.Y.Z` value; selecting the
|
|
222
|
-
option alone supplies no version. Validate `^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$`.
|
|
223
|
-
Calculate the proposed `NEW_VERSION` from the user's bump choice and current
|
|
224
|
-
version (or their explicit version). Show the exact result before execution.
|
|
225
|
-
Supply `BUMP_TYPE` (`patch`, `minor`, `major`, or the exact version) and
|
|
226
|
-
`NEW_VERSION` explicitly to **each** Phase 3 shell invocation, using only these
|
|
227
|
-
approved values. Missing values abort; never assume a previous shell survives.
|
|
224
|
+
Print the selected bump and version, then carry exactly these `BUMP_TYPE` and
|
|
225
|
+
`NEW_VERSION` values into **each** Phase 3 and Phase 4 shell invocation. Missing
|
|
226
|
+
values abort; never assume a previous shell survives.
|
|
228
227
|
|
|
229
228
|
## Phase 3: Execute Version Bump Script
|
|
230
229
|
|
|
@@ -232,9 +231,9 @@ approved values. Missing values abort; never assume a previous shell survives.
|
|
|
232
231
|
|
|
233
232
|
```bash
|
|
234
233
|
set -euo pipefail
|
|
235
|
-
: "${BUMP_TYPE:?Supply the
|
|
236
|
-
: "${NEW_VERSION:?Supply the
|
|
237
|
-
[[ "$NEW_VERSION" =~ ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$ ]] || { echo "ABORT: invalid
|
|
234
|
+
: "${BUMP_TYPE:?Supply the Phase 2 bump type for this invocation}"
|
|
235
|
+
: "${NEW_VERSION:?Supply the Phase 2 exact version for this invocation}"
|
|
236
|
+
[[ "$NEW_VERSION" =~ ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$ ]] || { echo "ABORT: invalid Phase 2 version"; exit 1; }
|
|
238
237
|
echo "Version Bump Script Will Execute:"
|
|
239
238
|
echo "1. Update pyproject.toml: version = \"$NEW_VERSION\""
|
|
240
239
|
echo "2. Update CHANGELOG.md: [Unreleased] → [$NEW_VERSION] - $(date +%Y-%m-%d)"
|
|
@@ -247,11 +246,11 @@ echo "Changes will be committed locally but NOT pushed yet."
|
|
|
247
246
|
|
|
248
247
|
```bash
|
|
249
248
|
set -euo pipefail
|
|
250
|
-
: "${BUMP_TYPE:?Supply the
|
|
251
|
-
: "${NEW_VERSION:?Supply the
|
|
252
|
-
[[ "$NEW_VERSION" =~ ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$ ]] || { echo "ABORT: invalid
|
|
253
|
-
[[ "$BUMP_TYPE" =~ ^(patch|minor|major)$ || "$BUMP_TYPE" == "$NEW_VERSION" ]] || { echo "ABORT: invalid
|
|
254
|
-
# Intent: use the
|
|
249
|
+
: "${BUMP_TYPE:?Supply the Phase 2 bump type for this invocation}"
|
|
250
|
+
: "${NEW_VERSION:?Supply the Phase 2 exact version for this invocation}"
|
|
251
|
+
[[ "$NEW_VERSION" =~ ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$ ]] || { echo "ABORT: invalid Phase 2 version"; exit 1; }
|
|
252
|
+
[[ "$BUMP_TYPE" =~ ^(patch|minor|major)$ || "$BUMP_TYPE" == "$NEW_VERSION" ]] || { echo "ABORT: invalid Phase 2 bump type"; exit 1; }
|
|
253
|
+
# Intent: use the Phase 2 exact version so a changed current version cannot alter the bump.
|
|
255
254
|
./scripts/bump-version.sh --yes "$NEW_VERSION"
|
|
256
255
|
```
|
|
257
256
|
|
|
@@ -343,18 +342,13 @@ REMOTE_TAG=$(git ls-remote --tags origin "refs/tags/$LAST_TAG" "refs/tags/$LAST_
|
|
|
343
342
|
echo "✅ Pre-push safety checks passed"
|
|
344
343
|
```
|
|
345
344
|
|
|
346
|
-
### 4.2
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
Ask the user directly for explicit confirmation before pushing. State that
|
|
350
|
-
`$LAST_TAG` to `origin/main` will trigger GitHub Actions, publish to PyPI, and
|
|
351
|
-
create a public GitHub release. Accept only an unambiguous YES; NO aborts, and
|
|
352
|
-
REVIEW shows the commit, tag, and CHANGELOG before asking again.
|
|
345
|
+
### 4.2 Authorization
|
|
353
346
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
347
|
+
Invoking the release authorizes publishing the version computed in Phase 2; do not
|
|
348
|
+
ask the operator. Proceed to 4.3 only when 4.1 printed its success line in this
|
|
349
|
+
run. Before pushing, print the version, release commit and tag. If anything
|
|
350
|
+
changed since Phase 2 (version, commit, tag), stop and re-run Phases 2–4.1 instead
|
|
351
|
+
of pushing.
|
|
358
352
|
|
|
359
353
|
### 4.3 Push
|
|
360
354
|
|
|
@@ -366,7 +360,8 @@ LAST_TAG="v$PYPROJECT_VERSION"
|
|
|
366
360
|
TAG_COMMIT=$(git rev-parse "$LAST_TAG^{commit}")
|
|
367
361
|
HEAD_COMMIT=$(git rev-parse HEAD)
|
|
368
362
|
[[ "$TAG_COMMIT" == "$HEAD_COMMIT" ]] || { echo "ABORT: release tag does not point to HEAD"; exit 1; }
|
|
369
|
-
|
|
363
|
+
: "${NEW_VERSION:?Supply the Phase 2 version for this invocation}"
|
|
364
|
+
[[ "$PYPROJECT_VERSION" == "$NEW_VERSION" ]] || { echo "ABORT: release version $PYPROJECT_VERSION differs from Phase 2 ($NEW_VERSION)"; exit 1; }
|
|
370
365
|
git push origin main
|
|
371
366
|
git push origin "$LAST_TAG"
|
|
372
367
|
PUSH_TIMESTAMP=$(date +%s)
|
|
@@ -529,9 +524,9 @@ You CANNOT delete packages from PyPI. Only option is yank.
|
|
|
529
524
|
### Scenario 5: PyPI Not Available After 5+ Minutes
|
|
530
525
|
|
|
531
526
|
```bash
|
|
532
|
-
# Supply the exact release run ID from Phase 5 and the
|
|
527
|
+
# Supply the exact release run ID from Phase 5 and the Phase 2 exact version.
|
|
533
528
|
: "${RUN_ID:?Supply the verified release run ID for this invocation}"
|
|
534
|
-
: "${TAG_VERSION:?Supply the
|
|
529
|
+
: "${TAG_VERSION:?Supply the Phase 2 exact release version for this invocation}"
|
|
535
530
|
gh run view "$RUN_ID" --log | grep -A 10 "pypi-publish"
|
|
536
531
|
# Check https://status.python.org/
|
|
537
532
|
# Wait up to 15 minutes, probing the simple index pip resolves against —
|
|
@@ -560,15 +555,14 @@ gh run view <run-id> --log
|
|
|
560
555
|
## MCP Tools
|
|
561
556
|
|
|
562
557
|
- **`mcp__sequential-thinking__sequentialthinking`** — complex decision making for version bump
|
|
563
|
-
|
|
564
|
-
- **Direct user confirmation** — wait for explicit consent for IRREVERSIBLE operations
|
|
565
|
-
|
|
558
|
+
- Invoking the release is the authorization; the workflow never prompts the operator. Hard gates abort instead.
|
|
566
559
|
|
|
567
560
|
## Examples
|
|
568
561
|
|
|
569
562
|
```
|
|
570
|
-
$map-release # full release
|
|
571
|
-
$map-release patch #
|
|
563
|
+
$map-release # full release; recommended bump chosen from [Unreleased]
|
|
564
|
+
$map-release patch # force a bump type (patch|minor|major)
|
|
565
|
+
$map-release 4.0.0 # force an exact version (must move forward)
|
|
572
566
|
```
|
|
573
567
|
|
|
574
568
|
## Troubleshooting
|
|
@@ -49,10 +49,40 @@ user tails, missing or malformed headers and files whose JSON was reformatted st
|
|
|
49
49
|
any file and it is skipped (visibly, in `skipped_scope`). Use strict `review.security_gates` when PR
|
|
50
50
|
authors are untrusted; it disables this skip. `review.exclude_mapify_managed: false` opts out.
|
|
51
51
|
|
|
52
|
+
## Compact Prompt Context
|
|
53
|
+
|
|
54
|
+
Execution checks appear as one line each (exit code, duration, command, `output_sha256`, size and the
|
|
55
|
+
`check:<id>` resource for the full log). The trusted policy text appears once per prompt as UTF-8, marked
|
|
56
|
+
`[trusted-policy:<hash>]`; `shadow_risk` is a summary (tier, reason count and sample, digest) and the
|
|
57
|
+
inventory resource carries hashes and counts. Request `check:<id>` when a log is needed.
|
|
58
|
+
|
|
59
|
+
Windowed sources carry `line_mapping_scope: "windowed"`: their `line_mapping` covers only the delivered
|
|
60
|
+
windows, so a line outside every window is unknown, not new. `base:<path>` / `current:<path>` return the full
|
|
61
|
+
mapping. A renamed file is windowed against its old blob (`renamed_from`); the old path is a `renamed_to` stub.
|
|
62
|
+
The complete `shadow_risk` record is the optional resource `risk:shadow`.
|
|
63
|
+
|
|
64
|
+
## Shard Capacity
|
|
65
|
+
|
|
66
|
+
Shards are packed to the per-reviewer budget minus a measured overhead (the worst scheduled reviewer's
|
|
67
|
+
rendered prompt, inventory, frozen task artifacts and, for Codex, inlined role rubrics, plus a margin;
|
|
68
|
+
never below 64 KiB), also for unsharded rounds.
|
|
69
|
+
|
|
70
|
+
## Windowed Large Files
|
|
71
|
+
|
|
72
|
+
A changed text file whose full base+current source resource would exceed `review.full_source_max_bytes`
|
|
73
|
+
(trusted config, default 48 KiB) is a required **windowed** source: its diff hunks plus
|
|
74
|
+
`review.hunk_context_lines` (default 40) numbered lines of base and current context, marked
|
|
75
|
+
`"windowed": true`. Reading it counts as delivery for that file; report it in `covered_files` as usual.
|
|
76
|
+
When the window is not enough to judge a finding, request the optional full content as
|
|
77
|
+
`resource_id` `base:<path>` or `current:<path>` (frozen on first use, same delivery guard as `repo:`;
|
|
78
|
+
never available to diff-only/blind reviewers). Small files, binary/non-UTF-8 files and files without a
|
|
79
|
+
verified base keep the full-content resource. A single file whose windowed hunks still exceed the
|
|
80
|
+
shard capacity fails admission with `file_too_large`; split that change.
|
|
81
|
+
|
|
52
82
|
## Sharded Rounds
|
|
53
83
|
|
|
54
84
|
When the required scope does not fit one reviewer's budget, admission plans `row.shards`
|
|
55
|
-
(deterministic, directory-aware, disjoint; at most `review.max_shards`, default 8) and returns
|
|
85
|
+
(deterministic, directory-aware, disjoint; at most `review.max_shards`, default 8; the operator-local env `MAP_REVIEW_MAX_SHARDS` (positive int, invalid values ignored) overrides the trusted config and the default, and the `too_many_shards` error hints the exact count needed) and returns
|
|
56
86
|
`shard_ids`. A single file above the per-shard capacity or more than `max_shards` shards fails
|
|
57
87
|
admission with `review_context_budget_exceeded` (`reason: file_too_large | too_many_shards`).
|
|
58
88
|
Unsharded rounds never see any of this.
|