Skip to content

pdd sync: 'Public surface regression' hard-fails multi-module sync for removed imports/typing helpers (mirrors pdd_cloud#2193) #1663

@DianaTao

Description

@DianaTao

Summary

pdd sync aborts modules with "Public surface regression" when only imported / typing helper names change, not the real public API. Same root cause as the #2190 mirror; recorded separately because it reproduced on a second, independent set of modules (the checkup service split).

Mirror of cloud issue promptdriven/pdd_cloud#2193 (checkup redesign: split checkup_verifier into services). Fix belongs in the pdd CLI sync surface check; tracked in both repos so we can fix on both ends.

Where it happened

Cloud pdd-issue run on promptdriven/pdd_cloud#2193. Multiple modules paused: checkup_command_builder, checkup_execution_service, checkup_verdict_service failed.

Error (verbatim)

│ Total time: 9.02s | Total cost: $0.2523 | Overall status: Failed │
Configuration error: Unknown context 'extensions-github_pdd_app'. Available
Configuration error: Unknown context 'extensions-github_pdd_app'. Available
Configuration error: Unknown context 'extensions-github_pdd_app'. Available
Configuration error: Unknown context 'extensions-github_pdd_app'. Available
An unexpected error occurred during sync for 'python': Public surface regression
│ python   │ Failed │    $0.2523 │ Public surface regression for               │

Resulting in:

### ❌ PDD Execution Failed
Execution failed: PDD command failed with exit code 1.

Why this is a bug

Same as #2190 mirror: the surface-regression check treats removed imports / typing-only helpers as breaking public-API changes and hard-fails the sync, demanding a BREAKING-CHANGE: directive. Here it blocked three generated service modules at once, so the whole service-split sync could not land and the work was reimplemented manually (cloud PR #2219).

Expected

  • Exclude imported names / typing-only helpers from the public-surface comparison, or downgrade import-only deltas from a hard failure to a warning.
  • A multi-module sync should not be fully blocked by import-only surface deltas.

Related

  • Same signature as promptdriven/pdd_cloud#2190 mirror (single root cause — likely one fix covers both).
  • Different signature from promptdriven/pdd_cloud#2196 (agentic-sync input-too-large).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions