pdd-cli 0.0.90__py3-none-any.whl → 0.0.118__py3-none-any.whl
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/__init__.py +38 -6
- pdd/agentic_bug.py +323 -0
- pdd/agentic_bug_orchestrator.py +497 -0
- pdd/agentic_change.py +231 -0
- pdd/agentic_change_orchestrator.py +526 -0
- pdd/agentic_common.py +521 -786
- pdd/agentic_e2e_fix.py +319 -0
- pdd/agentic_e2e_fix_orchestrator.py +426 -0
- pdd/agentic_fix.py +118 -3
- pdd/agentic_update.py +25 -8
- pdd/architecture_sync.py +565 -0
- pdd/auth_service.py +210 -0
- pdd/auto_deps_main.py +63 -53
- pdd/auto_include.py +185 -3
- pdd/auto_update.py +125 -47
- pdd/bug_main.py +195 -23
- pdd/cmd_test_main.py +345 -197
- pdd/code_generator.py +4 -2
- pdd/code_generator_main.py +118 -32
- pdd/commands/__init__.py +6 -0
- pdd/commands/analysis.py +87 -29
- pdd/commands/auth.py +309 -0
- pdd/commands/connect.py +290 -0
- pdd/commands/fix.py +136 -113
- pdd/commands/maintenance.py +3 -2
- pdd/commands/misc.py +8 -0
- pdd/commands/modify.py +190 -164
- pdd/commands/sessions.py +284 -0
- pdd/construct_paths.py +334 -32
- pdd/context_generator_main.py +167 -170
- pdd/continue_generation.py +6 -3
- pdd/core/__init__.py +33 -0
- pdd/core/cli.py +27 -3
- pdd/core/cloud.py +237 -0
- pdd/core/errors.py +4 -0
- pdd/core/remote_session.py +61 -0
- pdd/crash_main.py +219 -23
- pdd/data/llm_model.csv +4 -4
- pdd/docs/prompting_guide.md +864 -0
- pdd/docs/whitepaper_with_benchmarks/data_and_functions/benchmark_analysis.py +495 -0
- pdd/docs/whitepaper_with_benchmarks/data_and_functions/creation_compare.py +528 -0
- pdd/fix_code_loop.py +208 -34
- pdd/fix_code_module_errors.py +6 -2
- pdd/fix_error_loop.py +291 -38
- pdd/fix_main.py +204 -4
- pdd/fix_verification_errors_loop.py +235 -26
- pdd/fix_verification_main.py +269 -83
- pdd/frontend/dist/assets/index-B5DZHykP.css +1 -0
- pdd/frontend/dist/assets/index-DQ3wkeQ2.js +449 -0
- pdd/frontend/dist/index.html +376 -0
- pdd/frontend/dist/logo.svg +33 -0
- pdd/generate_output_paths.py +46 -5
- pdd/generate_test.py +212 -151
- pdd/get_comment.py +19 -44
- pdd/get_extension.py +8 -9
- pdd/get_jwt_token.py +309 -20
- pdd/get_language.py +8 -7
- pdd/get_run_command.py +7 -5
- pdd/insert_includes.py +2 -1
- pdd/llm_invoke.py +459 -95
- pdd/load_prompt_template.py +15 -34
- pdd/path_resolution.py +140 -0
- pdd/postprocess.py +4 -1
- pdd/preprocess.py +68 -12
- pdd/preprocess_main.py +33 -1
- pdd/prompts/agentic_bug_step10_pr_LLM.prompt +182 -0
- pdd/prompts/agentic_bug_step1_duplicate_LLM.prompt +73 -0
- pdd/prompts/agentic_bug_step2_docs_LLM.prompt +129 -0
- pdd/prompts/agentic_bug_step3_triage_LLM.prompt +95 -0
- pdd/prompts/agentic_bug_step4_reproduce_LLM.prompt +97 -0
- pdd/prompts/agentic_bug_step5_root_cause_LLM.prompt +123 -0
- pdd/prompts/agentic_bug_step6_test_plan_LLM.prompt +107 -0
- pdd/prompts/agentic_bug_step7_generate_LLM.prompt +172 -0
- pdd/prompts/agentic_bug_step8_verify_LLM.prompt +119 -0
- pdd/prompts/agentic_bug_step9_e2e_test_LLM.prompt +289 -0
- pdd/prompts/agentic_change_step10_identify_issues_LLM.prompt +1006 -0
- pdd/prompts/agentic_change_step11_fix_issues_LLM.prompt +984 -0
- pdd/prompts/agentic_change_step12_create_pr_LLM.prompt +131 -0
- pdd/prompts/agentic_change_step1_duplicate_LLM.prompt +73 -0
- pdd/prompts/agentic_change_step2_docs_LLM.prompt +101 -0
- pdd/prompts/agentic_change_step3_research_LLM.prompt +126 -0
- pdd/prompts/agentic_change_step4_clarify_LLM.prompt +164 -0
- pdd/prompts/agentic_change_step5_docs_change_LLM.prompt +981 -0
- pdd/prompts/agentic_change_step6_devunits_LLM.prompt +1005 -0
- pdd/prompts/agentic_change_step7_architecture_LLM.prompt +1044 -0
- pdd/prompts/agentic_change_step8_analyze_LLM.prompt +1027 -0
- pdd/prompts/agentic_change_step9_implement_LLM.prompt +1077 -0
- pdd/prompts/agentic_e2e_fix_step1_unit_tests_LLM.prompt +90 -0
- pdd/prompts/agentic_e2e_fix_step2_e2e_tests_LLM.prompt +91 -0
- pdd/prompts/agentic_e2e_fix_step3_root_cause_LLM.prompt +89 -0
- pdd/prompts/agentic_e2e_fix_step4_fix_e2e_tests_LLM.prompt +96 -0
- pdd/prompts/agentic_e2e_fix_step5_identify_devunits_LLM.prompt +91 -0
- pdd/prompts/agentic_e2e_fix_step6_create_unit_tests_LLM.prompt +106 -0
- pdd/prompts/agentic_e2e_fix_step7_verify_tests_LLM.prompt +116 -0
- pdd/prompts/agentic_e2e_fix_step8_run_pdd_fix_LLM.prompt +120 -0
- pdd/prompts/agentic_e2e_fix_step9_verify_all_LLM.prompt +146 -0
- pdd/prompts/agentic_fix_primary_LLM.prompt +2 -2
- pdd/prompts/agentic_update_LLM.prompt +192 -338
- pdd/prompts/auto_include_LLM.prompt +22 -0
- pdd/prompts/change_LLM.prompt +3093 -1
- pdd/prompts/detect_change_LLM.prompt +571 -14
- pdd/prompts/fix_code_module_errors_LLM.prompt +8 -0
- pdd/prompts/fix_errors_from_unit_tests_LLM.prompt +1 -0
- pdd/prompts/generate_test_LLM.prompt +20 -1
- pdd/prompts/generate_test_from_example_LLM.prompt +115 -0
- pdd/prompts/insert_includes_LLM.prompt +262 -252
- pdd/prompts/prompt_code_diff_LLM.prompt +119 -0
- pdd/prompts/prompt_diff_LLM.prompt +82 -0
- pdd/remote_session.py +876 -0
- pdd/server/__init__.py +52 -0
- pdd/server/app.py +335 -0
- pdd/server/click_executor.py +587 -0
- pdd/server/executor.py +338 -0
- pdd/server/jobs.py +661 -0
- pdd/server/models.py +241 -0
- pdd/server/routes/__init__.py +31 -0
- pdd/server/routes/architecture.py +451 -0
- pdd/server/routes/auth.py +364 -0
- pdd/server/routes/commands.py +929 -0
- pdd/server/routes/config.py +42 -0
- pdd/server/routes/files.py +603 -0
- pdd/server/routes/prompts.py +1322 -0
- pdd/server/routes/websocket.py +473 -0
- pdd/server/security.py +243 -0
- pdd/server/terminal_spawner.py +209 -0
- pdd/server/token_counter.py +222 -0
- pdd/summarize_directory.py +236 -237
- pdd/sync_animation.py +8 -4
- pdd/sync_determine_operation.py +329 -47
- pdd/sync_main.py +272 -28
- pdd/sync_orchestration.py +136 -75
- pdd/template_expander.py +161 -0
- pdd/templates/architecture/architecture_json.prompt +41 -46
- pdd/trace.py +1 -1
- pdd/track_cost.py +0 -13
- pdd/unfinished_prompt.py +2 -1
- pdd/update_main.py +23 -5
- {pdd_cli-0.0.90.dist-info → pdd_cli-0.0.118.dist-info}/METADATA +15 -10
- pdd_cli-0.0.118.dist-info/RECORD +227 -0
- pdd_cli-0.0.90.dist-info/RECORD +0 -153
- {pdd_cli-0.0.90.dist-info → pdd_cli-0.0.118.dist-info}/WHEEL +0 -0
- {pdd_cli-0.0.90.dist-info → pdd_cli-0.0.118.dist-info}/entry_points.txt +0 -0
- {pdd_cli-0.0.90.dist-info → pdd_cli-0.0.118.dist-info}/licenses/LICENSE +0 -0
- {pdd_cli-0.0.90.dist-info → pdd_cli-0.0.118.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
% You are an expert software engineer fixing bugs identified in a GitHub issue. Your task is to run pdd fix sequentially on dev units identified during e2e failure analysis.
|
|
2
|
+
|
|
3
|
+
% Context
|
|
4
|
+
|
|
5
|
+
You are working on step 8 of 9 in an agentic e2e fix workflow. You need to run `pdd fix` on each dev unit identified in Step 5 to fix the bugs causing e2e test failures.
|
|
6
|
+
|
|
7
|
+
**Important distinction from Step 1:**
|
|
8
|
+
- Step 1: Fixes dev units associated with unit tests **explicitly listed in the GitHub issue** (from `pdd bug`)
|
|
9
|
+
- Step 8 (this step): Fixes dev units **identified during e2e failure analysis** in Steps 3-5 (may be different or additional dev units discovered through stack trace analysis)
|
|
10
|
+
|
|
11
|
+
% Inputs
|
|
12
|
+
|
|
13
|
+
- GitHub Issue URL: {issue_url}
|
|
14
|
+
- Repository: {repo_owner}/{repo_name}
|
|
15
|
+
- Issue Number: {issue_number}
|
|
16
|
+
- Cycle: {cycle_number}/{max_cycles}
|
|
17
|
+
|
|
18
|
+
% Issue Content
|
|
19
|
+
<issue_content>
|
|
20
|
+
{issue_content}
|
|
21
|
+
</issue_content>
|
|
22
|
+
|
|
23
|
+
% Previous Step Outputs
|
|
24
|
+
<step1_output>
|
|
25
|
+
{step1_output}
|
|
26
|
+
</step1_output>
|
|
27
|
+
|
|
28
|
+
<step2_output>
|
|
29
|
+
{step2_output}
|
|
30
|
+
</step2_output>
|
|
31
|
+
|
|
32
|
+
<step3_output>
|
|
33
|
+
{step3_output}
|
|
34
|
+
</step3_output>
|
|
35
|
+
|
|
36
|
+
<step4_output>
|
|
37
|
+
{step4_output}
|
|
38
|
+
</step4_output>
|
|
39
|
+
|
|
40
|
+
<step5_output>
|
|
41
|
+
{step5_output}
|
|
42
|
+
</step5_output>
|
|
43
|
+
|
|
44
|
+
<step6_output>
|
|
45
|
+
{step6_output}
|
|
46
|
+
</step6_output>
|
|
47
|
+
|
|
48
|
+
<step7_output>
|
|
49
|
+
{step7_output}
|
|
50
|
+
</step7_output>
|
|
51
|
+
|
|
52
|
+
% Failing Dev Units
|
|
53
|
+
{failing_dev_units}
|
|
54
|
+
|
|
55
|
+
% Your Task
|
|
56
|
+
|
|
57
|
+
1. **Run pdd fix for each failing dev unit**
|
|
58
|
+
- For each dev unit from Step 5 (DEV_UNITS_IDENTIFIED):
|
|
59
|
+
- Execute pdd fix in manual mode:
|
|
60
|
+
```bash
|
|
61
|
+
# Create a temp error file for pdd fix
|
|
62
|
+
touch /tmp/pdd_fix_errors_{dev_unit}.log
|
|
63
|
+
pdd fix --manual prompts/{dev_unit}_python.prompt pdd/{dev_unit}.py tests/test_{dev_unit}.py /tmp/pdd_fix_errors_{dev_unit}.log --loop
|
|
64
|
+
```
|
|
65
|
+
- Wait for completion before starting next
|
|
66
|
+
- Capture output from each run
|
|
67
|
+
|
|
68
|
+
2. **Track results**
|
|
69
|
+
- Note which dev units were successfully fixed
|
|
70
|
+
- Note which dev units still have failing tests
|
|
71
|
+
- Capture any error messages
|
|
72
|
+
|
|
73
|
+
3. **Run unit tests to verify fixes**
|
|
74
|
+
- After all pdd fix runs complete
|
|
75
|
+
- Run: `pytest tests/test_{dev_unit}.py -v` for each
|
|
76
|
+
- Report pass/fail status
|
|
77
|
+
|
|
78
|
+
% Output
|
|
79
|
+
|
|
80
|
+
After completing your analysis, use `gh issue comment` to post your findings to issue #{issue_number}:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
gh issue comment {issue_number} --repo {repo_owner}/{repo_name} --body "..."
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Your comment should follow this format:
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
## Step 8: Run pdd fix (Cycle {cycle_number})
|
|
90
|
+
|
|
91
|
+
**Status:** {N}/{M} Dev Units Fixed
|
|
92
|
+
|
|
93
|
+
### pdd fix Results
|
|
94
|
+
| Dev Unit | pdd fix Status | Tests After |
|
|
95
|
+
|----------|----------------|-------------|
|
|
96
|
+
| `{name}` | Success | {N}/{M} pass |
|
|
97
|
+
| `{name}` | Failed | {error} |
|
|
98
|
+
|
|
99
|
+
### Files Changed
|
|
100
|
+
{list_of_modified_files}
|
|
101
|
+
|
|
102
|
+
### Summary
|
|
103
|
+
- Dev units fixed: {list}
|
|
104
|
+
- Dev units still failing: {list}
|
|
105
|
+
- Total pdd fix runs: {N}
|
|
106
|
+
- Total cost: ${cost:.4f}
|
|
107
|
+
|
|
108
|
+
FILES_MODIFIED: {comma_separated_list_of_code_files}
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
*Proceeding to Step 9: Final Verification*
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
% Important
|
|
115
|
+
|
|
116
|
+
- Run pdd fix SEQUENTIALLY, not in parallel
|
|
117
|
+
- Each dev unit may take significant time - be patient
|
|
118
|
+
- Track costs from each pdd fix invocation
|
|
119
|
+
- Always output FILES_MODIFIED line
|
|
120
|
+
- Always post your findings as a GitHub comment before completing
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
% You are an expert software engineer fixing bugs identified in a GitHub issue. Your task is to perform final verification and control the outer loop.
|
|
2
|
+
|
|
3
|
+
% Context
|
|
4
|
+
|
|
5
|
+
You are working on step 9 of 9 in an agentic e2e fix workflow. This step verifies the current state and determines if another cycle is needed.
|
|
6
|
+
|
|
7
|
+
% Inputs
|
|
8
|
+
|
|
9
|
+
- GitHub Issue URL: {issue_url}
|
|
10
|
+
- Repository: {repo_owner}/{repo_name}
|
|
11
|
+
- Issue Number: {issue_number}
|
|
12
|
+
- Cycle: {cycle_number}/{max_cycles}
|
|
13
|
+
|
|
14
|
+
% Issue Content
|
|
15
|
+
<issue_content>
|
|
16
|
+
{issue_content}
|
|
17
|
+
</issue_content>
|
|
18
|
+
|
|
19
|
+
% Previous Step Outputs
|
|
20
|
+
<step1_output>
|
|
21
|
+
{step1_output}
|
|
22
|
+
</step1_output>
|
|
23
|
+
|
|
24
|
+
<step2_output>
|
|
25
|
+
{step2_output}
|
|
26
|
+
</step2_output>
|
|
27
|
+
|
|
28
|
+
<step3_output>
|
|
29
|
+
{step3_output}
|
|
30
|
+
</step3_output>
|
|
31
|
+
|
|
32
|
+
<step4_output>
|
|
33
|
+
{step4_output}
|
|
34
|
+
</step4_output>
|
|
35
|
+
|
|
36
|
+
<step5_output>
|
|
37
|
+
{step5_output}
|
|
38
|
+
</step5_output>
|
|
39
|
+
|
|
40
|
+
<step6_output>
|
|
41
|
+
{step6_output}
|
|
42
|
+
</step6_output>
|
|
43
|
+
|
|
44
|
+
<step7_output>
|
|
45
|
+
{step7_output}
|
|
46
|
+
</step7_output>
|
|
47
|
+
|
|
48
|
+
<step8_output>
|
|
49
|
+
{step8_output}
|
|
50
|
+
</step8_output>
|
|
51
|
+
|
|
52
|
+
% Your Task
|
|
53
|
+
|
|
54
|
+
1. **Run full test suite**
|
|
55
|
+
- Run all unit tests: `pytest tests/ -v`
|
|
56
|
+
- Run all e2e tests identified in the issue
|
|
57
|
+
- Capture complete results
|
|
58
|
+
|
|
59
|
+
2. **Assess current state**
|
|
60
|
+
- How many tests pass vs fail?
|
|
61
|
+
- Are the original bugs fixed?
|
|
62
|
+
- Are there new failures?
|
|
63
|
+
|
|
64
|
+
3. **Determine next action**
|
|
65
|
+
- If all tests pass: Workflow complete
|
|
66
|
+
- If tests still fail and cycle < max_cycles: Another cycle needed
|
|
67
|
+
- If tests still fail and cycle >= max_cycles: Max cycles reached, report status
|
|
68
|
+
|
|
69
|
+
% Output
|
|
70
|
+
|
|
71
|
+
After completing your analysis, use `gh issue comment` to post your findings to issue #{issue_number}:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
gh issue comment {issue_number} --repo {repo_owner}/{repo_name} --body "..."
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**If all tests pass:**
|
|
78
|
+
```markdown
|
|
79
|
+
## Step 9: Final Verification (Cycle {cycle_number})
|
|
80
|
+
|
|
81
|
+
**Status:** ALL_TESTS_PASS
|
|
82
|
+
|
|
83
|
+
### Test Results
|
|
84
|
+
- Unit tests: {N}/{M} pass
|
|
85
|
+
- E2E tests: {N}/{M} pass
|
|
86
|
+
|
|
87
|
+
### Summary
|
|
88
|
+
All bugs fixed successfully in {cycle_number} cycle(s).
|
|
89
|
+
|
|
90
|
+
### Files Changed (Total)
|
|
91
|
+
{list_of_all_files_modified}
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
*Workflow complete - all tests passing*
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**If more cycles needed:**
|
|
98
|
+
```markdown
|
|
99
|
+
## Step 9: Final Verification (Cycle {cycle_number})
|
|
100
|
+
|
|
101
|
+
**Status:** CONTINUE_CYCLE
|
|
102
|
+
|
|
103
|
+
### Test Results
|
|
104
|
+
- Unit tests: {N}/{M} pass ({K} still failing)
|
|
105
|
+
- E2E tests: {N}/{M} pass ({K} still failing)
|
|
106
|
+
|
|
107
|
+
### Remaining Failures
|
|
108
|
+
| Test | Failure Type |
|
|
109
|
+
|------|--------------|
|
|
110
|
+
| `test_{name}` | {type} |
|
|
111
|
+
|
|
112
|
+
### Analysis
|
|
113
|
+
{explanation_of_remaining_failures}
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
*Starting Cycle {next_cycle}*
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**If max cycles reached:**
|
|
120
|
+
```markdown
|
|
121
|
+
## Step 9: Final Verification (Cycle {cycle_number})
|
|
122
|
+
|
|
123
|
+
**Status:** MAX_CYCLES_REACHED
|
|
124
|
+
|
|
125
|
+
### Test Results
|
|
126
|
+
- Unit tests: {N}/{M} pass ({K} still failing)
|
|
127
|
+
- E2E tests: {N}/{M} pass ({K} still failing)
|
|
128
|
+
|
|
129
|
+
### Remaining Failures
|
|
130
|
+
| Test | Failure Type |
|
|
131
|
+
|------|--------------|
|
|
132
|
+
| `test_{name}` | {type} |
|
|
133
|
+
|
|
134
|
+
### Recommendation
|
|
135
|
+
{manual_intervention_suggestions}
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
*Workflow stopped - max cycles reached*
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
% Important
|
|
142
|
+
|
|
143
|
+
- The exact strings "ALL_TESTS_PASS", "CONTINUE_CYCLE", or "MAX_CYCLES_REACHED" control the outer loop
|
|
144
|
+
- Be accurate in test counts - don't round or estimate
|
|
145
|
+
- Include specific failure information for debugging
|
|
146
|
+
- Always post your findings as a GitHub comment before completing
|