Skip to content

Commit c6c3491

Browse files
committed
Bump version
1 parent cb7e74f commit c6c3491

File tree

6 files changed

+43
-14
lines changed

6 files changed

+43
-14
lines changed

CHANGELOG.md

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,21 @@
22

33
### Feat
44

5-
- Improve live status section in pdd connect UI
6-
- Improve pdd connect web UI per issue #398
7-
- Add agentic test generation for non-Python languages
8-
- Upgrade architecture generation and fix test file detection
9-
- **config**: resolve prompt_path via env and .pddrc (implements #18)
10-
- Set `PDD_MODEL_DEFAULT` for regression tests in Makefile and add `error_log.txt`.
11-
- Introduce new agentic features and critical bug fixes, and add an error log for iterative fix attempts.
5+
- **agentic test generation**: Non-Python languages now use the new `agentic_test_generate` module for test generation, with dedicated LLM and language-specific prompts.
6+
- **architecture generation**: Upgraded Step 6-8 prompts for richer module discovery, validation, and self-healing. Improved test file detection in sync operations.
7+
- **pdd connect UI**: Enhanced live status section and web interface per issue #398.
8+
- **config**: Resolve `prompts_dir` via `PDD_PROMPTS_DIR` environment variable and `.pddrc` (implements #18). Thanks Benjamin Knobloch!
129

1310
### Fix
1411

15-
- Address Copilot review - add aria-label for accessibility
16-
- **construct_paths**: improve prompts_dir resolution logic to respect CLI and environment variable settings
17-
- malformed json for the architecture description in prompts
18-
- Handle double-brace escaped JSON in pdd-interface parsing
12+
- **sync discovery mode**: Fixed regression from PR #275 by adding fallback for `code_dir` when discovering modules.
13+
- **JSON parsing**: Handle double-brace escaped JSON (`{{` / `}}`) in `<pdd-interface>` metadata tags (issue #375).
14+
- **architecture prompts**: Escape literal braces to prevent malformed JSON in architecture descriptions.
15+
- **accessibility**: Add `aria-label` to UI components for screen reader support.
1916

2017
### Refactor
2118

22-
- **config**: update prompts_dir resolution to use only PDD_PROMPTS_DIR environment variable, without aliases
19+
- **construct_paths**: Simplify `prompts_dir` resolution to use only `PDD_PROMPTS_DIR`, removing legacy aliases. Thanks Benjamin Knobloch!
2320

2421
## v0.0.129 (2026-01-25)
2522

examples/hello/repo_root

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Subproject commit 6fe3f33974583cd0321f4be905d971e18952f855
1+
Subproject commit fd0c56857aeb65751f4d129f8c8f7c6ab07d7ed0

pdd/unfinished_prompt.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from typing import Tuple, Optional
22
import ast
3+
import warnings
34
from pydantic import BaseModel, Field
45
from rich import print as rprint
56
from .load_prompt_template import load_prompt_template
@@ -70,7 +71,9 @@ def _looks_like_python(text: str) -> bool:
7071
should_try_python_parse = (language or "").lower() == "python" or _looks_like_python(prompt_text)
7172
if should_try_python_parse:
7273
try:
73-
ast.parse(prompt_text)
74+
with warnings.catch_warnings():
75+
warnings.simplefilter("ignore", SyntaxWarning)
76+
ast.parse(prompt_text)
7477
reasoning = "Syntactic Python check passed (ast.parse succeeded); treating as finished."
7578
if verbose:
7679
rprint("[green]" + reasoning + "[/green]")
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Write a Python function called `encode_message` that takes a string and returns an encoded version of it.
2+
3+
The function should:
4+
- Accept a single string parameter
5+
- Return the encoded string
6+
- Handle lowercase letters
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
% You are an expert Python engineer.
2+
3+
% Module: simple_math
4+
Tiny arithmetic module with a single add() helper and a runnable demo.
5+
6+
% Requirements
7+
- Module docstring: `"""Module: simple_math\nA tiny arithmetic module with a single add() helper and a runnable demo."""`
8+
- Import `Union` from `typing`
9+
- Function `add(a: Union[int, float], b: Union[int, float]) -> Union[int, float]` returns `a + b`
10+
- `add` docstring includes Args/Returns and doctest examples: (2, 3) -> 5, (2.5, 3.5) -> 6.0, (2, 3.5) -> 5.5
11+
- `__main__` block with `test_cases = [(2, 3), (2.5, 3.5), (2, 3.5), (2.5, 3), (0, 0), (-5, 10), (3.14, -2.71)]`
12+
- Print "Testing add() function:", then `"-" * 40`, then each case as `add({a!r}, {b!r}) = {result!r} (type: {type(result).__name__})`, then separator, then "All tests completed! # Added comment for update test" repeated 7 times in the string, followed by `# Added comment for update test` as a trailing comment
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Test prompt for regression testing
2+
# This prompt exists solely to provide a second prompt file for the detect command test
3+
4+
<language>python</language>
5+
<description>A minimal test module for regression testing</description>
6+
7+
## Purpose
8+
This is a placeholder prompt used by regression tests that need multiple prompt files.
9+
10+
## Output
11+
A simple Python function that returns a greeting.

0 commit comments

Comments
 (0)