Closes #1103.
This PR is scoped to the user-visible output of pdd sync and related commands. It does not introduce the selective-include / <include select=...> / pdd extracts prune features (those are tracked separately).
pdd/sync_orchestration.py— Adds a truthfulsummaryfield via the new_compose_sync_summaryhelper so a successful no-op no longer produces aNoneDetails cell. The composed summary is scoped to the selected target/language and surfaces accepted-as-complete reasons when applicable.pdd/sync_main.py— Final summary table now pickssummaryfirst and guards againstNone/ "No details." / empty strings, falling back to a status-scoped phrase so a row never carries a placeholder.pdd/sync_main.py(one-session path) — When the pre-generate phase ran inside one-session mode,generateis surfaced inoperations_completedand the successsummary, so the Details column does not under-report completed work.pdd/one_session_sync.py— Always sets a non-emptysummaryon both success and failure so downstream rendering never collapses to a placeholder.pdd/commands/checkup.py,pdd/commands/maintenance.py,pdd/commands/modify.py,pdd/core/utils.py— All fiveModel: {model}echo sites now go through the sharedecho_model_line(model)helper, which suppresses the line when the model is empty,"unknown", or"N/A"(case-insensitive).
pdd/prompts/sync_orchestration_python.prompt,pdd/prompts/one_session_sync_python.prompt,pdd/prompts/sync_main_python.prompt— Standardized no-op success and failure summary contracts; documented thesummaryfield and the placeholder-rejection rule.pdd/prompts/commands/checkup_python.prompt,pdd/prompts/commands/maintenance_python.prompt,pdd/prompts/commands/modify_python.prompt— Standardized Model-suppression contract (kept in sync with theecho_model_lineruntime helper added in this PR). Prompt-only suppression edits previously made tobug_main,code_generator_main, andupdate_mainwere reverted because this PR does not modify those modules' runtime — declaring a contract the runtime does not honor would let the nextpdd syncrewrite stable, out-of-scope command behavior.- Several prompts that previously carried
<pdd-interface>blocks declaring signatures that did not match the runtime have been corrected so conformance repair does not try to reshape stable signatures.
tests/test_sync_main.py— New regressiontest_sync_no_op_success_details_never_renders_nonecovering the historical no-op shape (summaryabsent,error: None) and asserting the final table never contains the literal"None". AdditionalTestSyncMainEarlyOutSummaryKeyscases cover the one-session early-out summary contract.tests/test_one_session_sync.py,tests/test_sync_orchestration.py— Updated to cover the newsummarycontract and the_compose_sync_summaryoutputs.tests/core/test_cli.py— Coverage for the sharedecho_model_linehelper (suppression cases for empty /unknown/N/A).
architecture.json— Updated to reflect the prompt-side dependency edges that were tightened in this PR, including restoringpreprocess_python.promptas a dependency ofinclude_query_extractor_python.prompt(matches both the prompt body and the runtime imports).
Anything outside the pdd sync no-op / Model-labeling surface (e.g., selective-include syntax, pdd extracts prune, auto-deps selector emission, README / docs/prompting_guide.md rewrites) is intentionally not part of this PR.