Skip to content

pdd fix reports "No changes to commit" despite actually modifying files #355

@jamesdlevine

Description

@jamesdlevine

Description

When running pdd fix against a GitHub issue, the command summary reports no files changed and "No changes to commit", but git status reveals that a prompt file was actually modified.

Steps to Reproduce

  1. Run pdd fix https://github.com/promptdriven/pdd/issues/350
  2. Observe the command output summary showing empty "Files changed:" and "Dev units fixed:"
  3. Run git status to see actual file modifications

Expected Behavior

The summary should accurately report all files that were modified during the fix process:

Files changed: pdd/prompts/agentic_bug_step10_pr_LLM.prompt
Dev units fixed: agentic_bug_step10_pr_LLM

Actual Behavior

The summary shows:

Files changed:
Dev units fixed:
No changes to commit

But git status shows:

modified:   pdd/prompts/agentic_bug_step10_pr_LLM.prompt

And git diff confirms the file was substantively changed (log file parameter removed from the prompt template).

Session Log

[james@devk3-4 fix-issue-350]$ pdd fix https://github.com/promptdriven/pdd/issues/350
2026-01-20 20:17:13,877 - pdd.llm_invoke - INFO - Using user-specific LLM model CSV: /home/james/.pdd/llm_model.csv
2026-01-20 20:17:13,900 - pdd.llm_invoke - INFO - LiteLLM disk cache configured at /home/james/pdd-work/pdd_cap/litellm_cache.sqlite
Checking for updates...
Fetching issue #350 from promptdriven/pdd...
No worktree found for issue #350, using current directory
Starting Agentic E2E Fix for Issue #350
Working Directory: /home/james/pdd-cap-fixes/pdd_cap/.pdd/worktrees/fix-issue-350
Resuming from cycle 1 step 1...
Fixing e2e tests for issue #350: "pdd bug Step 10 generates pdd fix command referencing non-existent log file"

[Cycle 1/5] Starting fix cycle...
[Step 2/9] Running e2e tests...
Successfully loaded prompt: agentic_e2e_fix_step2_e2e_tests_LLM
  -> Step 2 complete. Cost: $0.6503
ALL_TESTS_PASS detected in Step 2. Exiting loop.

E2E fix complete
   Total cost: $1.3547
   Cycles used: 1/5
   Files changed:
   Dev units fixed:
   No changes to commit
Agentic fix completed: All tests passed during e2e check.

Actual Git State After Command

$ git status
On branch fix/issue-350
Changes not staged for commit:
    modified:   pdd/prompts/agentic_bug_step10_pr_LLM.prompt

$ git diff pdd/prompts/agentic_bug_step10_pr_LLM.prompt
-   - Use error log path: `fix-issue-{issue_number}.log` for the fix command output
...
-pdd --force fix ... fix-issue-{{issue_number}}.log
+pdd --force fix ...

Analysis

The change tracking mechanism appears to miss file modifications that occur during the fix process. This could be due to:

  • The file change detection not scanning prompt files
  • The change detection running before file modifications are written
  • The "ALL_TESTS_PASS" early exit skipping the change collection logic

Environment

  • Debug snapshot: .pdd/core_dumps/pdd-core-20260121T041914Z.json
  • Working directory: /home/james/pdd-cap-fixes/pdd_cap/.pdd/worktrees/fix-issue-350
  • Branch: fix/issue-350

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions