Summary
pdd checkup drift cannot resolve valid nested prompt/code pairs in a subproject, even when the prompt path is supplied as the dev unit and --code-file explicitly names the generated artifact. The command exits 1 instead of producing the requested drift report.
Environment
pdd-cli==0.0.290
- macOS
- Command run from a subproject root containing its own
.pddrc, .pdd/, and architecture.json
- Valid pairs:
prompts/src/pdd_issue_runner_job_Python.prompt -> src/pdd_issue_runner_job.py
prompts/src/services/pdd_issue_goal_session_Python.prompt -> src/services/pdd_issue_goal_session.py
- Official
pdd.metadata_sync.run_metadata_sync succeeds for both pairs, and calculate_current_hashes matches their saved fingerprints.
Reproduction
Using a basename:
pdd checkup drift pdd_issue_runner_job \
--code-file src/pdd_issue_runner_job.py \
--dry-run --json
Observed: exit 1 with no JSON report.
Using the explicit nested prompt path:
pdd --verbose checkup drift \
prompts/src/pdd_issue_runner_job_Python.prompt \
--code-file src/pdd_issue_runner_job.py \
--dry-run
Observed:
Could not resolve prompt for dev unit 'prompts/src/pdd_issue_runner_job_Python.prompt'
The same behavior occurs for prompts/src/services/pdd_issue_goal_session_Python.prompt and its explicit code file.
Expected behavior
- An explicit existing prompt path should be accepted directly.
--code-file should remain authoritative for the generated artifact instead of being discarded during prompt resolution.
- Basename resolution should honor the active subproject
.pddrc and nested prompts_dir mappings.
--json failures should still emit structured error output.
- Add deterministic nested-prompt/subproject coverage plus a root-level neighboring control.
Duplicate search
Searched open and closed issues for checkup drift, Could not resolve prompt, nested prompts, and subproject resolution. #1614 concerned the pre-checkup architecture target and #1211 concerned metadata writes from a parent directory; neither covers drift dev-unit resolution with an explicit code file.
Summary
pdd checkup driftcannot resolve valid nested prompt/code pairs in a subproject, even when the prompt path is supplied as the dev unit and--code-fileexplicitly names the generated artifact. The command exits 1 instead of producing the requested drift report.Environment
pdd-cli==0.0.290.pddrc,.pdd/, andarchitecture.jsonprompts/src/pdd_issue_runner_job_Python.prompt->src/pdd_issue_runner_job.pyprompts/src/services/pdd_issue_goal_session_Python.prompt->src/services/pdd_issue_goal_session.pypdd.metadata_sync.run_metadata_syncsucceeds for both pairs, andcalculate_current_hashesmatches their saved fingerprints.Reproduction
Using a basename:
Observed: exit 1 with no JSON report.
Using the explicit nested prompt path:
Observed:
The same behavior occurs for
prompts/src/services/pdd_issue_goal_session_Python.promptand its explicit code file.Expected behavior
--code-fileshould remain authoritative for the generated artifact instead of being discarded during prompt resolution..pddrcand nestedprompts_dirmappings.--jsonfailures should still emit structured error output.Duplicate search
Searched open and closed issues for
checkup drift,Could not resolve prompt, nested prompts, and subproject resolution. #1614 concerned the pre-checkup architecture target and #1211 concerned metadata writes from a parent directory; neither covers drift dev-unit resolution with an explicit code file.