mapify-cli 3.35.1__tar.gz → 3.35.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/PKG-INFO +3 -1
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/pyproject.toml +3 -1
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/__init__.py +1 -1
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-auto/SKILL.md +3 -3
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-auto/auto-reference.md +6 -4
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-release/SKILL.md +1 -1
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-release/release-reference.md +11 -2
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_step_runner.py +54 -11
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-auto/SKILL.md +3 -3
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-auto/auto-reference.md +6 -4
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-release/SKILL.md +1 -1
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-release/release-reference.md +11 -2
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +54 -11
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-auto/SKILL.md.jinja +3 -3
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-auto/auto-reference.md.jinja +6 -4
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +1 -1
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-release/release-reference.md.jinja +11 -2
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_locking.py +4 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_step_runner.py +125 -13
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_release_ci_gates.py +127 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/.claude/hooks/README.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/.claude/skills/README.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/.gitignore +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/LICENSE +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/README.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/__main__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/_locking.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/_python_guard.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/auto_update.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/boundary_quality_report.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/cli_ui.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/code_map.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/codex_exec.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/config/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/config/mcp.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/config/project_config.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/config/settings.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/agent_generator.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/codex_copier.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/domain_skill.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/file_copier.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/governance_report.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/managed_file_copier.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/providers.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/delivery/template_renderer.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/dependency_graph.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/grace_eval/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/grace_eval/schema.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/grace_eval/sweep.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/install_manifest.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/intent_detector.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/capture.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/digest_schema.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/evidence.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/finalize.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/memory/recall.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/minimality_eval.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/minimality_report.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/parallelism_observability.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/provider_registry.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/python_runtime.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/ralph_state.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/repo_insight.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/research_eval.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/research_eval_compare.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/schemas.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/scope_classifier.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skill_ir.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/aggregator.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/apply_patcher.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/assertions.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/description_optimizer.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/dispatcher.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/eval_schema.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/proposer.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/review_corpus.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/review_pilot.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/runner.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/bundle.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/dispatcher.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/eval_schema.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/gates.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/judge.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/repeated.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/report.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/runner.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/seeding.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/viewer.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/.gitignore +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/CLAUDE.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/actor.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/evaluator.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/monitor.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/predictor.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/reflector.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/research-agent.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/review-reader.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/actor.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/documentation-reviewer.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/evaluator.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/final-verifier.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/monitor.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/predictor.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/reflector.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/researcher.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/review-reader.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/config.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/context-meter.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/detect-clarification-triggers.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/end-of-turn.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-capture.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-endmark.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-recall.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-session.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-stop.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-token-meter.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/post-compact-context.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/pre-compact-save-transcript.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/ralph-context-pruner.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/ralph-iteration-logger.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/safety-guardrails.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/scrub-internal-ids.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/workflow-context-injector.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/references/map-json-output-contracts.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/references/map-output-examples.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/references/map-xml-prompt-envelopes.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-architecture/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-check/check-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-debug/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/example-rules.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-unconditional.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-with-paths.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-memory-now/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-plan/plan-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-prd-review/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-resume/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-resume/resume-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-review/review-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-skill-eval/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-so-search/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-so-search/scripts/sofa_search.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/check-complete.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/get-plan-path.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/init-session.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/show-focus.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/findings.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/iteration_history.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/progress.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/task_plan.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-task/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-tdd/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-tokenreport/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-understand/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-upgrade/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-wayfind/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-wayfind/wayfind-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/README.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/context-meter.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/end-of-turn.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-capture.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-endmark.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-finalize.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-recall.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-statusline.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-token-meter.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/post-compact-context.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/safety-guardrails.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/scrub-internal-ids.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/workflow-context-injector.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/workflow-gate.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/classify_scope.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/codex_review_host.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/codex_review_runner.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/diagnostics.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_interruption.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_utils.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/review_check_supervisor.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/scrub_internal_ids.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/sofa_client.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/wayfind_runner.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/hook-patterns.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/host-paths.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/rules/learned/README.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/settings.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/README.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-architecture/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-plan/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-prd-review/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-review/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-review/adversarial-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-review/review-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-task/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-understand/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-upgrade/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-wayfind/SKILL.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-wayfind/wayfind-reference.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/workflow-rules.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/.gitignore.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/acceptance-runtime.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/apply-patch-paths.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/auto-update-preflight.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/codex-memory-hook-wrapper.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/manual-upgrade-flow.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/monitor-review-context.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/python-version-guard.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/serial-blocker-repair.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/stale-attribution-recovery.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/vacuous-test-check.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/actor.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/monitor.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/predictor.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/review-reader.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/actor.toml.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/documentation-reviewer.toml.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/evaluator.toml.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/final-verifier.toml.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/predictor.toml.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/reflector.toml.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/review-reader.toml.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/context-meter.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/detect-clarification-triggers.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/end-of-turn.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-capture.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-endmark.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-recall.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-session.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-stop.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-token-meter.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/post-compact-context.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/pre-compact-save-transcript.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/ralph-context-pruner.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/ralph-iteration-logger.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/safety-guardrails.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/scrub-internal-ids.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/workflow-context-injector.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/references/map-json-output-contracts.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/references/map-output-examples.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/references/map-xml-prompt-envelopes.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-architecture/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-auto/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-auto/auto-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-check/check-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-debug/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-learn/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/example-rules.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-memory-now/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-plan/plan-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-prd-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-release/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-release/release-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-resume/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-resume/resume-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-review/adversarial-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-review/review-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-skill-eval/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-so-search/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/check-complete.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/init-session.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/show-focus.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/findings.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/iteration_history.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/progress.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/task_plan.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-task/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-tdd/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-tokenreport/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-understand/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-upgrade/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-wayfind/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/README.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-statusline.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/scrub-internal-ids.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/classify_scope.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/codex_review_host.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/codex_review_runner.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_interruption.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/review_check_supervisor.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/scrub_internal_ids.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/wayfind_runner.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/settings.json.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-architecture/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-prd-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-review/adversarial-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-understand/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-upgrade/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-wayfind/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/token_budget.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/tool_output_offload.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/tools/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/tools/validate_dependencies.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/update_install.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/update_state.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/update_versions.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/verification_recorder.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/workflow_finalizer.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/workflow_logger.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/workflow_state.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/_fake_task_tool.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/conftest.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/fixtures/claude/escalation-matrix.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/fixtures/codex/config.toml +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/fixtures/wave_blueprints.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/hooks/test_detect_clarification_triggers.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/hooks/test_end_of_turn.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/hooks/test_hook_inventory_smoke.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/hooks/test_safety_guardrails.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/hooks/test_scrub_internal_ids_hook.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/blueprint.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/code_review.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/plan_handoff.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/spec.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/step_state_initialized.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/task_plan.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/fixtures/verification_summary.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/test_e2e_artifact_contracts.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/integration/test_e2e_claude_sdk.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/review_context_helpers.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/review_pilot_git_cache.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/review_process_lifecycle.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/README.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/tests/test_compute.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/hidden/test_calc_full.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/tests/test_calc_basic.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/hidden/test_calc_full.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/calc.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/tests/test_calc_basic.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/hidden/test_kvparse_full.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/manifest.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/kvparse.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/tests/test_kvparse_basic.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/config.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/utils.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/tests/test_price.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/config.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/utils.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/tests/test_utils.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/tests/test_semver.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/hidden/test_semver_full.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/semver.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/tests/test_semver_basic.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/hidden/test_semver_full.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/semver.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/tests/test_semver_basic.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/corpus.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/adjudication.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/control-audit.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/manual-run.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/manual-run.log +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/manual_repro.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/review_pilot_error_max_budget.sanitized.json +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/skills_eval/whole_skill/spike_runner.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_acceptance_additive_revision.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_acceptance_additive_revision_review.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_acceptance_proofs.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_agent_cli_correctness.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_agent_dispatch_audit.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_agent_frontmatter.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_agent_memory.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_approval_hold.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_approved_baseline_gate_contract.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_artifact_schemas.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_auto_update.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_boundary_quality_report.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_bump_version.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_classify_scope_script.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_code_map.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_codex_map_review_live.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_codex_review_host.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_codex_review_native.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_compaction_offload_integration.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_concurrent_dispatch_harness.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_context_usefulness.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_cross_ai_config.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_debug_reference_install.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_decomposition.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_dependency_graph.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_diagnostics.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_digest_schema.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_domain_skill.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_file_copier.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_governance_attack_fixtures.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_governance_report.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_grace_eval_schema.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_grace_eval_sweep.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_hook_patterns.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_init_import_graph.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_install_manifest.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_intent_detector.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_inv1_no_anthropic_optimize.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_jinja2_dep.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_managed_file_copier.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_auto.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_interruption.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_orchestrator.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_token_meter.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_map_utils_sanitize.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_mapify_cli.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_capture.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events_compat.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events_exit_status.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events_privacy.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events_review.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_events_tools.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_finalize.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_integration.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_recall.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_memory_review_fixes.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_minimality_eval.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_minimality_report.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_model_invocable_skills.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_monitor_worktree_context.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_mutation_path_normalization.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_orchestrator_acceptance.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_parallelism_observability.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_post_compact_context.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_preset_commands.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_project_config.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_prompt_layering.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_prompt_profile_commands.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_python_version_requirement.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_pyyaml_dep.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_ralph_hooks.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_ralph_response_types.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_ralph_state.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_repair_attribution.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_repair_workflow_gate.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_repo_insight.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_research_eval.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_research_eval_compare.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_resequence_pending.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_attribution_receipts.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_branch_receipts.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_changed_scope.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_check_timeouts.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_context_delivery.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_context_transport.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_corpus.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_explicit_base.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_explicit_base_legacy_override.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_explicit_base_stale_readers.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_finding_validation.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_pending_collection.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_pilot.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_pilot_git_cache.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_process_lifecycle.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_reader_capabilities.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_receipt_edge_cases.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_security_gates.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_trusted_policy.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_review_verdict_ledger.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_role_coverage_receipts.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_runtime_privacy_ignores.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_schemas.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_scope_classifier.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_scrub_internal_ids.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_settings_deny_globs.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_shell_json_pipes.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skill_ir.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_consistency.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_aggregator.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_apply.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_cli_optimize.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_dispatcher_env.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_fixtures.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_optimizer.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_optimizer_isolation.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_proposer.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_runner.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_schema.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_bundle.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_cli.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_gates.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_judge.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_repeated.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_report.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_runner.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_schema.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_skills_eval_viewer.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_slice5b_leak_guards.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_sofa_client.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_sofa_search.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_static_analysis_bash.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_statusline.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_template_render.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_token_budget.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_tool_output_offload.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_unborn_branch_scope.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_update_install.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_update_state.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_update_versions.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_vacuous_test_check.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_validate_dependencies.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_validate_spec_citations.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_verification_recorder.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wave_abort_preservation.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wave_eval_harness.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wave_fixtures.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wave_parallel_harness.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wayfind_install.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wayfind_research.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_wayfind_runner.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_workflow_context_injector.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_workflow_finalizer.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_workflow_gate.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_workflow_logger.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_workflow_state.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_worktree_commit_hooks.py +0 -0
- {mapify_cli-3.35.1 → mapify_cli-3.35.2}/tests/test_worktree_isolation.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: mapify-cli
|
|
3
|
-
Version: 3.35.
|
|
3
|
+
Version: 3.35.2
|
|
4
4
|
Summary: MAP Framework installer - Modular Agentic Planner for Claude Code
|
|
5
5
|
Project-URL: Homepage, https://github.com/azalio/map-framework
|
|
6
6
|
Project-URL: Repository, https://github.com/azalio/map-framework.git
|
|
@@ -26,6 +26,7 @@ Requires-Dist: pytest-asyncio>=0.26.0; extra == 'dev'
|
|
|
26
26
|
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
27
27
|
Requires-Dist: pytest-mock>=3.10.0; extra == 'dev'
|
|
28
28
|
Requires-Dist: pytest-timeout>=2.1.0; extra == 'dev'
|
|
29
|
+
Requires-Dist: pytest-xdist>=3.5.0; extra == 'dev'
|
|
29
30
|
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
30
31
|
Requires-Dist: pyyaml>=6.0.0; extra == 'dev'
|
|
31
32
|
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
@@ -39,6 +40,7 @@ Requires-Dist: pytest-asyncio>=0.26.0; extra == 'test'
|
|
|
39
40
|
Requires-Dist: pytest-cov>=4.0.0; extra == 'test'
|
|
40
41
|
Requires-Dist: pytest-mock>=3.10.0; extra == 'test'
|
|
41
42
|
Requires-Dist: pytest-timeout>=2.1.0; extra == 'test'
|
|
43
|
+
Requires-Dist: pytest-xdist>=3.5.0; extra == 'test'
|
|
42
44
|
Requires-Dist: pytest>=7.0.0; extra == 'test'
|
|
43
45
|
Requires-Dist: pyyaml>=6.0.0; extra == 'test'
|
|
44
46
|
Description-Content-Type: text/markdown
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mapify-cli"
|
|
3
|
-
version = "3.35.
|
|
3
|
+
version = "3.35.2"
|
|
4
4
|
description = "MAP Framework installer - Modular Agentic Planner for Claude Code"
|
|
5
5
|
authors = [{ name = "MAP Framework Contributors" }]
|
|
6
6
|
readme = "README.md"
|
|
@@ -29,6 +29,7 @@ test = [
|
|
|
29
29
|
"pytest-cov>=4.0.0",
|
|
30
30
|
"pytest-mock>=3.10.0",
|
|
31
31
|
"pytest-timeout>=2.1.0",
|
|
32
|
+
"pytest-xdist>=3.5.0",
|
|
32
33
|
"pyyaml>=6.0.0",
|
|
33
34
|
"hypothesis>=6.0.0",
|
|
34
35
|
"jsonschema>=4.0.0",
|
|
@@ -39,6 +40,7 @@ dev = [
|
|
|
39
40
|
"pytest-cov>=4.0.0",
|
|
40
41
|
"pytest-mock>=3.10.0",
|
|
41
42
|
"pytest-timeout>=2.1.0",
|
|
43
|
+
"pytest-xdist>=3.5.0",
|
|
42
44
|
"pyyaml>=6.0.0",
|
|
43
45
|
"hypothesis>=6.0.0",
|
|
44
46
|
"jsonschema>=4.0.0",
|
|
@@ -23,7 +23,7 @@ Or install globally:
|
|
|
23
23
|
mapify check
|
|
24
24
|
"""
|
|
25
25
|
|
|
26
|
-
__version__ = "3.35.
|
|
26
|
+
__version__ = "3.35.2"
|
|
27
27
|
|
|
28
28
|
# MUST stay the first import: it turns "this interpreter is older than 3.11" into
|
|
29
29
|
# a message that says so, instead of the ImportError raised by `from datetime
|
{mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-auto/SKILL.md
RENAMED
|
@@ -72,7 +72,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase "<phase>" "<status>" \
|
|
|
72
72
|
--reason "<why this status>"
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
`<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
|
|
75
|
+
`<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Phase completion and route completion are separate: a `completed` phase closes the chain only when it is the last phase of the selected route -- `map-review` for the multi-phase `map-plan` and `map-efficient` routes, or the route's only phase for the single-phase `map-resume`, `map-check`, and `map-fast` routes. Any earlier `completed` leaves the chain `in_progress` so the next phase is accepted. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
|
|
76
76
|
|
|
77
77
|
**At most one re-entry per phase (HC-2):** `record_auto_phase` mechanically enforces this -- the first record of a phase name is `attempt: 1`, a re-entry is `attempt: 2`, and a third call for the SAME phase name is refused and force-aborts the chain (`chain_status: "aborted"`). Before spending the single permitted re-entry, inspect ground truth -- `git status`/`git diff` and the phase's own `step_state.json` (or equivalent phase artifacts, test output, Monitor verdict) -- to confirm the phase genuinely needs a fresh attempt rather than a partial success being misread as a failure. A second failure of the same phase means STOP and hand off to `$map-resume` -- never attempt a third call for that phase. A chain already `chain_status: "aborted"` or `"blocked"` refuses every further `record_auto_phase` call regardless of phase name; a new `route_task` call is the ONLY legitimate way to continue.
|
|
78
78
|
|
|
@@ -84,8 +84,8 @@ Once routed, drive the selected chain by invoking the existing slash workflows e
|
|
|
84
84
|
route_task -> [map-plan] -> [map-efficient] -> [map-check] -> [map-review]
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
- `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish.
|
|
88
|
-
- `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop.
|
|
87
|
+
- `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish -- the route's only phase closes the chain.
|
|
88
|
+
- `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop. The route stays `chain_status: in_progress` after each intermediate phase completes and closes only when `map-review` completes.
|
|
89
89
|
- Invoke each phase by reading and following its own `SKILL.md` in full, exactly as if the user had typed the corresponding slash command -- do not summarize, skip, or reimplement its internal steps. `$map-auto` never shells out to a separate Claude process, a new Python execution engine, or any other new phase-driving mechanism to do this -- phases are driven ONLY by invoking the existing slash workflows above and the three runner subcommands from Steps 1-3.
|
|
90
90
|
- A `valid=false` Monitor verdict INSIDE a phase is that phase's own hard stop: its owning workflow's existing retry/escalation rules apply unchanged. `$map-auto` never overrides, suppresses, or re-runs past a Monitor rejection on the phase's behalf -- a phase that cannot get past Monitor is a failed phase for the purposes of Step 3's re-entry bound.
|
|
91
91
|
- The autopilot run ends at a committed feature branch. `$map-auto` never opens a pull request, never merges, and never polls CI -- report the committed branch, the phases recorded, and stop.
|
|
@@ -15,7 +15,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase <phase> <status> [--br
|
|
|
15
15
|
|
|
16
16
|
- `route_task <task>` -- `<task>` is the free-text task description (quote it). `--branch` defaults to the current branch. `--dry-run` recommends a route without marking the chain `in_progress` (see Dry-run usage below).
|
|
17
17
|
- `auto_decide_holds` -- no positional arguments; only `--branch` (defaults to current branch).
|
|
18
|
-
- `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
|
|
18
|
+
- `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). A `completed` status closes the chain (`chain_status: "completed"`) only on the LAST phase of the selected route -- `map-review` for multi-phase `map-plan`/`map-efficient` routes, or the single phase of `map-resume`/`map-check`/`map-fast`; a `completed` intermediate phase keeps the chain `in_progress`. `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
|
|
19
19
|
|
|
20
20
|
## Chain Walkthrough Example
|
|
21
21
|
|
|
@@ -35,10 +35,12 @@ $ python3 .map/scripts/map_step_runner.py auto_decide_holds
|
|
|
35
35
|
|
|
36
36
|
$ python3 .map/scripts/map_step_runner.py record_auto_phase "map-efficient" "completed" \
|
|
37
37
|
--evidence-refs "hold-1" --reason "all subtasks closed, make check green"
|
|
38
|
-
{"status": "success", "chain_status": "
|
|
38
|
+
{"status": "success", "chain_status": "in_progress", "phase": "map-efficient", "attempt": 1, ...}
|
|
39
39
|
|
|
40
|
-
# --
|
|
41
|
-
#
|
|
40
|
+
# -- map-efficient is not the last phase of this route: the chain stays
|
|
41
|
+
# in_progress and continues to map-check, then map-review, each following the
|
|
42
|
+
# same poll -> drive -> poll -> record loop. Only map-review completing closes
|
|
43
|
+
# the route (chain_status: "completed") --
|
|
42
44
|
```
|
|
43
45
|
|
|
44
46
|
The run ends there: a committed feature branch, `phases[]` in `auto-route.json` holding one entry per phase attempt, and no PR/merge/CI step of any kind.
|
{mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-release/SKILL.md
RENAMED
|
@@ -71,7 +71,7 @@ Execute all 12 gates. Read the full gate scripts in [release-reference.md § Pha
|
|
|
71
71
|
**Gate summary (full commands in reference):**
|
|
72
72
|
- **Gates 1–4:** `make check` — tests, ruff, mypy, pyright, rendered-template parity
|
|
73
73
|
- **Gates 5–6:** Build + twine check
|
|
74
|
-
- **Gate 7:** Security audit (`pip-audit`)
|
|
74
|
+
- **Gate 7:** Security audit of the project's resolved requirements (`uv export` + `pip-audit -r`)
|
|
75
75
|
- **Gates 8–10:** Git state — main branch, clean working directory, up-to-date with origin
|
|
76
76
|
- **Gate 11:** CI run for `git merge-base HEAD origin/main` must have `conclusion: "success"`; unpushed commits may touch only release metadata
|
|
77
77
|
- **Gate 12:** CHANGELOG.md completeness (Unreleased section exists and has content; commit/entry gap check)
|
|
@@ -35,11 +35,20 @@ uv run --with twine twine check dist/*
|
|
|
35
35
|
### Gate 7: Security Audit
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
set -euo pipefail
|
|
39
|
+
# Audit the project's resolved dependency set, not the runner interpreter.
|
|
40
|
+
REQS_FILE=$(mktemp "${TMPDIR:-/tmp}/mapify-release-reqs.XXXXXX")
|
|
41
|
+
trap 'rm -f "$REQS_FILE"' EXIT
|
|
42
|
+
uv export --all-extras --all-groups --no-hashes --no-emit-project \
|
|
43
|
+
--format requirements-txt > "$REQS_FILE"
|
|
44
|
+
# --no-deps audits exactly the exported pins; --disable-pip stops pip from
|
|
45
|
+
# resolving or mutating the runner environment.
|
|
46
|
+
uvx pip-audit -r "$REQS_FILE" --disable-pip --no-deps
|
|
40
47
|
```
|
|
41
48
|
|
|
42
49
|
**Expected Results:**
|
|
50
|
+
- ✅ `uv export` resolves the project's dependencies (all extras and groups)
|
|
51
|
+
- ✅ `pip-audit` audits the exported pinned requirements, not the runner environment
|
|
43
52
|
- ✅ No known security vulnerabilities in dependencies
|
|
44
53
|
|
|
45
54
|
**If vulnerabilities found:** Assess severity; update dependencies if critical.
|
{mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_step_runner.py
RENAMED
|
@@ -20216,20 +20216,51 @@ _AUTO_ROUTE_NEXT_COMMAND: dict[str, str] = {
|
|
|
20216
20216
|
|
|
20217
20217
|
# /map-auto phase ledger (issue #414): closed status vocabulary for
|
|
20218
20218
|
# record_auto_phase's chain_status transitions. A phase status in
|
|
20219
|
-
# AUTO_PHASE_TERMINAL_SUCCESS_STATUSES completes the
|
|
20220
|
-
#
|
|
20221
|
-
#
|
|
20222
|
-
#
|
|
20223
|
-
#
|
|
20219
|
+
# AUTO_PHASE_TERMINAL_SUCCESS_STATUSES completes the ROUTE only when that
|
|
20220
|
+
# phase is the last phase of the routed chain (see AUTO_ROUTE_PHASE_CHAINS); a
|
|
20221
|
+
# status in AUTO_PHASE_ABORT_STATUSES aborts the chain; any other status
|
|
20222
|
+
# leaves the chain in_progress. These two sets are intentionally NOT required
|
|
20223
|
+
# to partition every possible status string -- callers may pass phase-specific
|
|
20224
|
+
# statuses (e.g. "monitor_rejected") that fall through to in_progress.
|
|
20224
20225
|
AUTO_PHASE_TERMINAL_SUCCESS_STATUSES = frozenset({"completed"})
|
|
20225
20226
|
AUTO_PHASE_ABORT_STATUSES = frozenset({"aborted", "failed"})
|
|
20226
20227
|
|
|
20228
|
+
# /map-auto routed phase chains (issue #621): phase completion and route
|
|
20229
|
+
# completion are separate. A route reaches chain_status="completed" only when
|
|
20230
|
+
# the completed phase is the LAST phase of the chain its selected_route drives.
|
|
20231
|
+
# map-resume, map-check and map-fast are single-phase routes; map-plan and
|
|
20232
|
+
# map-efficient are multi-phase routes that continue through map-check and
|
|
20233
|
+
# close on map-review. Keeping the table beside the terminal-status vocabulary
|
|
20234
|
+
# makes the route/phase split explicit instead of inferring "completed" from
|
|
20235
|
+
# the phase status alone (the #446 regression).
|
|
20236
|
+
AUTO_ROUTE_PHASE_CHAINS: dict[str, tuple[str, ...]] = {
|
|
20237
|
+
"map-resume": ("map-resume",),
|
|
20238
|
+
"map-check": ("map-check",),
|
|
20239
|
+
"map-fast": ("map-fast",),
|
|
20240
|
+
"map-plan": ("map-plan", "map-efficient", "map-check", "map-review"),
|
|
20241
|
+
"map-efficient": ("map-efficient", "map-check", "map-review"),
|
|
20242
|
+
}
|
|
20243
|
+
|
|
20227
20244
|
# Chain-level retry bound: at most ONE re-entry per phase -- attempt 1
|
|
20228
20245
|
# (first record) plus attempt 2 (the single permitted re-entry) are allowed;
|
|
20229
20246
|
# a 3rd record of the same phase name is refused by record_auto_phase.
|
|
20230
20247
|
AUTO_PHASE_MAX_ATTEMPTS = 2
|
|
20231
20248
|
|
|
20232
20249
|
|
|
20250
|
+
def _auto_route_final_phase(route: object) -> str | None:
|
|
20251
|
+
"""Return the last phase of `route`'s chain, or None for an unknown route.
|
|
20252
|
+
|
|
20253
|
+
record_auto_phase uses this to keep "this phase completed" and "the whole
|
|
20254
|
+
route completed" separate (issue #621). A missing or unrecognized route
|
|
20255
|
+
fails closed (returns None), so an unknown route can never be treated as
|
|
20256
|
+
completed by a phase record.
|
|
20257
|
+
"""
|
|
20258
|
+
if not isinstance(route, str):
|
|
20259
|
+
return None
|
|
20260
|
+
chain = AUTO_ROUTE_PHASE_CHAINS.get(route)
|
|
20261
|
+
return chain[-1] if chain else None
|
|
20262
|
+
|
|
20263
|
+
|
|
20233
20264
|
def auto_route_artifact_path(branch: str | None = None) -> Path:
|
|
20234
20265
|
"""Return the branch-scoped /map-auto routing decision artifact path."""
|
|
20235
20266
|
return get_branch_dir(branch) / "auto-route.json"
|
|
@@ -20447,11 +20478,16 @@ def record_auto_phase(
|
|
|
20447
20478
|
|
|
20448
20479
|
On every non-refused call, chain_status transitions from the recorded
|
|
20449
20480
|
`status` using a closed vocabulary (AUTO_PHASE_TERMINAL_SUCCESS_STATUSES
|
|
20450
|
-
-> "completed"
|
|
20451
|
-
"in_progress") and the
|
|
20452
|
-
`
|
|
20453
|
-
|
|
20454
|
-
|
|
20481
|
+
-> "completed" when the phase is the LAST phase of the route's chain,
|
|
20482
|
+
AUTO_PHASE_ABORT_STATUSES -> "aborted", otherwise "in_progress") and the
|
|
20483
|
+
`abort_reason` field is set/cleared to match. Phase completion and route
|
|
20484
|
+
completion are separate: a multi-phase route (map-plan, map-efficient)
|
|
20485
|
+
stays "in_progress" after map-plan/map-efficient/map-check completes and
|
|
20486
|
+
closes only on map-review; a single-phase route (map-resume, map-check,
|
|
20487
|
+
map-fast) closes on its only phase. AUTO_ROUTE_PHASE_CHAINS is the single
|
|
20488
|
+
source for each route's ordered chain. The `auto_route` manifest stage is
|
|
20489
|
+
refreshed on every call (refused or not) so progress is observable outside
|
|
20490
|
+
the artifact, with its status mirroring the resulting chain_status.
|
|
20455
20491
|
|
|
20456
20492
|
`evidence_refs` persists caller-supplied ids (e.g. hold ids
|
|
20457
20493
|
auto-approved by `auto_decide_holds`) in the phase entry, giving every
|
|
@@ -20562,7 +20598,14 @@ def record_auto_phase(
|
|
|
20562
20598
|
artifact["phases"] = phases
|
|
20563
20599
|
|
|
20564
20600
|
if status in AUTO_PHASE_TERMINAL_SUCCESS_STATUSES:
|
|
20565
|
-
|
|
20601
|
+
# Issue #621: a phase completing is not the route completing. Only the
|
|
20602
|
+
# LAST phase of the routed chain closes chain_status; earlier completed
|
|
20603
|
+
# phases keep the chain in_progress so the next phase is accepted
|
|
20604
|
+
# instead of being refused by the terminal-chain guard below.
|
|
20605
|
+
if phase == _auto_route_final_phase(artifact.get("selected_route")):
|
|
20606
|
+
chain_status = "completed"
|
|
20607
|
+
else:
|
|
20608
|
+
chain_status = "in_progress"
|
|
20566
20609
|
elif status in AUTO_PHASE_ABORT_STATUSES:
|
|
20567
20610
|
chain_status = "aborted"
|
|
20568
20611
|
else:
|
|
@@ -74,7 +74,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase "<phase>" "<status>" \
|
|
|
74
74
|
--reason "<why this status>"
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
-
`<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
|
|
77
|
+
`<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Phase completion and route completion are separate: a `completed` phase closes the chain only when it is the last phase of the selected route -- `map-review` for the multi-phase `map-plan` and `map-efficient` routes, or the route's only phase for the single-phase `map-resume`, `map-check`, and `map-fast` routes. Any earlier `completed` leaves the chain `in_progress` so the next phase is accepted. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
|
|
78
78
|
|
|
79
79
|
**At most one re-entry per phase (HC-2):** `record_auto_phase` mechanically enforces this -- the first record of a phase name is `attempt: 1`, a re-entry is `attempt: 2`, and a third call for the SAME phase name is refused and force-aborts the chain (`chain_status: "aborted"`). Before spending the single permitted re-entry, inspect ground truth -- `git status`/`git diff` and the phase's own `step_state.json` (or equivalent phase artifacts, test output, Monitor verdict) -- to confirm the phase genuinely needs a fresh attempt rather than a partial success being misread as a failure. A second failure of the same phase means STOP and hand off to `/map-resume` -- never attempt a third call for that phase. A chain already `chain_status: "aborted"` or `"blocked"` refuses every further `record_auto_phase` call regardless of phase name; a new `route_task` call is the ONLY legitimate way to continue.
|
|
80
80
|
|
|
@@ -86,8 +86,8 @@ Once routed, drive the selected chain by invoking the existing slash workflows e
|
|
|
86
86
|
route_task -> [map-plan] -> [map-efficient] -> [map-check] -> [map-review]
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
-
- `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish.
|
|
90
|
-
- `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop.
|
|
89
|
+
- `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish -- the route's only phase closes the chain.
|
|
90
|
+
- `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop. The route stays `chain_status: in_progress` after each intermediate phase completes and closes only when `map-review` completes.
|
|
91
91
|
- Invoke each phase by reading and following its own `SKILL.md` in full, exactly as if the user had typed the corresponding slash command -- do not summarize, skip, or reimplement its internal steps. `/map-auto` never shells out to a separate Claude process, a new Python execution engine, or any other new phase-driving mechanism to do this -- phases are driven ONLY by invoking the existing slash workflows above and the three runner subcommands from Steps 1-3.
|
|
92
92
|
- A `valid=false` Monitor verdict INSIDE a phase is that phase's own hard stop: its owning workflow's existing retry/escalation rules apply unchanged. `/map-auto` never overrides, suppresses, or re-runs past a Monitor rejection on the phase's behalf -- a phase that cannot get past Monitor is a failed phase for the purposes of Step 3's re-entry bound.
|
|
93
93
|
- The autopilot run ends at a committed feature branch. `/map-auto` never opens a pull request, never merges, and never polls CI -- report the committed branch, the phases recorded, and stop.
|
{mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-auto/auto-reference.md
RENAMED
|
@@ -15,7 +15,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase <phase> <status> [--br
|
|
|
15
15
|
|
|
16
16
|
- `route_task <task>` -- `<task>` is the free-text task description (quote it). `--branch` defaults to the current branch. `--dry-run` recommends a route without marking the chain `in_progress` (see Dry-run usage below).
|
|
17
17
|
- `auto_decide_holds` -- no positional arguments; only `--branch` (defaults to current branch).
|
|
18
|
-
- `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
|
|
18
|
+
- `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). A `completed` status closes the chain (`chain_status: "completed"`) only on the LAST phase of the selected route -- `map-review` for multi-phase `map-plan`/`map-efficient` routes, or the single phase of `map-resume`/`map-check`/`map-fast`; a `completed` intermediate phase keeps the chain `in_progress`. `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
|
|
19
19
|
|
|
20
20
|
## Chain Walkthrough Example
|
|
21
21
|
|
|
@@ -35,10 +35,12 @@ $ python3 .map/scripts/map_step_runner.py auto_decide_holds
|
|
|
35
35
|
|
|
36
36
|
$ python3 .map/scripts/map_step_runner.py record_auto_phase "map-efficient" "completed" \
|
|
37
37
|
--evidence-refs "hold-1" --reason "all subtasks closed, make check green"
|
|
38
|
-
{"status": "success", "chain_status": "
|
|
38
|
+
{"status": "success", "chain_status": "in_progress", "phase": "map-efficient", "attempt": 1, ...}
|
|
39
39
|
|
|
40
|
-
# --
|
|
41
|
-
#
|
|
40
|
+
# -- map-efficient is not the last phase of this route: the chain stays
|
|
41
|
+
# in_progress and continues to map-check, then map-review, each following the
|
|
42
|
+
# same poll -> drive -> poll -> record loop. Only map-review completing closes
|
|
43
|
+
# the route (chain_status: "completed") --
|
|
42
44
|
```
|
|
43
45
|
|
|
44
46
|
The run ends there: a committed feature branch, `phases[]` in `auto-route.json` holding one entry per phase attempt, and no PR/merge/CI step of any kind.
|
{mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-release/SKILL.md
RENAMED
|
@@ -74,7 +74,7 @@ Execute all 12 gates. Read the full gate scripts in [release-reference.md § Pha
|
|
|
74
74
|
**Gate summary (full commands in reference):**
|
|
75
75
|
- **Gates 1–4:** `make check` — tests, ruff, mypy, pyright, rendered-template parity
|
|
76
76
|
- **Gates 5–6:** Build + twine check
|
|
77
|
-
- **Gate 7:** Security audit (`pip-audit`)
|
|
77
|
+
- **Gate 7:** Security audit of the project's resolved requirements (`uv export` + `pip-audit -r`)
|
|
78
78
|
- **Gates 8–10:** Git state — main branch, clean working directory, up-to-date with origin
|
|
79
79
|
- **Gate 11:** CI run for `git merge-base HEAD origin/main` must have `conclusion: "success"`; unpushed commits may touch only release metadata
|
|
80
80
|
- **Gate 12:** CHANGELOG.md completeness (Unreleased section exists and has content; commit/entry gap check)
|
|
@@ -35,11 +35,20 @@ uv run --with twine twine check dist/*
|
|
|
35
35
|
### Gate 7: Security Audit
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
set -euo pipefail
|
|
39
|
+
# Audit the project's resolved dependency set, not the runner interpreter.
|
|
40
|
+
REQS_FILE=$(mktemp "${TMPDIR:-/tmp}/mapify-release-reqs.XXXXXX")
|
|
41
|
+
trap 'rm -f "$REQS_FILE"' EXIT
|
|
42
|
+
uv export --all-extras --all-groups --no-hashes --no-emit-project \
|
|
43
|
+
--format requirements-txt > "$REQS_FILE"
|
|
44
|
+
# --no-deps audits exactly the exported pins; --disable-pip stops pip from
|
|
45
|
+
# resolving or mutating the runner environment.
|
|
46
|
+
uvx pip-audit -r "$REQS_FILE" --disable-pip --no-deps
|
|
40
47
|
```
|
|
41
48
|
|
|
42
49
|
**Expected Results:**
|
|
50
|
+
- ✅ `uv export` resolves the project's dependencies (all extras and groups)
|
|
51
|
+
- ✅ `pip-audit` audits the exported pinned requirements, not the runner environment
|
|
43
52
|
- ✅ No known security vulnerabilities in dependencies
|
|
44
53
|
|
|
45
54
|
**If vulnerabilities found:** Assess severity; update dependencies if critical.
|
|
@@ -19586,20 +19586,51 @@ _AUTO_ROUTE_NEXT_COMMAND: dict[str, str] = {
|
|
|
19586
19586
|
|
|
19587
19587
|
# /map-auto phase ledger (issue #414): closed status vocabulary for
|
|
19588
19588
|
# record_auto_phase's chain_status transitions. A phase status in
|
|
19589
|
-
# AUTO_PHASE_TERMINAL_SUCCESS_STATUSES completes the
|
|
19590
|
-
#
|
|
19591
|
-
#
|
|
19592
|
-
#
|
|
19593
|
-
#
|
|
19589
|
+
# AUTO_PHASE_TERMINAL_SUCCESS_STATUSES completes the ROUTE only when that
|
|
19590
|
+
# phase is the last phase of the routed chain (see AUTO_ROUTE_PHASE_CHAINS); a
|
|
19591
|
+
# status in AUTO_PHASE_ABORT_STATUSES aborts the chain; any other status
|
|
19592
|
+
# leaves the chain in_progress. These two sets are intentionally NOT required
|
|
19593
|
+
# to partition every possible status string -- callers may pass phase-specific
|
|
19594
|
+
# statuses (e.g. "monitor_rejected") that fall through to in_progress.
|
|
19594
19595
|
AUTO_PHASE_TERMINAL_SUCCESS_STATUSES = frozenset({"completed"})
|
|
19595
19596
|
AUTO_PHASE_ABORT_STATUSES = frozenset({"aborted", "failed"})
|
|
19596
19597
|
|
|
19598
|
+
# /map-auto routed phase chains (issue #621): phase completion and route
|
|
19599
|
+
# completion are separate. A route reaches chain_status="completed" only when
|
|
19600
|
+
# the completed phase is the LAST phase of the chain its selected_route drives.
|
|
19601
|
+
# map-resume, map-check and map-fast are single-phase routes; map-plan and
|
|
19602
|
+
# map-efficient are multi-phase routes that continue through map-check and
|
|
19603
|
+
# close on map-review. Keeping the table beside the terminal-status vocabulary
|
|
19604
|
+
# makes the route/phase split explicit instead of inferring "completed" from
|
|
19605
|
+
# the phase status alone (the #446 regression).
|
|
19606
|
+
AUTO_ROUTE_PHASE_CHAINS: dict[str, tuple[str, ...]] = {
|
|
19607
|
+
"map-resume": ("map-resume",),
|
|
19608
|
+
"map-check": ("map-check",),
|
|
19609
|
+
"map-fast": ("map-fast",),
|
|
19610
|
+
"map-plan": ("map-plan", "map-efficient", "map-check", "map-review"),
|
|
19611
|
+
"map-efficient": ("map-efficient", "map-check", "map-review"),
|
|
19612
|
+
}
|
|
19613
|
+
|
|
19597
19614
|
# Chain-level retry bound: at most ONE re-entry per phase -- attempt 1
|
|
19598
19615
|
# (first record) plus attempt 2 (the single permitted re-entry) are allowed;
|
|
19599
19616
|
# a 3rd record of the same phase name is refused by record_auto_phase.
|
|
19600
19617
|
AUTO_PHASE_MAX_ATTEMPTS = 2
|
|
19601
19618
|
|
|
19602
19619
|
|
|
19620
|
+
def _auto_route_final_phase(route: object) -> str | None:
|
|
19621
|
+
"""Return the last phase of `route`'s chain, or None for an unknown route.
|
|
19622
|
+
|
|
19623
|
+
record_auto_phase uses this to keep "this phase completed" and "the whole
|
|
19624
|
+
route completed" separate (issue #621). A missing or unrecognized route
|
|
19625
|
+
fails closed (returns None), so an unknown route can never be treated as
|
|
19626
|
+
completed by a phase record.
|
|
19627
|
+
"""
|
|
19628
|
+
if not isinstance(route, str):
|
|
19629
|
+
return None
|
|
19630
|
+
chain = AUTO_ROUTE_PHASE_CHAINS.get(route)
|
|
19631
|
+
return chain[-1] if chain else None
|
|
19632
|
+
|
|
19633
|
+
|
|
19603
19634
|
def auto_route_artifact_path(branch: str | None = None) -> Path:
|
|
19604
19635
|
"""Return the branch-scoped /map-auto routing decision artifact path."""
|
|
19605
19636
|
return get_branch_dir(branch) / "auto-route.json"
|
|
@@ -19817,11 +19848,16 @@ def record_auto_phase(
|
|
|
19817
19848
|
|
|
19818
19849
|
On every non-refused call, chain_status transitions from the recorded
|
|
19819
19850
|
`status` using a closed vocabulary (AUTO_PHASE_TERMINAL_SUCCESS_STATUSES
|
|
19820
|
-
-> "completed"
|
|
19821
|
-
"in_progress") and the
|
|
19822
|
-
`
|
|
19823
|
-
|
|
19824
|
-
|
|
19851
|
+
-> "completed" when the phase is the LAST phase of the route's chain,
|
|
19852
|
+
AUTO_PHASE_ABORT_STATUSES -> "aborted", otherwise "in_progress") and the
|
|
19853
|
+
`abort_reason` field is set/cleared to match. Phase completion and route
|
|
19854
|
+
completion are separate: a multi-phase route (map-plan, map-efficient)
|
|
19855
|
+
stays "in_progress" after map-plan/map-efficient/map-check completes and
|
|
19856
|
+
closes only on map-review; a single-phase route (map-resume, map-check,
|
|
19857
|
+
map-fast) closes on its only phase. AUTO_ROUTE_PHASE_CHAINS is the single
|
|
19858
|
+
source for each route's ordered chain. The `auto_route` manifest stage is
|
|
19859
|
+
refreshed on every call (refused or not) so progress is observable outside
|
|
19860
|
+
the artifact, with its status mirroring the resulting chain_status.
|
|
19825
19861
|
|
|
19826
19862
|
`evidence_refs` persists caller-supplied ids (e.g. hold ids
|
|
19827
19863
|
auto-approved by `auto_decide_holds`) in the phase entry, giving every
|
|
@@ -19932,7 +19968,14 @@ def record_auto_phase(
|
|
|
19932
19968
|
artifact["phases"] = phases
|
|
19933
19969
|
|
|
19934
19970
|
if status in AUTO_PHASE_TERMINAL_SUCCESS_STATUSES:
|
|
19935
|
-
|
|
19971
|
+
# Issue #621: a phase completing is not the route completing. Only the
|
|
19972
|
+
# LAST phase of the routed chain closes chain_status; earlier completed
|
|
19973
|
+
# phases keep the chain in_progress so the next phase is accepted
|
|
19974
|
+
# instead of being refused by the terminal-chain guard below.
|
|
19975
|
+
if phase == _auto_route_final_phase(artifact.get("selected_route")):
|
|
19976
|
+
chain_status = "completed"
|
|
19977
|
+
else:
|
|
19978
|
+
chain_status = "in_progress"
|
|
19936
19979
|
elif status in AUTO_PHASE_ABORT_STATUSES:
|
|
19937
19980
|
chain_status = "aborted"
|
|
19938
19981
|
else:
|
{mapify_cli-3.35.1 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-auto/SKILL.md.jinja
RENAMED
|
@@ -72,7 +72,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase "<phase>" "<status>" \
|
|
|
72
72
|
--reason "<why this status>"
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
`<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
|
|
75
|
+
`<phase>` is the workflow name being entered/exited (`map-plan`, `map-efficient`, `map-check`, or `map-review`). `<status>` follows the phase's own vocabulary -- use `completed` on a clean phase close and `aborted`/`failed` on a phase you cannot recover; anything else leaves the chain `in_progress`. Phase completion and route completion are separate: a `completed` phase closes the chain only when it is the last phase of the selected route -- `map-review` for the multi-phase `map-plan` and `map-efficient` routes, or the route's only phase for the single-phase `map-resume`, `map-check`, and `map-fast` routes. Any earlier `completed` leaves the chain `in_progress` so the next phase is accepted. Pass every hold id that `auto_decide_holds` auto-approved for this phase in `--evidence-refs`, so the approval is recorded twice: once in the hold's own audit note, once in the phase ledger.
|
|
76
76
|
|
|
77
77
|
**At most one re-entry per phase (HC-2):** `record_auto_phase` mechanically enforces this -- the first record of a phase name is `attempt: 1`, a re-entry is `attempt: 2`, and a third call for the SAME phase name is refused and force-aborts the chain (`chain_status: "aborted"`). Before spending the single permitted re-entry, inspect ground truth -- `git status`/`git diff` and the phase's own `step_state.json` (or equivalent phase artifacts, test output, Monitor verdict) -- to confirm the phase genuinely needs a fresh attempt rather than a partial success being misread as a failure. A second failure of the same phase means STOP and hand off to `<% cmd %>map-resume` -- never attempt a third call for that phase. A chain already `chain_status: "aborted"` or `"blocked"` refuses every further `record_auto_phase` call regardless of phase name; a new `route_task` call is the ONLY legitimate way to continue.
|
|
78
78
|
|
|
@@ -84,8 +84,8 @@ Once routed, drive the selected chain by invoking the existing slash workflows e
|
|
|
84
84
|
route_task -> [map-plan] -> [map-efficient] -> [map-check] -> [map-review]
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
- `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish.
|
|
88
|
-
- `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop.
|
|
87
|
+
- `map-resume`, `map-check`, and `map-fast` routes are single-phase: run the one workflow, record its result with `record_auto_phase`, and finish -- the route's only phase closes the chain.
|
|
88
|
+
- `map-plan` and `map-efficient` routes continue the chain: `map-plan` produces the task plan that `map-efficient` consumes, `map-efficient` implements it, and the chain then continues to `map-check` and `map-review` to close the loop. The route stays `chain_status: in_progress` after each intermediate phase completes and closes only when `map-review` completes.
|
|
89
89
|
- Invoke each phase by reading and following its own `SKILL.md` in full, exactly as if the user had typed the corresponding slash command -- do not summarize, skip, or reimplement its internal steps. `<% cmd %>map-auto` never shells out to a separate Claude process, a new Python execution engine, or any other new phase-driving mechanism to do this -- phases are driven ONLY by invoking the existing slash workflows above and the three runner subcommands from Steps 1-3.
|
|
90
90
|
- A `valid=false` Monitor verdict INSIDE a phase is that phase's own hard stop: its owning workflow's existing retry/escalation rules apply unchanged. `<% cmd %>map-auto` never overrides, suppresses, or re-runs past a Monitor rejection on the phase's behalf -- a phase that cannot get past Monitor is a failed phase for the purposes of Step 3's re-entry bound.
|
|
91
91
|
- The autopilot run ends at a committed feature branch. `<% cmd %>map-auto` never opens a pull request, never merges, and never polls CI -- report the committed branch, the phases recorded, and stop.
|
|
@@ -16,7 +16,7 @@ python3 .map/scripts/map_step_runner.py record_auto_phase <phase> <status> [--br
|
|
|
16
16
|
|
|
17
17
|
- `route_task <task>` -- `<task>` is the free-text task description (quote it). `--branch` defaults to the current branch. `--dry-run` recommends a route without marking the chain `in_progress` (see Dry-run usage below).
|
|
18
18
|
- `auto_decide_holds` -- no positional arguments; only `--branch` (defaults to current branch).
|
|
19
|
-
- `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
|
|
19
|
+
- `record_auto_phase <phase> <status>` -- `<phase>` is the workflow name (`map-plan`, `map-efficient`, `map-check`, `map-review`); `<status>` is the phase's own outcome word (`completed`, `failed`, `aborted`, or any other phase-specific status, which leaves `chain_status` at `in_progress`). A `completed` status closes the chain (`chain_status: "completed"`) only on the LAST phase of the selected route -- `map-review` for multi-phase `map-plan`/`map-efficient` routes, or the single phase of `map-resume`/`map-check`/`map-fast`; a `completed` intermediate phase keeps the chain `in_progress`. `--evidence-refs` takes a comma-separated list of ids (auto-approved hold ids from the surrounding `auto_decide_holds` calls); `--reason` is a free-text note stored on the ledger entry.
|
|
20
20
|
|
|
21
21
|
## Chain Walkthrough Example
|
|
22
22
|
|
|
@@ -36,10 +36,12 @@ $ python3 .map/scripts/map_step_runner.py auto_decide_holds
|
|
|
36
36
|
|
|
37
37
|
$ python3 .map/scripts/map_step_runner.py record_auto_phase "map-efficient" "completed" \
|
|
38
38
|
--evidence-refs "hold-1" --reason "all subtasks closed, make check green"
|
|
39
|
-
{"status": "success", "chain_status": "
|
|
39
|
+
{"status": "success", "chain_status": "in_progress", "phase": "map-efficient", "attempt": 1, ...}
|
|
40
40
|
|
|
41
|
-
# --
|
|
42
|
-
#
|
|
41
|
+
# -- map-efficient is not the last phase of this route: the chain stays
|
|
42
|
+
# in_progress and continues to map-check, then map-review, each following the
|
|
43
|
+
# same poll -> drive -> poll -> record loop. Only map-review completing closes
|
|
44
|
+
# the route (chain_status: "completed") --
|
|
43
45
|
```
|
|
44
46
|
|
|
45
47
|
The run ends there: a committed feature branch, `phases[]` in `auto-route.json` holding one entry per phase attempt, and no PR/merge/CI step of any kind.
|
|
@@ -72,7 +72,7 @@ Execute all 12 gates. Read the full gate scripts in [release-reference.md § Pha
|
|
|
72
72
|
**Gate summary (full commands in reference):**
|
|
73
73
|
- **Gates 1–4:** `make check` — tests, ruff, mypy, pyright, rendered-template parity
|
|
74
74
|
- **Gates 5–6:** Build + twine check
|
|
75
|
-
- **Gate 7:** Security audit (`pip-audit`)
|
|
75
|
+
- **Gate 7:** Security audit of the project's resolved requirements (`uv export` + `pip-audit -r`)
|
|
76
76
|
- **Gates 8–10:** Git state — main branch, clean working directory, up-to-date with origin
|
|
77
77
|
- **Gate 11:** CI run for `git merge-base HEAD origin/main` must have `conclusion: "success"`; unpushed commits may touch only release metadata
|
|
78
78
|
- **Gate 12:** CHANGELOG.md completeness (Unreleased section exists and has content; commit/entry gap check)
|
|
@@ -36,11 +36,20 @@ uv run --with twine twine check dist/*
|
|
|
36
36
|
### Gate 7: Security Audit
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
set -euo pipefail
|
|
40
|
+
# Audit the project's resolved dependency set, not the runner interpreter.
|
|
41
|
+
REQS_FILE=$(mktemp "${TMPDIR:-/tmp}/mapify-release-reqs.XXXXXX")
|
|
42
|
+
trap 'rm -f "$REQS_FILE"' EXIT
|
|
43
|
+
uv export --all-extras --all-groups --no-hashes --no-emit-project \
|
|
44
|
+
--format requirements-txt > "$REQS_FILE"
|
|
45
|
+
# --no-deps audits exactly the exported pins; --disable-pip stops pip from
|
|
46
|
+
# resolving or mutating the runner environment.
|
|
47
|
+
uvx pip-audit -r "$REQS_FILE" --disable-pip --no-deps
|
|
41
48
|
```
|
|
42
49
|
|
|
43
50
|
**Expected Results:**
|
|
51
|
+
- ✅ `uv export` resolves the project's dependencies (all extras and groups)
|
|
52
|
+
- ✅ `pip-audit` audits the exported pinned requirements, not the runner environment
|
|
44
53
|
- ✅ No known security vulnerabilities in dependencies
|
|
45
54
|
|
|
46
55
|
**If vulnerabilities found:** Assess severity; update dependencies if critical.
|
|
@@ -468,6 +468,10 @@ def test_existing_lock_dir_mode_enforced(
|
|
|
468
468
|
|
|
469
469
|
lock_root = tmp_path / ".map" / "locks"
|
|
470
470
|
lock_root.mkdir(mode=0o755, parents=True) # too permissive
|
|
471
|
+
# mkdir(mode=...) is filtered through the process umask, so a restrictive
|
|
472
|
+
# umask (e.g. 0o077) would create 0o700 and fail the precondition below.
|
|
473
|
+
# Set the broad mode explicitly to keep the test's intent umask-independent.
|
|
474
|
+
os.chmod(str(lock_root), 0o755)
|
|
471
475
|
# Verify the broad mode is actually in place before we call.
|
|
472
476
|
pre_mode = os.stat(str(lock_root)).st_mode & 0o777
|
|
473
477
|
assert pre_mode == 0o755, f"Setup precondition failed: {oct(pre_mode)}"
|