mapify-cli 3.30.0__tar.gz → 3.30.1__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.30.0 → mapify_cli-3.30.1}/PKG-INFO +1 -1
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/pyproject.toml +1 -1
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/__init__.py +8 -3
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/auto_update.py +39 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/codex_copier.py +38 -19
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/map_step_runner.py +5 -9
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/map_step_runner.py.jinja +5 -9
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_auto_update.py +86 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_map_step_runner.py +34 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_mapify_cli.py +212 -69
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/.claude/hooks/README.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/.claude/skills/README.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/.gitignore +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/LICENSE +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/README.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/__main__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/_locking.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/_python_guard.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/boundary_quality_report.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/cli_ui.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/code_map.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/codex_exec.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/config/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/config/mcp.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/config/project_config.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/config/settings.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/agent_generator.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/domain_skill.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/file_copier.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/governance_report.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/managed_file_copier.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/providers.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/delivery/template_renderer.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/dependency_graph.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/grace_eval/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/grace_eval/schema.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/grace_eval/sweep.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/install_manifest.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/intent_detector.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/memory/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/memory/capture.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/memory/digest_schema.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/memory/finalize.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/memory/recall.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/minimality_eval.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/minimality_report.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/parallelism_observability.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/provider_registry.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/python_runtime.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/ralph_state.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/repo_insight.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/research_eval.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/research_eval_compare.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/schemas.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/scope_classifier.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skill_ir.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/aggregator.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/apply_patcher.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/assertions.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/description_optimizer.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/dispatcher.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/eval_schema.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/proposer.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/runner.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/bundle.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/dispatcher.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/eval_schema.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/gates.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/judge.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/repeated.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/report.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/runner.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/trajectory/seeding.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/skills_eval/viewer.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/.gitignore +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/CLAUDE.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/actor.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/documentation-reviewer.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/evaluator.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/final-verifier.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/monitor.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/predictor.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/reflector.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/research-agent.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/agents/task-decomposer.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/AGENTS.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/actor.toml +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/decomposer.toml +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/documentation-reviewer.toml +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/evaluator.toml +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/final-verifier.toml +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/monitor.toml +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/predictor.toml +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/reflector.toml +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/agents/researcher.toml +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/config.toml +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/context-meter.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/detect-clarification-triggers.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/end-of-turn.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-memory-capture.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-memory-endmark.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-memory-recall.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-memory-session.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-stop.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/map-token-meter.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/post-compact-context.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/pre-compact-save-transcript.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/ralph-context-pruner.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/ralph-iteration-logger.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/safety-guardrails.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/scrub-internal-ids.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/workflow-context-injector.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks/workflow-gate.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/hooks.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/references/map-json-output-contracts.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/references/map-output-examples.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/references/map-xml-prompt-envelopes.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-architecture/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-auto/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-auto/auto-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-check/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-check/check-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-debug/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-efficient/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-efficient/efficient-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-explain/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-fast/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-learn/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-learn/templates/example-rules.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-unconditional.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-learn/templates/rules-with-paths.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-memory-now/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-plan/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-plan/plan-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-prd-review/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-release/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-release/release-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-resume/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-resume/resume-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-review/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-review/adversarial-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-review/review-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-skill-eval/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-so-search/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-so-search/scripts/sofa_search.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/scripts/check-complete.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/scripts/get-plan-path.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/scripts/init-session.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/scripts/show-focus.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/templates/findings.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/templates/iteration_history.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/templates/progress.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-state/templates/task_plan.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-task/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-tdd/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-tokenreport/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-understand/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-upgrade/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-wayfind/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/codex/skills/map-wayfind/wayfind-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/README.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/context-meter.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/detect-clarification-triggers.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/end-of-turn.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-memory-capture.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-memory-endmark.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-memory-finalize.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-memory-recall.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-statusline.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/map-token-meter.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/post-compact-context.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/pre-compact-save-transcript.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/ralph-context-pruner.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/ralph-iteration-logger.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/safety-guardrails.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/scrub-internal-ids.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/workflow-context-injector.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/hooks/workflow-gate.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/classify_scope.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/diagnostics.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/map_orchestrator.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/map_utils.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/scrub_internal_ids.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/sofa_client.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/validate_spec_citations.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/wayfind_runner.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/analyze.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/handlers/common.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/handlers/go.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/handlers/python.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/handlers/rust.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/static-analysis/handlers/typescript.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/ralph-loop-config.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/bash-guidelines.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/decomposition-examples.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/escalation-matrix.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/hook-patterns.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/host-paths.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/map-json-output-contracts.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/map-output-examples.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/map-xml-prompt-envelopes.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/mcp-usage-examples.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/step-state-schema.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/references/workflow-state-schema.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/rules/learned/README.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/settings.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/README.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-architecture/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-auto/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-auto/auto-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-check/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-check/check-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-debug/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-efficient/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-efficient/efficient-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-explain/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-fast/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-learn/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-learn/templates/example-rules.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-learn/templates/rules-unconditional.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-learn/templates/rules-with-paths.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-memory-now/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-plan/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-plan/plan-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-prd-review/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-release/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-release/release-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-resume/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-resume/resume-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-review/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-review/adversarial-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-review/review-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-skill-eval/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-so-search/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-so-search/scripts/sofa_search.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/scripts/check-complete.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/scripts/get-plan-path.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/scripts/init-session.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/scripts/show-focus.sh +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/templates/findings.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/templates/iteration_history.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/templates/progress.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-state/templates/task_plan.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-task/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-tdd/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-tokenreport/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-understand/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-upgrade/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-wayfind/SKILL.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/map-wayfind/wayfind-reference.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/skills/skill-rules.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/workflow-rules.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/.gitignore.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/CLAUDE.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/_partials/apply-patch-paths.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/_partials/auto-update-preflight.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/_partials/codex-memory-hook-wrapper.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/_partials/manual-upgrade-flow.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/_partials/python-version-guard.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/actor.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/documentation-reviewer.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/evaluator.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/final-verifier.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/monitor.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/predictor.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/reflector.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/research-agent.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/agents/task-decomposer.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/AGENTS.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/actor.toml.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/decomposer.toml.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/documentation-reviewer.toml.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/evaluator.toml.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/final-verifier.toml.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/monitor.toml.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/predictor.toml.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/reflector.toml.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/agents/researcher.toml.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/config.toml.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/context-meter.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/detect-clarification-triggers.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/end-of-turn.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-memory-capture.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-memory-endmark.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-memory-recall.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-memory-session.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-stop.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/map-token-meter.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/post-compact-context.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/pre-compact-save-transcript.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/ralph-context-pruner.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/ralph-iteration-logger.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/safety-guardrails.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/scrub-internal-ids.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/workflow-context-injector.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks/workflow-gate.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/hooks.json.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/references/map-json-output-contracts.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/references/map-output-examples.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/references/map-xml-prompt-envelopes.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-architecture/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-auto/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-auto/auto-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-check/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-check/check-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-debug/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-efficient/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-efficient/efficient-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-explain/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-fast/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-learn/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/example-rules.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-memory-now/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-plan/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-plan/plan-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-prd-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-release/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-release/release-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-resume/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-resume/resume-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-review/adversarial-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-review/review-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-skill-eval/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-so-search/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/check-complete.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/init-session.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/scripts/show-focus.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/templates/findings.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/templates/iteration_history.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/templates/progress.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-state/templates/task_plan.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-task/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-tdd/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-tokenreport/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-understand/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-upgrade/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-wayfind/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/codex/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/README.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/context-meter.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/detect-clarification-triggers.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/end-of-turn.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-memory-capture.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-memory-endmark.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-memory-finalize.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-memory-recall.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-statusline.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/map-token-meter.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/post-compact-context.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/pre-compact-save-transcript.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/ralph-context-pruner.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/ralph-iteration-logger.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/safety-guardrails.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/scrub-internal-ids.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/workflow-context-injector.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/hooks/workflow-gate.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/classify_scope.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/diagnostics.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/map_orchestrator.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/map_utils.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/scrub_internal_ids.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/sofa_client.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/validate_spec_citations.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/scripts/wayfind_runner.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/analyze.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/common.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/go.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/python.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/rust.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/map/static-analysis/handlers/typescript.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/ralph-loop-config.json.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/bash-guidelines.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/decomposition-examples.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/escalation-matrix.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/hook-patterns.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/host-paths.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/map-json-output-contracts.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/map-output-examples.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/map-xml-prompt-envelopes.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/mcp-usage-examples.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/step-state-schema.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/references/workflow-state-schema.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/rules/learned/README.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/settings.json.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/README.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-architecture/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-auto/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-auto/auto-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-check/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-check/check-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-debug/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-efficient/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-efficient/efficient-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-explain/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-fast/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-learn/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-learn/templates/example-rules.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-unconditional.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-learn/templates/rules-with-paths.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-memory-now/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-plan/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-plan/plan-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-prd-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-release/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-release/release-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-resume/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-resume/resume-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-review/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-review/adversarial-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-review/review-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-skill-eval/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-so-search/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-so-search/scripts/sofa_search.py.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/scripts/check-complete.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/scripts/get-plan-path.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/scripts/init-session.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/scripts/show-focus.sh.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/templates/findings.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/templates/iteration_history.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/templates/progress.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-state/templates/task_plan.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-task/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-tdd/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-tokenreport/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-understand/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-upgrade/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-wayfind/SKILL.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/map-wayfind/wayfind-reference.md.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/skills/skill-rules.json.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates_src/workflow-rules.json.jinja +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/token_budget.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/tool_output_offload.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/tools/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/tools/validate_dependencies.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/update_install.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/update_state.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/update_versions.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/verification_recorder.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/workflow_finalizer.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/workflow_logger.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/workflow_state.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/_fake_task_tool.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/conftest.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/fixtures/claude/escalation-matrix.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/fixtures/codex/config.toml +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/fixtures/wave_blueprints.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/hooks/test_detect_clarification_triggers.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/hooks/test_end_of_turn.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/hooks/test_hook_inventory_smoke.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/hooks/test_safety_guardrails.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/hooks/test_scrub_internal_ids_hook.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/blueprint.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/code_review.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/plan_handoff.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/spec.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/step_state_initialized.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/step_state_plan_complete.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/task_plan.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/fixtures/verification_summary.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/test_e2e_artifact_contracts.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/integration/test_e2e_claude_sdk.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/README.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_check_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_debug_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_debug_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_efficient_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_explain_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_fast_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_learn_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_memory_now_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_plan_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_release_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_resume_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_review_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_skill_eval_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_state_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_task_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_tdd_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/map_tokenreport_optimize_eval_set.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/manifest.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/src/utils.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_blocker/repo/tests/test_compute.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/hidden/test_calc_full.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/manifest.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/src/calc.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc/repo/tests/test_calc_basic.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/hidden/test_calc_full.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/manifest.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/src/calc.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_calc_vague/repo/tests/test_calc_basic.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/hidden/test_kvparse_full.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/manifest.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/src/kvparse.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_false_success/repo/tests/test_kvparse_basic.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/manifest.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/config.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/src/utils.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_pressure/repo/tests/test_price.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/manifest.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/config.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/src/utils.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_scope_trap/repo/tests/test_utils.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/manifest.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/src/semver.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver/repo/tests/test_semver.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/hidden/test_semver_full.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/manifest.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/src/semver.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_vague/repo/tests/test_semver_basic.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/hidden/test_semver_full.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/manifest.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/blueprint.json +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/.map/main/task_plan_main.md +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/__init__.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/src/semver.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/fixtures/whole_skill/map_task_semver_weakgate/repo/tests/test_semver_basic.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/skills_eval/whole_skill/spike_runner.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_agent_cli_correctness.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_agent_dispatch_audit.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_agent_frontmatter.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_agent_memory.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_approval_hold.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_artifact_schemas.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_boundary_quality_report.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_bump_version.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_classify_scope_script.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_code_map.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_compaction_offload_integration.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_concurrent_dispatch_harness.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_context_usefulness.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_cross_ai_config.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_decomposition.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_dependency_graph.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_diagnostics.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_digest_schema.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_domain_skill.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_file_copier.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_governance_attack_fixtures.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_governance_report.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_grace_eval_schema.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_grace_eval_sweep.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_hook_patterns.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_init_import_graph.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_install_manifest.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_intent_detector.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_inv1_no_anthropic_optimize.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_jinja2_dep.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_locking.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_managed_file_copier.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_map_auto.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_map_orchestrator.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_map_token_meter.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_map_utils_sanitize.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_memory_capture.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_memory_finalize.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_memory_integration.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_memory_recall.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_memory_review_fixes.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_minimality_eval.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_minimality_report.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_parallelism_observability.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_post_compact_context.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_preset_commands.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_project_config.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_prompt_layering.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_prompt_profile_commands.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_python_version_requirement.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_pyyaml_dep.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_ralph_hooks.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_ralph_state.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_repo_insight.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_research_eval.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_research_eval_compare.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_review_verdict_ledger.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_schemas.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_scope_classifier.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_scrub_internal_ids.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_settings_deny_globs.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_shell_json_pipes.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skill_ir.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_consistency.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_aggregator.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_apply.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_cli_optimize.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_dispatcher_env.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_dispatcher_timeout.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_fixtures.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_optimizer.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_optimizer_isolation.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_proposer.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_runner.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_schema.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_bundle.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_cli.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_gates.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_judge.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_repeated.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_report.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_runner.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_trajectory_schema.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_skills_eval_viewer.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_slice5b_leak_guards.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_sofa_client.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_sofa_search.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_statusline.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_template_render.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_token_budget.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_tool_output_offload.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_update_install.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_update_state.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_update_versions.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_validate_dependencies.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_validate_spec_citations.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_verification_recorder.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_wave_eval_harness.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_wave_fixtures.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_wave_parallel_harness.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_wayfind_runner.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_workflow_context_injector.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_workflow_finalizer.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_workflow_gate.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_workflow_logger.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_workflow_state.py +0 -0
- {mapify_cli-3.30.0 → mapify_cli-3.30.1}/tests/test_worktree_isolation.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: mapify-cli
|
|
3
|
-
Version: 3.30.
|
|
3
|
+
Version: 3.30.1
|
|
4
4
|
Summary: MAP Framework installer - Modular Agentic Planner for Claude Code
|
|
5
5
|
Project-URL: Homepage, https://github.com/azalio/map-framework
|
|
6
6
|
Project-URL: Repository, https://github.com/azalio/map-framework.git
|
|
@@ -23,7 +23,7 @@ Or install globally:
|
|
|
23
23
|
mapify check
|
|
24
24
|
"""
|
|
25
25
|
|
|
26
|
-
__version__ = "3.30.
|
|
26
|
+
__version__ = "3.30.1"
|
|
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
|
|
@@ -1495,13 +1495,18 @@ def init(
|
|
|
1495
1495
|
raise typer.Exit(1) from exc
|
|
1496
1496
|
|
|
1497
1497
|
if provider == "codex":
|
|
1498
|
-
# Codex provider: install .agents/.codex files + .map/scripts/
|
|
1498
|
+
# Codex provider: install .agents/.codex files + .map/scripts/
|
|
1499
|
+
# (.map/scripts policy is documented on create_codex_files)
|
|
1499
1500
|
from mapify_cli.delivery.providers import CodexProvider
|
|
1500
1501
|
|
|
1501
1502
|
tracker.add("create-codex", "Create Codex files")
|
|
1502
1503
|
tracker.start("create-codex")
|
|
1503
1504
|
codex_provider = CodexProvider()
|
|
1504
|
-
|
|
1505
|
+
try:
|
|
1506
|
+
counts = codex_provider.install(project_path)
|
|
1507
|
+
except RuntimeError as exc:
|
|
1508
|
+
console.print(f"[red]Error:[/red] {exc}")
|
|
1509
|
+
raise typer.Exit(1) from exc
|
|
1505
1510
|
total = sum(counts.values())
|
|
1506
1511
|
tracker.complete("create-codex", f"{total} files")
|
|
1507
1512
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import tomllib
|
|
5
6
|
from dataclasses import dataclass, replace
|
|
6
7
|
from datetime import UTC, datetime
|
|
7
8
|
from enum import StrEnum
|
|
@@ -45,6 +46,33 @@ _DEFAULT_INSTALL_EXACT_VERSION = install_exact_version
|
|
|
45
46
|
LOCK_TIMEOUT_SECONDS = 0.0
|
|
46
47
|
REFRESH_BARRIER_TIMEOUT_SECONDS = 0.0
|
|
47
48
|
|
|
49
|
+
FRAMEWORK_SOURCE_REPO_MESSAGE = (
|
|
50
|
+
"This project is the mapify-cli source repository; its provider trees are "
|
|
51
|
+
"rendered from src/mapify_cli/templates_src/ by `make render-templates` "
|
|
52
|
+
"and are never installed by the updater."
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def is_framework_source_repo(project_path: Path) -> bool:
|
|
57
|
+
"""Return True when ``project_path`` is the mapify-cli source repository.
|
|
58
|
+
|
|
59
|
+
The framework repo's generated trees (``.claude/``, ``.codex/``,
|
|
60
|
+
``.agents/``, ``.map/scripts/``) are fence-free renders of
|
|
61
|
+
``src/mapify_cli/templates_src/``. Running the provider refresh there
|
|
62
|
+
re-installs the shipped templates with fences and ``MAP-MANAGED`` headers
|
|
63
|
+
over 100+ tracked files and leaves a ``.bak`` beside each (#462).
|
|
64
|
+
"""
|
|
65
|
+
project_path = Path(project_path)
|
|
66
|
+
if not (project_path / "src" / "mapify_cli" / "templates_src").is_dir():
|
|
67
|
+
return False
|
|
68
|
+
try:
|
|
69
|
+
with (project_path / "pyproject.toml").open("rb") as handle:
|
|
70
|
+
pyproject = tomllib.load(handle)
|
|
71
|
+
except (OSError, tomllib.TOMLDecodeError):
|
|
72
|
+
return False
|
|
73
|
+
project = pyproject.get("project")
|
|
74
|
+
return isinstance(project, dict) and project.get("name") == "mapify-cli"
|
|
75
|
+
|
|
48
76
|
|
|
49
77
|
class UpdateMode(StrEnum):
|
|
50
78
|
"""Whether an update check was initiated by a skill or explicitly by a user."""
|
|
@@ -714,6 +742,17 @@ def check_and_update(
|
|
|
714
742
|
|
|
715
743
|
completed_result: UpdateResult | None = None
|
|
716
744
|
try:
|
|
745
|
+
if is_framework_source_repo(project_path):
|
|
746
|
+
# Intent: the framework repo is never an install target. Its
|
|
747
|
+
# generated trees are the rendered source of truth (#462).
|
|
748
|
+
if mode is UpdateMode.AUTOMATIC:
|
|
749
|
+
return UpdateResult(
|
|
750
|
+
UpdateStatus.SKIPPED,
|
|
751
|
+
current_version,
|
|
752
|
+
message=FRAMEWORK_SOURCE_REPO_MESSAGE,
|
|
753
|
+
)
|
|
754
|
+
return _error(current_version, FRAMEWORK_SOURCE_REPO_MESSAGE)
|
|
755
|
+
|
|
717
756
|
if (
|
|
718
757
|
mode is UpdateMode.AUTOMATIC
|
|
719
758
|
and not load_map_config(project_path).updates_auto
|
|
@@ -15,6 +15,9 @@ from pathlib import Path
|
|
|
15
15
|
from typing import Any
|
|
16
16
|
|
|
17
17
|
from mapify_cli.delivery.file_copier import (
|
|
18
|
+
_IGNORED_TEMPLATE_NAMES,
|
|
19
|
+
_IGNORED_TEMPLATE_SUFFIXES,
|
|
20
|
+
_copy_map_path,
|
|
18
21
|
_extract_requires_block,
|
|
19
22
|
_get_version,
|
|
20
23
|
_load_template_skill_catalog,
|
|
@@ -65,14 +68,12 @@ def _copy_tree(
|
|
|
65
68
|
"""
|
|
66
69
|
count = 0
|
|
67
70
|
dst_dir.mkdir(parents=True, exist_ok=True)
|
|
68
|
-
ignored_names = {"__pycache__", ".DS_Store"}
|
|
69
|
-
ignored_suffixes = {".pyc", ".pyo"}
|
|
70
71
|
for src_file in src_dir.rglob("*"):
|
|
71
72
|
if not src_file.is_file():
|
|
72
73
|
continue
|
|
73
|
-
if any(part in
|
|
74
|
+
if any(part in _IGNORED_TEMPLATE_NAMES for part in src_file.parts):
|
|
74
75
|
continue
|
|
75
|
-
if src_file.suffix in
|
|
76
|
+
if src_file.suffix in _IGNORED_TEMPLATE_SUFFIXES:
|
|
76
77
|
continue
|
|
77
78
|
rel = src_file.relative_to(src_dir)
|
|
78
79
|
target = dst_dir / rel
|
|
@@ -90,6 +91,20 @@ def _copy_tree(
|
|
|
90
91
|
_EXEC_SUFFIXES = frozenset((".py", ".sh"))
|
|
91
92
|
|
|
92
93
|
|
|
94
|
+
def _first_symlink_component(root: Path, dest: Path) -> Path | None:
|
|
95
|
+
"""Return the first component of *dest* below *root* that is a symlink.
|
|
96
|
+
|
|
97
|
+
Checked component by component (``.map``, then ``.map/scripts``) so a
|
|
98
|
+
linked ancestor cannot redirect the runtime install outside *root*.
|
|
99
|
+
"""
|
|
100
|
+
current = root
|
|
101
|
+
for part in dest.relative_to(root).parts:
|
|
102
|
+
current = current / part
|
|
103
|
+
if current.is_symlink():
|
|
104
|
+
return current
|
|
105
|
+
return None
|
|
106
|
+
|
|
107
|
+
|
|
93
108
|
def _managed_codex_hook_names(hooks_dir_src: Path) -> frozenset[str]:
|
|
94
109
|
"""Names of the scripts mapify ships into .codex/hooks/ — the MAP-owned set."""
|
|
95
110
|
if not hooks_dir_src.is_dir():
|
|
@@ -250,9 +265,11 @@ def create_codex_files(project_path: Path) -> dict[str, int]:
|
|
|
250
265
|
Watched files (skills, agents, config, AGENTS.md, hooks) are installed
|
|
251
266
|
fence-aware so a re-install preserves any user content below the fence;
|
|
252
267
|
hooks.json is merged without MAP metadata because Codex validates top-level
|
|
253
|
-
keys strictly; .map/scripts is MAP-owned
|
|
268
|
+
keys strictly; .map/scripts is MAP-owned and refreshed exactly like the
|
|
269
|
+
Claude provider's tree (``_copy_map_path``: shipped scripts are overwritten,
|
|
270
|
+
a drifted managed copy is backed up to ``.bak.<ts>`` first, project-added
|
|
271
|
+
files are left alone).
|
|
254
272
|
|
|
255
|
-
Skips .map/scripts/ if the directory already exists.
|
|
256
273
|
Never creates or modifies any .claude/ path.
|
|
257
274
|
|
|
258
275
|
Args:
|
|
@@ -264,6 +281,8 @@ def create_codex_files(project_path: Path) -> dict[str, int]:
|
|
|
264
281
|
"""
|
|
265
282
|
templates_dir = get_templates_dir()
|
|
266
283
|
codex_templates = templates_dir / "codex"
|
|
284
|
+
map_scripts_src = templates_dir / "map" / "scripts"
|
|
285
|
+
map_scripts_dst = project_path / ".map" / "scripts"
|
|
267
286
|
|
|
268
287
|
empty_counts: dict[str, int] = {
|
|
269
288
|
"skills": 0,
|
|
@@ -277,6 +296,14 @@ def create_codex_files(project_path: Path) -> dict[str, int]:
|
|
|
277
296
|
if not codex_templates.exists():
|
|
278
297
|
return empty_counts
|
|
279
298
|
|
|
299
|
+
if map_scripts_src.exists():
|
|
300
|
+
link = _first_symlink_component(project_path, map_scripts_dst)
|
|
301
|
+
if link is not None:
|
|
302
|
+
raise RuntimeError(
|
|
303
|
+
f"{link} is a symbolic link; mapify will not install .map/scripts "
|
|
304
|
+
"through it. Replace the link with a real directory and re-run."
|
|
305
|
+
)
|
|
306
|
+
|
|
280
307
|
counts: dict[str, int] = dict(empty_counts)
|
|
281
308
|
codex_dir = project_path / ".codex"
|
|
282
309
|
agents_dir = project_path / ".agents"
|
|
@@ -391,19 +418,11 @@ def create_codex_files(project_path: Path) -> dict[str, int]:
|
|
|
391
418
|
counts["docs"] += 1
|
|
392
419
|
|
|
393
420
|
# ------------------------------------------------------------------
|
|
394
|
-
# 6. .map/scripts/ —
|
|
395
|
-
#
|
|
421
|
+
# 6. .map/scripts/ — MAP-owned, same policy as the Claude provider:
|
|
422
|
+
# shipped scripts are refreshed (.bak.<ts> on drift), project-added
|
|
423
|
+
# files are never touched.
|
|
396
424
|
# ------------------------------------------------------------------
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
map_scripts_src = templates_dir / "map" / "scripts"
|
|
400
|
-
if map_scripts_src.exists():
|
|
401
|
-
counts["scripts"] = _copy_tree(
|
|
402
|
-
map_scripts_src,
|
|
403
|
-
map_scripts_dst,
|
|
404
|
-
version,
|
|
405
|
-
fenced=False,
|
|
406
|
-
executable_suffixes=_EXEC_SUFFIXES,
|
|
407
|
-
)
|
|
425
|
+
if map_scripts_src.exists():
|
|
426
|
+
counts["scripts"] = _copy_map_path(map_scripts_src, map_scripts_dst, version)
|
|
408
427
|
|
|
409
428
|
return counts
|
{mapify_cli-3.30.0 → mapify_cli-3.30.1}/src/mapify_cli/templates/map/scripts/map_step_runner.py
RENAMED
|
@@ -5277,7 +5277,7 @@ def ensure_human_artifacts(branch: str | None = None) -> dict:
|
|
|
5277
5277
|
if path.exists():
|
|
5278
5278
|
existing.append(file_name)
|
|
5279
5279
|
continue
|
|
5280
|
-
path
|
|
5280
|
+
_write_text_file(path, content)
|
|
5281
5281
|
created.append(file_name)
|
|
5282
5282
|
|
|
5283
5283
|
return {
|
|
@@ -9577,9 +9577,7 @@ def ensure_active_issues_file(branch: str | None = None) -> dict:
|
|
|
9577
9577
|
issues_file = branch_dir / "active-issues.json"
|
|
9578
9578
|
if not issues_file.exists():
|
|
9579
9579
|
payload = {**ACTIVE_ISSUES_DEFAULT, "updated_at": datetime.now(UTC).isoformat()}
|
|
9580
|
-
issues_file
|
|
9581
|
-
json.dumps(payload, indent=2, ensure_ascii=True) + "\n", encoding="utf-8"
|
|
9582
|
-
)
|
|
9580
|
+
_write_json_file(issues_file, payload)
|
|
9583
9581
|
return {"status": "success", "path": str(issues_file), "created": True}
|
|
9584
9582
|
return {"status": "success", "path": str(issues_file), "created": False}
|
|
9585
9583
|
|
|
@@ -12836,10 +12834,7 @@ def ensure_known_issues_file(branch: str | None = None) -> dict:
|
|
|
12836
12834
|
branch_dir.mkdir(parents=True, exist_ok=True)
|
|
12837
12835
|
issues_file = branch_dir / "known-issues.json"
|
|
12838
12836
|
if not issues_file.exists():
|
|
12839
|
-
issues_file
|
|
12840
|
-
json.dumps(KNOWN_ISSUES_DEFAULT, indent=2, ensure_ascii=True) + "\n",
|
|
12841
|
-
encoding="utf-8",
|
|
12842
|
-
)
|
|
12837
|
+
_write_json_file(issues_file, KNOWN_ISSUES_DEFAULT)
|
|
12843
12838
|
return {"status": "success", "path": str(issues_file), "created": True}
|
|
12844
12839
|
return {"status": "success", "path": str(issues_file), "created": False}
|
|
12845
12840
|
|
|
@@ -12853,7 +12848,8 @@ def add_known_issue(
|
|
|
12853
12848
|
"""Append a known issue / accepted blocker entry."""
|
|
12854
12849
|
ensure_known_issues_file(branch)
|
|
12855
12850
|
issues_file = get_branch_dir(branch) / "known-issues.json"
|
|
12856
|
-
|
|
12851
|
+
raw = _read_json_file(issues_file)
|
|
12852
|
+
payload: dict[str, Any] = dict(raw) if raw is not None else dict(KNOWN_ISSUES_DEFAULT)
|
|
12857
12853
|
payload.setdefault("issues", []).append(
|
|
12858
12854
|
{
|
|
12859
12855
|
"title": title,
|
|
@@ -5252,7 +5252,7 @@ def ensure_human_artifacts(branch: str | None = None) -> dict:
|
|
|
5252
5252
|
if path.exists():
|
|
5253
5253
|
existing.append(file_name)
|
|
5254
5254
|
continue
|
|
5255
|
-
path
|
|
5255
|
+
_write_text_file(path, content)
|
|
5256
5256
|
created.append(file_name)
|
|
5257
5257
|
|
|
5258
5258
|
return {
|
|
@@ -9552,9 +9552,7 @@ def ensure_active_issues_file(branch: str | None = None) -> dict:
|
|
|
9552
9552
|
issues_file = branch_dir / "active-issues.json"
|
|
9553
9553
|
if not issues_file.exists():
|
|
9554
9554
|
payload = {**ACTIVE_ISSUES_DEFAULT, "updated_at": datetime.now(UTC).isoformat()}
|
|
9555
|
-
issues_file
|
|
9556
|
-
json.dumps(payload, indent=2, ensure_ascii=True) + "\n", encoding="utf-8"
|
|
9557
|
-
)
|
|
9555
|
+
_write_json_file(issues_file, payload)
|
|
9558
9556
|
return {"status": "success", "path": str(issues_file), "created": True}
|
|
9559
9557
|
return {"status": "success", "path": str(issues_file), "created": False}
|
|
9560
9558
|
|
|
@@ -12811,10 +12809,7 @@ def ensure_known_issues_file(branch: str | None = None) -> dict:
|
|
|
12811
12809
|
branch_dir.mkdir(parents=True, exist_ok=True)
|
|
12812
12810
|
issues_file = branch_dir / "known-issues.json"
|
|
12813
12811
|
if not issues_file.exists():
|
|
12814
|
-
issues_file
|
|
12815
|
-
json.dumps(KNOWN_ISSUES_DEFAULT, indent=2, ensure_ascii=True) + "\n",
|
|
12816
|
-
encoding="utf-8",
|
|
12817
|
-
)
|
|
12812
|
+
_write_json_file(issues_file, KNOWN_ISSUES_DEFAULT)
|
|
12818
12813
|
return {"status": "success", "path": str(issues_file), "created": True}
|
|
12819
12814
|
return {"status": "success", "path": str(issues_file), "created": False}
|
|
12820
12815
|
|
|
@@ -12828,7 +12823,8 @@ def add_known_issue(
|
|
|
12828
12823
|
"""Append a known issue / accepted blocker entry."""
|
|
12829
12824
|
ensure_known_issues_file(branch)
|
|
12830
12825
|
issues_file = get_branch_dir(branch) / "known-issues.json"
|
|
12831
|
-
|
|
12826
|
+
raw = _read_json_file(issues_file)
|
|
12827
|
+
payload: dict[str, Any] = dict(raw) if raw is not None else dict(KNOWN_ISSUES_DEFAULT)
|
|
12832
12828
|
payload.setdefault("issues", []).append(
|
|
12833
12829
|
{
|
|
12834
12830
|
"title": title,
|
|
@@ -39,6 +39,7 @@ from mapify_cli.update_state import (
|
|
|
39
39
|
from mapify_cli.update_versions import ReleaseHighlights, StableVersion, VersionTargets
|
|
40
40
|
|
|
41
41
|
NOW = datetime(2026, 8, 13, 12, 0, tzinfo=UTC)
|
|
42
|
+
REPO_ROOT = Path(__file__).resolve().parents[1]
|
|
42
43
|
|
|
43
44
|
|
|
44
45
|
@pytest.fixture(autouse=True)
|
|
@@ -441,6 +442,91 @@ def test_source_install_is_silent_skip_automatically_and_error_manually(
|
|
|
441
442
|
assert "owner-managed" in manual.message
|
|
442
443
|
|
|
443
444
|
|
|
445
|
+
def _write_framework_fingerprint(project: Path, *, name: str = "mapify-cli") -> None:
|
|
446
|
+
(project / "src" / "mapify_cli" / "templates_src").mkdir(parents=True)
|
|
447
|
+
(project / "pyproject.toml").write_text(
|
|
448
|
+
f'[project]\nname = "{name}"\nversion = "0.0.0"\n', encoding="utf-8"
|
|
449
|
+
)
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
def test_framework_source_repo_is_silent_skip_automatically_and_error_manually(
|
|
453
|
+
tmp_path: Path, monkeypatch: pytest.MonkeyPatch
|
|
454
|
+
) -> None:
|
|
455
|
+
"""#462: never install the shipped templates over the rendered dev trees."""
|
|
456
|
+
_write_framework_fingerprint(tmp_path)
|
|
457
|
+
fetch = Mock(side_effect=AssertionError("network must not run"))
|
|
458
|
+
monkeypatch.setattr(auto_update, "fetch_version_targets", fetch)
|
|
459
|
+
refresh = Mock(side_effect=AssertionError("provider refresh must not run"))
|
|
460
|
+
monkeypatch.setattr(auto_update, "refresh_installed_providers", refresh)
|
|
461
|
+
|
|
462
|
+
automatic = check_and_update(tmp_path, "3.29.1", UpdateMode.AUTOMATIC, now=NOW)
|
|
463
|
+
manual = check_and_update(tmp_path, "3.29.1", UpdateMode.MANUAL, now=NOW)
|
|
464
|
+
|
|
465
|
+
assert automatic.status is UpdateStatus.SKIPPED
|
|
466
|
+
assert automatic.message == auto_update.FRAMEWORK_SOURCE_REPO_MESSAGE
|
|
467
|
+
assert manual.status is UpdateStatus.ERROR
|
|
468
|
+
assert manual.message == auto_update.FRAMEWORK_SOURCE_REPO_MESSAGE
|
|
469
|
+
assert "make render-templates" in manual.message
|
|
470
|
+
fetch.assert_not_called()
|
|
471
|
+
refresh.assert_not_called()
|
|
472
|
+
# No update state, lock, or provider file is written in either mode.
|
|
473
|
+
assert not (tmp_path / ".map").exists()
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
def test_framework_source_repo_skip_ignores_config_and_throttle(
|
|
477
|
+
tmp_path: Path, monkeypatch: pytest.MonkeyPatch
|
|
478
|
+
) -> None:
|
|
479
|
+
_write_framework_fingerprint(tmp_path)
|
|
480
|
+
_write_config(tmp_path, "updates.auto: true\n")
|
|
481
|
+
write_update_state(tmp_path, UpdateState(last_attempt_at="2026-08-01T00:00:00Z"))
|
|
482
|
+
attempt_before = read_update_state(tmp_path).last_attempt_at
|
|
483
|
+
fetch = Mock(side_effect=AssertionError("network must not run"))
|
|
484
|
+
monkeypatch.setattr(auto_update, "fetch_version_targets", fetch)
|
|
485
|
+
|
|
486
|
+
result = check_and_update(tmp_path, "3.29.1", UpdateMode.AUTOMATIC, now=NOW)
|
|
487
|
+
|
|
488
|
+
assert result.status is UpdateStatus.SKIPPED
|
|
489
|
+
assert result.message == auto_update.FRAMEWORK_SOURCE_REPO_MESSAGE
|
|
490
|
+
assert read_update_state(tmp_path).last_attempt_at == attempt_before
|
|
491
|
+
fetch.assert_not_called()
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
def test_this_repository_is_the_framework_source_repo(
|
|
495
|
+
monkeypatch: pytest.MonkeyPatch,
|
|
496
|
+
) -> None:
|
|
497
|
+
"""The real dev checkout must trip the guard, not only a synthetic fixture."""
|
|
498
|
+
assert auto_update.is_framework_source_repo(REPO_ROOT)
|
|
499
|
+
fetch = Mock(side_effect=AssertionError("network must not run"))
|
|
500
|
+
monkeypatch.setattr(auto_update, "fetch_version_targets", fetch)
|
|
501
|
+
|
|
502
|
+
result = check_and_update(REPO_ROOT, "3.29.1", UpdateMode.AUTOMATIC, now=NOW)
|
|
503
|
+
|
|
504
|
+
assert result.status is UpdateStatus.SKIPPED
|
|
505
|
+
assert result.message == auto_update.FRAMEWORK_SOURCE_REPO_MESSAGE
|
|
506
|
+
fetch.assert_not_called()
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
@pytest.mark.parametrize(
|
|
510
|
+
("pyproject", "templates_src"),
|
|
511
|
+
[
|
|
512
|
+
pytest.param('[project]\nname = "mapify-cli"\n', False, id="no-templates-src"),
|
|
513
|
+
pytest.param('[project]\nname = "other-package"\n', True, id="other-name"),
|
|
514
|
+
pytest.param('[tool.x]\nname = "mapify-cli"\n', True, id="no-project-table"),
|
|
515
|
+
pytest.param("name = [unterminated\n", True, id="malformed-toml"),
|
|
516
|
+
pytest.param(None, True, id="no-pyproject"),
|
|
517
|
+
],
|
|
518
|
+
)
|
|
519
|
+
def test_partial_framework_fingerprint_is_an_ordinary_project(
|
|
520
|
+
tmp_path: Path, pyproject: str | None, templates_src: bool
|
|
521
|
+
) -> None:
|
|
522
|
+
if pyproject is not None:
|
|
523
|
+
(tmp_path / "pyproject.toml").write_text(pyproject, encoding="utf-8")
|
|
524
|
+
if templates_src:
|
|
525
|
+
(tmp_path / "src" / "mapify_cli" / "templates_src").mkdir(parents=True)
|
|
526
|
+
|
|
527
|
+
assert not auto_update.is_framework_source_repo(tmp_path)
|
|
528
|
+
|
|
529
|
+
|
|
444
530
|
def test_lock_contention_skips_automatic_and_errors_manual(
|
|
445
531
|
tmp_path: Path, monkeypatch: pytest.MonkeyPatch
|
|
446
532
|
) -> None:
|
|
@@ -4868,6 +4868,18 @@ class TestEnsureActiveIssuesFile:
|
|
|
4868
4868
|
|
|
4869
4869
|
assert issues_file.read_text(encoding="utf-8") == custom_content
|
|
4870
4870
|
|
|
4871
|
+
def test_corrupt_file_is_not_written_partially(self, branch_workspace):
|
|
4872
|
+
"""File creation is atomic: reader never sees partial JSON (#464)."""
|
|
4873
|
+
issues_file = branch_workspace / "active-issues.json"
|
|
4874
|
+
# simulate a corrupt file left by a crash mid-write
|
|
4875
|
+
issues_file.write_text("{corrupt", encoding="utf-8")
|
|
4876
|
+
|
|
4877
|
+
# ensure_active_issues_file skips creation if file exists (even corrupt)
|
|
4878
|
+
result = map_step_runner.ensure_active_issues_file()
|
|
4879
|
+
assert result["created"] is False
|
|
4880
|
+
# the corrupt file is NOT overwritten by ensure_*; replace_active_issues must be used
|
|
4881
|
+
assert issues_file.read_text(encoding="utf-8") == "{corrupt"
|
|
4882
|
+
|
|
4871
4883
|
|
|
4872
4884
|
# ---------------------------------------------------------------------------
|
|
4873
4885
|
# replace_active_issues — focused unit tests
|
|
@@ -5185,6 +5197,14 @@ class TestEnsureKnownIssuesFile:
|
|
|
5185
5197
|
|
|
5186
5198
|
assert issues_file.read_text(encoding="utf-8") == original
|
|
5187
5199
|
|
|
5200
|
+
def test_new_file_write_is_valid_json(self, branch_workspace):
|
|
5201
|
+
"""ensure_known_issues_file writes valid JSON (atomic write, #464)."""
|
|
5202
|
+
result = map_step_runner.ensure_known_issues_file()
|
|
5203
|
+
|
|
5204
|
+
assert result["created"] is True
|
|
5205
|
+
data = json.loads((branch_workspace / "known-issues.json").read_text(encoding="utf-8"))
|
|
5206
|
+
assert data == {"issues": []}
|
|
5207
|
+
|
|
5188
5208
|
|
|
5189
5209
|
# ---------------------------------------------------------------------------
|
|
5190
5210
|
# add_known_issue — focused unit tests
|
|
@@ -5244,6 +5264,20 @@ class TestAddKnownIssue:
|
|
|
5244
5264
|
)
|
|
5245
5265
|
assert data["issues"][0]["status"] == "accepted"
|
|
5246
5266
|
|
|
5267
|
+
def test_add_known_issue_recovers_from_corrupt_file(self, branch_workspace):
|
|
5268
|
+
"""add_known_issue does not crash on corrupt known-issues.json (#464)."""
|
|
5269
|
+
issues_file = branch_workspace / "known-issues.json"
|
|
5270
|
+
# simulate a file left corrupt by a crash mid-write
|
|
5271
|
+
issues_file.write_text("{corrupt json", encoding="utf-8")
|
|
5272
|
+
|
|
5273
|
+
# must not raise JSONDecodeError; should recover to an empty issues list
|
|
5274
|
+
result = map_step_runner.add_known_issue("Post-crash issue", "accepted")
|
|
5275
|
+
|
|
5276
|
+
assert result["status"] == "success"
|
|
5277
|
+
assert result["count"] == 1
|
|
5278
|
+
data = json.loads(issues_file.read_text(encoding="utf-8"))
|
|
5279
|
+
assert data["issues"][0]["title"] == "Post-crash issue"
|
|
5280
|
+
|
|
5247
5281
|
|
|
5248
5282
|
# ---------------------------------------------------------------------------
|
|
5249
5283
|
# run_test_gate — focused unit tests
|