mapify-cli 3.35.0__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.0 → mapify_cli-3.35.2}/PKG-INFO +4 -2
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/README.md +1 -1
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/pyproject.toml +5 -1
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/__init__.py +1 -1
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/schemas.py +8 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/review-reader.toml +3 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-auto/SKILL.md +3 -3
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-auto/auto-reference.md +6 -4
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-release/SKILL.md +1 -1
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-release/release-reference.md +11 -2
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md +39 -125
- mapify_cli-3.35.2/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +110 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-review/review-reference.md +22 -2
- mapify_cli-3.35.2/src/mapify_cli/templates/map/scripts/codex_review_host.py +381 -0
- mapify_cli-3.35.2/src/mapify_cli/templates/map/scripts/codex_review_runner.py +335 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_step_runner.py +271 -52
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-auto/SKILL.md +3 -3
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-auto/auto-reference.md +6 -4
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-release/SKILL.md +1 -1
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-release/release-reference.md +11 -2
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-review/review-reference.md +10 -2
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/review-reader.toml.jinja +3 -0
- mapify_cli-3.35.2/src/mapify_cli/templates_src/map/scripts/codex_review_host.py.jinja +381 -0
- mapify_cli-3.35.2/src/mapify_cli/templates_src/map/scripts/codex_review_runner.py.jinja +313 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +271 -52
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-auto/SKILL.md.jinja +3 -3
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-auto/auto-reference.md.jinja +6 -4
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +1 -1
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-release/release-reference.md.jinja +11 -2
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +59 -9
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-review/adversarial-reference.md.jinja +24 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +26 -2
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_agent_dispatch_audit.py +4 -3
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_codex_map_review_live.py +20 -47
- mapify_cli-3.35.2/tests/test_codex_review_host.py +337 -0
- mapify_cli-3.35.2/tests/test_codex_review_native.py +90 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_locking.py +4 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_map_step_runner.py +125 -13
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_release_ci_gates.py +127 -0
- mapify_cli-3.35.2/tests/test_review_changed_scope.py +251 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_context_transport.py +9 -4
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_explicit_base.py +4 -2
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_reader_capabilities.py +9 -2
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_security_gates.py +20 -9
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_verdict_ledger.py +18 -1
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills.py +26 -46
- mapify_cli-3.35.0/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +0 -192
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/.claude/hooks/README.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/.claude/skills/README.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/.gitignore +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/LICENSE +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/__main__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/_locking.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/_python_guard.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/auto_update.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/boundary_quality_report.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/cli_ui.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/code_map.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/codex_exec.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/config/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/config/mcp.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/config/project_config.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/config/settings.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/delivery/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/delivery/agent_generator.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/delivery/codex_copier.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/delivery/domain_skill.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/delivery/file_copier.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/delivery/governance_report.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/delivery/managed_file_copier.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/delivery/providers.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/delivery/template_renderer.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/dependency_graph.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/grace_eval/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/grace_eval/schema.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/grace_eval/sweep.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/install_manifest.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/intent_detector.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/memory/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/memory/capture.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/memory/digest_schema.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/memory/evidence.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/memory/finalize.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/memory/recall.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/minimality_eval.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/minimality_report.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/parallelism_observability.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/provider_registry.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/python_runtime.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/ralph_state.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/repo_insight.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/research_eval.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/research_eval_compare.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/scope_classifier.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skill_ir.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/aggregator.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/apply_patcher.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/assertions.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/description_optimizer.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/dispatcher.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/eval_schema.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/proposer.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/review_corpus.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/review_pilot.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/runner.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/bundle.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/dispatcher.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/eval_schema.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/gates.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/judge.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/repeated.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/report.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/runner.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/trajectory/seeding.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/skills_eval/viewer.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/.gitignore +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/CLAUDE.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/actor.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/evaluator.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/monitor.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/predictor.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/reflector.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/research-agent.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/review-reader.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/actor.toml +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/documentation-reviewer.toml +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/evaluator.toml +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/final-verifier.toml +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/monitor.toml +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/predictor.toml +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/reflector.toml +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/researcher.toml +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/config.toml +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/context-meter.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/detect-clarification-triggers.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/end-of-turn.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-capture.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-endmark.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-recall.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-memory-session.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-stop.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/map-token-meter.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/post-compact-context.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/pre-compact-save-transcript.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/ralph-context-pruner.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/ralph-iteration-logger.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/safety-guardrails.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/scrub-internal-ids.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/workflow-context-injector.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/hooks.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/references/map-json-output-contracts.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/references/map-output-examples.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/references/map-xml-prompt-envelopes.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-architecture/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-check/check-reference.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-debug/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/example-rules.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-unconditional.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-with-paths.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-memory-now/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-plan/plan-reference.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-prd-review/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-resume/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-resume/resume-reference.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-skill-eval/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-so-search/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-so-search/scripts/sofa_search.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/check-complete.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/get-plan-path.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/init-session.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/show-focus.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/findings.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/iteration_history.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/progress.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-state/templates/task_plan.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-task/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-tdd/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-tokenreport/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-understand/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-upgrade/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-wayfind/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-wayfind/wayfind-reference.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/README.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/context-meter.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/end-of-turn.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-capture.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-endmark.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-finalize.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-memory-recall.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-statusline.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/map-token-meter.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/post-compact-context.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/safety-guardrails.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/scrub-internal-ids.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/workflow-context-injector.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/hooks/workflow-gate.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/classify_scope.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/diagnostics.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_interruption.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/map_utils.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/review_check_supervisor.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/scrub_internal_ids.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/sofa_client.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/scripts/wayfind_runner.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/hook-patterns.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/host-paths.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/rules/learned/README.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/settings.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/README.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-architecture/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-plan/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-prd-review/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-review/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-review/adversarial-reference.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-task/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-understand/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-upgrade/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-wayfind/SKILL.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/map-wayfind/wayfind-reference.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/workflow-rules.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/.gitignore.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/acceptance-runtime.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/apply-patch-paths.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/auto-update-preflight.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/codex-memory-hook-wrapper.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/manual-upgrade-flow.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/monitor-review-context.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/python-version-guard.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/serial-blocker-repair.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/stale-attribution-recovery.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/_partials/vacuous-test-check.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/actor.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/monitor.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/predictor.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/review-reader.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/actor.toml.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/documentation-reviewer.toml.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/evaluator.toml.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/final-verifier.toml.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/predictor.toml.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/reflector.toml.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/context-meter.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/detect-clarification-triggers.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/end-of-turn.sh.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-capture.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-endmark.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-recall.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-session.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-stop.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/map-token-meter.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/post-compact-context.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/pre-compact-save-transcript.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/ralph-context-pruner.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/ralph-iteration-logger.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/safety-guardrails.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/scrub-internal-ids.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/workflow-context-injector.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/references/map-json-output-contracts.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/references/map-output-examples.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/references/map-xml-prompt-envelopes.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-architecture/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-auto/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-auto/auto-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-check/check-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-debug/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-learn/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-memory-now/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-plan/plan-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-prd-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-release/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-release/release-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-resume/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-resume/resume-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-review/adversarial-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-review/review-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-skill-eval/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-so-search/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → 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.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/findings.md.jinja +0 -0
- {mapify_cli-3.35.0 → 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.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/progress.md.jinja +0 -0
- {mapify_cli-3.35.0 → 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.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-task/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-tdd/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-tokenreport/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-understand/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-upgrade/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-wayfind/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/codex/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/README.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-statusline.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/scrub-internal-ids.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/classify_scope.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_interruption.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/review_check_supervisor.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/scrub_internal_ids.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/scripts/wayfind_runner.py.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/settings.json.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-architecture/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
- {mapify_cli-3.35.0 → 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.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-prd-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → 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.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
- {mapify_cli-3.35.0 → 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.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-understand/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-upgrade/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-wayfind/SKILL.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/token_budget.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/tool_output_offload.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/tools/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/tools/validate_dependencies.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/update_install.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/update_state.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/update_versions.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/verification_recorder.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/workflow_finalizer.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/workflow_logger.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/workflow_state.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/_fake_task_tool.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/conftest.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/fixtures/claude/escalation-matrix.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/fixtures/codex/config.toml +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/fixtures/wave_blueprints.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/hooks/test_detect_clarification_triggers.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/hooks/test_end_of_turn.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/hooks/test_hook_inventory_smoke.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/hooks/test_safety_guardrails.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/hooks/test_scrub_internal_ids_hook.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/integration/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/integration/fixtures/blueprint.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/integration/fixtures/code_review.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/integration/fixtures/plan_handoff.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/integration/fixtures/spec.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/integration/fixtures/step_state_initialized.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/integration/fixtures/task_plan.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/integration/fixtures/verification_summary.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/integration/test_e2e_artifact_contracts.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/integration/test_e2e_claude_sdk.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/review_context_helpers.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/review_pilot_git_cache.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/review_process_lifecycle.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/README.md +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → 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.0 → 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.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/manifest.json +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → 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.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → 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.0 → 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.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → 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.0 → 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.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → 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.0 → 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.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
- {mapify_cli-3.35.0 → 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.0 → 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.0 → 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.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/corpus.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/adjudication.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/control-audit.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/manual-run.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/manual-run.log +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/review_corpus/evidence/manual_repro.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/review_pilot_error_max_budget.sanitized.json +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/skills_eval/whole_skill/spike_runner.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_acceptance_additive_revision.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_acceptance_additive_revision_review.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_acceptance_proofs.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_agent_cli_correctness.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_agent_frontmatter.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_agent_memory.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_approval_hold.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_approved_baseline_gate_contract.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_artifact_schemas.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_auto_update.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_boundary_quality_report.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_bump_version.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_classify_scope_script.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_code_map.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_compaction_offload_integration.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_concurrent_dispatch_harness.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_context_usefulness.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_cross_ai_config.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_debug_reference_install.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_decomposition.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_dependency_graph.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_diagnostics.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_digest_schema.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_domain_skill.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_file_copier.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_governance_attack_fixtures.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_governance_report.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_grace_eval_schema.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_grace_eval_sweep.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_hook_patterns.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_init_import_graph.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_install_manifest.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_intent_detector.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_inv1_no_anthropic_optimize.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_jinja2_dep.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_managed_file_copier.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_map_auto.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_map_interruption.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_map_orchestrator.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_map_token_meter.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_map_utils_sanitize.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_mapify_cli.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_memory_capture.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_memory_events.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_memory_events_compat.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_memory_events_exit_status.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_memory_events_privacy.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_memory_events_review.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_memory_events_tools.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_memory_finalize.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_memory_integration.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_memory_recall.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_memory_review_fixes.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_minimality_eval.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_minimality_report.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_model_invocable_skills.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_monitor_worktree_context.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_mutation_path_normalization.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_orchestrator_acceptance.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_parallelism_observability.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_post_compact_context.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_preset_commands.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_project_config.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_prompt_layering.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_prompt_profile_commands.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_python_version_requirement.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_pyyaml_dep.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_ralph_hooks.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_ralph_response_types.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_ralph_state.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_repair_attribution.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_repair_workflow_gate.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_repo_insight.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_research_eval.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_research_eval_compare.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_resequence_pending.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_attribution_receipts.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_branch_receipts.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_check_timeouts.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_context_delivery.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_corpus.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_explicit_base_legacy_override.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_explicit_base_stale_readers.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_finding_validation.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_pending_collection.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_pilot.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_pilot_git_cache.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_process_lifecycle.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_receipt_edge_cases.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_review_trusted_policy.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_role_coverage_receipts.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_runtime_privacy_ignores.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_schemas.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_scope_classifier.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_scrub_internal_ids.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_settings_deny_globs.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_shell_json_pipes.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skill_ir.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_consistency.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_aggregator.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_apply.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_cli_optimize.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_dispatcher_env.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_fixtures.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_optimizer.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_optimizer_isolation.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_proposer.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_runner.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_schema.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_bundle.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_cli.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_gates.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_judge.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_repeated.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_report.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_runner.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_trajectory_schema.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_skills_eval_viewer.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_slice5b_leak_guards.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_sofa_client.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_sofa_search.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_static_analysis_bash.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_statusline.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_template_render.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_token_budget.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_tool_output_offload.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_unborn_branch_scope.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_update_install.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_update_state.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_update_versions.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_vacuous_test_check.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_validate_dependencies.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_validate_spec_citations.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_verification_recorder.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_wave_abort_preservation.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_wave_eval_harness.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_wave_fixtures.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_wave_parallel_harness.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_wayfind_install.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_wayfind_research.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_wayfind_runner.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_workflow_context_injector.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_workflow_finalizer.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_workflow_gate.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_workflow_logger.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_workflow_state.py +0 -0
- {mapify_cli-3.35.0 → mapify_cli-3.35.2}/tests/test_worktree_commit_hooks.py +0 -0
- {mapify_cli-3.35.0 → 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
|
|
@@ -236,7 +238,7 @@ The DevOpsConf 2026 case study applies this process to a production Kubernetes P
|
|
|
236
238
|
|
|
237
239
|
For stacked PRs, use `/map-review --base-ref runtime` (Codex: `$map-review --base-ref runtime`) to review only the child branch's changes against its parent's merge-base, including dirty work. Trusted review policy still comes from the default branch.
|
|
238
240
|
|
|
239
|
-
|
|
241
|
+
`/map-review` requires coverage of changed paths against the selected base, including local edits. Unchanged repository files remain optional, snapshot-bound dependency context. Codex `$map-review` uses a runner-owned app-server connection to deliver evidence directly to independent readers; the parent no longer copies every chunk. Interrupted collection resumes its saved threads and offsets. Runtime host probes, intact delivery acknowledgments and post-delivery finalization tokens are required before a Codex review can complete; the legacy native reader remains unverified.
|
|
240
242
|
|
|
241
243
|
[Detailed usage and options →](docs/USAGE.md)
|
|
242
244
|
|
|
@@ -191,7 +191,7 @@ The DevOpsConf 2026 case study applies this process to a production Kubernetes P
|
|
|
191
191
|
|
|
192
192
|
For stacked PRs, use `/map-review --base-ref runtime` (Codex: `$map-review --base-ref runtime`) to review only the child branch's changes against its parent's merge-base, including dirty work. Trusted review policy still comes from the default branch.
|
|
193
193
|
|
|
194
|
-
|
|
194
|
+
`/map-review` requires coverage of changed paths against the selected base, including local edits. Unchanged repository files remain optional, snapshot-bound dependency context. Codex `$map-review` uses a runner-owned app-server connection to deliver evidence directly to independent readers; the parent no longer copies every chunk. Interrupted collection resumes its saved threads and offsets. Runtime host probes, intact delivery acknowledgments and post-delivery finalization tokens are required before a Codex review can complete; the legacy native reader remains unverified.
|
|
195
195
|
|
|
196
196
|
[Detailed usage and options →](docs/USAGE.md)
|
|
197
197
|
|
|
@@ -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",
|
|
@@ -114,6 +116,8 @@ exclude = [
|
|
|
114
116
|
# that otherwise ignores .venv and spuriously reports unresolved imports).
|
|
115
117
|
venvPath = "."
|
|
116
118
|
venv = ".venv"
|
|
119
|
+
# Installed runtime scripts import their siblings when invoked directly.
|
|
120
|
+
extraPaths = ["src/mapify_cli/templates/map/scripts"]
|
|
117
121
|
exclude = [
|
|
118
122
|
"**/node_modules",
|
|
119
123
|
"**/__pycache__",
|
|
@@ -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
|
|
@@ -1426,6 +1426,14 @@ REVIEW_BUNDLE_SCHEMA = {
|
|
|
1426
1426
|
"files": {"type": "array", "items": {"type": "object"}},
|
|
1427
1427
|
}, "required": ["status", "files"], "additionalProperties": True,
|
|
1428
1428
|
},
|
|
1429
|
+
"context_artifacts": {
|
|
1430
|
+
"type": "object", "additionalProperties": {
|
|
1431
|
+
"type": "array", "items": {
|
|
1432
|
+
"type": "object", "properties": {"path": {"type": "string"}, "content": {"type": "string"}},
|
|
1433
|
+
"required": ["path", "content"], "additionalProperties": False,
|
|
1434
|
+
},
|
|
1435
|
+
},
|
|
1436
|
+
},
|
|
1429
1437
|
"generated_at": {"type": "string"},
|
|
1430
1438
|
"artifacts": {
|
|
1431
1439
|
"type": "object",
|
{mapify_cli-3.35.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/agents/review-reader.toml
RENAMED
|
@@ -3,6 +3,9 @@ description = "Shell-free MAP reviewer using runner-supplied source evidence"
|
|
|
3
3
|
sandbox_mode = "read-only"
|
|
4
4
|
|
|
5
5
|
developer_instructions = """
|
|
6
|
+
Dispatch status: optional legacy native reader; unverified and unable to approve.
|
|
7
|
+
The supported /map-review path uses codex_review_runner.py environment-free threads.
|
|
8
|
+
|
|
6
9
|
You are an independent reviewer, never an executor or editor. Follow the role,
|
|
7
10
|
quality rubric, evidence requirements and output schema in the generated prompt
|
|
8
11
|
exactly: Monitor correctness/security/testing, Predictor integration/reachability,
|
{mapify_cli-3.35.0 → 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.0 → 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.0 → mapify_cli-3.35.2}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md
RENAMED
|
@@ -25,7 +25,7 @@ parallel_tool_policy: single_review_fanout
|
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
- Use deeper reasoning for verdicts, risk ranking, section tradeoffs, and contradictory reviewer evidence.
|
|
28
|
-
- Use
|
|
28
|
+
- Use one runner invocation after bundle preparation; it collects independent reviewer threads in order and owns recovery. Do not launch an additional native fan-out.
|
|
29
29
|
- Wait for all reviewer agents before section presentation. Do not parallelize interactive decisions, ordering comparisons that share state, or review-bundle writes.
|
|
30
30
|
|
|
31
31
|
## Flags
|
|
@@ -52,7 +52,9 @@ parallel_tool_policy: single_review_fanout
|
|
|
52
52
|
7. **Monitor `valid=false` requires verification, not immediate publication** — Step A.3 verifies evidence and bug-introduced-here BEFORE Phase B. Bare claims become `needs_investigation`, not published issues.
|
|
53
53
|
8. Present options neutrally as A/B/C. Append `(Recommended)` after the option label, not by position.
|
|
54
54
|
|
|
55
|
-
**Codex
|
|
55
|
+
**Codex collection:** the supported driver owns captures and continuation; the skill
|
|
56
|
+
has no shell-expanded capture targets. Normal workflow-state and snapshot gates
|
|
57
|
+
remain authoritative. Do not bypass a host or workflow denial.
|
|
56
58
|
|
|
57
59
|
## Review Preferences (Customize per project)
|
|
58
60
|
|
|
@@ -337,129 +339,47 @@ if [ "$DETACHED_FLAG" = "true" ]; then
|
|
|
337
339
|
fi
|
|
338
340
|
```
|
|
339
341
|
|
|
340
|
-
If `DETACHED_STATUS` is `success`,
|
|
342
|
+
If `DETACHED_STATUS` is `success`, retain the detached tree for operator inspection; the driver still serves only the admitted immutable resources. If status is `unavailable` or `error`, announce `$DETACHED_REASON` and continue in place. Do not mutate the source branch.
|
|
341
343
|
|
|
342
344
|
### Step A.1d: Prepare compare-mode ordering (optional, `--compare-orderings` only)
|
|
343
345
|
|
|
344
346
|
When compare mode is active, run two review collections with `ordering_label='default'` and `ordering_label='reverse'`, then call `compare-review-runs` and `record-review-ordering` to stage the drift summary. See [review-reference.md](review-reference.md#compare-orderings) for the detailed loop.
|
|
345
347
|
|
|
346
|
-
On Codex,
|
|
348
|
+
On Codex, one driver invocation collects both orderings with separate persisted native threads. Rerunning it resumes unfinished threads and reuses intact completed captures.
|
|
347
349
|
|
|
348
|
-
### Step A.2:
|
|
349
|
-
Before launching agents, build the reviewer prompts with `build_review_prompts`. Evidence is NOT truncated. The admitted immutable bundle backs a compact initial prompt and parent-served resources; large original prompts, full file inventory and permitted base/current sources arrive in chunks through Step A.2a. `MAP_REVIEW_PROMPT_BUDGET_TOKENS` is informational and clips nothing. The 512 KiB limit still applies to each initial prompt and serialized context response. On a builder error, stop dispatch and report the reason; never bypass admission or remove evidence to fit.
|
|
350
|
+
### Step A.2: Collect reviewer reports
|
|
350
351
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
printf '%s' "$REVIEW_PROMPTS_JSON" | python3 -c 'import json,sys; d=json.load(sys.stdin); sys.exit(0 if d.get("status") == "success" else json.dumps(d, indent=2))' || exit 1
|
|
355
|
-
MONITOR_PROMPT=$(printf '%s' "$REVIEW_PROMPTS_JSON" | python3 -c 'import json,sys; print(json.load(sys.stdin)["prompts"]["monitor"]["prompt"])')
|
|
356
|
-
PREDICTOR_PROMPT=$(printf '%s' "$REVIEW_PROMPTS_JSON" | python3 -c 'import json,sys; print(json.load(sys.stdin)["prompts"]["predictor"]["prompt"])')
|
|
357
|
-
EVALUATOR_PROMPT=$(printf '%s' "$REVIEW_PROMPTS_JSON" | python3 -c 'import json,sys; print(json.load(sys.stdin)["prompts"]["evaluator"]["prompt"])')
|
|
358
|
-
COMPLEXITY_LENS_PROMPT=$(printf '%s' "$REVIEW_PROMPTS_JSON" | python3 -c 'import json,sys; data=json.load(sys.stdin); print(data.get("prompts",{}).get("complexity_lens",{}).get("prompt", ""))')
|
|
359
|
-
COMPLEXITY_LENS_ENABLED=$(printf '%s' "$REVIEW_PROMPTS_JSON" | python3 -c 'import json,sys; data=json.load(sys.stdin); print("true" if data.get("prompts",{}).get("complexity_lens") else "false")')
|
|
360
|
-
USER_EXPERIENCE_PROMPT=$(printf '%s' "$REVIEW_PROMPTS_JSON" | python3 -c 'import json,sys; print(json.load(sys.stdin)["prompts"]["user_experience"]["prompt"])')
|
|
361
|
-
SECURITY_PROMPT=$(printf '%s' "$REVIEW_PROMPTS_JSON" | python3 -c 'import json,sys; print(json.load(sys.stdin).get("prompts", {}).get("security", {}).get("prompt", ""))')
|
|
362
|
-
MAINTAINER_PROMPT=$(printf '%s' "$REVIEW_PROMPTS_JSON" | python3 -c 'import json,sys; print(json.load(sys.stdin)["prompts"]["maintainer"]["prompt"])')
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
Use the extracted prompt variables as the spawn_agent messages. Keep reviewer spawn calls below the bundle and prompt-builder commands.
|
|
366
|
-
|
|
367
|
-
```text
|
|
368
|
-
spawn_agent(agent_type="review-reader", task_name="map_review_monitor_<n>", message=MONITOR_PROMPT)
|
|
369
|
-
spawn_agent(agent_type="review-reader", task_name="map_review_predictor_<n>", message=PREDICTOR_PROMPT)
|
|
370
|
-
spawn_agent(agent_type="review-reader", task_name="map_review_evaluator_<n>", message=EVALUATOR_PROMPT)
|
|
371
|
-
spawn_agent(agent_type="review-reader", task_name="map_review_user_experience_<n>", message=USER_EXPERIENCE_PROMPT)
|
|
372
|
-
spawn_agent(agent_type="review-reader", task_name="map_review_maintainer_<n>", message=MAINTAINER_PROMPT)
|
|
373
|
-
If security is in admitted roster: spawn_agent(agent_type="review-reader", task_name="map_review_security_<n>", message=SECURITY_PROMPT)
|
|
374
|
-
If COMPLEXITY_LENS_ENABLED=true: spawn_agent(agent_type="review-reader", task_name="map_review_complexity_lens_<n>", message=COMPLEXITY_LENS_PROMPT)
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
Codex dispatch rules:
|
|
378
|
-
|
|
379
|
-
- `<n>` increments on every dispatch in the run (including the Step A.2b truncation retry and the second `--compare-orderings` collection), so every call gets a unique `task_name`.
|
|
380
|
-
- Each call sends its generated prompt as `message`, plus a reminder that the reviewer is read-only and may return intermediate `context_request` JSON before its required final output.
|
|
381
|
-
- Wait for all dispatched reviewers and map each final JSON back to its role variable (`MONITOR_OUTPUT`, `PREDICTOR_OUTPUT`, `EVALUATOR_OUTPUT`, `USER_EXPERIENCE_OUTPUT`, `MAINTAINER_OUTPUT`, `SECURITY_OUTPUT`, and `COMPLEXITY_LENS_OUTPUT` when enabled).
|
|
382
|
-
- If concurrency is unavailable, make the same calls sequentially.
|
|
383
|
-
- Never replace independent review with parent-session personas.
|
|
384
|
-
- Every reviewer uses `review-reader`; the generated role prompt supplies its complete role protocol, rubric and schema. Do not route through general-purpose or execution-capable profiles.
|
|
385
|
-
- `capability_enforcement=unverified`: shell/delegation disabling settings and read-only sandbox are defense in depth, not runtime proof of no writes/native read-search. Continue review and finding publication from source content in the runner bundle; the result is INCOMPLETE and cannot approve. Never disable the whole Codex review or silently restore shell (#526).
|
|
386
|
-
|
|
387
|
-
Role reviewers remain isolated; follow the access and attribution rules in [Parent-served context loop](review-reference.md#parent-served-context-loop-step-a2a).
|
|
388
|
-
|
|
389
|
-
Reviewer prompts reference `review-bundle.json`, `review-bundle.md`, the raw diff as secondary context, and the expected output schema.
|
|
390
|
-
|
|
391
|
-
When enabled (`minimality != off`), the complexity lens is advisory only. It lists over-engineering as `delete:`, `stdlib:`, `native:`, `yagni:`, or `shrink:` findings, ends with `net: -<N> lines possible.` or `Lean already. Ship.`, samples `map:simplification:` marker claims, and never feeds Actor retries or verdict gates.
|
|
392
|
-
|
|
393
|
-
### Step A.2a: Deliver requested context to the same reviewer (MANDATORY)
|
|
394
|
-
|
|
395
|
-
Before final JSON validation, follow [Parent-served context loop](review-reference.md#parent-served-context-loop-step-a2a): run `serve_review_context` for every response, including retries, adversarial roles and the complexity lens. Continue the same agent for `context_response`; responses to the post-delivery finalization request proceed to Step A.2b even with missing or invalid receipts. Discard queued early finals; context requests never consume final-response retries or become captured reviews. Denied/stale context leaves collection incomplete.
|
|
396
|
-
|
|
397
|
-
### Step A.2b: Truncated-response gate (MANDATORY — post-fan-out, pre-verification)
|
|
398
|
-
|
|
399
|
-
After Step A.2a identifies a final response, pipe it on stdin (a bare call returns
|
|
400
|
-
`status:"no_input"`, not a pass):
|
|
401
|
-
`printf '%s' "$RESPONSE" | python3 .map/scripts/map_step_runner.py detect_truncated_agent_output --agent <kind>`
|
|
402
|
-
using the role-specific kind shown below. On truncation or missing/invalid finalization `context_receipt`: log via
|
|
403
|
-
`log_agent_failure --agent <role> --phase post-invoke --failure-label truncated --reasons '<reasons>'`
|
|
404
|
-
and re-invoke that reviewer ONCE using the prompt from
|
|
405
|
-
`build_json_retry_prompt --agent <role> --errors '<reasons>'`; if still
|
|
406
|
-
malformed, stop with CLARIFICATION_NEEDED.
|
|
407
|
-
Include the original generated prompt and context protocol with retry instructions; process intermediate requests through Step A.2a.
|
|
408
|
-
|
|
409
|
-
On Codex, the re-invocation is a new `spawn_agent` call: `<n>` keeps incrementing, so the retry gets a fresh `task_name`.
|
|
410
|
-
|
|
411
|
-
Role → `--agent` kind for the truncation check:
|
|
412
|
-
- monitor reviewer → `--agent review-monitor` (enforces the full review schema:
|
|
413
|
-
evidence/valid/summary/verdict/issues/passed_checks/failed_checks)
|
|
414
|
-
- predictor reviewer → `--agent predictor`
|
|
415
|
-
- evaluator reviewer → `--agent evaluator`
|
|
416
|
-
- role reviewers → `--agent user_experience` / `--agent maintainer` / `--agent security`
|
|
417
|
-
|
|
418
|
-
The optional complexity lens returns plain text, not JSON. Do not run the JSON truncation gate on it; if it is empty or visibly cut off, rerun only that lens prompt once.
|
|
419
|
-
|
|
420
|
-
### Step A.2c: Capture reviewer envelopes (MANDATORY — the ledger reads these)
|
|
421
|
-
|
|
422
|
-
Once a reviewer clears the truncation gate, write its JSON envelope verbatim to
|
|
423
|
-
`.map/<branch>/review-agent-<role>.json` (`monitor`, `predictor`, `evaluator`,
|
|
424
|
-
`user_experience`, `maintainer`; include `security` only when it is in the
|
|
425
|
-
admitted roster, plus `adversarial` in adversarial/compare-orderings mode). The verdict ledger is
|
|
426
|
-
computed from these files — a role whose file is missing is recorded as an
|
|
427
|
-
unobserved review, not as a clean one.
|
|
352
|
+
Use the runner-owned Codex app-server transport. Do not launch native review-reader
|
|
353
|
+
subagents or relay context through the main conversation. For adversarial mode,
|
|
354
|
+
use the corresponding command in adversarial-reference.md instead of this section.
|
|
428
355
|
|
|
429
356
|
```bash
|
|
430
|
-
|
|
431
|
-
BRANCH_DIR=".map/$BRANCH"
|
|
432
|
-
# For compare-orderings set ORDERING_LABEL=default or reverse in this call.
|
|
433
|
-
# Preserve both collections; do not call begin_review_run between them.
|
|
434
|
-
if [ -n "${ORDERING_LABEL:-}" ]; then BRANCH_DIR="$BRANCH_DIR/review-collections/$ORDERING_LABEL"; fi
|
|
435
|
-
mkdir -p "$BRANCH_DIR"
|
|
436
|
-
|
|
437
|
-
REVIEW_ROUND_ID="${REVIEW_ROUND_ID:-$(python3 -c 'import json,sys; print(json.load(open(sys.argv[1]))["round_id"])' ".map/$BRANCH/review-mode.json")}"
|
|
438
|
-
python3 .map/scripts/map_step_runner.py capture_review_output \
|
|
439
|
-
--reviewer monitor --round-id "$REVIEW_ROUND_ID" --ordering "${ORDERING_LABEL:-}" <<'MONITOR_EOF'
|
|
440
|
-
<paste the Monitor JSON envelope verbatim>
|
|
441
|
-
MONITOR_EOF
|
|
357
|
+
python3 .map/scripts/codex_review_runner.py --review-preferences "[paste Review Preferences section above]"
|
|
442
358
|
```
|
|
443
359
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
360
|
+
Keep this command running and poll its process with the host's normal process tools;
|
|
361
|
+
progress names the current role. A tool timeout is not a completed review. If the
|
|
362
|
+
process was interrupted, rerun the command under the same admitted round and omit
|
|
363
|
+
`--review-preferences`: the exact preferences are saved on first collection, alongside
|
|
364
|
+
native thread IDs, pending chunks and acknowledged offsets. Explicitly different
|
|
365
|
+
preferences are rejected; omission reuses the saved text. A lost
|
|
366
|
+
thread or stale snapshot is an explicit error; never invent ACKs or replace its
|
|
367
|
+
session silently. Do not call begin_review_run for another round to hide a failure.
|
|
368
|
+
|
|
369
|
+
The driver builds compact role prompts, serves immutable resources through one
|
|
370
|
+
read-only dynamic tool, checks intact Code Mode output before ACK, resizes truncated
|
|
371
|
+
chunks, validates final envelopes and captures them in the usual ledger paths.
|
|
372
|
+
Each role has an independent environment-free Codex thread. A runtime probe checks
|
|
373
|
+
actual tool inventory, successful source delivery and a denied canary write before
|
|
374
|
+
any repository evidence is supplied. COMPLETE requires every admitted reader's
|
|
375
|
+
host witness as well as scope, snapshot/policy, checks and finalization receipts.
|
|
376
|
+
The legacy native profile remains `capability_enforcement=unverified`: findings
|
|
377
|
+
remain publishable, but that route stays INCOMPLETE and cannot approve. A failed
|
|
378
|
+
probe never becomes verified by configuration, version text or model assertion.
|
|
379
|
+
|
|
380
|
+
Reading claims in `receipt={covered_files:[],skipped_files:[],denied_access:[],check_evidence:[]}`
|
|
381
|
+
remain self_reported. The optional complexity lens stays advisory. On driver success,
|
|
382
|
+
continue at Step A.3 using captured artifacts; do not dispatch a second reviewer set.
|
|
463
383
|
|
|
464
384
|
### Step A.3: Verification gate (MANDATORY before any presentation)
|
|
465
385
|
|
|
@@ -531,17 +451,11 @@ When `--adversarial` is set (with `--cross-ai`: present cross-AI first, then thi
|
|
|
531
451
|
### Quick reference
|
|
532
452
|
|
|
533
453
|
```text
|
|
534
|
-
1.
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
5. Present: Unified report: CRITICAL/IMPORTANT/MINOR, convergence section, all-clear statements (--show-raw-findings for debug)
|
|
540
|
-
6. Feed ledger: persist the complete tagged aggregate to "$BRANCH_DIR/review-agent-adversarial.json"
|
|
541
|
-
including ledger_findings, reviewer_status and parse_errors
|
|
542
|
-
7. Skip to: Final Verdict → Handoff Artifacts; do NOT run normal 4-section walkthrough
|
|
543
|
-
The verdict is computed by the ledger from those findings — this phase
|
|
544
|
-
does not assign one.
|
|
454
|
+
1. Collect: python3 .map/scripts/codex_review_runner.py
|
|
455
|
+
Builds prompts, validates reports and captures the aggregate for the admitted roster.
|
|
456
|
+
On interruption rerun the same command in the same admitted round.
|
|
457
|
+
2. Present: Read the captured aggregate; show findings, convergence and all-clear statements.
|
|
458
|
+
3. Continue: Final Verdict → Handoff Artifacts. The ledger computes the verdict.
|
|
545
459
|
```
|
|
546
460
|
|
|
547
461
|
## Phase B: Interactive Presentation (4 Sections) — NORMAL MODE ONLY
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Adversarial Review Reference
|
|
2
|
+
|
|
3
|
+
Detailed workflow for `map-review --adversarial`. See [SKILL.md](SKILL.md) for context and integration points.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Five reviewers run in parallel, each with only its permitted inputs:
|
|
8
|
+
|
|
9
|
+
| Reviewer | Context | Finds |
|
|
10
|
+
|----------|---------|-------|
|
|
11
|
+
| **Blind Hunter** | diff only | Typos, dead code, logic errors visible in isolation |
|
|
12
|
+
| **Edge Case Hunter** | diff + repo read access | Null handling, boundary conditions, error paths, codebase consistency |
|
|
13
|
+
| **Acceptance Auditor** | diff + spec + plan + artifacts | Missed requirements, spec violations, AC gaps, extra/unplanned work |
|
|
14
|
+
| **User (`user_experience`)** | diff + repo read access | Regressions in the already-shipped path: extra mandatory steps, confusable flags, an explicit value silently overridden |
|
|
15
|
+
| **Maintainer (`maintainer`)** | diff + repo read access | Branch-scoped litter in comments, implementation leaking into user-facing text, undiagnosable errors, copy-paste, split sources of truth, version predicates by number, embedded foreign-language code, settings carried through layers that only pass them on, names that promise more than the body does, mechanisms named after their first application, files placed against the local convention |
|
|
16
|
+
|
|
17
|
+
With `--quick`: skip Edge Case Hunter (Blind + Acceptance + both roles).
|
|
18
|
+
|
|
19
|
+
The two role reviewers answer to the five-part output contract (`problem`,
|
|
20
|
+
`current_code`, `proposed_code`, `why_better`, `cost`). A finding that cannot
|
|
21
|
+
fill all five is dropped by `aggregate_adversarial_findings` into
|
|
22
|
+
`contract_incomplete` — reported, never counted.
|
|
23
|
+
|
|
24
|
+
## Steps B.adversarial.0–3: Collect through the Codex runner
|
|
25
|
+
|
|
26
|
+
After admission and immutable bundle creation, run:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
python3 .map/scripts/codex_review_runner.py
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The driver reads the admitted roster, creates independent environment-free threads,
|
|
33
|
+
probes each host boundary, serves only each role's permitted immutable context,
|
|
34
|
+
validates individual reports and captures the tagged adversarial aggregate. Blind
|
|
35
|
+
remains diff-only. Compare-orderings uses separate thread/session/receipt sets.
|
|
36
|
+
Poll the running command; on interruption rerun it under the same admitted round.
|
|
37
|
+
Do not spawn native readers, copy chunks through the parent, or promote an unverified
|
|
38
|
+
probe. See SKILL.md Step A.2 for the capability and recovery contract. Read the
|
|
39
|
+
captured `review-agent-adversarial.json` (or both review-collections in compare mode)
|
|
40
|
+
for presentation, then proceed below.
|
|
41
|
+
|
|
42
|
+
## Step B.adversarial.4: Present unified adversarial report
|
|
43
|
+
|
|
44
|
+
Parse the aggregated JSON and present the report in this structure:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
# Adversarial Review Report
|
|
48
|
+
|
|
49
|
+
## Summary
|
|
50
|
+
- Total findings: N (C CRITICAL, I IMPORTANT, M MINOR)
|
|
51
|
+
- Corroborated (found by 2+ reviewers): K — highest confidence
|
|
52
|
+
- Per-reviewer: Blind: B, Edge Case: E, Acceptance: A, User: U, Maintainer: M
|
|
53
|
+
- All-clear: [reviewers who reported all_clear=true]
|
|
54
|
+
- Dropped for an incomplete output contract: [contract_incomplete entries]
|
|
55
|
+
|
|
56
|
+
## CRITICAL
|
|
57
|
+
[per finding: severity, category, file:line, failure_mode, evidence, reported_by, corroborated flag]
|
|
58
|
+
|
|
59
|
+
## IMPORTANT
|
|
60
|
+
[per finding: same structure]
|
|
61
|
+
|
|
62
|
+
## MINOR
|
|
63
|
+
[per finding: same structure]
|
|
64
|
+
|
|
65
|
+
## Cross-Reviewer Convergence
|
|
66
|
+
[Highlight what multiple reviewers independently found — these are highest-confidence issues]
|
|
67
|
+
|
|
68
|
+
## Reviewer All-Clear Statements
|
|
69
|
+
[Per reviewer who said all_clear: what they checked and why it's clean]
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
When `--show-raw-findings` is set, also show the raw per-reviewer JSON files.
|
|
73
|
+
|
|
74
|
+
## Step B.adversarial.5: Feed the verdict ledger
|
|
75
|
+
|
|
76
|
+
This phase does not assign a verdict. The capture block persists the complete
|
|
77
|
+
`adversarial_aggregate.v1` report, including `ledger_findings`, `reviewer_status`
|
|
78
|
+
and `parse_errors`. Closeout reads the current roster from `review-mode.json`;
|
|
79
|
+
`write_review_verdict_ledger --current-run` then computes
|
|
80
|
+
`PROCEED`/`REVISE`/`BLOCK` from the decision table in
|
|
81
|
+
[review-reference.md § Verdict Ledger](review-reference.md#verdict-ledger).
|
|
82
|
+
Corroboration raises confidence in the report; it does not change the verdict.
|
|
83
|
+
|
|
84
|
+
## Step B.adversarial.6: Skip to Final Verdict
|
|
85
|
+
|
|
86
|
+
After presenting the adversarial report, skip the normal 4-section interactive walkthrough and go directly to Final Verdict → Handoff Artifacts.
|
|
87
|
+
|
|
88
|
+
## Flow summary for adversarial
|
|
89
|
+
|
|
90
|
+
When `ADVERSARIAL_FLAG=true`, the workflow is:
|
|
91
|
+
Phase A (all steps) → Phase B: Adversarial Review → Final Verdict → Handoff Artifacts.
|
|
92
|
+
Do NOT run the normal Monitor/Predictor/Evaluator fan-out or the 4-section walkthrough.
|
|
93
|
+
|
|
94
|
+
## Examples
|
|
95
|
+
|
|
96
|
+
See [review-reference.md](review-reference.md#examples) for adversarial examples.
|
|
97
|
+
|
|
98
|
+
## Troubleshooting
|
|
99
|
+
|
|
100
|
+
### Reviewer returns invalid JSON
|
|
101
|
+
|
|
102
|
+
Re-invoke that specific reviewer ONCE. If still invalid, record `parse_error` and continue — two valid reviewers are better than zero.
|
|
103
|
+
|
|
104
|
+
### All reviewers fail
|
|
105
|
+
|
|
106
|
+
Stop with CLARIFICATION_NEEDED. The diff may be too large or the context too complex for adversarial review.
|
|
107
|
+
|
|
108
|
+
### Edge Case Hunter runs out of context
|
|
109
|
+
|
|
110
|
+
Edge Case Hunter has repo read access. If the repo is very large, limit its scope by pre-computing an impact graph of files importing/imported-by the changes plus relevant tests. Defer full implementation to v2.
|
|
@@ -6,7 +6,7 @@ This file contains lower-frequency review details. Keep `SKILL.md` focused on th
|
|
|
6
6
|
|
|
7
7
|
New gates default to shadow diagnostics: no new blockers, no reduced existing safeguards. Strict opt-in is `review: {security_gates: strict}` in `.map/config.yaml` on the pinned trusted default branch, never PR-head/local config. In strict mode admission overrides quick/lightweight or reduced explicit rosters for sensitive/unknown changes. Dispatch every admitted reviewer, including the independent `security` role, and capture its own envelope for each ordering. Normal approval and execution checks cannot replace security coverage.
|
|
8
8
|
|
|
9
|
-
Human consent is a separate snapshot/policy/action-bound `review_consent` hold in the existing durable store. Verified human provenance is currently unavailable: host UI answers, transcripts and caller JSON do not establish it. Never call `decide_approval_hold` to discharge review consent, or reinterpret auto mode, agent votes or successful checks as consent. Report the pending hold in both modes. In strict mode stop before review-ready; do not burn additional review rounds waiting. The strict ready gate remains blocked even when legacy ledger enforcement is disabled. Shadow holds do not add blockers and must never be reported as consent. Positive human ingress remains incomplete under #523; Codex capability remains unverified under #526.
|
|
9
|
+
Human consent is a separate snapshot/policy/action-bound `review_consent` hold in the existing durable store. Verified human provenance is currently unavailable: host UI answers, transcripts and caller JSON do not establish it. Never call `decide_approval_hold` to discharge review consent, or reinterpret auto mode, agent votes or successful checks as consent. Report the pending hold in both modes. In strict mode stop before review-ready; do not burn additional review rounds waiting. The strict ready gate remains blocked even when legacy ledger enforcement is disabled. Shadow holds do not add blockers and must never be reported as consent. Positive human ingress remains incomplete under #523; Legacy native Codex capability remains unverified under #526; the runner-owned app-server path requires per-reader host probes.
|
|
10
10
|
|
|
11
11
|
Shadow consent-store errors are reported in admission output and persisted in the review ledger when writable; they do not deny admission or ready. Never reset a corrupt hold store: existing generic hold blockers remain enforced. Strict consent-store errors still fail closed. Gate configuration is read from the pinned trusted revision independently of `REVIEW.md` content validation; invalid root/area policy cannot downgrade a strict configuration.
|
|
12
12
|
|
|
@@ -17,8 +17,21 @@ Shadow consent-store errors are reported in admission output and persisted in th
|
|
|
17
17
|
- Tests: changed behavior, failure cases, fixtures, coverage of acceptance tags.
|
|
18
18
|
- Performance: hot paths, large artifacts, prompt budgets, avoid speculative micro-optimizations.
|
|
19
19
|
|
|
20
|
+
## Review Scope
|
|
21
|
+
|
|
22
|
+
Required coverage is the admitted `required_files`: changed paths against the selected base,
|
|
23
|
+
including staged/unstaged/untracked inputs, deletions and both rename sides. The full
|
|
24
|
+
`context_files` inventory remains snapshot-bound and available for dependency checks.
|
|
25
|
+
Unread or explicitly skipped optional context does not make review incomplete.
|
|
26
|
+
|
|
20
27
|
## Compare Orderings
|
|
21
28
|
|
|
29
|
+
For supported Codex reviews, `codex_review_runner.py` performs binding, delivery,
|
|
30
|
+
ACK, finalization and capture, including both compare orderings. Do not perform
|
|
31
|
+
these steps manually. The manual collection instructions below apply only to
|
|
32
|
+
Claude and the legacy unverified native-reader path. Keep the comparison/report
|
|
33
|
+
steps after the driver completes.
|
|
34
|
+
|
|
22
35
|
When `--compare-orderings` is set, begin the invocation once, then collect with
|
|
23
36
|
`ORDERING_LABEL=default` and `ORDERING_LABEL=reverse` set in each capture call.
|
|
24
37
|
Keep envelopes in `review-collections/default/` and `review-collections/reverse/`;
|
|
@@ -238,6 +251,12 @@ decision table (`review_verdict_table.v1`) and writes:
|
|
|
238
251
|
|
|
239
252
|
### Parent-served context loop (Step A.2a)
|
|
240
253
|
|
|
254
|
+
For supported Codex reviews, `codex_review_runner.py` performs binding, delivery,
|
|
255
|
+
ACK, finalization and capture, including both compare orderings. Do not perform
|
|
256
|
+
these steps manually. The manual collection instructions below apply only to
|
|
257
|
+
Claude and the legacy unverified native-reader path. Keep the comparison/report
|
|
258
|
+
steps after the driver completes.
|
|
259
|
+
|
|
241
260
|
The role reviewers run in the SAME fan-out but with isolated context: they see
|
|
242
261
|
the diff and the bundle, never the other reviewers' output. They inspect supplied
|
|
243
262
|
base/current source and changed-hunk attribution — the user role checks the old
|
|
@@ -278,7 +297,8 @@ retries, both ordering collections and the advisory complexity lens:
|
|
|
278
297
|
For an early final response, retain no final capture: create the same request
|
|
279
298
|
shape from the status's next `remaining` resource/offset and continue delivery.
|
|
280
299
|
Required resources include the manifest, full original prompt (unless initially
|
|
281
|
-
inline), inventory and
|
|
300
|
+
inline), inventory and source resources marked `required`. Unchanged sources
|
|
301
|
+
are optional dependency context; fetch them only when needed. Blind stays diff-only.
|
|
282
302
|
2. Store the exact returned chunk JSON in a session-specific pending file under
|
|
283
303
|
`.map/<branch>/review-context-delivery/<session-id>/`, then pass that JSON
|
|
284
304
|
verbatim to the **same agent**:
|