claude-code-generator 0.4.6__tar.gz → 0.4.7__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.
- {claude_code_generator-0.4.6/src/claude_code_generator.egg-info → claude_code_generator-0.4.7}/PKG-INFO +1 -1
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/pyproject.toml +1 -1
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7/src/claude_code_generator.egg-info}/PKG-INFO +1 -1
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/__init__.py +1 -1
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/effort.py +10 -3
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_effort.py +19 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/LICENSE +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/README.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/setup.cfg +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/claude_code_generator.egg-info/SOURCES.txt +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/claude_code_generator.egg-info/dependency_links.txt +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/claude_code_generator.egg-info/entry_points.txt +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/claude_code_generator.egg-info/requires.txt +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/claude_code_generator.egg-info/top_level.txt +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/agents.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/cli.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/__init__.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/_bench_io.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/_crash_recovery.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/_detect.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/_dispatch.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/_resume.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/_validators.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/bench.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/bench_compare.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/bench_export.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/generate.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/init.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/optimize.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/review.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/status.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/env.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/gh/__init__.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/gh/core.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/gh/issues.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/gh/labels.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/gh/milestones.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/git_ops.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/logging_setup.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/memory.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/__init__.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/_client_lifecycle.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/_comments.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/_memory_writers.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/_phase5_precommit.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/cycle_loop.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/cycle_prompts.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/ollama_budget.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/phase0_complexity.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/phase1_plan.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/phase2_review.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/phase3_4_implement.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/phase5_closure.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/phase6_test.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/orchestrator/phase7_commit.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/preflight.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/__init__.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/hashes.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/prompt-cycle-specializer.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/prompt-optimize-requirements.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/prompt-phase-0-complexity.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/prompt-phase-1-planning.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/prompt-phase-2-batch-review.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/prompt-phase-2-issue-review.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/prompt-phase-3-implementation.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/prompt-phase-5-final-review.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/prompt-phase-6-test.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/prompt-phase-7-commit.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/prompt-review.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/repo_info.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/repomap.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/requirements_structure.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/__init__.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/_telemetry.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/batch.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/fake_runner.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/mcp.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/message_parsing.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/options.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/protocol.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/rate_limit.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/retry.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/sdk_runner.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/soft_reset.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/state_guard.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/subprocess_runner.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/types.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/utils.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/state.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/state_retention.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/__init__.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/angular.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/base.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/fastapi.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/finance.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/fullstack.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/nestjs.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/python-cli.md +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_agents.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_bench.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_bench_compare.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_bench_export.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_bench_fixture.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_bench_regression.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_changelog.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_claude_md.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_client_lifecycle.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_comments.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_commit_message.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_crash_recovery.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_cycle_loop.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_cycle_loop_multicycle.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_cycle_ollama_model.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_cycle_prompts.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_delta_planning.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_dependencies.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_detect.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_docs_no_default_max_turns.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_docs_ollama_model_guide.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_docs_ollama_pro.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_effective_model_routing.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_env.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_generate.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_generate_ollama.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_generate_resume.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_gh.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_gh_labels.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_gh_milestones.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_gh_repo_threading.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_gh_submodules.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_git_ops.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_init.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_logging_setup.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_max_turns_cli_flag.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_mcp.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_memory.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_memory_writers.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_message_parsing.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_no_max_turns_in_call_sites.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_no_max_turns_literal.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_non_goals_grep_guard.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_ollama_budget.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_ollama_rate_limit.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_optimize.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_options.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase0.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase1.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase2.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase2_batch.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase3_4.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase5.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase5_precommit.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase6.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase7.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase_mcp_regression.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase_token_logging.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_preflight.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_preflight_ollama.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_prompt_drift.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_prompt_prefix_snapshots.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_prompt_prefix_stability.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_prompts.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_rate_limit.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_repo_info.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_repomap.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_requirements_structure.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_retry.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_review.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_runner_protocol.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_runner_protocol_annotations.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_runner_types.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_runner_utils.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_sdk_runner.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_sdk_runner_shared.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_session_mode.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_state.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_state_guard.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_state_retention.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_status.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_subprocess_runner.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_telemetry.py +0 -0
- {claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_version.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "claude-code-generator"
|
|
7
|
-
version = "0.4.
|
|
7
|
+
version = "0.4.7"
|
|
8
8
|
description = "Orchestrator CLI that drives Claude Code end-to-end to generate whole projects from a requirements.md file."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -101,10 +101,14 @@ _OPUS_ONLY_EFFORTS: frozenset[str] = frozenset({"xhigh", "max"})
|
|
|
101
101
|
|
|
102
102
|
|
|
103
103
|
def validate_effort(effort: str | None, model: str) -> None:
|
|
104
|
-
"""Raise ValueError when an Opus-only effort is paired with a non-Opus model.
|
|
104
|
+
"""Raise ValueError when an Opus-only effort is paired with a non-Opus Claude model.
|
|
105
105
|
|
|
106
106
|
``xhigh`` and ``max`` are gated to Opus 4.7+ (introduced in 4.7); Sonnet
|
|
107
|
-
and Haiku do not expose them.
|
|
107
|
+
and Haiku do not expose them. The constraint only applies to Anthropic
|
|
108
|
+
Claude models (IDs prefixed with ``"claude-"``); for other model families
|
|
109
|
+
— notably the Ollama single-model codepath (#218), which accepts tags like
|
|
110
|
+
``"glm-5.1:cloud"`` or ``"llama3.2:3b"`` — the effort flag is advisory and
|
|
111
|
+
validation is skipped.
|
|
108
112
|
|
|
109
113
|
Parameters
|
|
110
114
|
----------
|
|
@@ -112,8 +116,11 @@ def validate_effort(effort: str | None, model: str) -> None:
|
|
|
112
116
|
Effort level string (``"low"`` / ``"medium"`` / ``"high"`` / ``"xhigh"``
|
|
113
117
|
/ ``"max"``), or ``None`` (no-op).
|
|
114
118
|
model:
|
|
115
|
-
Anthropic model ID (e.g. ``"claude-opus-4-7"``)
|
|
119
|
+
Anthropic Claude model ID (e.g. ``"claude-opus-4-7"``) or a non-Claude
|
|
120
|
+
tag (Ollama, etc.). Non-Claude tags are not validated.
|
|
116
121
|
"""
|
|
122
|
+
if not model.startswith("claude-"):
|
|
123
|
+
return
|
|
117
124
|
if effort in _OPUS_ONLY_EFFORTS and model != _OPUS_MODEL:
|
|
118
125
|
raise ValueError(f"effort={effort!r} is only allowed with {_OPUS_MODEL!r}, got {model!r}.")
|
|
119
126
|
|
|
@@ -205,6 +205,25 @@ def test_validate_effort_none_always_passes(model: str) -> None:
|
|
|
205
205
|
validate_effort(None, model) # must not raise
|
|
206
206
|
|
|
207
207
|
|
|
208
|
+
@pytest.mark.parametrize(
|
|
209
|
+
("effort", "model"),
|
|
210
|
+
[
|
|
211
|
+
("xhigh", "glm-5.1:cloud"),
|
|
212
|
+
("max", "llama3.2:3b"),
|
|
213
|
+
("xhigh", "qwen2.5:7b"),
|
|
214
|
+
("max", "mistral:latest"),
|
|
215
|
+
],
|
|
216
|
+
)
|
|
217
|
+
def test_validate_effort_non_claude_models_skip_validation(effort: str, model: str) -> None:
|
|
218
|
+
"""Opus-only effort levels are no-ops for non-Claude models (Ollama path, #218).
|
|
219
|
+
|
|
220
|
+
The XHIGH / MAX ceiling only makes sense against Anthropic Claude models;
|
|
221
|
+
Ollama tags like ``glm-5.1:cloud`` do not expose the effort concept, so
|
|
222
|
+
``validate_effort`` must not raise for them.
|
|
223
|
+
"""
|
|
224
|
+
validate_effort(effort, model) # must not raise
|
|
225
|
+
|
|
226
|
+
|
|
208
227
|
# ---------------------------------------------------------------------------
|
|
209
228
|
# InvalidEffortInput guard — empty complexity in phases that depend on Phase 0
|
|
210
229
|
# ---------------------------------------------------------------------------
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/__init__.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/_bench_io.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/_detect.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/_dispatch.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/_resume.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/bench.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/generate.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/init.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/optimize.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/review.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/commands/status.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/gh/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/gh/milestones.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/logging_setup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/__init__.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/prompts/hashes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/__init__.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/_telemetry.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/batch.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/fake_runner.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/mcp.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/options.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/protocol.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/rate_limit.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/retry.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/sdk_runner.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/soft_reset.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/state_guard.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/types.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/runner/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/state_retention.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/__init__.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/angular.md
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/base.md
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/fastapi.md
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/finance.md
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/src/code_generator/templates/nestjs.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_cycle_loop_multicycle.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_cycle_ollama_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_docs_no_default_max_turns.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_docs_ollama_model_guide.py
RENAMED
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_effective_model_routing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_max_turns_cli_flag.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_no_max_turns_in_call_sites.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_no_max_turns_literal.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_non_goals_grep_guard.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase_mcp_regression.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_phase_token_logging.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_prompt_prefix_snapshots.py
RENAMED
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_prompt_prefix_stability.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{claude_code_generator-0.4.6 → claude_code_generator-0.4.7}/tests/test_requirements_structure.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|