pdd-cli 0.0.258__tar.gz → 0.0.259__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.
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.gitignore +1 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/Makefile +38 -3
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/PKG-INFO +1 -1
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/ONBOARDING.md +1 -1
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/_version.py +3 -3
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd_cli.egg-info/PKG-INFO +1 -1
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd_cli.egg-info/SOURCES.txt +2 -0
- pdd_cli-0.0.259/scripts/release_video.py +516 -0
- pdd_cli-0.0.259/tests/test_release_video.py +230 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.env.example +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.gitattributes +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.github/dependabot.yml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.github/workflows/auto-heal.yml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.github/workflows/backfill-release-notes.yml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.github/workflows/pdd-secrets-dispatch.yml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.github/workflows/release.yml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.github/workflows/unit-tests.yml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_architecture_orchestrator_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_bug_orchestrator_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_bug_orchestrator_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_bug_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_change_orchestrator_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_change_orchestrator_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_checkup_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_checkup_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_common_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_common_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_crash_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_e2e_fix_orchestrator_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_e2e_fix_orchestrator_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_fix_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_split_orchestrator_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_split_orchestrator_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_sync_runner_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_update_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/agentic_verify_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/architecture_sync_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/architecture_sync_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/checkup_review_loop_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/checkup_review_loop_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/ci_drift_heal_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/code_generator_main_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/commands_checkup_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/commands_checkup_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/commands_modify_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/commands_modify_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/commands_prompt_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/core_cloud_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/fix_code_loop_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/get_comment_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/get_test_command_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/git_update_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/llm_invoke_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/metadata_sync_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/metadata_sync_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/pin_example_hack_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/pin_example_hack_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/preprocess_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/prompt_lint_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/server_jobs_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/summarize_directory_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/summarize_directory_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/sync_determine_operation_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/sync_orchestration_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/sync_orchestration_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/sync_tui_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/sync_tui_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/track_cost_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/track_cost_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pdd/meta/update_main_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pddignore +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.pddrc +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/.sync-config.yml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/AGENTS.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/CHANGELOG.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/CLAUDE.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/CONTRIBUTING.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/GEMINI.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/LICENSE +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/SETUP_WITH_GEMINI.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/SETUP_WITH_WINDOWS.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/architecture.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/ci/cloud-batch/Dockerfile +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/ci/cloud-batch/balance-chunks.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/ci/cloud-batch/cloudbuild.yaml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/ci/cloud-batch/collect-results.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/ci/cloud-batch/entrypoint.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/ci/cloud-batch/job-template-standard.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/ci/cloud-batch/job-template.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/ci/cloud-batch/setup-gcp.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/ci/cloud-batch/submit.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/ci/cloud-batch/test-durations.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/DSPy_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/__init__example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/_keyring_timeout_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_architecture_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_architecture_orchestrator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_bug_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_bug_orchestrator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_change_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_change_orchestrator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_checkup_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_checkup_orchestrator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_common_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_crash_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_e2e_fix_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_e2e_fix_orchestrator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_fix_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_langtest_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_split_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_split_orchestrator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_sync_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_sync_runner_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_test_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_test_orchestrator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_update_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/agentic_verify_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/anthropic_counter_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/anthropic_tool_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/api_key_scanner_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/architecture_registry_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/architecture_sync_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/auth_service_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/auto_deps_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/auto_include_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/auto_update_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/autotokenizer_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/bug_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/bug_to_unit_test_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/bug_to_unit_test_failure_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/1/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/1/final_code_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/1/initial_code_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/1/initial_code_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/10/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/10/final_fix_errors_from_unit_tests_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/10/initial_fix_errors_from_unit_tests.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/10/initial_fix_errors_from_unit_tests_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/11/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/11/initial_code_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/11/initial_code_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/11/initial_split_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/12/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/12/final_unfinished_prompt_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/12/initial_postprocess.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/12/initial_postprocess_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/13/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/13/initial_split.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/13/initial_split_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/13/modified_initial_split.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/14/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/14/initial_change.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/14/initial_change_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/14/modified_initial_change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/15/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/15/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/15/initial_cli.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/15/initial_cli_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/15/modified_initial_cli.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/16/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/16/fix_code_module_errors_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/16/fix_code_module_errors_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/16/fix_error_loop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/16/fix_error_loop_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/16/fix_errors_from_unit_tests_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/16/modified_fix_error_loop_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/17/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/17/continue_generation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/17/continue_generation_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/17/unfinished_prompt_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/17/updated_continue_generation_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/17/updated_unfinished_prompt_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/18/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/18/code_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/18/code_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/18/unfinished_prompt_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/18/updated_code_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/18/updated_unfinished_prompt_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/19/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/19/context_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/19/context_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/19/unfinished_prompt_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/19/updated_context_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/19/updated_unfinished_prompt_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/2/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/2/final_context_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/2/initial_context_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/2/initial_context_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/20/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/20/generate_test.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/20/generate_test_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/20/updated_generate_test_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/21/auto_deps_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/21/auto_include.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/21/auto_include_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/21/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/22/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/22/preprocess.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/22/preprocess_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/22/preprocess_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/3/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/3/final_test_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/3/initial_test_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/3/intial_test_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/4/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/4/final_postprocess_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/4/initial_postprocess.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/4/initial_postprocess_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/5/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/5/final_split_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/5/initial_split.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/5/initial_split_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/6/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/6/final_xml_tagger_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/6/initial_xml_tagger.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/6/initial_xml_tagger_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/7/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/7/final_fix_errors_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/7/initial_fix_errors.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/7/initial_fix_errors_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/8/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/8/final_fix_errors_from_unit_tests_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/8/initial_fix_errors_from_unit_tests.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/8/initial_fix_errors_from_unit_tests_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/9/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/9/final_fix_error_loop_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/9/initial_fix_error_loop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/9/initial_fix_error_loop_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change/simple_math/change.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/change_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/checkup_review_loop_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/ci_detect_changed_modules_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/ci_drift_heal_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/ci_validation_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/cli_detector_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/cli_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/click_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/click_executor_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/cloud_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/cloud_function_call.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/cmd_test_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/code_generator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/code_generator_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/__init___example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/analysis_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/auth_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/checkup_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/connect_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/fix_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/generate_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/maintenance_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/misc_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/modify_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/sessions_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/templates_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/commands/utility_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/comment_line_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/config_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/conflicts_in_prompts_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/conflicts_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/construct_paths_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/content_selector_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/context_generator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/context_generator_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/continue_generation_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/core/cli_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/core/cloud_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/core/dump_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/core/duplicate_cli_guard_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/core/errors_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/core/utils_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/crash_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/ctx_obj_params.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/detect_change_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/detect_change_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/dict_utils_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/edit_file_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/embed_retrieve_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/example.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/extracts_prune_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/fastapi_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/find_section_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/firecrawl_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/fix_code_loop_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/fix_code_module_errors_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/fix_error_loop_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/fix_errors_from_unit_tests_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/fix_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/fix_verification_errors_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/fix_verification_errors_loop_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/fix_verification_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/gemini_may_pro_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/generate_model_catalog_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/generate_output_paths_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/generate_test_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/generation_completion_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/get_comment_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/get_extension_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/get_jwt_token_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/get_language_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/get_run_command_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/get_test_command_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/git_update_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/include_query_extractor_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/increase_tests_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/incremental_code_generator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/insert_includes_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/install_completion_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/job_manager_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/langchain_lcel_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/list_stats_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/llm_invoke_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/llm_model_ranges_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/llm_selector_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/load_prompt_template_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/logo_animation_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/metadata_sync_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/model_tester_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/one_session_sync_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/operation_log_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/path_resolution_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/pdd_completion_example.fish +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/pdd_completion_example.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/pdd_completion_example.zsh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/pddrc_initializer_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/pin_example_hack_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/postprocess_0_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/postprocess_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/preprocess_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/preprocess_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/process_csv_change_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/provider_manager_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/pytest_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/pytest_isolation_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/pytest_output_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/python_env_detector_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/python_preamble.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/range_validator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/remote_session_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/render_mermaid_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/resolve_effective_config_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/__init___example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/app_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/click_executor_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/executor_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/jobs_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/models_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/routes/__init___example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/routes/architecture_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/routes/auth_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/routes/commands_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/routes/config_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/routes/extracts_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/routes/files_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/routes/prompts_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/routes/session_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/routes/websocket_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/security_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/terminal_spawner_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/server/token_counter_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/setup_tool_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/split/simple_math/split_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/split_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/split_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/split_validation_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/summarize_directory_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/sync_animation_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/sync_code_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/sync_determine_operation_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/sync_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/sync_orchestration_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/sync_order_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/sync_tui_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/test.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/tiktoken_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/trace_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/trace_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/track_cost_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/unfinished_prompt_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/update_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/update_model_costs_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/update_prompt_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/validate_prompt_includes_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/websocket_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/context/xml_tagger_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/Software Development Costs and Maintenance_ 2022/342/200/2232025 Trends and AI Impact.md" +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/TUTORIALS.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/architecture_include_validation.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/checkup_simplify.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/checkup_simplify_providers.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/ci.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/comparison.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/contract_check.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/coverage_contracts.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/drift.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/evidence_manifest.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/examples/prompt_with_metadata.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/faq.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/goldilocks_prompt.jpeg +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/issue_820_user_story_template.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/issues/issue_813_verification_plan.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/new_whitepaper.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/o3_whitepaper.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/orig_whitepaper.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/path_resolution_resolver.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/pdd_vs_agentic_cli_definitive_proof_plan.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/prompt-driven-development-doctrine.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/prompt_lint.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/prompting_guide.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/runbooks/pr-loop-process.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/skills/checkup-simplify/SKILL.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/standup_notes.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/sync_architecture_analysis.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/sync_determination_analysis.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/sync_solution_o3pro.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/sync_solution_opus.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/the-last-programming-language.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/videos/handpaint_demo.gif +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_before_4.5.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/evidence/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/evidence/SHA256SUMS.txt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/evidence/_session_classification.tsv +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/evidence/prompts_pdd.jsonl +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/evidence/prompts_pdd.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/evidence/prompts_vibe.jsonl +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/evidence/prompts_vibe.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/evidence/quote_map.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/images/loop.mmd +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/images/loop.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/images/oscillation.mmd +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/images/oscillation.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/images/pdd_cycle.mmd +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/images/pdd_cycle.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/images/pipeline.mmd +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/images/pipeline.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/images/threshold.mmd +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/images/threshold.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_specification_drift/whitepaper.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/avg_api_cost_by_edit_type.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/avg_api_cost_by_file_size.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/avg_api_cost_by_language.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/avg_execution_time_by_edit_type.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/avg_execution_time_by_file_size.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/avg_execution_time_by_language.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/cost_per_successful_task.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/overall_avg_api_cost.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/overall_avg_execution_time.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/overall_success_rate.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/success_rate_by_edit_type.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/success_rate_by_file_size.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/success_rate_by_language.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/time_vs_cost_scatter.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/analysis_report/total_api_cost_comparison.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/creation_report/claude_cost_per_run_dist.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/creation_report/claude_lines_added_removed_dist.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/creation_report/claude_wall_duration_dist.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/creation_report/pdd_avg_cost_per_module_dist.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/creation_report/pdd_top_modules_by_cost.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/creation_report/pdd_top_modules_by_time.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/creation_report/pdd_total_time_per_module_dist.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/creation_report/total_cost_comparison.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/creation_report/total_time_comparison.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/docs/whitepaper_with_benchmarks/whitepaper_w_benchmarks.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/environment.yml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_bug_orchestrator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_change_orchestrator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_checkup_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_common_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_common_worktree_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_e2e_fix_orchestrator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example/main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example/src/main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example/src/utils.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example/tests/test_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example/utils_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/.gitignore +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/build.gradle +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/gradle/wrapper/gradle-wrapper.jar +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/gradle/wrapper/gradle-wrapper.properties +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/gradlew +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/gradlew.bat +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/main_java.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/settings.gradle +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/src/main/java/Main.java +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/src/main/java/Util.java +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/src/test/java/TestMain.java +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_gradle/util_java.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_maven/.gitignore +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_maven/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_maven/main_java.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_maven/pom.xml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_maven/src/main/java/Main.java +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_maven/src/main/java/Util.java +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_maven/src/test/java/TestMain.java +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_java_maven/util_java.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_javascript/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_javascript/main_javascript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_javascript/package.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_javascript/src/main.js +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_javascript/src/utils.js +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_javascript/tests/test_main.js +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_javascript/utils_javascript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_typescript/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_typescript/main_typescript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_typescript/package.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_typescript/src/main.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_typescript/src/utils.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_typescript/tests/test_main.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_typescript/tsconfig.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_fallback_example_typescript/utils_typescript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_split_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/agentic_split_orchestrator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/arch/ORDER_MANAGEMENT_PRD.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/arch/architecture.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/arch/architecture_diagram.html +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/arch/tech_stack.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/checkup_review_loop_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/checkup_simplify_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/get_lint_commands_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/git_porcelain_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/handpaint/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/handpaint/cursor/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/handpaint/cursor/handpaint.html +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/handpaint/pdd/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/handpaint/pdd/handpaint_html.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/handpaint/pdd/handpaint_pdd.html +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/hello/.pdd/meta/hello_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/hello/.pddrc +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/hello/examples/hello_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/hello/hello_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/hello/src/hello.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/hello/tests/test_hello.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/hello_you/hello_you_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/image_prompt_example/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/image_prompt_example/describe.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/image_prompt_example/describe_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/image_prompt_example/image.heic +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/image_prompt_example/image.jpeg +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/pi_calc/.pdd/meta/pi_calc_python.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/pi_calc/.pdd/meta/pi_calc_python_run.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/pi_calc/examples/pi_calc_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/pi_calc/examples/pi_calc_example_iteration_1.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/pi_calc/examples/pi_calc_example_iteration_2.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/pi_calc/pdd/pi_calc.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/pi_calc/pdd/pi_calc_1_2_2_0_20250715_122550.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/pi_calc/pdd/pi_calc_iteration_1.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/pi_calc/pdd/pi_calc_iteration_2.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/pi_calc/pi_calc_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/pi_calc/tests/test_pi_calc.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/.pddrc +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/Makefile +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/architecture.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/architecture_diagram.html +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/docs/specs.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/docs/tech_stack.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/backend_api_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/cli_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/fix_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/frontend_streamlit_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/helpers_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/llm_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/models_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/pipeline_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/report_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/report_output.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/report_output.txt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/examples/rules_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/project_dependencies.csv +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/prompts/backend_api_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/prompts/cli_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/prompts/fix_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/prompts/frontend_streamlit_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/prompts/helpers_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/prompts/llm_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/prompts/models_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/prompts/pipeline_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/prompts/report_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/prompts/rules_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/requirements.txt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/src/backend/backend_api.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/src/cli/cli.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/src/frontend/frontend_streamlit.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/src/utils/fix.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/src/utils/helpers.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/src/utils/llm.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/src/utils/models.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/src/utils/pipeline.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/src/utils/report.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/src/utils/rules.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/tests/test_backend_api.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/tests/test_cli.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/tests/test_fix.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/tests/test_frontend_streamlit.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/tests/test_helpers.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/tests/test_llm.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/tests/test_models.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/tests/test_pipeline.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/tests/test_report.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/prompts_linter/tests/test_rules.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/qrcode_sandwich/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/qrcode_sandwich/qrcode_sandwich.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/qrcode_sandwich/qrcode_sandwich.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/qrcode_sandwich/qrcode_sandwich_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/split_main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/split_validation_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/.gitignore +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/.pddrc +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/API_FAILURE_ANALYSIS.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/API_KEY_SETUP.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/EDIT_FILE_TOOL_README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/Makefile +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/architecture.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/architecture_diagram.html +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/data/llm_model.csv +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/example2.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/project_dependencies.csv +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/prompts/__init___Python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/prompts/architecture/architecture_json.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/prompts/cache_manager_utility_Python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/prompts/cli_Python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/prompts/core_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/prompts/cost_tracker_utility_Python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/prompts/pyproject_TOML.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/prompts/think_tool_capability_Python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/pyproject.toml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/edit_file_tool/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/edit_file_tool/cache_manager_utility.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/edit_file_tool/cli.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/edit_file_tool/core.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/edit_file_tool/cost_tracker_utility.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/edit_file_tool/think_tool_capability.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/examples/__init___example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/examples/cache_manager_utility_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/examples/cli_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/examples/core_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/examples/cost_tracker_utility_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/examples/generated_xml/example_mod.xml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/examples/think_tool_capability_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/tests/test___init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/tests/test_cache_manager_utility.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/tests/test_cli.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/tests/test_core.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/tests/test_cost_tracker_utility.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/template_example/src/tests/test_think_tool_capability.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/test_generation_benchmark/ANALYSIS.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/test_generation_benchmark/DISCORD_SUMMARY.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/test_generation_benchmark/Makefile +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/test_generation_benchmark/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/test_generation_benchmark/benchmark_results/code_based/test_email_validator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/test_generation_benchmark/benchmark_results/example_based/test_email_validator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/test_generation_benchmark/email_validator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/test_generation_benchmark/examples/email_validator_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/test_generation_benchmark/src/email_validator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/tictactoe/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/tictactoe/tictactoe_architecture.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/tictactoe/tictactoe_architecture_diagram.html +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/examples/tictactoe/tictactoe_prd.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/__main__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/_keyring_timeout.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_architecture.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_architecture_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_bug.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_bug_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_change.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_change_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_checkup.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_checkup_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_common.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_common_worktree.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_crash.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_e2e_fix.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_e2e_fix_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_fix.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_langtest.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_split.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_split_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_sync.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_sync_runner.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_test.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_test_generate.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_test_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_update.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/agentic_verify.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/api_key_scanner.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/architecture_include_validation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/architecture_registry.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/architecture_sync.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/architecture_sync_helper.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/auth_service.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/auto_deps_architecture.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/auto_deps_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/auto_include.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/auto_update.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/bug_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/bug_to_unit_test.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/change.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/change_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/checkup_file_selection.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/checkup_gates.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/checkup_review_loop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/checkup_simplify.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/checkup_simplify_claude.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/checkup_simplify_engines.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/ci_detect_changed_modules.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/ci_drift_heal.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/ci_validation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/cli.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/cli_branding.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/cli_detector.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/cmd_test_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/code_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/code_generator_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/codex_subscription.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/analysis.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/auth.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/checkup.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/checkup_simplify.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/connect.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/contracts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/coverage.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/drift.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/extracts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/firecrawl.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/fix.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/generate.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/maintenance.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/misc.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/modify.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/prompt.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/report.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/sessions.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/templates.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/utility.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/commands/which.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/comment_line.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/config_resolution.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/conflicts_in_prompts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/conflicts_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/construct_paths.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/content_selector.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/context_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/context_generator_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/continue_generation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/contract_check.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/contract_ir.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/core/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/core/cli.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/core/cloud.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/core/dump.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/core/duplicate_cli_guard.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/core/errors.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/core/llm_trace.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/core/remote_session.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/core/utils.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/coverage_contracts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/crash_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/data/arena_elo_manifest.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/data/language_format.csv +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/data/llm_model.csv +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/detect_change.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/detect_change_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/docs/prompting_guide.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/drift_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/durable_sync_runner.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/edit_file.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/embed_retrieve.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/evidence_manifest.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/evidence_store.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/extracts_prune.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/failure_classification.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/find_section.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/firecrawl_cache.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/fix_code_loop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/fix_code_module_errors.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/fix_error_loop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/fix_errors_from_unit_tests.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/fix_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/fix_verification_errors.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/fix_verification_errors_loop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/fix_verification_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/.gitignore +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/App.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/api.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/AddModuleModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/AddToQueueModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/ArchitectureView.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/AuthStatusIndicator.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/BatchFilterDropdown.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/BugModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/ChangeModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/CommandForm.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/CommandOutput.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/CreatePromptModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/DependencyViewer.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/DeviceIndicator.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/ErrorBoundary.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/ExecutionModeToggle.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/ExtractsPanel.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/FileBrowser.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/FilePickerInput.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/GeneratedCommand.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/GenerationProgressModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/GraphToolbar.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/GroupEditModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/GroupNode.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/GuidanceSidebar.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/Header.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/Icon.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/InputField.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/JobCard.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/JobDashboard.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/JobOutputPanel.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/ModelSelector.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/ModelSliders.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/ModuleEditModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/ModuleNode.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/ProjectSettings.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/PromptCodeDiffModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/PromptEditor.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/PromptMetricsBar.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/PromptOrderModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/PromptSelector.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/PromptSpace.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/ReauthModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/RemoteSessionSelector.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/SyncFromPromptModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/SyncOptionsModal.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/SyncStatusBadge.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/Tabs.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/TaskQueueControls.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/TaskQueueItem.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/TaskQueuePanel.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/TextAreaField.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/Toast.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/components/Tooltip.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/constants.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/data/mockPrd.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/data/mockPrompts.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/hooks/useArchitectureHistory.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/hooks/useAudioNotification.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/hooks/useJobs.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/hooks/useTaskQueue.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/index.html +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/index.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/lib/batchUtils.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/lib/commandBuilder.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/lib/format.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/lib/includeAnalyzer.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/lib/modelResolver.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/lib/pddAutocomplete.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/lib/pddDirectives.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/metadata.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/package-lock.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/package.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/public/logo.svg +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tests/compact-font-direct-zoom.test.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tests/compact-font-size.test.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tests/group-layout.test.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tests/group-subflow-nodes.test.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tests/module-needs-sync.test.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tests/rearrange-discard.test.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tests/rearrange-positions.test.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tests/setup.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tests/sync-completed-refresh.test.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tests/vp-zoom-sync.test.tsx +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tests/waypoint-edge.test.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/tsconfig.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/types.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/frontend/vite.config.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/generate_model_catalog.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/generate_output_paths.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/generate_test.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/generation_completion.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/get_comment.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/get_extension.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/get_jwt_token.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/get_language.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/get_lint_commands.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/get_run_command.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/get_test_command.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/git_porcelain.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/git_update.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/include_query_extractor.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/increase_tests.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/incremental_code_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/incremental_prd_architecture.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/insert_includes.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/install_completion.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/json_atomic.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/list_drift_detection.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/llm_invoke.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/load_prompt_template.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/logo_animation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/mcp_config.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/metadata_sync.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/model_tester.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/one_session_sync.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/operation_log.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/path_resolution.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/pdd_completion.fish +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/pdd_completion.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/pdd_completion.zsh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/pddrc_initializer.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/pin_example_hack.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/postprocess.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/postprocess_0.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/preprocess.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/preprocess_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/process_csv_change.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompt_lint.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/Makefile_makefile.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/_keyring_timeout_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step10_completeness_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step11_sync_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step12_deps_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step13_fix_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step1_analyze_prd_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step1b_complexity_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step2_analyze_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step2b_codebase_scan_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step3_research_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step4_data_model_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step5_design_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step5b_completeness_gate_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step5b_fix_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step6_research_deps_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step7_generate_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step7b_review_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step8_5_context_docs_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step8_pddrc_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step9_prompts_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_arch_step9b_cross_audit_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_architecture_orchestrator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_architecture_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_orchestrator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step10_verify_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step11_e2e_test_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step12_pr_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step1_duplicate_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step2_docs_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step3_triage_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step4_api_research_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step5_reproduce_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step6_root_cause_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step7_prompt_classification_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step8_test_plan_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_bug_step9_generate_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_orchestrator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step10_architecture_update_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step11_identify_issues_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step12_fix_issues_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step13_create_pr_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step1_duplicate_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step2_docs_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step3_research_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step4_clarify_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step5_docs_change_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step6_devunits_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step7_architecture_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step8_analyze_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_change_step9_implement_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_orchestrator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_step1_discover_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_step2_deps_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_step3_build_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_step4_interfaces_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_step5_test_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_step6_1_fix_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_step6_2_regression_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_step6_3_e2e_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_step7_verify_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_checkup_step8_create_pr_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_common_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_common_worktree_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_crash_explore_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_crash_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_orchestrator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_step10_ci_validation_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_step11_code_cleanup_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_step1_unit_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_step2_e2e_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_step3_root_cause_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_step4_fix_e2e_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_step5_identify_devunits_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_step6_create_unit_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_step7_verify_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_step8_run_pdd_fix_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_e2e_fix_step9_verify_all_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_fix_explore_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_fix_nonpython_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_fix_primary_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_fix_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_langtest_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_orchestrator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_step0_intent_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_step1_survey_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_step2_diagnose_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_step3_investigate_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_step4_propose_options_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_step6_extract_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_step6a_phase_extract_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_step7_assess_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_step8_repair_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_split_step9_refine_check_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_sync_fix_dry_run_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_sync_identify_modules_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_sync_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_sync_runner_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_generate_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_generate_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_orchestrator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step10_validate_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step11_loop_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step15_plan_validation_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step16_run_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step1_duplicate_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step2_docs_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step3_clarify_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step4_detect_frontend_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step5_test_plan_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step5b_enhance_plan_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step6_coverage_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step6_generate_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step7_checklist_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step7_run_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step8_fix_iterate_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step8_manual_test_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step9_regression_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_test_step9_submit_pr_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_update_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_update_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_verify_explore_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/agentic_verify_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/api_key_scanner_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/architecture_include_validation_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/architecture_registry_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/architecture_sync_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/arrange_graph_layout_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/auth_service_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/auto_deps_architecture_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/auto_deps_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/auto_include_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/auto_include_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/auto_update_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/bug_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/bug_to_unit_test_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/bug_to_unit_test_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/change_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/change_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/change_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/checkup_file_selection_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/checkup_gates_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/checkup_review_loop_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/checkup_simplify_claude_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/checkup_simplify_engines_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/checkup_simplify_invoke_claude_code_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/checkup_simplify_invoke_codex_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/checkup_simplify_invoke_gemini_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/checkup_simplify_invoke_opencode_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/checkup_simplify_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/checkup_simplify_workflow_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/ci_detect_changed_modules_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/ci_drift_heal_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/ci_validation_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/cli_branding_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/cli_detector_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/cli_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/cmd_test_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/code_generator_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/code_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/code_patcher_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/codex_subscription_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/combine.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/combined_output.txt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/__init___python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/analysis_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/auth_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/checkup_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/checkup_simplify_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/connect_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/contracts_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/firecrawl_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/fix_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/generate_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/maintenance_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/misc_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/modify_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/prompt_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/report_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/sessions_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/templates_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/utility_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/commands/which_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/comment_line_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/config_resolution_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/conflict_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/conflicts_in_prompts_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/conflicts_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/construct_paths_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/content_selector_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/context_generator_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/context_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/continue_generation_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/continue_generation_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/contract_check_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/contract_ir_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/core/cli_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/core/cloud_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/core/dump_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/core/duplicate_cli_guard_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/core/errors_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/core/remote_session_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/core/utils_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/core_dump_requirements_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/core_dump_smoke_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/coverage_contracts_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/crash_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/cross_issue_reconcile_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/detect_change_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/detect_change_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/detect_change_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/diff_analyzer_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/durable_sync_runner_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/edit_file_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/embed_retrieve_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/evidence_manifest_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/example_generator_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/extract_code_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/extract_conflict_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/extract_detect_change_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/extract_program_code_fix_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/extract_prompt_change_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/extract_prompt_split_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/extract_prompt_update_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/extract_promptline_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/extract_unit_code_fix_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/extract_xml_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/extracts_prune_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/failure_classification_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/find_section_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/find_verification_errors_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/firecrawl_cache_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/fix_code_loop_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/fix_code_module_errors_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/fix_code_module_errors_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/fix_error_loop_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/fix_errors_from_unit_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/fix_errors_from_unit_tests_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/fix_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/fix_verification_errors_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/fix_verification_errors_loop_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/fix_verification_errors_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/fix_verification_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/App_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/api_typescript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/AddModuleModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/AddToQueueModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/ArchitectureView_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/AuthStatusIndicator_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/BatchFilterDropdown_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/BugModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/ChangeModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/CommandForm_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/CommandOutput_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/CreatePromptModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/DependencyViewer_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/DeviceIndicator_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/ErrorBoundary_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/ExecutionModeToggle_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/FileBrowser_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/FilePickerInput_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/GeneratedCommand_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/GenerationProgressModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/GraphToolbar_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/GuidanceSidebar_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/Header_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/Icon_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/InputField_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/JobCard_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/JobDashboard_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/JobOutputPanel_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/ModelSelector_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/ModelSliders_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/ModuleEditModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/ModuleNode_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/ProjectSettings_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/PromptCodeDiffModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/PromptEditor_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/PromptMetricsBar_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/PromptOrderModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/PromptSelector_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/PromptSpace_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/ReauthModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/RemoteSessionSelector_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/SyncFromPromptModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/SyncOptionsModal_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/SyncStatusBadge_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/Tabs_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/TaskQueueControls_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/TaskQueueItem_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/TaskQueuePanel_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/TextAreaField_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/Toast_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/components/Tooltip_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/constants_typescript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/hooks/useArchitectureHistory_typescript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/hooks/useAudioNotification_typescript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/hooks/useJobs_typescript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/hooks/useTaskQueue_typescript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/index_typescriptreact.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/frontend/types_typescript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/generate_model_catalog_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/generate_output_paths_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/generate_test_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/generate_test_from_example_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/generate_test_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/generation_completion_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/get_comment_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/get_extension_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/get_jwt_token_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/get_language_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/get_lint_commands_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/get_run_command_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/get_test_command_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/git_porcelain_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/git_update_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/include_query_extractor_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/include_query_extractor_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/increase_tests_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/increase_tests_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/incremental_code_generator_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/incremental_prd_architecture_patch_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/incremental_prd_architecture_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/insert_includes_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/insert_includes_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/install_completion_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/language_format_csv.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/llm_invoke_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/llm_model_csv.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/load_prompt_template_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/logo_animation_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/main_gen_prompt.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/metadata_sync_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/model_tester_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/one_session_agent_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/one_session_sync_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/operation_log_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/path_resolution_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/pdd_completion_bash.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/pdd_completion_fish.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/pdd_completion_zsh.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/pdd_theme_json.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/pddrc_initializer_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/pin_example_hack_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/post_gen_verify_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/postprocess_0_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/postprocess_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/preprocess_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/preprocess_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/process_csv_change_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/prompt_code_diff_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/prompt_diff_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/prompt_lint_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/prompt_lint_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/prompt_tester_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/provider_manager_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/pypi_description_restructuredtext.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/pyproject_toml.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/pytest_output_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/python_env_detector_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/reasoning_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/regression_analysis_log.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/regression_bash.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/remote_session_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/render_mermaid_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/resurface_check_Python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/run_generated_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/__init___python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/app_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/click_executor_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/executor_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/jobs_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/models_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/routes/__init___python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/routes/architecture_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/routes/auth_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/routes/commands_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/routes/config_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/routes/extracts_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/routes/files_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/routes/prompts_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/routes/session_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/routes/websocket_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/security_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/terminal_spawner_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/server/token_counter_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/setup_tool_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/split_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/split_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/split_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/split_validation_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/summarize_directory_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/summarize_file_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/sync_analysis_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/sync_animation_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/sync_determine_operation_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/sync_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/sync_orchestration_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/sync_order_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/sync_tui_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/template_expander_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/template_registry_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/trace_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/trace_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/trace_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/track_cost_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/trim_results_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/trim_results_start_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/unfinished_prompt_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/unfinished_prompt_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/update_main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/update_model_costs_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/update_prompt_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/update_prompt_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/user_story_tests_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/validate_prompt_includes_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/xml/change_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/xml/change_example_full.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/xml/change_example_partial.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/xml/change_example_partial_processed.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/xml/split_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/xml_convertor_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/prompts/xml_tagger_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/provider_manager.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/pytest_output.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/python_env_detector.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/reasoning.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/remote_session.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/render_mermaid.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/schemas/evidence_manifest.schema.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/app.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/click_executor.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/executor.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/jobs.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/models.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/routes/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/routes/architecture.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/routes/auth.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/routes/commands.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/routes/config.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/routes/extracts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/routes/files.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/routes/prompts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/routes/websocket.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/security.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/terminal_spawner.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/server/token_counter.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/setup_tool.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/split.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/split_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/split_validation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/summarize_directory.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/sync_animation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/sync_determine_operation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/sync_graph_order_consistency.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/sync_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/sync_orchestration.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/sync_order.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/sync_tui.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/template_expander.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/template_registry.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/templates/architecture/architecture_json.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/templates/architecture/example_nextjs_task_notes.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/templates/architecture/example_python_backend.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/templates/architecture/pdd_path_construction_guide.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/templates/generic/generate_pddrc_YAML.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/templates/generic/generate_prompt.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/test_result.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/trace.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/trace_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/track_cost.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/unfinished_prompt.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/update_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/update_model_costs.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/update_prompt.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/user_story_tests.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/validate_prompt_includes.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd/xml_tagger.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd-local.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd_cli.egg-info/dependency_links.txt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd_cli.egg-info/entry_points.txt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd_cli.egg-info/requires.txt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pdd_cli.egg-info/top_level.txt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pr_summary.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/project_dependencies.csv +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pypi_description.rst +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pyproject.toml +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pyrightconfig.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/pytest.ini +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/requirements.txt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/scripts/check_deps.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/scripts/ci_detect_changed_modules.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/scripts/copy_package_data_to_public.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/scripts/extract_wheel.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/scripts/preprocess_wheel.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/setup.cfg +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/cloud_regression.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_analysis.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_auth.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_checkup.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_checkup_contracts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_checkup_simplify.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_connect.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_contract_rule_test_smoke.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_coverage.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_drift_cli.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_evidence.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_fix.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_generate.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_maintenance.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_modify.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_sessions.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/commands/test_utility.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/conftest.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/core/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/core/test_cli.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/core/test_cloud.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/core/test_remote_session.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/arch_include_validate_ok/architecture.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/arch_include_validate_ok/prompts/child_Python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/arch_include_validate_ok/prompts/parent_Python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/autoheal_1187_post.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/autoheal_1187_pre.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/conftest.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/auth_service_clean_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/capabilities_no_modal_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/coverage_unchecked_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/duplicate_ids_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/legacy_no_sections_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/malformed_ids_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/missing_modal_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/non_sequential_ids_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/payment_api_clean_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/payment_api_issues_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/rate_limiter_issues_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/story__covers_rule_ids.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/story__cross_module_covers.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/story__payment_bad_refs.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/story__payment_flow.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/story__unknown_rule_ids.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/uncovered_mustnot_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/unknown_coverage_refs_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/vague_no_vocab_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/vague_with_vocab_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/valid_contract_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/waiver_expired_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/waiver_missing_fields_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/waiver_ref_missing_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/waiver_valid_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_check/with_coverage_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/contract_rules_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/coverage_contracts/failed_receipt_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/coverage_contracts/fake_tests/test_receipt_failed.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/coverage_contracts/fake_tests/test_refund.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/coverage_contracts/legacy_no_contracts_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/coverage_contracts/refund_payment_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/coverage_contracts/stories/story__receipt_missing_acceptance.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/coverage_contracts/stories/story__refund_idempotency.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/coverage_contracts/stories/story__refund_invalid.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/encode_message_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/issue591_behavioral_signal_test.py.fixture +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/issue591_dockerfile_test.py.fixture +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/issue591_structural_getsource_test.py.fixture +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/one_session_agent_LLM_original.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s7_large_code_bug/examples/llm_client_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s7_large_code_bug/prompts/llm_client_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s7_large_code_bug/scenario.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s7_large_code_bug/src/llm_client.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s7_large_code_bug/tests/test_llm_client.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s8_large_minimal_tests/examples/workflow_engine_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s8_large_minimal_tests/prompts/workflow_engine_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s8_large_minimal_tests/scenario.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s8_large_minimal_tests/src/workflow_engine.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s8_large_minimal_tests/tests/test_workflow_engine.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s9_large_wrong_tests/examples/config_manager_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s9_large_wrong_tests/prompts/config_manager_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s9_large_wrong_tests/scenario.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s9_large_wrong_tests/src/config_manager.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/one_session_eval/s9_large_wrong_tests/tests/test_config_manager.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/clean.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/llm_template_empty_LLM.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/payment_api.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/payment_api_clean_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/payment_api_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/story__clean.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/story__covers.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/story__payment_api.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/story__payment_vague.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/story__vague_criteria.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/strict_terms_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/upload_handler_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/upload_handler_with_vocab_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/vague_defined.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/prompt_lint/vague_undefined.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/simple_math.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/simple_math_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/simple_math_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/sub_simple_math.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/test_generation/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/test_generation/refund_policy.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/test_generation/refund_policy_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/test_other_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/test_simple_math.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/fixtures/updated_simple_math_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/isolated_verify.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/prompt_tester.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/regression.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/regression_public.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/conftest.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/routes/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/routes/conftest.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/routes/test_architecture.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/routes/test_auth.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/routes/test_commands.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/routes/test_config.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/routes/test_extracts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/routes/test_files.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/routes/test_prompts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/routes/test_routes_init.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/routes/test_websocket.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/test___init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/test_app.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/test_click_executor.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/test_executor.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/test_jobs.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/test_models.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/test_security.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/test_terminal_spawner.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/server/test_token_counter.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/sync_regression.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/sync_regression_parallel.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_739_complete.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_739_e2e_synthetic.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_739_fixtures.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_arch_complexity_prompt.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_architecture.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_architecture_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_bug.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_bug_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_bug_orchestrator_1.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_bug_orchestrator_step_comments.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_bug_step10_prompt.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_bug_step11_prompt.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_bug_step7_prompt.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_change.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_change_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_checkup.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_checkup_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_common.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_common_issue_813_anthropic_api_key_oauth_shadow.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_common_worktree.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_crash.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_e2e_fix.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_e2e_fix_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_e2e_fix_orchestrator_resume_prompt.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_e2e_fix_step10_prompt.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_fix.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_langtest.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_split.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_split_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_split_real.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_split_v2.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_sync.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_sync_nearest_config.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_sync_runner.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_test.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_test_generate.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_test_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_update.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_agentic_verify.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_antigravity_provider.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_api_key_scanner.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_architecture_include_validation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_architecture_registry.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_architecture_sync.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_auth_service.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_auto_deps_architecture.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_auto_deps_entry_wipe.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_auto_deps_lock.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_auto_deps_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_auto_heal_workflow.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_auto_include.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_auto_update.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_balance_chunks.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_bug_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_bug_to_unit_test.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_change.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_change_call_site_and_retry.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_change_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_checkup_artifact_hygiene.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_checkup_freshness_lease_integration.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_checkup_gates.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_checkup_pr_mode.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_checkup_review_loop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_checkup_simplify_engines.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_ci_detect_changed_modules.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_ci_drift_heal.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_ci_validation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_circular_includes.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_cli.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_cli_binary_isolation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_cli_detector.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_cloud_noninteractive_auth.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_cmd_test_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_code_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_code_generator_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_code_patcher_prompt_json_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_codex_subscription.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_commands_auth.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_commands_firecrawl.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_commands_fix.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_commands_generate.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_commands_maintenance.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_commands_modify.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_commands_templates.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_commands_utility.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_comment_line.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_conflicts_in_prompts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_conflicts_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_construct_paths.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_content_selector.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_context_example_isolation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_context_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_context_generator_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_continue_generation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_contract_check.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_copy_package_data_to_public.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_core_dump.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_core_errors.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_core_utils.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_coverage_contracts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_crash_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_cross_step_consistency_prompts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_detect_change.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_detect_change_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_discover_associated_documents.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_drift_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_duplicate_cli_guard.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_durable_sync_runner.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_auto_deps_pipeline.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_bug_step9_verification.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_1201_output_paths.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_1205_example_output_extension.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_1211_parent_dir_path.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_219_duplicate_includes.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_295_openai_schema.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_296_custom_csv.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_305_false_success.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_309_oauth_rate_limit.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_319_json_braces.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_340_report_core_no_default.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_342_syspath_isolation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_349_sys_modules_pollution.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_357_step9_keyerror.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_358_jwt_cache_null.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_364_cumulative_cost.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_373_step5_keyerror.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_375_malformed_json.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_379_auth_null_expires.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_383_commit_intermediate_files.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_399_ssh_url_message.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_419_cli_unpushed_commits.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_419_unpushed_commits.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_426_include_path_validation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_429_prompt_files_in_pr.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_445_worktree_resume.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_448_change_orchestrator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_448_step5_keyerror.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_449_auth_logout_message.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_467_false_cached_steps.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_468_not_a_bug_early_exit.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_469_cleanup_messages.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_469_duplicate_unresolved.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_470_sessions_cleanup_auth_message.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_481_pagination.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_485_warning_false_negative.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_493_update_output_subdir.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_508_budget_test_cost.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_508_sync_budget_tracking.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_509_retry_cost.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_521_circular_includes.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_522_include_fingerprint.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_545_no_changes_to_commit.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_549_format_double_escaping.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_549_other_orchestrators.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_553_circular_includes_non_recursive.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_557_codex_ndjson.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_566_code_fence_tags.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_579_bug_worktree_rerun.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_579_orchestrator_rerun.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_594_preamble_imports.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_604_handler_wiring.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_620_hallucinated_imports.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_626_nextjs_rendering_model.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_686_anthropic_cost_double_count.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_687_postprocess_model_name.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_737_step_completion_markers.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_745_initial_cost_tracking.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_773_hard_stop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_791_e2e_timeout_retry.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_796_typescript_python_validation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_797_typescript_verification.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_817_step5_degenerate_cli.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_824_artifact_filtering.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_825_param_drop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_830_workflow_stall.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_894.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_902_provider_fallback.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_issue_903_convergence.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_openai_required_array.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_pattern_verification.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_selective_includes.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_selective_includes_integration.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_step11_cleanup_revert.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_subprocess_issue_399_ssh_url_message.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_subprocess_issue_541_quiet_flag.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_e2e_subprocess_issue_593_bug_exit_code.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_embed_retrieve.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_evidence_manifest.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_example_error_detection.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_explicit_output_paths.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_extracts_prune.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_failure_classification.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_find_prompt_file.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_find_section.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_firecrawl_cache.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_code_loop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_code_module_errors.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_error_loop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_error_loop_failure_aware.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_error_loop_prompt_contract.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_error_loop_sync_e2e.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_errors_from_unit_tests.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_issue_1211_parent_dir_path.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_main_issue_232.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_verification_errors.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_verification_errors_loop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_fix_verification_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_generate_model_catalog.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_generate_output_paths.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_generate_output_paths_regression.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_generate_test.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_generate_test_llm_preprocess.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_generation_completion.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_get_comment.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_get_extension.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_get_jwt_token.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_get_language.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_get_lint_commands.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_get_run_command.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_get_test_command.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_git_porcelain.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_git_update.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_home_isolation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_include_query_extractor.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_increase_tests.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_incremental_code_generator.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_incremental_prd_architecture.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_incremental_prd_architecture_real.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_insert_includes.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_install_completion.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_1021_reproduction.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_1049_reproduction.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_1060_pollution.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_1080_porcelain_scope_guards.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_1212_reproduction.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_1240_generate_prompt_meta_framing.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_1272_cloud_timeout.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_225_paths_and_includes.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_237.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_417_regression_hardening.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_467_all_orchestrators.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_469_duplicate_unresolved.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_592_failing_case.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_600_agentic_weaknesses.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_633_reproduction.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_686_post_process_args_braces.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_737_step_completion_markers.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_791_reproduction.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_794_anti_tdd_and_test_discovery.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_794_repro.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_830_remaining_fixes.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_865_reproduction.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_894_pytest_output_deadlock.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_902.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_902_prompt_sync.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_926_preserve_comments_directive.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_issue_953_directory_scan_regression.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_jobs_sync_failure_detection.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_list_drift_detection.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_llm_invoke.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_llm_invoke_csv_model_registration.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_llm_invoke_integration.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_llm_invoke_nested_schema.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_llm_invoke_retry_cost.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_llm_invoke_vertex_retry.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_load_prompt_template.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_logo_animation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_metadata_sync.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_mock_vs_production_fix.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_model_tester.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_nextjs_rendering_model.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_one_session_eval.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_one_session_sync.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_opencode_provider.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_operation_log.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_operation_logging_e2e.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_path_resolution.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_pattern_completeness_verification.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_pddrc_initializer.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_pddrc_true_e2e.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_pin_example_hack.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_post_step_comment_once_real.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_postprocess.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_postprocess_0.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_preprocess.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_preprocess_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_preprocess_main_pdd_tags.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_process_csv_change.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_prompt_contract_validation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_prompt_lint.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_provider_env_isolation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_provider_manager.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_pytest_output.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_quiet_flag.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_reasoning.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_remote_command_completion.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_remote_session.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_render_mermaid.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_report.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_research_prompt_web_tools.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_server_routes_prompts.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_server_spawn.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_setup_tool.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_space_path_support.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_split.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_split_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_split_seam_resolution.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_split_validation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_step11_api_mocking_guidance.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_structural_test_guard.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_structural_test_guard_integration.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_summarize_directory.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_animation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_animation_0.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_backward_compat.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_code_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_contract_matrix.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_determine_operation.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_graph_order_consistency.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_orchestration.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_order.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_target_coverage_infinite_loop.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_template_prompt_discovery.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_sync_tui.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_template_expander.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_template_registry.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_thread_safe_redirector.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_time_reasoning_effort_env.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_trace.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_trace_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_track_cost.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_unfinished_prompt.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_update_command.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_update_main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_update_model_costs.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_update_prompt.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_user_story_tests.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_validate_behavioral_test.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_version.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_which.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_xml_tagger.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/test_z3_prompt_test_correspondence.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/tests/validate_behavioral_test.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/user_stories/story__template.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/context/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/context/definitions_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/context/handlers_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/context/main_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/context/regenerate_test_files.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/context/runner_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/context/server_example.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/generate_prompt.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/generate_python.sh +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/pdd_mcp_server/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/pdd_mcp_server/main.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/pdd_mcp_server/server.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/pdd_mcp_server/tools/__init__.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/pdd_mcp_server/tools/api_key_check.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/pdd_mcp_server/tools/definitions.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/pdd_mcp_server/tools/handlers.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/pdd_mcp_server/tools/runner.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/README_md.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/definitions_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/generate_prompt.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/handlers_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/io_dependencies.csv +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/io_dependencies_csv.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/main_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/mcp_architecture.csv +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/mcp_architecture_csv.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/requirements_txt.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/runner_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/prompts/server_python.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/requirements.txt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/mcp/tests/test_mcp_client.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/run_generated.py +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/.gitignore +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/.vscode/launch.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/.vscodeignore +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/AGENTS.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/CHANGELOG.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/LICENSE.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/Makefile +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/README.md +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/examples/pddInstaller_example.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/images/icon.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/images/icon.svg +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/images/video-thumb.png +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/language-configuration.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/out/extension.js +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/out/extension.js.map +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/out/pddInstaller.js +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/out/pddInstaller.js.map +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/package-lock.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/package.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/prompts/extension_typescript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/prompts/pddInstaller_typescript.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/prompts/prompt.tmLanguage_json.prompt +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/scripts/generate-video-thumb.mjs +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/scripts/render-icon.mjs +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/src/extension.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/src/pddInstaller.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/syntaxes/prompt.tmLanguage.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/tests/test_extension.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/tests/test_pddInstaller.ts +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/tsconfig.json +0 -0
- {pdd_cli-0.0.258 → pdd_cli-0.0.259}/utils/vscode_prompt/vsc-extension-quickstart.md +0 -0
|
@@ -57,6 +57,7 @@ help:
|
|
|
57
57
|
@echo " make upload-pypi - Upload dist/*.whl to PyPI"
|
|
58
58
|
@echo " make publish - Build & upload current version to PyPI"
|
|
59
59
|
@echo " make publish-public - Copy artifacts to public repo only"
|
|
60
|
+
@echo " make release-video - Generate and upload a YouTube video for the current release tag"
|
|
60
61
|
@echo " make check-deps - Check pyproject.toml and requirements.txt are in sync"
|
|
61
62
|
@echo " make release - On main: tag HEAD with next vN.N.N and push (BUMP=patch|minor|major; default patch)"
|
|
62
63
|
@echo " Actions publishes to PyPI via OIDC after gltanaka approval"
|
|
@@ -78,6 +79,19 @@ PUBLIC_CONTEXT_INCLUDE ?= context/**/*_example.py
|
|
|
78
79
|
PUBLIC_CONTEXT_EXCLUDE ?= context/**/__pycache__ context/**/*.log context/**/*.csv
|
|
79
80
|
PUBLIC_REGRESSION_SCRIPTS ?= $(wildcard tests/*regression*.sh)
|
|
80
81
|
|
|
82
|
+
# Release video automation. Set RELEASE_VIDEO=0 for an emergency release that
|
|
83
|
+
# must skip paid video generation/upload.
|
|
84
|
+
RELEASE_VIDEO ?= 1
|
|
85
|
+
RELEASE_VIDEO_OUTPUT_DIR ?= .pdd/release-videos
|
|
86
|
+
RELEASE_VIDEO_PRESET ?= release-notes
|
|
87
|
+
RELEASE_VIDEO_TARGET ?= publish
|
|
88
|
+
RELEASE_VIDEO_PLATFORM ?= youtube
|
|
89
|
+
RELEASE_VIDEO_PRIVACY ?= unlisted
|
|
90
|
+
RELEASE_VIDEO_DRY_RUN ?= 0
|
|
91
|
+
RELEASE_VIDEO_PROJECT_ID ?=
|
|
92
|
+
CLAUDE_CLI ?= claude
|
|
93
|
+
PDS_CLI ?= pds
|
|
94
|
+
|
|
81
95
|
# Python files
|
|
82
96
|
PY_PROMPTS := $(shell find $(PROMPTS_DIR) -name "*_python.prompt")
|
|
83
97
|
PY_OUTPUTS := $(patsubst $(PROMPTS_DIR)/%_python.prompt,$(PDD_DIR)/%.py,$(PY_PROMPTS))
|
|
@@ -108,7 +122,7 @@ TEST_OUTPUTS := $(patsubst $(PDD_DIR)/%.py,$(TESTS_DIR)/test_%.py,$(PY_OUTPUTS))
|
|
|
108
122
|
# All Example files in context directory (recursive)
|
|
109
123
|
EXAMPLE_FILES := $(shell find $(CONTEXT_DIR) -name "*_example.py" 2>/dev/null)
|
|
110
124
|
|
|
111
|
-
.PHONY: all clean test requirements production coverage staging regression regression-public sync-regression all-regression cloud-regression install build upload-pypi analysis fix crash update update-extension generate run-examples verify detect change lint publish publish-public public-ensure public-update public-import public-diff sync-public ensure-dev-deps cloud-test cloud-test-quick cloud-test-build cloud-test-push cloud-test-setup test-frontend release check-release-remote check-release-branch check-release-clean
|
|
125
|
+
.PHONY: all clean test requirements production coverage staging regression regression-public sync-regression all-regression cloud-regression install build upload-pypi analysis fix crash update update-extension generate run-examples verify detect change lint publish publish-public public-ensure public-update public-import public-diff sync-public ensure-dev-deps cloud-test cloud-test-quick cloud-test-build cloud-test-push cloud-test-setup test-frontend release release-video check-release-remote check-release-branch check-release-clean
|
|
112
126
|
|
|
113
127
|
all: $(PY_OUTPUTS) $(MAKEFILE_OUTPUT) $(CSV_OUTPUTS) $(EXAMPLE_OUTPUTS) $(TEST_OUTPUTS)
|
|
114
128
|
|
|
@@ -721,6 +735,25 @@ check-release-clean:
|
|
|
721
735
|
exit 1; \
|
|
722
736
|
fi
|
|
723
737
|
|
|
738
|
+
release-video:
|
|
739
|
+
@if [ "$(RELEASE_VIDEO)" = "0" ]; then \
|
|
740
|
+
echo "Skipping release video because RELEASE_VIDEO=0"; \
|
|
741
|
+
exit 0; \
|
|
742
|
+
fi; \
|
|
743
|
+
DRY_RUN_FLAG=""; \
|
|
744
|
+
if [ "$(RELEASE_VIDEO_DRY_RUN)" = "1" ]; then DRY_RUN_FLAG="--dry-run"; fi; \
|
|
745
|
+
RELEASE_TAG="$(RELEASE_TAG)" RELEASE_GIT_SHA="$(RELEASE_GIT_SHA)" \
|
|
746
|
+
python scripts/release_video.py \
|
|
747
|
+
--output-dir "$(RELEASE_VIDEO_OUTPUT_DIR)" \
|
|
748
|
+
--claude-cli "$(CLAUDE_CLI)" \
|
|
749
|
+
--pds-cli "$(PDS_CLI)" \
|
|
750
|
+
--project-id "$(RELEASE_VIDEO_PROJECT_ID)" \
|
|
751
|
+
--preset "$(RELEASE_VIDEO_PRESET)" \
|
|
752
|
+
--target "$(RELEASE_VIDEO_TARGET)" \
|
|
753
|
+
--platform "$(RELEASE_VIDEO_PLATFORM)" \
|
|
754
|
+
--privacy "$(RELEASE_VIDEO_PRIVACY)" \
|
|
755
|
+
$$DRY_RUN_FLAG
|
|
756
|
+
|
|
724
757
|
release: check-deps check-suspicious-files check-release-remote check-release-branch check-release-clean
|
|
725
758
|
@echo "Preparing release"
|
|
726
759
|
@set -e; \
|
|
@@ -767,6 +800,7 @@ release: check-deps check-suspicious-files check-release-remote check-release-br
|
|
|
767
800
|
echo "Error: tag $$EXISTING_TAG on origin points at $$REMOTE_TAG_COMMIT, not HEAD ($$HEAD_SHA)."; \
|
|
768
801
|
exit 1; \
|
|
769
802
|
fi; \
|
|
803
|
+
make --no-print-directory release-video RELEASE_TAG="$$EXISTING_TAG" RELEASE_GIT_SHA="$$HEAD_SHA"; \
|
|
770
804
|
exit 0; \
|
|
771
805
|
fi; \
|
|
772
806
|
LATEST_TAG=$$(git tag --list --merged HEAD --sort=-v:refname 'v*' | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$$' | head -1); \
|
|
@@ -790,9 +824,10 @@ release: check-deps check-suspicious-files check-release-remote check-release-br
|
|
|
790
824
|
fi; \
|
|
791
825
|
git tag -a "$$NEW_TAG" -m "Release $$NEW_TAG"; \
|
|
792
826
|
git push origin "$$NEW_TAG"; \
|
|
793
|
-
echo "Tag $$NEW_TAG is on origin. GHA will request gltanaka approval, then publish."
|
|
827
|
+
echo "Tag $$NEW_TAG is on origin. GHA will request gltanaka approval, then publish."; \
|
|
828
|
+
make --no-print-directory release-video RELEASE_TAG="$$NEW_TAG" RELEASE_GIT_SHA="$$HEAD_SHA"
|
|
794
829
|
@# Post-release cleanup check (Issue #186)
|
|
795
|
-
|
|
830
|
+
@make check-suspicious-files
|
|
796
831
|
|
|
797
832
|
analysis:
|
|
798
833
|
@echo "Running regression analysis"
|
|
@@ -669,7 +669,7 @@ make release BUMP=minor # minor bump
|
|
|
669
669
|
make release BUMP=major # major bump
|
|
670
670
|
```
|
|
671
671
|
|
|
672
|
-
`make release` tags `HEAD` with the next `vX.Y.Z` and
|
|
672
|
+
`make release` tags `HEAD` with the next `vX.Y.Z`, pushes the tag, then runs `make release-video`. The release-video step asks Claude Code to turn the release diff/notes into a short video script and calls the Prompt Driven Studio CLI (`pds release-video create --target publish --platform youtube --privacy unlisted --wait`) to create and upload an unlisted YouTube video. Set `PDS_CLI` if `pds` is not on `PATH`, and set `RELEASE_VIDEO_PROJECT_ID` when the PDS token is scoped to an existing project. Use `RELEASE_VIDEO=0` only for an emergency release that must skip paid video generation/upload. GitHub Actions then builds the wheel, waits for the `gltanaka` approval on the `pypi-publish` environment, publishes to PyPI via OIDC, and creates a GitHub Release with auto-generated notes.
|
|
673
673
|
|
|
674
674
|
### 9. Troubleshooting Development Setup
|
|
675
675
|
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 0,
|
|
21
|
+
__version__ = version = '0.0.259'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 259)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'gb3377d354'
|
|
@@ -1421,6 +1421,7 @@ scripts/ci_detect_changed_modules.py
|
|
|
1421
1421
|
scripts/copy_package_data_to_public.py
|
|
1422
1422
|
scripts/extract_wheel.py
|
|
1423
1423
|
scripts/preprocess_wheel.py
|
|
1424
|
+
scripts/release_video.py
|
|
1424
1425
|
tests/__init__.py
|
|
1425
1426
|
tests/cloud_regression.sh
|
|
1426
1427
|
tests/conftest.py
|
|
@@ -1726,6 +1727,7 @@ tests/test_provider_manager.py
|
|
|
1726
1727
|
tests/test_pytest_output.py
|
|
1727
1728
|
tests/test_quiet_flag.py
|
|
1728
1729
|
tests/test_reasoning.py
|
|
1730
|
+
tests/test_release_video.py
|
|
1729
1731
|
tests/test_remote_command_completion.py
|
|
1730
1732
|
tests/test_remote_session.py
|
|
1731
1733
|
tests/test_render_mermaid.py
|
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Create and publish a PDD release video through the PDS CLI."""
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
import argparse
|
|
7
|
+
import json
|
|
8
|
+
import os
|
|
9
|
+
import re
|
|
10
|
+
import shlex
|
|
11
|
+
import shutil
|
|
12
|
+
import subprocess
|
|
13
|
+
import sys
|
|
14
|
+
from pathlib import Path
|
|
15
|
+
from typing import Any
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
SEMVER_TAG_RE = re.compile(r"^v\d+\.\d+\.\d+$")
|
|
19
|
+
YOUTUBE_URL_RE = re.compile(r"https?://(?:www\.)?(?:youtube\.com|youtu\.be)/[^\s\"'<>]+")
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ReleaseVideoError(RuntimeError):
|
|
23
|
+
"""Raised for actionable release-video failures."""
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def main(argv: list[str] | None = None) -> int:
|
|
27
|
+
args = parse_args(argv)
|
|
28
|
+
repo = Path(args.repo).resolve()
|
|
29
|
+
|
|
30
|
+
try:
|
|
31
|
+
tag = resolve_release_tag(repo, args.tag or os.environ.get("RELEASE_TAG"))
|
|
32
|
+
git_sha = args.git_sha or os.environ.get("RELEASE_GIT_SHA") or git(
|
|
33
|
+
repo,
|
|
34
|
+
"rev-list",
|
|
35
|
+
"-n",
|
|
36
|
+
"1",
|
|
37
|
+
tag,
|
|
38
|
+
)
|
|
39
|
+
previous_tag = previous_release_tag(repo, tag)
|
|
40
|
+
repo_url = args.repo_url or remote_url(repo)
|
|
41
|
+
repo_name = args.repo_name or infer_repo_name(repo_url)
|
|
42
|
+
|
|
43
|
+
output_dir = Path(args.output_dir) / safe_path_part(tag)
|
|
44
|
+
output_dir.mkdir(parents=True, exist_ok=True)
|
|
45
|
+
|
|
46
|
+
context = build_release_context(
|
|
47
|
+
repo=repo,
|
|
48
|
+
tag=tag,
|
|
49
|
+
previous_tag=previous_tag,
|
|
50
|
+
git_sha=git_sha,
|
|
51
|
+
repo_url=repo_url,
|
|
52
|
+
repo_name=repo_name,
|
|
53
|
+
changelog_path=Path(args.changelog),
|
|
54
|
+
)
|
|
55
|
+
context_path = output_dir / "release_context.md"
|
|
56
|
+
release_notes_path = output_dir / "release_notes.md"
|
|
57
|
+
script_path = output_dir / "release_video_script.md"
|
|
58
|
+
response_path = output_dir / "pds_response.json"
|
|
59
|
+
|
|
60
|
+
context_path.write_text(context, encoding="utf8")
|
|
61
|
+
release_notes_path.write_text(release_notes_from_context(context), encoding="utf8")
|
|
62
|
+
script_text = generate_script_with_claude(
|
|
63
|
+
context=context,
|
|
64
|
+
claude_cli=args.claude_cli,
|
|
65
|
+
claude_model=args.claude_model,
|
|
66
|
+
timeout=args.claude_timeout,
|
|
67
|
+
cwd=repo,
|
|
68
|
+
)
|
|
69
|
+
script_path.write_text(script_text, encoding="utf8")
|
|
70
|
+
|
|
71
|
+
response = create_release_video(
|
|
72
|
+
args=args,
|
|
73
|
+
repo=repo,
|
|
74
|
+
tag=tag,
|
|
75
|
+
git_sha=git_sha,
|
|
76
|
+
repo_url=repo_url,
|
|
77
|
+
repo_name=repo_name,
|
|
78
|
+
script_path=script_path,
|
|
79
|
+
release_notes_path=release_notes_path,
|
|
80
|
+
changelog_path=Path(args.changelog),
|
|
81
|
+
)
|
|
82
|
+
response_path.write_text(json.dumps(response, indent=2, sort_keys=True) + "\n", encoding="utf8")
|
|
83
|
+
|
|
84
|
+
youtube_url = find_youtube_url(response)
|
|
85
|
+
if args.target == "publish" and not args.dry_run and not youtube_url:
|
|
86
|
+
raise ReleaseVideoError(
|
|
87
|
+
"PDS release-video publish completed but did not return a YouTube URL."
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
print(f"Release video artifacts: {output_dir}")
|
|
91
|
+
if youtube_url:
|
|
92
|
+
print(f"YouTube video: {youtube_url}")
|
|
93
|
+
return 0
|
|
94
|
+
except ReleaseVideoError as exc:
|
|
95
|
+
print(f"release-video: {exc}", file=sys.stderr)
|
|
96
|
+
return 1
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def parse_args(argv: list[str] | None) -> argparse.Namespace:
|
|
100
|
+
parser = argparse.ArgumentParser(
|
|
101
|
+
description="Generate a Claude-authored PDD release video script and publish it through pds.",
|
|
102
|
+
)
|
|
103
|
+
parser.add_argument("--repo", default=".", help="Git repository root. Defaults to cwd.")
|
|
104
|
+
parser.add_argument("--tag", help="Release tag. Defaults to the semver tag at HEAD.")
|
|
105
|
+
parser.add_argument("--git-sha", help="Release commit SHA. Defaults to the tagged commit.")
|
|
106
|
+
parser.add_argument("--repo-url", help="Repository URL passed to PDS.")
|
|
107
|
+
parser.add_argument("--repo-name", help="Repository name passed to PDS, for example promptdriven/pdd.")
|
|
108
|
+
parser.add_argument("--changelog", default="CHANGELOG.md", help="Changelog file to attach.")
|
|
109
|
+
parser.add_argument(
|
|
110
|
+
"--output-dir",
|
|
111
|
+
default=".pdd/release-videos",
|
|
112
|
+
help="Directory for generated release-video artifacts.",
|
|
113
|
+
)
|
|
114
|
+
parser.add_argument("--claude-cli", default=os.environ.get("CLAUDE_CLI", "claude"))
|
|
115
|
+
parser.add_argument("--claude-model", default=os.environ.get("CLAUDE_MODEL", "sonnet"))
|
|
116
|
+
parser.add_argument("--claude-timeout", type=float, default=300.0)
|
|
117
|
+
parser.add_argument("--pds-cli", default=os.environ.get("PDS_CLI", "pds"))
|
|
118
|
+
parser.add_argument(
|
|
119
|
+
"--project-id",
|
|
120
|
+
default=os.environ.get("RELEASE_VIDEO_PROJECT_ID", ""),
|
|
121
|
+
help="Existing PDS project id to use instead of creating a release project.",
|
|
122
|
+
)
|
|
123
|
+
parser.add_argument("--project-name", help="PDS project name. Defaults to 'PDD <tag> release'.")
|
|
124
|
+
parser.add_argument("--preset", default=os.environ.get("RELEASE_VIDEO_PRESET", "release-notes"))
|
|
125
|
+
parser.add_argument("--target", default=os.environ.get("RELEASE_VIDEO_TARGET", "publish"))
|
|
126
|
+
parser.add_argument("--platform", default=os.environ.get("RELEASE_VIDEO_PLATFORM", "youtube"))
|
|
127
|
+
parser.add_argument("--privacy", default=os.environ.get("RELEASE_VIDEO_PRIVACY", "unlisted"))
|
|
128
|
+
parser.add_argument("--idempotency-key", help="PDS idempotency key.")
|
|
129
|
+
parser.add_argument("--dry-run", action="store_true", help="Plan without creating video or uploading.")
|
|
130
|
+
return parser.parse_args(argv)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
def run(
|
|
134
|
+
command: list[str],
|
|
135
|
+
*,
|
|
136
|
+
cwd: Path,
|
|
137
|
+
input_text: str | None = None,
|
|
138
|
+
timeout: float | None = None,
|
|
139
|
+
check: bool = True,
|
|
140
|
+
) -> subprocess.CompletedProcess[str]:
|
|
141
|
+
try:
|
|
142
|
+
completed = subprocess.run(
|
|
143
|
+
command,
|
|
144
|
+
cwd=str(cwd),
|
|
145
|
+
input=input_text,
|
|
146
|
+
text=True,
|
|
147
|
+
capture_output=True,
|
|
148
|
+
timeout=timeout,
|
|
149
|
+
check=False,
|
|
150
|
+
)
|
|
151
|
+
except subprocess.TimeoutExpired as exc:
|
|
152
|
+
raise ReleaseVideoError(
|
|
153
|
+
f"{shlex.join(command)} timed out after {timeout:g} seconds"
|
|
154
|
+
) from exc
|
|
155
|
+
except FileNotFoundError as exc:
|
|
156
|
+
raise ReleaseVideoError(f"Executable not found: {command[0]}") from exc
|
|
157
|
+
if check and completed.returncode != 0:
|
|
158
|
+
stderr = completed.stderr.strip()
|
|
159
|
+
stdout = completed.stdout.strip()
|
|
160
|
+
details = stderr or stdout or f"exit code {completed.returncode}"
|
|
161
|
+
raise ReleaseVideoError(f"{shlex.join(command)} failed: {details[:2000]}")
|
|
162
|
+
return completed
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
def git(repo: Path, *args: str, check: bool = True) -> str:
|
|
166
|
+
return run(["git", *args], cwd=repo, check=check).stdout.strip()
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
def resolve_release_tag(repo: Path, explicit_tag: str | None) -> str:
|
|
170
|
+
if explicit_tag:
|
|
171
|
+
verify_tag(repo, explicit_tag)
|
|
172
|
+
return explicit_tag
|
|
173
|
+
|
|
174
|
+
tags = git(repo, "tag", "--points-at", "HEAD", "--list", "v*").splitlines()
|
|
175
|
+
semver_tags = [tag for tag in tags if SEMVER_TAG_RE.match(tag)]
|
|
176
|
+
if not semver_tags:
|
|
177
|
+
raise ReleaseVideoError("No vN.N.N release tag found at HEAD; pass --tag explicitly.")
|
|
178
|
+
tag = sorted(semver_tags, key=semver_sort_key, reverse=True)[0]
|
|
179
|
+
verify_tag(repo, tag)
|
|
180
|
+
return tag
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
def verify_tag(repo: Path, tag: str) -> None:
|
|
184
|
+
if not SEMVER_TAG_RE.match(tag):
|
|
185
|
+
raise ReleaseVideoError(f"Release tag must look like vN.N.N, got {tag!r}.")
|
|
186
|
+
completed = run(
|
|
187
|
+
["git", "rev-parse", "--verify", "--quiet", f"refs/tags/{tag}"],
|
|
188
|
+
cwd=repo,
|
|
189
|
+
check=False,
|
|
190
|
+
)
|
|
191
|
+
if completed.returncode != 0:
|
|
192
|
+
raise ReleaseVideoError(f"Release tag {tag} does not exist locally.")
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
def semver_sort_key(tag: str) -> tuple[int, int, int]:
|
|
196
|
+
return tuple(int(part) for part in tag.removeprefix("v").split(".")) # type: ignore[return-value]
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
def previous_release_tag(repo: Path, tag: str) -> str | None:
|
|
200
|
+
completed = run(
|
|
201
|
+
["git", "describe", "--tags", "--abbrev=0", f"{tag}^"],
|
|
202
|
+
cwd=repo,
|
|
203
|
+
check=False,
|
|
204
|
+
)
|
|
205
|
+
previous = completed.stdout.strip()
|
|
206
|
+
return previous if completed.returncode == 0 and previous else None
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
def remote_url(repo: Path) -> str:
|
|
210
|
+
completed = run(["git", "remote", "get-url", "origin"], cwd=repo, check=False)
|
|
211
|
+
return completed.stdout.strip() if completed.returncode == 0 else ""
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
def infer_repo_name(repo_url: str) -> str:
|
|
215
|
+
if not repo_url:
|
|
216
|
+
return "promptdriven/pdd"
|
|
217
|
+
cleaned = repo_url.removesuffix(".git")
|
|
218
|
+
match = re.search(r"github\.com[:/](?P<name>[^/]+/[^/]+)$", cleaned)
|
|
219
|
+
if match:
|
|
220
|
+
return match.group("name")
|
|
221
|
+
return cleaned.rsplit("/", 2)[-2] + "/" + cleaned.rsplit("/", 1)[-1] if "/" in cleaned else cleaned
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
def build_release_context(
|
|
225
|
+
*,
|
|
226
|
+
repo: Path,
|
|
227
|
+
tag: str,
|
|
228
|
+
previous_tag: str | None,
|
|
229
|
+
git_sha: str,
|
|
230
|
+
repo_url: str,
|
|
231
|
+
repo_name: str,
|
|
232
|
+
changelog_path: Path,
|
|
233
|
+
) -> str:
|
|
234
|
+
revision_range = f"{previous_tag}..{tag}" if previous_tag else tag
|
|
235
|
+
commits = git(repo, "log", revision_range, "--pretty=format:- %s (%h)", check=False)
|
|
236
|
+
diff_stat = git(repo, "diff", "--stat", revision_range, check=False) if previous_tag else ""
|
|
237
|
+
changed_files = git(repo, "diff", "--name-status", revision_range, check=False) if previous_tag else ""
|
|
238
|
+
diff = (
|
|
239
|
+
git(
|
|
240
|
+
repo,
|
|
241
|
+
"diff",
|
|
242
|
+
revision_range,
|
|
243
|
+
"--",
|
|
244
|
+
":(exclude)*.lock",
|
|
245
|
+
":(exclude)package-lock.json",
|
|
246
|
+
":(exclude)*test-durations.json",
|
|
247
|
+
":(exclude)dist/*",
|
|
248
|
+
":(exclude)*.min.js",
|
|
249
|
+
":(exclude)*.snap",
|
|
250
|
+
check=False,
|
|
251
|
+
)
|
|
252
|
+
if previous_tag
|
|
253
|
+
else ""
|
|
254
|
+
)
|
|
255
|
+
changelog_excerpt = changelog_context(repo / changelog_path, tag)
|
|
256
|
+
github_notes = github_release_notes(repo, tag)
|
|
257
|
+
|
|
258
|
+
return "\n".join(
|
|
259
|
+
[
|
|
260
|
+
f"# PDD release context for {tag}",
|
|
261
|
+
"",
|
|
262
|
+
f"- Repository: {repo_name}",
|
|
263
|
+
f"- Repository URL: {repo_url or 'unknown'}",
|
|
264
|
+
f"- Release tag: {tag}",
|
|
265
|
+
f"- Previous tag: {previous_tag or 'none found'}",
|
|
266
|
+
f"- Git SHA: {git_sha}",
|
|
267
|
+
"",
|
|
268
|
+
"## GitHub release notes",
|
|
269
|
+
github_notes or "_No GitHub release notes found yet._",
|
|
270
|
+
"",
|
|
271
|
+
"## Changelog excerpt",
|
|
272
|
+
changelog_excerpt or "_No changelog excerpt found._",
|
|
273
|
+
"",
|
|
274
|
+
"## Commits",
|
|
275
|
+
commits or "_No commit log found._",
|
|
276
|
+
"",
|
|
277
|
+
"## Diff stat",
|
|
278
|
+
diff_stat or "_No diff stat available._",
|
|
279
|
+
"",
|
|
280
|
+
"## Changed files",
|
|
281
|
+
changed_files or "_No changed-file list available._",
|
|
282
|
+
"",
|
|
283
|
+
"## Diff excerpt",
|
|
284
|
+
truncate(diff, 90_000) or "_No diff excerpt available._",
|
|
285
|
+
"",
|
|
286
|
+
]
|
|
287
|
+
)
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
def changelog_context(path: Path, tag: str) -> str:
|
|
291
|
+
if not path.exists():
|
|
292
|
+
return ""
|
|
293
|
+
text = path.read_text(encoding="utf8", errors="replace")
|
|
294
|
+
escaped_tag = re.escape(tag)
|
|
295
|
+
tag_without_v = re.escape(tag.removeprefix("v"))
|
|
296
|
+
match = re.search(
|
|
297
|
+
rf"^##\s+(?:\[)?(?:{escaped_tag}|{tag_without_v})(?:\])?.*?(?=^##\s+|\Z)",
|
|
298
|
+
text,
|
|
299
|
+
flags=re.MULTILINE | re.DOTALL,
|
|
300
|
+
)
|
|
301
|
+
if match:
|
|
302
|
+
return truncate(match.group(0).strip(), 60_000)
|
|
303
|
+
unreleased = re.search(
|
|
304
|
+
r"^##\s+Unreleased\b.*?(?=^##\s+|\Z)",
|
|
305
|
+
text,
|
|
306
|
+
flags=re.MULTILINE | re.DOTALL | re.IGNORECASE,
|
|
307
|
+
)
|
|
308
|
+
if unreleased:
|
|
309
|
+
return truncate(unreleased.group(0).strip(), 60_000)
|
|
310
|
+
return truncate(text, 60_000)
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
def github_release_notes(repo: Path, tag: str) -> str:
|
|
314
|
+
if not shutil.which("gh"):
|
|
315
|
+
return ""
|
|
316
|
+
completed = run(
|
|
317
|
+
["gh", "release", "view", tag, "--json", "body", "--jq", ".body"],
|
|
318
|
+
cwd=repo,
|
|
319
|
+
timeout=30,
|
|
320
|
+
check=False,
|
|
321
|
+
)
|
|
322
|
+
if completed.returncode != 0:
|
|
323
|
+
return ""
|
|
324
|
+
return completed.stdout.strip()
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
def release_notes_from_context(context: str) -> str:
|
|
328
|
+
sections: list[str] = []
|
|
329
|
+
for heading in ("GitHub release notes", "Changelog excerpt", "Commits"):
|
|
330
|
+
match = re.search(
|
|
331
|
+
rf"^## {re.escape(heading)}\n(?P<body>.*?)(?=^## |\Z)",
|
|
332
|
+
context,
|
|
333
|
+
flags=re.MULTILINE | re.DOTALL,
|
|
334
|
+
)
|
|
335
|
+
if match:
|
|
336
|
+
body = match.group("body").strip()
|
|
337
|
+
if body and not body.startswith("_No "):
|
|
338
|
+
sections.append(f"## {heading}\n\n{body}")
|
|
339
|
+
return "\n\n".join(sections).strip() + "\n"
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
def generate_script_with_claude(
|
|
343
|
+
*,
|
|
344
|
+
context: str,
|
|
345
|
+
claude_cli: str,
|
|
346
|
+
claude_model: str,
|
|
347
|
+
timeout: float,
|
|
348
|
+
cwd: Path,
|
|
349
|
+
) -> str:
|
|
350
|
+
command = split_command(claude_cli)
|
|
351
|
+
ensure_command_exists(command[0], "Claude Code")
|
|
352
|
+
command.extend(
|
|
353
|
+
[
|
|
354
|
+
"-p",
|
|
355
|
+
"--model",
|
|
356
|
+
claude_model,
|
|
357
|
+
"--tools",
|
|
358
|
+
"",
|
|
359
|
+
"--no-session-persistence",
|
|
360
|
+
"--output-format",
|
|
361
|
+
"text",
|
|
362
|
+
]
|
|
363
|
+
)
|
|
364
|
+
prompt = build_claude_prompt(context)
|
|
365
|
+
completed = run(command, cwd=cwd, input_text=prompt, timeout=timeout)
|
|
366
|
+
script = strip_markdown_fence(completed.stdout.strip())
|
|
367
|
+
if len(script) < 200:
|
|
368
|
+
raise ReleaseVideoError("Claude Code produced an unexpectedly short release video script.")
|
|
369
|
+
return script.rstrip() + "\n"
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
def build_claude_prompt(context: str) -> str:
|
|
373
|
+
return f"""Write the narration script for a short YouTube release video about this PDD CLI release.
|
|
374
|
+
|
|
375
|
+
Audience: developers who use or may adopt Prompt-Driven Development.
|
|
376
|
+
Length: 60-90 seconds.
|
|
377
|
+
Style: concise, concrete, technical, and demo-friendly.
|
|
378
|
+
|
|
379
|
+
Requirements:
|
|
380
|
+
- Base every claim on the release context below; do not invent features.
|
|
381
|
+
- Lead with the most user-visible change.
|
|
382
|
+
- Mention the release tag.
|
|
383
|
+
- Use plain Markdown.
|
|
384
|
+
- Include a title, a short hook, narration beats, and visual direction cues.
|
|
385
|
+
- Keep it suitable for an automated video pipeline: no tables, no footnotes, no citations, no code fences.
|
|
386
|
+
- Output only the script.
|
|
387
|
+
|
|
388
|
+
RELEASE CONTEXT:
|
|
389
|
+
|
|
390
|
+
{context}
|
|
391
|
+
"""
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
def create_release_video(
|
|
395
|
+
*,
|
|
396
|
+
args: argparse.Namespace,
|
|
397
|
+
repo: Path,
|
|
398
|
+
tag: str,
|
|
399
|
+
git_sha: str,
|
|
400
|
+
repo_url: str,
|
|
401
|
+
repo_name: str,
|
|
402
|
+
script_path: Path,
|
|
403
|
+
release_notes_path: Path,
|
|
404
|
+
changelog_path: Path,
|
|
405
|
+
) -> dict[str, Any]:
|
|
406
|
+
command = split_command(args.pds_cli)
|
|
407
|
+
ensure_command_exists(command[0], "PDS CLI")
|
|
408
|
+
project_id = str(args.project_id or "").strip()
|
|
409
|
+
if project_id:
|
|
410
|
+
command.extend(["--project", project_id])
|
|
411
|
+
project_name = args.project_name or ("" if project_id else f"PDD {tag} release")
|
|
412
|
+
idempotency_key = args.idempotency_key or f"pdd-release-video:{tag}:{git_sha}"
|
|
413
|
+
pds_args = [
|
|
414
|
+
"release-video",
|
|
415
|
+
"create",
|
|
416
|
+
"--script",
|
|
417
|
+
str(script_path),
|
|
418
|
+
"--release-notes",
|
|
419
|
+
str(release_notes_path),
|
|
420
|
+
"--repo-url",
|
|
421
|
+
repo_url,
|
|
422
|
+
"--repo-name",
|
|
423
|
+
repo_name,
|
|
424
|
+
"--git-sha",
|
|
425
|
+
git_sha,
|
|
426
|
+
"--release-tag",
|
|
427
|
+
tag,
|
|
428
|
+
"--preset",
|
|
429
|
+
args.preset,
|
|
430
|
+
"--target",
|
|
431
|
+
args.target,
|
|
432
|
+
"--platform",
|
|
433
|
+
args.platform,
|
|
434
|
+
"--privacy",
|
|
435
|
+
args.privacy,
|
|
436
|
+
"--idempotency-key",
|
|
437
|
+
idempotency_key,
|
|
438
|
+
"--wait",
|
|
439
|
+
"--json",
|
|
440
|
+
]
|
|
441
|
+
if project_name:
|
|
442
|
+
pds_args[2:2] = ["--project-name", project_name]
|
|
443
|
+
changelog_full_path = repo / changelog_path
|
|
444
|
+
if changelog_full_path.exists():
|
|
445
|
+
pds_args.extend(["--changelog", str(changelog_full_path)])
|
|
446
|
+
if args.dry_run:
|
|
447
|
+
pds_args.append("--dry-run")
|
|
448
|
+
|
|
449
|
+
completed = run(command + pds_args, cwd=repo, timeout=None)
|
|
450
|
+
try:
|
|
451
|
+
parsed = json.loads(completed.stdout)
|
|
452
|
+
except json.JSONDecodeError as exc:
|
|
453
|
+
raise ReleaseVideoError(
|
|
454
|
+
f"PDS CLI did not return JSON: {exc}. Output: {completed.stdout[:2000]}"
|
|
455
|
+
) from exc
|
|
456
|
+
if not isinstance(parsed, dict):
|
|
457
|
+
raise ReleaseVideoError("PDS CLI returned JSON that was not an object.")
|
|
458
|
+
return parsed
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
def find_youtube_url(value: Any) -> str | None:
|
|
462
|
+
if isinstance(value, str):
|
|
463
|
+
match = YOUTUBE_URL_RE.search(value)
|
|
464
|
+
return match.group(0) if match else None
|
|
465
|
+
if isinstance(value, dict):
|
|
466
|
+
preferred_keys = ("youtubeUrl", "videoUrl", "url")
|
|
467
|
+
for key in preferred_keys:
|
|
468
|
+
if key in value:
|
|
469
|
+
found = find_youtube_url(value[key])
|
|
470
|
+
if found:
|
|
471
|
+
return found
|
|
472
|
+
for item in value.values():
|
|
473
|
+
found = find_youtube_url(item)
|
|
474
|
+
if found:
|
|
475
|
+
return found
|
|
476
|
+
if isinstance(value, list):
|
|
477
|
+
for item in value:
|
|
478
|
+
found = find_youtube_url(item)
|
|
479
|
+
if found:
|
|
480
|
+
return found
|
|
481
|
+
return None
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
def split_command(command: str) -> list[str]:
|
|
485
|
+
parts = shlex.split(command)
|
|
486
|
+
if not parts:
|
|
487
|
+
raise ReleaseVideoError("Command cannot be empty.")
|
|
488
|
+
return parts
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
def ensure_command_exists(executable: str, label: str) -> None:
|
|
492
|
+
if "/" in executable:
|
|
493
|
+
if Path(executable).exists():
|
|
494
|
+
return
|
|
495
|
+
elif shutil.which(executable):
|
|
496
|
+
return
|
|
497
|
+
raise ReleaseVideoError(f"{label} executable not found: {executable}")
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
def strip_markdown_fence(text: str) -> str:
|
|
501
|
+
match = re.fullmatch(r"```(?:markdown|md)?\s*(.*?)\s*```", text, flags=re.DOTALL)
|
|
502
|
+
return match.group(1).strip() if match else text
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
def truncate(text: str, max_chars: int) -> str:
|
|
506
|
+
if len(text) <= max_chars:
|
|
507
|
+
return text
|
|
508
|
+
return text[:max_chars] + "\n\n[truncated]\n"
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
def safe_path_part(value: str) -> str:
|
|
512
|
+
return re.sub(r"[^A-Za-z0-9._-]+", "-", value).strip("-") or "release"
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
if __name__ == "__main__":
|
|
516
|
+
raise SystemExit(main())
|