mapify-cli 3.34.0__tar.gz → 3.34.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.34.0/src/mapify_cli/templates → mapify_cli-3.34.2/.claude}/hooks/README.md +6 -4
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/PKG-INFO +2 -2
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/pyproject.toml +2 -2
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/__init__.py +1 -1
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/delivery/file_copier.py +2 -1
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/delivery/template_renderer.py +4 -5
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/.gitignore +1 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/agents/actor.md +14 -9
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/agents/monitor.md +97 -18
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/agents/monitor.toml +37 -1
- {mapify_cli-3.34.0/src/mapify_cli/templates → mapify_cli-3.34.2/src/mapify_cli/templates/codex}/hooks/end-of-turn.sh +87 -22
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +25 -3
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +30 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-release/release-reference.md +19 -15
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md +2 -2
- {mapify_cli-3.34.0/.claude → mapify_cli-3.34.2/src/mapify_cli/templates}/hooks/README.md +29 -6
- {mapify_cli-3.34.0/src/mapify_cli/templates/codex → mapify_cli-3.34.2/src/mapify_cli/templates}/hooks/end-of-turn.sh +86 -23
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/scripts/map_interruption.py +31 -2
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/scripts/map_step_runner.py +462 -50
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/references/hook-patterns.md +1 -1
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/settings.json +1 -1
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +5 -5
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +33 -3
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-release/release-reference.md +19 -15
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-review/SKILL.md +2 -2
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/.gitignore.jinja +1 -0
- mapify_cli-3.34.2/src/mapify_cli/templates_src/_partials/monitor-review-context.md.jinja +55 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/agents/actor.md.jinja +14 -9
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/agents/monitor.md.jinja +61 -18
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +1 -1
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/README.md.jinja +6 -4
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +86 -22
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/scripts/map_interruption.py.jinja +31 -2
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +462 -50
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +1 -1
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/settings.json.jinja +1 -1
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +30 -8
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +34 -4
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-release/release-reference.md.jinja +19 -15
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +2 -2
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/hooks/test_end_of_turn.py +199 -1
- mapify_cli-3.34.2/tests/test_agent_cli_correctness.py +309 -0
- mapify_cli-3.34.2/tests/test_approved_baseline_gate_contract.py +62 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_map_interruption.py +46 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_map_step_runner.py +24 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_mapify_cli.py +1 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_release_ci_gates.py +35 -4
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_attribution_receipts.py +48 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_explicit_base.py +86 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_security_gates.py +30 -2
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_verdict_ledger.py +43 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_template_render.py +0 -4
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_worktree_isolation.py +226 -0
- mapify_cli-3.34.0/src/mapify_cli/templates_src/_partials/monitor-review-context.md.jinja +0 -19
- mapify_cli-3.34.0/tests/test_agent_cli_correctness.py +0 -168
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/.claude/skills/README.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/.gitignore +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/LICENSE +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/README.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/__main__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/_locking.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/_python_guard.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/auto_update.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/boundary_quality_report.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/cli_ui.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/code_map.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/codex_exec.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/config/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/config/mcp.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/config/project_config.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/config/settings.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/delivery/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/delivery/agent_generator.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/delivery/codex_copier.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/delivery/domain_skill.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/delivery/governance_report.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/delivery/managed_file_copier.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/delivery/providers.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/dependency_graph.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/grace_eval/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/grace_eval/schema.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/grace_eval/sweep.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/install_manifest.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/intent_detector.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/memory/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/memory/capture.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/memory/digest_schema.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/memory/evidence.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/memory/finalize.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/memory/recall.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/minimality_eval.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/minimality_report.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/parallelism_observability.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/provider_registry.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/python_runtime.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/ralph_state.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/repo_insight.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/research_eval.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/research_eval_compare.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/schemas.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/scope_classifier.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skill_ir.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/aggregator.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/apply_patcher.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/assertions.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/description_optimizer.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/dispatcher.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/eval_schema.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/proposer.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/review_corpus.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/review_pilot.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/runner.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/trajectory/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/trajectory/bundle.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/trajectory/dispatcher.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/trajectory/eval_schema.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/trajectory/gates.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/trajectory/judge.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/trajectory/repeated.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/trajectory/report.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/trajectory/runner.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/trajectory/seeding.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/skills_eval/viewer.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/CLAUDE.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/agents/evaluator.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/agents/predictor.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/agents/reflector.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/agents/research-agent.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/agents/review-reader.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/agents/actor.toml +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/agents/documentation-reviewer.toml +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/agents/evaluator.toml +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/agents/final-verifier.toml +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/agents/predictor.toml +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/agents/reflector.toml +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/agents/researcher.toml +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/agents/review-reader.toml +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/config.toml +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/context-meter.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/detect-clarification-triggers.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/map-memory-capture.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/map-memory-endmark.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/map-memory-recall.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/map-memory-session.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/map-stop.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/map-token-meter.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/post-compact-context.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/pre-compact-save-transcript.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/ralph-context-pruner.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/ralph-iteration-logger.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/safety-guardrails.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/scrub-internal-ids.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/workflow-context-injector.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/hooks.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/references/map-json-output-contracts.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/references/map-output-examples.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/references/map-xml-prompt-envelopes.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-architecture/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-auto/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-auto/auto-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-check/check-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-debug/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-learn/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/example-rules.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-unconditional.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-with-paths.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-memory-now/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-plan/plan-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-prd-review/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-release/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-resume/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-resume/resume-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-review/review-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-skill-eval/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-so-search/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-so-search/scripts/sofa_search.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-state/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/check-complete.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/get-plan-path.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/init-session.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-state/scripts/show-focus.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-state/templates/findings.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-state/templates/iteration_history.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-state/templates/progress.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-state/templates/task_plan.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-task/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-tdd/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-tokenreport/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-understand/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-upgrade/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-wayfind/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/codex/skills/map-wayfind/wayfind-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/context-meter.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/map-memory-capture.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/map-memory-endmark.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/map-memory-finalize.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/map-memory-recall.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/map-statusline.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/map-token-meter.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/post-compact-context.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/safety-guardrails.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/scrub-internal-ids.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/workflow-context-injector.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/hooks/workflow-gate.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/scripts/classify_scope.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/scripts/diagnostics.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/scripts/map_utils.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/scripts/review_check_supervisor.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/scripts/scrub_internal_ids.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/scripts/sofa_client.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/scripts/wayfind_runner.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/references/host-paths.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/rules/learned/README.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/README.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-architecture/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-auto/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-auto/auto-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-plan/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-prd-review/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-release/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-review/adversarial-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-review/review-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-task/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-understand/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-upgrade/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-wayfind/SKILL.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/map-wayfind/wayfind-reference.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates/workflow-rules.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/_partials/acceptance-runtime.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/_partials/apply-patch-paths.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/_partials/auto-update-preflight.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/_partials/codex-memory-hook-wrapper.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/_partials/manual-upgrade-flow.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/_partials/python-version-guard.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/_partials/serial-blocker-repair.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/_partials/stale-attribution-recovery.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/agents/predictor.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/agents/review-reader.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/agents/actor.toml.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/agents/documentation-reviewer.toml.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/agents/evaluator.toml.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/agents/final-verifier.toml.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/agents/predictor.toml.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/agents/reflector.toml.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/agents/review-reader.toml.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/context-meter.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/detect-clarification-triggers.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/end-of-turn.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-capture.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-endmark.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-recall.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/map-memory-session.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/map-stop.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/map-token-meter.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/post-compact-context.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/pre-compact-save-transcript.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/ralph-context-pruner.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/ralph-iteration-logger.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/safety-guardrails.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/scrub-internal-ids.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/workflow-context-injector.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/references/map-json-output-contracts.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/references/map-output-examples.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/references/map-xml-prompt-envelopes.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-architecture/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-auto/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-auto/auto-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-check/check-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-debug/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-learn/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/example-rules.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-memory-now/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-plan/plan-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-prd-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-release/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-release/release-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-resume/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-resume/resume-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-review/adversarial-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-review/review-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-skill-eval/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-so-search/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-state/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/check-complete.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/init-session.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/show-focus.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/findings.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/iteration_history.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/progress.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-state/templates/task_plan.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-task/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-tdd/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-tokenreport/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-understand/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-upgrade/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-wayfind/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/codex/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/map-statusline.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/scrub-internal-ids.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/scripts/classify_scope.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/scripts/review_check_supervisor.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/scripts/scrub_internal_ids.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/scripts/wayfind_runner.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-architecture/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-auto/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-auto/auto-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-prd-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-review/adversarial-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-understand/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-upgrade/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-wayfind/SKILL.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/token_budget.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/tool_output_offload.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/tools/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/tools/validate_dependencies.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/update_install.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/update_state.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/update_versions.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/verification_recorder.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/workflow_finalizer.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/workflow_logger.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/src/mapify_cli/workflow_state.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/_fake_task_tool.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/conftest.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/fixtures/claude/escalation-matrix.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/fixtures/codex/config.toml +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/fixtures/wave_blueprints.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/hooks/test_detect_clarification_triggers.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/hooks/test_hook_inventory_smoke.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/hooks/test_safety_guardrails.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/hooks/test_scrub_internal_ids_hook.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/integration/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/integration/fixtures/blueprint.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/integration/fixtures/code_review.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/integration/fixtures/plan_handoff.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/integration/fixtures/spec.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/integration/fixtures/step_state_initialized.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/integration/fixtures/task_plan.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/integration/fixtures/verification_summary.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/integration/test_e2e_artifact_contracts.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/integration/test_e2e_claude_sdk.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/review_pilot_git_cache.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/review_process_lifecycle.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/README.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/tests/test_compute.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/hidden/test_calc_full.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/tests/test_calc_basic.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/hidden/test_calc_full.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/calc.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/tests/test_calc_basic.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/hidden/test_kvparse_full.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/manifest.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/kvparse.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/tests/test_kvparse_basic.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/config.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/utils.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/tests/test_price.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/config.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/utils.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/tests/test_utils.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/tests/test_semver.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/hidden/test_semver_full.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/semver.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/tests/test_semver_basic.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/hidden/test_semver_full.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/__init__.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/semver.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/tests/test_semver_basic.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/review_corpus/corpus.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/review_corpus/evidence/adjudication.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/review_corpus/evidence/control-audit.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/review_corpus/evidence/manual-run.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/review_corpus/evidence/manual-run.log +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/review_corpus/evidence/manual_repro.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/review_pilot_error_max_budget.sanitized.json +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/skills_eval/whole_skill/spike_runner.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_acceptance_additive_revision.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_acceptance_additive_revision_review.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_acceptance_proofs.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_agent_dispatch_audit.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_agent_frontmatter.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_agent_memory.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_approval_hold.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_artifact_schemas.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_auto_update.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_boundary_quality_report.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_bump_version.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_classify_scope_script.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_code_map.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_codex_map_review_live.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_compaction_offload_integration.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_concurrent_dispatch_harness.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_context_usefulness.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_cross_ai_config.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_debug_reference_install.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_decomposition.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_dependency_graph.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_diagnostics.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_digest_schema.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_domain_skill.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_file_copier.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_governance_attack_fixtures.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_governance_report.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_grace_eval_schema.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_grace_eval_sweep.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_hook_patterns.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_init_import_graph.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_install_manifest.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_intent_detector.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_inv1_no_anthropic_optimize.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_jinja2_dep.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_locking.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_managed_file_copier.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_map_auto.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_map_orchestrator.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_map_token_meter.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_map_utils_sanitize.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_memory_capture.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_memory_events.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_memory_events_compat.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_memory_events_exit_status.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_memory_events_privacy.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_memory_events_review.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_memory_events_tools.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_memory_finalize.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_memory_integration.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_memory_recall.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_memory_review_fixes.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_minimality_eval.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_minimality_report.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_model_invocable_skills.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_mutation_path_normalization.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_orchestrator_acceptance.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_parallelism_observability.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_post_compact_context.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_preset_commands.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_project_config.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_prompt_layering.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_prompt_profile_commands.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_python_version_requirement.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_pyyaml_dep.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_ralph_hooks.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_ralph_state.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_repair_attribution.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_repair_workflow_gate.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_repo_insight.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_research_eval.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_research_eval_compare.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_resequence_pending.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_branch_receipts.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_check_timeouts.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_corpus.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_explicit_base_legacy_override.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_explicit_base_stale_readers.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_finding_validation.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_pilot.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_pilot_git_cache.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_process_lifecycle.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_reader_capabilities.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_receipt_edge_cases.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_review_trusted_policy.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_schemas.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_scope_classifier.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_scrub_internal_ids.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_settings_deny_globs.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_shell_json_pipes.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skill_ir.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_consistency.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_aggregator.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_apply.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_cli_optimize.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_dispatcher_env.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_fixtures.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_optimizer.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_optimizer_isolation.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_proposer.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_runner.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_schema.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_trajectory_bundle.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_trajectory_cli.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_trajectory_gates.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_trajectory_judge.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_trajectory_repeated.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_trajectory_report.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_trajectory_runner.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_trajectory_schema.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_skills_eval_viewer.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_slice5b_leak_guards.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_sofa_client.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_sofa_search.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_static_analysis_bash.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_statusline.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_token_budget.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_tool_output_offload.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_update_install.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_update_state.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_update_versions.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_validate_dependencies.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_validate_spec_citations.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_verification_recorder.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_wave_eval_harness.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_wave_fixtures.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_wave_parallel_harness.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_wayfind_install.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_wayfind_research.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_wayfind_runner.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_workflow_context_injector.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_workflow_finalizer.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_workflow_gate.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_workflow_logger.py +0 -0
- {mapify_cli-3.34.0 → mapify_cli-3.34.2}/tests/test_workflow_state.py +0 -0
|
@@ -105,7 +105,8 @@ documented per event in the official Claude Code docs.
|
|
|
105
105
|
|
|
106
106
|
## Hook inventory
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
The 18 hooks listed below (17 `.py` + `end-of-turn.sh`), including two
|
|
109
|
+
Codex-specific hooks, are classified against the
|
|
109
110
|
`MAP_INVOKED_BY` recursion-guard contract. **REQUIRE_GUARD** hooks early-exit
|
|
110
111
|
when MAP spawns a nested subprocess; **FORBID_GUARD** hooks must always fire
|
|
111
112
|
and may not carry the guard. Full contract and per-hook rationale:
|
|
@@ -125,7 +126,7 @@ classification is enforced by `scripts/lint-hooks.py` (in `make lint` /
|
|
|
125
126
|
| `ralph-context-pruner.py` | `PreCompact` | No | REQUIRE_GUARD | Save restore point, prune logs |
|
|
126
127
|
| `pre-compact-save-transcript.py` | `PreCompact` | No | REQUIRE_GUARD | Save full conversation transcript |
|
|
127
128
|
| `detect-clarification-triggers.py` | `UserPromptSubmit` | No | REQUIRE_GUARD | Detect "ask if unclear" + async/durability language |
|
|
128
|
-
| `end-of-turn.sh` | `Stop` | No | REQUIRE_GUARD |
|
|
129
|
+
| `end-of-turn.sh` | `Stop` | No | REQUIRE_GUARD | Read-only source checks; never formats shared worktree files |
|
|
129
130
|
| `scrub-internal-ids.py` | `Stop` | No | REQUIRE_GUARD | On `WORKFLOW_COMPLETE`, strip leaked `ST-`/`AC-`/`VC-`/`INV-`/`HC-` IDs from run-changed code and commit the cleanup (gated, runs once) |
|
|
130
131
|
| `map-memory-capture.py` | `Stop` | No | REQUIRE_GUARD | Append per-turn scratch WAL record (cross-session memory) |
|
|
131
132
|
| `map-memory-endmark.py` | `SessionEnd` | No | REQUIRE_GUARD | Best-effort 'ended' marker for the session WAL |
|
|
@@ -134,7 +135,8 @@ classification is enforced by `scripts/lint-hooks.py` (in `make lint` /
|
|
|
134
135
|
| `map-memory-session.py` | `SessionStart` (Codex composite) | No | REQUIRE_GUARD | Finalize dirty memory and inject recall in deterministic order |
|
|
135
136
|
| `map-stop.py` | `Stop` (Codex dispatcher) | No | REQUIRE_GUARD | Sequence scrub, checks, token metering, and memory capture |
|
|
136
137
|
|
|
137
|
-
>
|
|
138
|
-
>
|
|
138
|
+
> This inventory includes Claude hooks and the two Codex-specific hooks shown
|
|
139
|
+
> above. The Codex twin `.codex/hooks/workflow-gate.py` is FORBID_GUARD like its
|
|
140
|
+
> Claude counterpart.
|
|
139
141
|
|
|
140
142
|
Last reviewed: 2026-05-29.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: mapify-cli
|
|
3
|
-
Version: 3.34.
|
|
3
|
+
Version: 3.34.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
|
|
@@ -17,7 +17,7 @@ Requires-Dist: readchar>=4.0.0
|
|
|
17
17
|
Requires-Dist: rich>=13.0.0
|
|
18
18
|
Requires-Dist: typer>=0.9.0
|
|
19
19
|
Provides-Extra: dev
|
|
20
|
-
Requires-Dist: black>=
|
|
20
|
+
Requires-Dist: black>=26.10.1; extra == 'dev'
|
|
21
21
|
Requires-Dist: hypothesis>=6.0.0; extra == 'dev'
|
|
22
22
|
Requires-Dist: jsonschema>=4.0.0; extra == 'dev'
|
|
23
23
|
Requires-Dist: mypy>=1.0.0; extra == 'dev'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mapify-cli"
|
|
3
|
-
version = "3.34.
|
|
3
|
+
version = "3.34.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"
|
|
@@ -42,7 +42,7 @@ dev = [
|
|
|
42
42
|
"pyyaml>=6.0.0",
|
|
43
43
|
"hypothesis>=6.0.0",
|
|
44
44
|
"jsonschema>=4.0.0",
|
|
45
|
-
"black>=
|
|
45
|
+
"black>=26.10.1",
|
|
46
46
|
"ruff>=0.1.0",
|
|
47
47
|
"mypy>=1.0.0",
|
|
48
48
|
"pyright>=1.1.400",
|
|
@@ -23,7 +23,7 @@ Or install globally:
|
|
|
23
23
|
mapify check
|
|
24
24
|
"""
|
|
25
25
|
|
|
26
|
-
__version__ = "3.34.
|
|
26
|
+
__version__ = "3.34.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
|
|
@@ -503,7 +503,7 @@ _SETTINGS_LOCAL_GITIGNORE_BLOCK = (
|
|
|
503
503
|
|
|
504
504
|
|
|
505
505
|
_UPDATE_RUNTIME_GITIGNORE_MARKER = (
|
|
506
|
-
"# map:update-runtime — local
|
|
506
|
+
"# map:update-runtime — local MAP runtime state; never commit."
|
|
507
507
|
)
|
|
508
508
|
_UPDATE_RUNTIME_GITIGNORE_PATHS = (
|
|
509
509
|
".map/update-state.json",
|
|
@@ -511,6 +511,7 @@ _UPDATE_RUNTIME_GITIGNORE_PATHS = (
|
|
|
511
511
|
".map/provider-refresh.lock",
|
|
512
512
|
".map/installer.lock",
|
|
513
513
|
".map/gitignore.lock",
|
|
514
|
+
".claude/worktrees/",
|
|
514
515
|
)
|
|
515
516
|
_WINDOWS_GITIGNORE_MUTEX_TIMEOUT_MS = 30_000
|
|
516
517
|
|
|
@@ -64,7 +64,6 @@ _CLAUDE_SHIPPED_ONLY: frozenset[str] = frozenset(
|
|
|
64
64
|
"CLAUDE.md",
|
|
65
65
|
"workflow-rules.json",
|
|
66
66
|
"ralph-loop-config.json",
|
|
67
|
-
"hooks/README.md",
|
|
68
67
|
"rules/learned/README.md",
|
|
69
68
|
".gitignore",
|
|
70
69
|
}
|
|
@@ -260,14 +259,14 @@ def _build_claude_resolver(
|
|
|
260
259
|
|
|
261
260
|
Implements the destination-map from the ST-002 design doc:
|
|
262
261
|
|
|
263
|
-
* agents/**, hooks
|
|
262
|
+
* agents/**, hooks/**, references/**, skills/**
|
|
264
263
|
→ BOTH ``src/mapify_cli/templates/<rel>`` AND ``.claude/<rel>``
|
|
265
264
|
|
|
266
265
|
* map/scripts/**, map/static-analysis/**
|
|
267
266
|
→ BOTH ``src/mapify_cli/templates/<rel>`` AND ``.map/<rel>``
|
|
268
267
|
(``map/`` prefix remaps to ``.map/`` in the dev tree)
|
|
269
268
|
|
|
270
|
-
*
|
|
269
|
+
* rules/learned/README.md, CLAUDE.md,
|
|
271
270
|
workflow-rules.json, ralph-loop-config.json
|
|
272
271
|
→ ``src/mapify_cli/templates/<rel>`` ONLY (shipped-only — no dev dest)
|
|
273
272
|
|
|
@@ -550,8 +549,8 @@ def render_repo_trees(
|
|
|
550
549
|
* map/ subtrees (scripts, static-analysis):
|
|
551
550
|
→ ``src/mapify_cli/templates/<rel>`` AND ``.map/<rel>``
|
|
552
551
|
|
|
553
|
-
* Shipped-only configs (CLAUDE.md,
|
|
554
|
-
ralph-loop-config.json,
|
|
552
|
+
* Shipped-only configs (CLAUDE.md, workflow-rules.json,
|
|
553
|
+
ralph-loop-config.json, rules/learned/README.md):
|
|
555
554
|
→ ``src/mapify_cli/templates/<rel>`` ONLY
|
|
556
555
|
|
|
557
556
|
For CODEX provider the destination map is:
|
|
@@ -48,9 +48,9 @@ substitute audit trail.
|
|
|
48
48
|
│ 2. Handle ALL errors → Explicit try/catch, no silent fails │
|
|
49
49
|
│ 3. Document trade-offs → Alternatives considered, why chosen │
|
|
50
50
|
│ 4. Use failure protocols → BLOCKED/CLARIFICATION_NEEDED if stuck │
|
|
51
|
-
│ 5.
|
|
52
|
-
│
|
|
53
|
-
│
|
|
51
|
+
│ 5. Resolve surfaced gate errors → New/unknown failures block. │
|
|
52
|
+
│ Only exact user-approved, proven baseline outside scope may be │
|
|
53
|
+
│ deferred; the full gate remains failing. │
|
|
54
54
|
├─────────────────────────────────────────────────────────────────────┤
|
|
55
55
|
│ REQUIRED: Use Edit/Write tools to apply code directly │
|
|
56
56
|
│ NEVER: Modify outside {{allowed_scope}} | Skip error handling │
|
|
@@ -745,12 +745,17 @@ output:
|
|
|
745
745
|
If you believe an item should be deferred, STOP and ask the user for explicit approval to defer.
|
|
746
746
|
|
|
747
747
|
**Quality-Gate Failures**: When `make lint`, `make check`, `pytest`, type-check,
|
|
748
|
-
or any other quality gate emits errors
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
748
|
+
or any other quality gate emits errors, fix every new, unknown, in-scope,
|
|
749
|
+
security, or correctness failure. Do not treat "pre-existing, unrelated" as
|
|
750
|
+
proof. A specific failure outside {{allowed_scope}} may be deferred only after
|
|
751
|
+
the user explicitly approves that exact diagnostic in this conversation and
|
|
752
|
+
the approval is durably recorded with the failing command, baseline output,
|
|
753
|
+
current output, and source-versus-HEAD evidence showing no introduced finding.
|
|
754
|
+
If that evidence or approval is absent, STOP and ask the user; do not edit
|
|
755
|
+
outside the mutation boundary or silently continue. If already approved and
|
|
756
|
+
still identical, carry the record to Monitor without asking again. Report the
|
|
757
|
+
full gate as failing even when the scoped subtask checks pass. Never claim the
|
|
758
|
+
full lint/type/test gate passed or fabricate a green verification envelope.
|
|
754
759
|
|
|
755
760
|
Focus on:
|
|
756
761
|
1. Specific line items mentioned
|
|
@@ -14,7 +14,7 @@ last_updated: 2026-05-27
|
|
|
14
14
|
|
|
15
15
|
# IDENTITY
|
|
16
16
|
|
|
17
|
-
You are a Protocol-Driven Validation System. Your objective: verify that Actor's code artifacts satisfy the AAG contract
|
|
17
|
+
You are a Protocol-Driven Validation System. Your objective: verify that Actor's code artifacts satisfy the AAG contract and report the actual results of tests and production quality gates. You do not "review like an expert" — you execute a deterministic validation checklist.
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -60,6 +60,42 @@ You are a **validation agent**, NOT a code editor. Your role:
|
|
|
60
60
|
The Actor-specific sequence and rejection rules below (AAG, allowed scope,
|
|
61
61
|
subtask metadata) apply only to Actor subtask validation, not standalone review.
|
|
62
62
|
|
|
63
|
+
### Actor runtime preflight in linked worktrees
|
|
64
|
+
|
|
65
|
+
Before invoking either Actor-specific `.map/scripts/map_step_runner.py` gate,
|
|
66
|
+
clear inherited `GIT_DIR`, `GIT_WORK_TREE`, `GIT_COMMON_DIR`, and
|
|
67
|
+
`GIT_INDEX_FILE` in a subshell before resolving the checkout being reviewed
|
|
68
|
+
with `git rev-parse --show-toplevel`. Check
|
|
69
|
+
that **that checkout** contains `.map/scripts/map_step_runner.py` and
|
|
70
|
+
`.map/<branch>/blueprint.json`. If `CLAUDE_PROJECT_DIR` is set, it must name
|
|
71
|
+
the same checkout; otherwise the runner can inspect a different diff. Never
|
|
72
|
+
substitute a runner from another worktree or point `CLAUDE_PROJECT_DIR` at the
|
|
73
|
+
initialized checkout while reviewing changes in this one.
|
|
74
|
+
Run each relative runner command from the resolved checkout root, even if the
|
|
75
|
+
Monitor started in a subdirectory; that root is also the runner's project
|
|
76
|
+
directory when `CLAUDE_PROJECT_DIR` is unset. Keep those Git variables unset
|
|
77
|
+
for the runner too, so its Git calls cannot use a different checkout.
|
|
78
|
+
|
|
79
|
+
If the runner or blueprint is absent, or `CLAUDE_PROJECT_DIR` names a different
|
|
80
|
+
checkout, skip the two runner-dependent Actor gates and continue any independent
|
|
81
|
+
source, build, and test checks. Return `valid: false`,
|
|
82
|
+
`recommendation: "block"`, and a setup issue named
|
|
83
|
+
`MAP runtime unavailable in this worktree`. Name each missing path, or, for
|
|
84
|
+
an environment mismatch, name both the reviewed checkout and the different
|
|
85
|
+
`CLAUDE_PROJECT_DIR`. State that no mutation-boundary or cross-subtask gate
|
|
86
|
+
ran and that the Actor's code has **not** failed either gate. Do not turn this known setup error
|
|
87
|
+
into a source finding or a generic `needs_investigation` verdict; do not report
|
|
88
|
+
`valid: true` based on informal inspection.
|
|
89
|
+
|
|
90
|
+
Remediation for the parent/operator: install a checkout-local copy of the MAP
|
|
91
|
+
runtime and the matching branch's workflow artifacts in this worktree, then
|
|
92
|
+
rerun Monitor. For a repository that ignores `.map/`, copy (do not symlink)
|
|
93
|
+
`.map/scripts/`, `.map/config.yaml`, and `.map/<branch>/` from the initialized
|
|
94
|
+
checkout into this worktree's `.map/`. Check that the copied blueprint matches
|
|
95
|
+
the assigned subtask. This is a snapshot for validation in this checkout;
|
|
96
|
+
state-changing orchestration continues in its original checkout. A standalone
|
|
97
|
+
`/map-review` needs no Actor runner or blueprint and skips this preflight.
|
|
98
|
+
|
|
63
99
|
|
|
64
100
|
<Monitor_Contract_Verification_v2_9>
|
|
65
101
|
|
|
@@ -75,11 +111,15 @@ subtask metadata) apply only to Actor subtask validation, not standalone review.
|
|
|
75
111
|
- **Phantom-import filter (MANDATORY):** when the IDE language server (Pyright/Pylance) reports `reportMissingImports` on a module Actor JUST created in the same session, treat it as stale-cache noise — NOT a build failure. Confirm with native `python -B -c "import <module>"` or `pyright src/<file>`. The CLI is authoritative; the IDE diagnostic is informational.
|
|
76
112
|
- Go: `go build ./...`
|
|
77
113
|
- Rust: `cargo check`
|
|
78
|
-
- If build/compile fails
|
|
114
|
+
- If build/compile fails, record the command and diagnostic. A new,
|
|
115
|
+
changed, in-scope, security, or correctness failure makes `valid: false`.
|
|
116
|
+
Only a diagnostic satisfying every condition in “Explicitly approved
|
|
117
|
+
baseline gate failures” may be excluded from the scoped verdict; keep
|
|
118
|
+
the full build gate failed and continue the other checks.
|
|
79
119
|
3. Verify Goal is achieved — trace code path to confirm the stated outcome
|
|
80
120
|
4. Verify Action is implemented — check that the specified method/operation exists
|
|
81
121
|
5. **Verify mutation boundary (MANDATORY):** Run
|
|
82
|
-
`python3 .map/scripts/map_step_runner.py validate_mutation_boundary <branch> <subtask_id
|
|
122
|
+
`(unset GIT_DIR GIT_WORK_TREE GIT_COMMON_DIR GIT_INDEX_FILE; cd "$(git rev-parse --show-toplevel)" && python3 .map/scripts/map_step_runner.py validate_mutation_boundary <branch> <subtask_id>)`
|
|
83
123
|
to compare the actual git diff against the subtask's declared `affected_files`.
|
|
84
124
|
- `status="clean"` → continue.
|
|
85
125
|
- `status="warning"` → record the `unexpected` files in your verdict; do
|
|
@@ -97,14 +137,17 @@ subtask metadata) apply only to Actor subtask validation, not standalone review.
|
|
|
97
137
|
**Deterministic REJECT rule:**
|
|
98
138
|
If implementation deviates from the AAG contract — `valid: false` — regardless of how "clean" or "elegant" the code is. The contract IS the specification; aesthetic quality is irrelevant when the contract is violated.
|
|
99
139
|
|
|
100
|
-
You must NOT reject on the basis of style, elegance, or volume, even if the Evaluator scored simplicity low. Your reject criteria remain contract violation, build/test failure, security, data loss, missing required behavior, or other AUTO-REJECT items below. Style, elegance, and volume concerns are LOW/NON-BLOCKING unless they create one of those concrete failures.
|
|
140
|
+
You must NOT reject on the basis of style, elegance, or volume, even if the Evaluator scored simplicity low. Your reject criteria remain contract violation, unapproved or introduced build/test failure, security, data loss, missing required behavior, or other AUTO-REJECT items below. Style, elegance, and volume concerns are LOW/NON-BLOCKING unless they create one of those concrete failures.
|
|
101
141
|
|
|
102
142
|
**Misprune guard (when `<map_context>` includes `Approved Blueprint Snapshot`):** Treat the original request/goal, hard constraints, coverage_map, and `Active approved plan scope` as the user-approved blueprint. If Actor omits active approved scope because it appears optional, YAGNI, or smaller, return `valid:false` with category `misprune`. Treat `Rejected removals / Deferred YAGNI parking lot` as approved omissions: do NOT require those items unless they were restored into active scope. If Actor implements a rejected-removal item without restoration, report it as scope drift (blocking only when it violates mutation boundary, contract, safety, or explicit user approval).
|
|
103
143
|
|
|
104
144
|
**Escalation Framework:**
|
|
105
145
|
|
|
106
146
|
🔴 **AUTO-REJECT (valid: false, must fix):**
|
|
107
|
-
1. **Build/compile failure** —
|
|
147
|
+
1. **Build/compile failure** — an introduced or otherwise unapproved diagnostic
|
|
148
|
+
(`tsc --noEmit`, `go build`, `cargo check`, `ast.parse` fails); apply the
|
|
149
|
+
independently verified approved-baseline exception in Review Scope only
|
|
150
|
+
to its exact historical diagnostic, and keep the full gate failed
|
|
108
151
|
2. **AAG contract violation** — implementation does not satisfy Actor -> Action -> Goal
|
|
109
152
|
3. **Subtask contract violation** — implementation is substantially larger than expected_diff_size or mixes concern types that the plan did not justify
|
|
110
153
|
4. Missing error handling on network/database/file operations
|
|
@@ -122,7 +165,7 @@ You must NOT reject on the basis of style, elegance, or volume, even if the Eval
|
|
|
122
165
|
3. Performance concerns (N+1 queries, nested loops)
|
|
123
166
|
4. Incomplete documentation for complex algorithms
|
|
124
167
|
|
|
125
|
-
🟢 **PASS (contract satisfied
|
|
168
|
+
🟢 **PASS (scoped contract satisfied; full gate status reported separately):**
|
|
126
169
|
1. AAG contract fully satisfied (Goal achieved via stated Action)
|
|
127
170
|
2. All AUTO-REJECT items addressed
|
|
128
171
|
3. Error handling comprehensive
|
|
@@ -131,7 +174,8 @@ You must NOT reject on the basis of style, elegance, or volume, even if the Eval
|
|
|
131
174
|
6. Code quality ≥ 7 across all dimensions
|
|
132
175
|
|
|
133
176
|
**Quality Gate Enforcement:**
|
|
134
|
-
- Enforce quality gates regardless of stated urgency
|
|
177
|
+
- Enforce quality gates regardless of stated urgency. Apply the exact
|
|
178
|
+
user-approved baseline exception in Review Scope only with its evidence.
|
|
135
179
|
- If AAG contract violated → REJECT with specific contract breach description
|
|
136
180
|
- If Actor skipped error handling → REJECT with specific file:line feedback
|
|
137
181
|
- If Actor trusts external input → REJECT with security vulnerability details
|
|
@@ -273,8 +317,9 @@ All language handlers produce a standardized JSON format:
|
|
|
273
317
|
|
|
274
318
|
```
|
|
275
319
|
IF script returns summary.pass == false:
|
|
276
|
-
→
|
|
277
|
-
→
|
|
320
|
+
→ Compare every finding against “Explicitly approved baseline gate failures”
|
|
321
|
+
→ Add new, changed, in-scope, security, correctness, or unproved findings to issues
|
|
322
|
+
→ Set valid = false if any blocking error remains; report the full static-analysis gate as failed even if only approved historical findings remain
|
|
278
323
|
|
|
279
324
|
IF script returns success == false:
|
|
280
325
|
→ Log warning: "Static analysis failed: {error}"
|
|
@@ -378,9 +423,9 @@ IN SCOPE (block if issues found):
|
|
|
378
423
|
- Direct dependencies in same repository
|
|
379
424
|
- Test files accompanying the change
|
|
380
425
|
- Documentation modified in this change
|
|
381
|
-
- ANY
|
|
382
|
-
|
|
383
|
-
|
|
426
|
+
- ANY new, unknown, in-scope, security, or correctness failure surfaced by
|
|
427
|
+
current lint / type-check / test gates. A historical label alone is not
|
|
428
|
+
evidence of an approved baseline exception.
|
|
384
429
|
|
|
385
430
|
OUT OF SCOPE (note but don't block):
|
|
386
431
|
- External service implementations
|
|
@@ -398,15 +443,48 @@ IF reviewing a diff/PR (partial code):
|
|
|
398
443
|
→ Pre-existing DORMANT issues (code smell, no gate failure):
|
|
399
444
|
flag as LOW unless CRITICAL security; note "Issue predates this change"
|
|
400
445
|
→ Pre-existing SURFACED failures (lint/type/test gate is failing now):
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
introduced by this subtask.
|
|
446
|
+
block unless the exact diagnostic satisfies every approved-baseline
|
|
447
|
+
condition below. The full gate remains failing in either case.
|
|
404
448
|
|
|
405
449
|
IF reviewing full file:
|
|
406
450
|
→ Review everything, no severity discount
|
|
407
451
|
→ All issues are attributed to current review
|
|
408
452
|
```
|
|
409
453
|
|
|
454
|
+
### Explicitly approved baseline gate failures
|
|
455
|
+
|
|
456
|
+
An exception applies only to a **scoped Actor subtask**, never to a standalone
|
|
457
|
+
full-file/PR review. Independently verify all of these before allowing the
|
|
458
|
+
scoped verdict to pass:
|
|
459
|
+
|
|
460
|
+
1. The user explicitly approved deferring the **specific** diagnostic in the
|
|
461
|
+
current conversation. A durable record identifies the user decision,
|
|
462
|
+
failing command, file/rule/location, and the approved mutation boundary;
|
|
463
|
+
an Actor assertion or generic "pre-existing" label is insufficient.
|
|
464
|
+
2. Saved baseline output and the current full-gate output identify the same
|
|
465
|
+
failure. Compare source at the baseline with HEAD and the subtask diff;
|
|
466
|
+
show that the diagnostic was already present and unchanged, lies outside
|
|
467
|
+
the recorded mutation boundary, and no new diagnostic or regression
|
|
468
|
+
appeared. A missing
|
|
469
|
+
baseline, changed tool/config, uncertain attribution, or changed failure
|
|
470
|
+
blocks until resolved or separately approved with new evidence.
|
|
471
|
+
3. All subtask criteria, introduced-only build, tests, static analysis, and
|
|
472
|
+
relevant scoped checks pass. A full build, test, or analysis command may
|
|
473
|
+
remain failed solely because of the exact approved historical diagnostics;
|
|
474
|
+
each such command stays visibly failed. Security and correctness defects always block,
|
|
475
|
+
even if old or explicitly approved as "lint debt".
|
|
476
|
+
|
|
477
|
+
For a verified exception, keep the failing command and output visible in a
|
|
478
|
+
separate `approved_baseline_gate_failures` field with approval and comparison
|
|
479
|
+
evidence; state `full_gate_status: failed` in that field and in the summary.
|
|
480
|
+
The optional field is evidence, not an `issues` entry or a passing gate claim.
|
|
481
|
+
`valid: true` then means only that the scoped subtask passed. `passed_checks`
|
|
482
|
+
describe scoped dimensions; do not say the full lint/type/test gate passed.
|
|
483
|
+
Any unresolved in-scope finding still belongs in `issues` and sets
|
|
484
|
+
`valid: false` under the ordinary verdict rules. Do not rewrite the historical
|
|
485
|
+
failure's severity to make it fit a passing verdict. If any required proof is
|
|
486
|
+
missing, return `valid: false` with the missing evidence named.
|
|
487
|
+
|
|
410
488
|
### Large Change Handling
|
|
411
489
|
|
|
412
490
|
```
|
|
@@ -847,7 +925,7 @@ change to a shared pipeline file that breaks a stub/no-op path another
|
|
|
847
925
|
subtask owns, surfacing only at the final full gate.
|
|
848
926
|
|
|
849
927
|
- The orchestrator exposes the deterministic signal:
|
|
850
|
-
`python3 .map/scripts/map_step_runner.py detect_cross_subtask_regression_risk <branch> <subtask_id
|
|
928
|
+
`(unset GIT_DIR GIT_WORK_TREE GIT_COMMON_DIR GIT_INDEX_FILE; cd "$(git rev-parse --show-toplevel)" && python3 .map/scripts/map_step_runner.py detect_cross_subtask_regression_risk <branch> <subtask_id>)`.
|
|
851
929
|
When it returns `recommended_gate == "full_suite"` (current diff overlaps a
|
|
852
930
|
prior subtask's files, or the diff couldn't be computed), the `test_output`
|
|
853
931
|
you were handed MUST be from a FULL-suite run.
|
|
@@ -954,7 +1032,7 @@ If `violation: true`:
|
|
|
954
1032
|
|
|
955
1033
|
## 11-Dimension Quality Model
|
|
956
1034
|
|
|
957
|
-
Execute validation protocol for EACH dimension sequentially. Do NOT short-circuit — complete ALL 11 dimensions even if early rejections found. Output structured findings per dimension. **Exception:**
|
|
1035
|
+
Execute validation protocol for EACH dimension sequentially. Do NOT short-circuit — complete ALL 11 dimensions even if early rejections found. Output structured findings per dimension. **Exception:** a build/compile failure with a new, changed, in-scope, security, correctness, or unproved diagnostic (step 2 of Verification sequence) may short-circuit with `valid: false`. An exact approved historical diagnostic does not short-circuit; keep the full build gate failed and continue the scoped review.
|
|
958
1036
|
|
|
959
1037
|
### 1. CORRECTNESS
|
|
960
1038
|
|
|
@@ -1556,7 +1634,8 @@ START → Is there a security vulnerability or data loss risk?
|
|
|
1556
1634
|
IF {{review_mode}} == "diff":
|
|
1557
1635
|
→ Pre-existing DORMANT issues outside changed lines: cap at LOW
|
|
1558
1636
|
→ Pre-existing SURFACED failures (lint/type/test failing now):
|
|
1559
|
-
NOT capped —
|
|
1637
|
+
NOT capped — block unless every explicit approved-baseline condition in
|
|
1638
|
+
Review Scope is proved; keep the full gate visibly failing
|
|
1560
1639
|
→ Exception: CRITICAL security issues stay CRITICAL
|
|
1561
1640
|
→ Note: "Issue predates this change" in description (dormant only)
|
|
1562
1641
|
|
|
@@ -51,6 +51,42 @@ Your output: JSON with valid: true|false and issues[] array.
|
|
|
51
51
|
The Actor-specific sequence and rejection rules below (AAG, allowed scope,
|
|
52
52
|
subtask metadata) apply only to Actor subtask validation, not standalone review.
|
|
53
53
|
|
|
54
|
+
### Actor runtime preflight in linked worktrees
|
|
55
|
+
|
|
56
|
+
Before invoking either Actor-specific `.map/scripts/map_step_runner.py` gate,
|
|
57
|
+
clear inherited `GIT_DIR`, `GIT_WORK_TREE`, `GIT_COMMON_DIR`, and
|
|
58
|
+
`GIT_INDEX_FILE` in a subshell before resolving the checkout being reviewed
|
|
59
|
+
with `git rev-parse --show-toplevel`. Check
|
|
60
|
+
that **that checkout** contains `.map/scripts/map_step_runner.py` and
|
|
61
|
+
`.map/<branch>/blueprint.json`. If `CLAUDE_PROJECT_DIR` is set, it must name
|
|
62
|
+
the same checkout; otherwise the runner can inspect a different diff. Never
|
|
63
|
+
substitute a runner from another worktree or point `CLAUDE_PROJECT_DIR` at the
|
|
64
|
+
initialized checkout while reviewing changes in this one.
|
|
65
|
+
Run each relative runner command from the resolved checkout root, even if the
|
|
66
|
+
Monitor started in a subdirectory; that root is also the runner's project
|
|
67
|
+
directory when `CLAUDE_PROJECT_DIR` is unset. Keep those Git variables unset
|
|
68
|
+
for the runner too, so its Git calls cannot use a different checkout.
|
|
69
|
+
|
|
70
|
+
If the runner or blueprint is absent, or `CLAUDE_PROJECT_DIR` names a different
|
|
71
|
+
checkout, skip the two runner-dependent Actor gates and continue any independent
|
|
72
|
+
source, build, and test checks. Return `valid: false`,
|
|
73
|
+
`recommendation: "block"`, and a setup issue named
|
|
74
|
+
`MAP runtime unavailable in this worktree`. Name each missing path, or, for
|
|
75
|
+
an environment mismatch, name both the reviewed checkout and the different
|
|
76
|
+
`CLAUDE_PROJECT_DIR`. State that no mutation-boundary or cross-subtask gate
|
|
77
|
+
ran and that the Actor's code has **not** failed either gate. Do not turn this known setup error
|
|
78
|
+
into a source finding or a generic `needs_investigation` verdict; do not report
|
|
79
|
+
`valid: true` based on informal inspection.
|
|
80
|
+
|
|
81
|
+
Remediation for the parent/operator: install a checkout-local copy of the MAP
|
|
82
|
+
runtime and the matching branch's workflow artifacts in this worktree, then
|
|
83
|
+
rerun Monitor. For a repository that ignores `.map/`, copy (do not symlink)
|
|
84
|
+
`.map/scripts/`, `.map/config.yaml`, and `.map/<branch>/` from the initialized
|
|
85
|
+
checkout into this worktree's `.map/`. Check that the copied blueprint matches
|
|
86
|
+
the assigned subtask. This is a snapshot for validation in this checkout;
|
|
87
|
+
state-changing orchestration continues in its original checkout. A standalone
|
|
88
|
+
`/map-review` needs no Actor runner or blueprint and skips this preflight.
|
|
89
|
+
|
|
54
90
|
|
|
55
91
|
# Contract-Based Verification Protocol
|
|
56
92
|
|
|
@@ -74,7 +110,7 @@ Verification sequence (execute in order):
|
|
|
74
110
|
3. Verify Goal is achieved -- trace code path to confirm the stated outcome
|
|
75
111
|
4. Verify Action is implemented -- check that the specified method/operation exists
|
|
76
112
|
5. Verify mutation boundary (MANDATORY): Run
|
|
77
|
-
python3 .map/scripts/map_step_runner.py validate_mutation_boundary <branch> <subtask_id>
|
|
113
|
+
(unset GIT_DIR GIT_WORK_TREE GIT_COMMON_DIR GIT_INDEX_FILE; cd "$(git rev-parse --show-toplevel)" && python3 .map/scripts/map_step_runner.py validate_mutation_boundary <branch> <subtask_id>)
|
|
78
114
|
to compare the actual git diff against the subtask's declared affected_files.
|
|
79
115
|
- status="clean" -> continue.
|
|
80
116
|
- status="warning" -> record the unexpected files; do NOT auto-reject.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
# DESIGN (per LLM Council recommendations):
|
|
9
9
|
# - Only runs if there are uncommitted changes (dirty state)
|
|
10
10
|
# - Checks only changed files, not the entire project
|
|
11
|
-
# -
|
|
11
|
+
# - Never rewrites source; formatting belongs to the editing session
|
|
12
12
|
# - Only reports critical issues that need manual intervention
|
|
13
13
|
# - Full linting moved to /map-check command
|
|
14
14
|
# - Stop-hook re-entry is honored (stop_hook_active) and persistent findings
|
|
@@ -199,40 +199,104 @@ fi
|
|
|
199
199
|
|
|
200
200
|
log "Changed files: $(echo "$CHANGED_FILES" | tr '\n' ' ')"
|
|
201
201
|
|
|
202
|
+
MERGE_HEAD_REF=""
|
|
203
|
+
if git rev-parse --verify MERGE_HEAD &>/dev/null; then
|
|
204
|
+
MERGE_HEAD_REF=MERGE_HEAD
|
|
205
|
+
fi
|
|
206
|
+
|
|
202
207
|
# -----------------------------------------------------------------------------
|
|
203
|
-
#
|
|
208
|
+
# Critical Checks Only (on changed files)
|
|
204
209
|
# -----------------------------------------------------------------------------
|
|
205
210
|
|
|
206
|
-
#
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
+
# Check only added lines in staged blobs. The worktree can differ from the
|
|
212
|
+
# index, and pre-existing lines in a changed file are not new secrets.
|
|
213
|
+
rename_source_for_path() {
|
|
214
|
+
local parent="$1" destination="$2" status source target path
|
|
215
|
+
git rev-parse --verify "$parent" &>/dev/null || return 1
|
|
216
|
+
# -z makes rename records unambiguous even when a path contains tabs or
|
|
217
|
+
# newlines. A rename record has status, source, and destination fields.
|
|
218
|
+
while IFS= read -r -d '' status; do
|
|
219
|
+
if [[ "$status" == R* ]]; then
|
|
220
|
+
IFS= read -r -d '' source || return 1
|
|
221
|
+
IFS= read -r -d '' target || return 1
|
|
222
|
+
if [[ "$target" == "$destination" ]]; then
|
|
223
|
+
printf '%s' "$source"
|
|
224
|
+
return 0
|
|
225
|
+
fi
|
|
226
|
+
else
|
|
227
|
+
IFS= read -r -d '' path || return 1
|
|
211
228
|
fi
|
|
212
|
-
done
|
|
213
|
-
|
|
229
|
+
done < <(git diff --cached --no-color --no-ext-diff --no-textconv \
|
|
230
|
+
--name-status -z --find-renames=1% "$parent" 2>/dev/null)
|
|
231
|
+
return 1
|
|
232
|
+
}
|
|
214
233
|
|
|
215
|
-
#
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
234
|
+
# Bash 3.2 has indexed arrays but no associative arrays. Cache rename lookups
|
|
235
|
+
# for repeated candidate lines in the same parent/path, including misses.
|
|
236
|
+
RENAME_CACHE_PARENTS=()
|
|
237
|
+
RENAME_CACHE_PATHS=()
|
|
238
|
+
RENAME_CACHE_SOURCES=()
|
|
239
|
+
|
|
240
|
+
parent_contains_line() {
|
|
241
|
+
local parent="$1" file="$2" line="$3" source="" i found=0
|
|
242
|
+
# Let grep consume the full blob so a large file does not trip pipefail
|
|
243
|
+
# via SIGPIPE. A renamed file may exist in the parent under its old path.
|
|
244
|
+
if git show "$parent:$file" 2>/dev/null | grep -Fx -- "$line" >/dev/null; then
|
|
245
|
+
return 0
|
|
246
|
+
fi
|
|
247
|
+
for ((i=0; i<${#RENAME_CACHE_PARENTS[@]}; i++)); do
|
|
248
|
+
if [[ "${RENAME_CACHE_PARENTS[i]}" == "$parent" && "${RENAME_CACHE_PATHS[i]}" == "$file" ]]; then
|
|
249
|
+
source="${RENAME_CACHE_SOURCES[i]}"
|
|
250
|
+
found=1
|
|
251
|
+
break
|
|
220
252
|
fi
|
|
221
253
|
done
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
254
|
+
if [[ "$found" == 0 ]]; then
|
|
255
|
+
source=$(rename_source_for_path "$parent" "$file" || true)
|
|
256
|
+
RENAME_CACHE_PARENTS+=("$parent")
|
|
257
|
+
RENAME_CACHE_PATHS+=("$file")
|
|
258
|
+
RENAME_CACHE_SOURCES+=("$source")
|
|
259
|
+
fi
|
|
260
|
+
[[ -n "$source" ]] || return 1
|
|
261
|
+
git show "$parent:$source" 2>/dev/null | grep -Fx -- "$line" >/dev/null
|
|
262
|
+
}
|
|
227
263
|
|
|
228
|
-
# Check for secrets in staged files (always critical)
|
|
229
264
|
STAGED_FILES=$(git diff --cached --name-only 2>/dev/null || true)
|
|
230
265
|
if [[ -n "$STAGED_FILES" ]]; then
|
|
231
266
|
SECRET_PATTERN='(API_KEY|SECRET|TOKEN|PASSWORD|PRIVATE_KEY)\s*[=:]\s*["'"'"'][A-Za-z0-9_\-]{8,}'
|
|
232
267
|
while IFS= read -r file; do
|
|
233
|
-
|
|
234
|
-
|
|
268
|
+
[[ -z "$file" ]] && continue
|
|
269
|
+
# A merge result can contain lines authored by either parent. Diff
|
|
270
|
+
# against HEAD to find staged additions, then reject any line already
|
|
271
|
+
# present in HEAD or MERGE_HEAD. Only a secret absent from both parents
|
|
272
|
+
# is a local staged addition made during this merge.
|
|
273
|
+
if git rev-parse --verify HEAD &>/dev/null; then
|
|
274
|
+
staged_diff=$(git diff --cached --no-color --no-ext-diff --no-textconv \
|
|
275
|
+
--unified=0 HEAD -- "$file" 2>/dev/null || true)
|
|
276
|
+
else
|
|
277
|
+
# An unborn branch has no HEAD; Git diffs the index against the
|
|
278
|
+
# empty tree when no baseline is passed.
|
|
279
|
+
staged_diff=$(git diff --cached --no-color --no-ext-diff --no-textconv \
|
|
280
|
+
--unified=0 -- "$file" 2>/dev/null || true)
|
|
235
281
|
fi
|
|
282
|
+
in_hunk=0
|
|
283
|
+
while IFS= read -r line; do
|
|
284
|
+
if [[ "$line" == @@* ]]; then
|
|
285
|
+
in_hunk=1
|
|
286
|
+
continue
|
|
287
|
+
fi
|
|
288
|
+
# Diff headers precede the first @@. Inside a hunk, even a line
|
|
289
|
+
# beginning "+++ " is added content (its first byte is the diff
|
|
290
|
+
# marker and the remaining "++ " belongs to the file).
|
|
291
|
+
[[ "$in_hunk" == 1 && "$line" == +* ]] || continue
|
|
292
|
+
added_line="${line:1}"
|
|
293
|
+
if printf '%s\n' "$added_line" | grep -qE "$SECRET_PATTERN" \
|
|
294
|
+
&& ! parent_contains_line HEAD "$file" "$added_line" \
|
|
295
|
+
&& { [[ -z "$MERGE_HEAD_REF" ]] || ! parent_contains_line MERGE_HEAD "$file" "$added_line"; }; then
|
|
296
|
+
add_critical "Possible hardcoded secret in staged file: $file"
|
|
297
|
+
break
|
|
298
|
+
fi
|
|
299
|
+
done <<< "$staged_diff"
|
|
236
300
|
done <<< "$STAGED_FILES"
|
|
237
301
|
|
|
238
302
|
# Check for .env files staged
|
|
@@ -361,3 +425,4 @@ fi
|
|
|
361
425
|
log "Lightweight checks passed"
|
|
362
426
|
echo '{}'
|
|
363
427
|
exit 0
|
|
428
|
+
|