Skip to content

checkup drift cannot resolve nested subproject prompt with explicit code file #2001

Description

@Serhan-Asad

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions