Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
efce938
docs: spec for extracting the conformance gate layer out of code_gene…
agarwal-ishaan Aug 6, 2026
5570e9e
docs: align split spec with the /core pattern; move split bug to #2372
agarwal-ishaan Aug 6, 2026
298f6b4
docs: fix generation mode to prompt-only; narrow scope to the prompt …
agarwal-ishaan Aug 6, 2026
37b414a
docs: rebase the split spec onto main and re-derive every measurement
agarwal-ishaan Aug 6, 2026
a636a0f
docs: record the ordering decision vs PR #2370
agarwal-ishaan Aug 6, 2026
7871b11
docs: implementation plan for splitting the code_generator_main prompt
agarwal-ishaan Aug 6, 2026
84468ff
docs: rescope the plan to Phase A - prompts and config only, no code
agarwal-ishaan Aug 6, 2026
730fdee
chore(conformance): add .pddrc context and static prompt validator
agarwal-ishaan Aug 6, 2026
0420974
docs: log the prompt/code drift found while splitting code_generator_…
agarwal-ishaan Aug 6, 2026
89736fa
feat(conformance): add errors_python.prompt for the four typed gate e…
agarwal-ishaan Aug 6, 2026
b32e828
feat(conformance): add directives_python.prompt for BREAKING-CHANGE p…
agarwal-ishaan Aug 6, 2026
5a04f5b
feat(conformance): add test_churn_python.prompt for the test-churn gate
agarwal-ishaan Aug 6, 2026
79da16d
feat(conformance): add surface_python.prompt for __all__ resolution a…
agarwal-ishaan Aug 6, 2026
cf0d0d4
feat(conformance): add dataclass_signatures_python.prompt for constru…
agarwal-ishaan Aug 6, 2026
340da17
refactor(conformance): rewrite the six prompts to follow the promptin…
agarwal-ishaan Aug 6, 2026
acbdaa2
feat(conformance): add the final three prompts - declared_surface, an…
agarwal-ishaan Aug 6, 2026
5f02c23
refactor(prompt): shrink code_generator_main_python.prompt to orchest…
agarwal-ishaan Aug 6, 2026
6fd1aa0
chore(conformance): phase A complete - 9 prompts, config and architec…
agarwal-ishaan Aug 6, 2026
eacf2a0
chore: drop the working docs and the now-redundant .gitkeep
agarwal-ishaan Aug 6, 2026
67cc41a
refactor(conformance): consolidate the split from 9 units to 6
agarwal-ishaan Aug 7, 2026
a26839b
fix(conformance): restore the prose/empty-output classification rule
agarwal-ishaan Aug 7, 2026
fb7b2a0
feat(conformance): give the orchestrator bindable contract rules
agarwal-ishaan Aug 7, 2026
cb897dd
feat(story): add the generation-gates regression story and its oracle
agarwal-ishaan Aug 7, 2026
e02069b
fix(conformance): close the two gaps pdd detect --stories found
agarwal-ishaan Aug 7, 2026
9d33c6a
feat(conformance): extract the gate layer into pdd/conformance (Phase B)
agarwal-ishaan Aug 7, 2026
463133c
fix(conformance): correct 10 drifted prompt signatures and guard agai…
agarwal-ishaan Aug 8, 2026
2fb8c6f
docs(conformance): condense gate prompts to guide target
agarwal-ishaan Aug 8, 2026
b4bcf77
chore(sync): register conformance split inventory
agarwal-ishaan Aug 8, 2026
abfdd28
chore(sync): retire superseded codegen fingerprint
agarwal-ishaan Aug 8, 2026
b0a6adb
fix(sync): retire active codegen rotation
agarwal-ishaan Aug 8, 2026
0a0970d
ci: extend unit-test job timeout
agarwal-ishaan Aug 9, 2026
0ecf25e
ci: allow manual unit-test runs
agarwal-ishaan Aug 9, 2026
944ab6d
Revert CI workflow changes
agarwal-ishaan Aug 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .pdd/expected-managed.json
Original file line number Diff line number Diff line change
Expand Up @@ -721,6 +721,30 @@
"language_id": "python",
"prompt_path": "pdd/prompts/code_generator_python.prompt"
},
{
"language_id": "python",
"prompt_path": "pdd/prompts/conformance/declared_surface_python.prompt"
},
{
"language_id": "python",
"prompt_path": "pdd/prompts/conformance/directives_python.prompt"
},
{
"language_id": "python",
"prompt_path": "pdd/prompts/conformance/gate_errors_python.prompt"
},
{
"language_id": "python",
"prompt_path": "pdd/prompts/conformance/interface_check_python.prompt"
},
{
"language_id": "python",
"prompt_path": "pdd/prompts/conformance/surface_python.prompt"
},
{
"language_id": "python",
"prompt_path": "pdd/prompts/conformance/test_churn_python.prompt"
},
{
"language_id": "llm",
"prompt_path": "pdd/prompts/code_patcher_LLM.prompt"
Expand Down
42 changes: 42 additions & 0 deletions .pdd/sync-ownership.json
Original file line number Diff line number Diff line change
Expand Up @@ -14916,6 +14916,48 @@
"owner": "pdd-maintainers",
"pattern": "pdd/story_detection_result.py",
"role": "human-maintained"
},
{
"inventory": "HUMAN_OWNED",
"owner": "pdd-maintainers",
"pattern": "pdd/conformance/__init__.py",
"preauthorize_absent": true,
"role": "human-maintained"
},
{
"inventory": "HUMAN_OWNED",
"owner": "pdd-maintainers",
"pattern": "scripts/validate_conformance_prompts.py",
"preauthorize_absent": true,
"role": "human-maintained"
},
{
"inventory": "HUMAN_OWNED",
"owner": "pdd-maintainers",
"pattern": "tests/story_regression/test_story_pdd_generation_gates_preserved.py",
"preauthorize_absent": true,
"role": "human-maintained"
},
{
"inventory": "HUMAN_OWNED",
"owner": "pdd-maintainers",
"pattern": "user_stories/contracts/pdd_generation_gates_preserved.contract.md",
"preauthorize_absent": true,
"role": "human-maintained"
},
{
"inventory": "HUMAN_OWNED",
"owner": "pdd-maintainers",
"pattern": "user_stories/issues/conformance-gate-split.md",
"preauthorize_absent": true,
"role": "human-maintained"
},
{
"inventory": "HUMAN_OWNED",
"owner": "pdd-maintainers",
"pattern": "user_stories/story__pdd_generation_gates_preserved.md",
"preauthorize_absent": true,
"role": "human-maintained"
}
]
}
35 changes: 35 additions & 0 deletions .pdd/verification-profile-rotations.json
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,17 @@
"base_prompt_sha256": "8d0a51822aaa2c64e1b71579d0cb6e41460b90734441e0b6ec3ec146402495fe",
"head_prompt_sha256": "51ec006a5b7faeb397be9c1b8e61205e97459fdc08cd9e90e7f0692ccf55a1d5"
},
{
"prompt_path": "pdd/prompts/code_generator_main_python.prompt",
"language_id": "python",
"from_requirement_id": "CONTRACT-SHA256:9eeff8491a339461447f45d020b7a7989efe6d76c51241ccac5ac46074bf2793",
"to_requirement_id": "CONTRACT-SHA256:2f66fcf474a50688111ae12c0aa824772c0382b8ad62d4877835ca8073102da0",
"policy_path": ".pdd/verification-profiles.json",
"base_policy_sha256": "a2071278af121c6b41b93a2630041541292d70a4acec40751c34dcfdb1b77a9f",
"head_policy_sha256": "ae47a4174c63f92ccaa9bfbbe4be8a806796df62397859e8aab3e2f19f008a3d",
"base_prompt_sha256": "9eeff8491a339461447f45d020b7a7989efe6d76c51241ccac5ac46074bf2793",
"head_prompt_sha256": "2f66fcf474a50688111ae12c0aa824772c0382b8ad62d4877835ca8073102da0"
},
{
"prompt_path": "pdd/prompts/commands/fix_python.prompt",
"language_id": "python",
Expand Down Expand Up @@ -661,6 +672,30 @@
"base_prompt_sha256": "09e5140c01bbf8136f4c487c873c816f8e75db75412c11794a8b7ea47259cf3c",
"head_prompt_sha256": "10129606f47d4301052490b7767acc08d8fc713e48bcb2b867efadf2063f8d1e"
}
},
{
"obsolete": {
"prompt_path": "pdd/prompts/code_generator_main_python.prompt",
"language_id": "python",
"from_requirement_id": "CONTRACT-SHA256:8d0a51822aaa2c64e1b71579d0cb6e41460b90734441e0b6ec3ec146402495fe",
"to_requirement_id": "CONTRACT-SHA256:51ec006a5b7faeb397be9c1b8e61205e97459fdc08cd9e90e7f0692ccf55a1d5",
"policy_path": ".pdd/verification-profiles.json",
"base_policy_sha256": "c566e1b87015632ca317e799f2756af9a25281c6e842c03ccad763b20d539bf1",
"head_policy_sha256": "fe80e8278f3f262f9902e8af6e88f79476f55fcb830929d5c3bea5a87e6e72c3",
"base_prompt_sha256": "8d0a51822aaa2c64e1b71579d0cb6e41460b90734441e0b6ec3ec146402495fe",
"head_prompt_sha256": "51ec006a5b7faeb397be9c1b8e61205e97459fdc08cd9e90e7f0692ccf55a1d5"
},
"replacement": {
"prompt_path": "pdd/prompts/code_generator_main_python.prompt",
"language_id": "python",
"from_requirement_id": "CONTRACT-SHA256:9eeff8491a339461447f45d020b7a7989efe6d76c51241ccac5ac46074bf2793",
"to_requirement_id": "CONTRACT-SHA256:2f66fcf474a50688111ae12c0aa824772c0382b8ad62d4877835ca8073102da0",
"policy_path": ".pdd/verification-profiles.json",
"base_policy_sha256": "a2071278af121c6b41b93a2630041541292d70a4acec40751c34dcfdb1b77a9f",
"head_policy_sha256": "ae47a4174c63f92ccaa9bfbbe4be8a806796df62397859e8aab3e2f19f008a3d",
"base_prompt_sha256": "9eeff8491a339461447f45d020b7a7989efe6d76c51241ccac5ac46074bf2793",
"head_prompt_sha256": "2f66fcf474a50688111ae12c0aa824772c0382b8ad62d4877835ca8073102da0"
}
}
]
}
64 changes: 62 additions & 2 deletions .pdd/verification-profiles.json
Original file line number Diff line number Diff line change
Expand Up @@ -3921,7 +3921,7 @@
"prompt_path": "pdd/prompts/code_generator_main_python.prompt",
"language_id": "python",
"required_requirement_ids": [
"CONTRACT-SHA256:9eeff8491a339461447f45d020b7a7989efe6d76c51241ccac5ac46074bf2793"
"CONTRACT-SHA256:2f66fcf474a50688111ae12c0aa824772c0382b8ad62d4877835ca8073102da0"
],
"obligations": [
{
Expand All @@ -3930,7 +3930,7 @@
"validator_id": "threshold-ed25519",
"validator_config_digest": "threshold-ed25519-v1",
"requirement_ids": [
"CONTRACT-SHA256:9eeff8491a339461447f45d020b7a7989efe6d76c51241ccac5ac46074bf2793"
"CONTRACT-SHA256:2f66fcf474a50688111ae12c0aa824772c0382b8ad62d4877835ca8073102da0"
],
"artifact_paths": [
"pdd/prompts/code_generator_main_python.prompt"
Expand Down Expand Up @@ -3961,6 +3961,66 @@
}
]
},
{
"prompt_path": "pdd/prompts/conformance/declared_surface_python.prompt",
"language_id": "python",
"required_requirement_ids": ["CONTRACT-SHA256:7d9e403fd0caf99507f83574c4fda1d130fa83a9aa272d9fc34765ce526aa261"],
"obligations": [{
"obligation_id": "threshold-human-attestation", "kind": "human-attestation", "validator_id": "threshold-ed25519", "validator_config_digest": "threshold-ed25519-v1",
"requirement_ids": ["CONTRACT-SHA256:7d9e403fd0caf99507f83574c4fda1d130fa83a9aa272d9fc34765ce526aa261"],
"artifact_paths": ["pdd/prompts/conformance/declared_surface_python.prompt"], "required": true
}]
},
{
"prompt_path": "pdd/prompts/conformance/directives_python.prompt",
"language_id": "python",
"required_requirement_ids": ["CONTRACT-SHA256:224f895cc5962e735ff2d86011d482641200458e5b150c67813fa86b78406145"],
"obligations": [{
"obligation_id": "threshold-human-attestation", "kind": "human-attestation", "validator_id": "threshold-ed25519", "validator_config_digest": "threshold-ed25519-v1",
"requirement_ids": ["CONTRACT-SHA256:224f895cc5962e735ff2d86011d482641200458e5b150c67813fa86b78406145"],
"artifact_paths": ["pdd/prompts/conformance/directives_python.prompt"], "required": true
}]
},
{
"prompt_path": "pdd/prompts/conformance/gate_errors_python.prompt",
"language_id": "python",
"required_requirement_ids": ["CONTRACT-SHA256:bf5c1533387e482a07854261c0982ac2c3103a2e16eb444048e7aac1894217a5"],
"obligations": [{
"obligation_id": "threshold-human-attestation", "kind": "human-attestation", "validator_id": "threshold-ed25519", "validator_config_digest": "threshold-ed25519-v1",
"requirement_ids": ["CONTRACT-SHA256:bf5c1533387e482a07854261c0982ac2c3103a2e16eb444048e7aac1894217a5"],
"artifact_paths": ["pdd/prompts/conformance/gate_errors_python.prompt"], "required": true
}]
},
{
"prompt_path": "pdd/prompts/conformance/interface_check_python.prompt",
"language_id": "python",
"required_requirement_ids": ["CONTRACT-SHA256:a347181aa8cfe63444a077839ed878629b17e405b5b857ba687c8807cb4ce91a"],
"obligations": [{
"obligation_id": "threshold-human-attestation", "kind": "human-attestation", "validator_id": "threshold-ed25519", "validator_config_digest": "threshold-ed25519-v1",
"requirement_ids": ["CONTRACT-SHA256:a347181aa8cfe63444a077839ed878629b17e405b5b857ba687c8807cb4ce91a"],
"artifact_paths": ["pdd/prompts/conformance/interface_check_python.prompt"], "required": true
}]
},
{
"prompt_path": "pdd/prompts/conformance/surface_python.prompt",
"language_id": "python",
"required_requirement_ids": ["CONTRACT-SHA256:0e07e0613288d0ec8489315dac9a15678153959a4b6d30f14ed5a1cb90e3e31a"],
"obligations": [{
"obligation_id": "threshold-human-attestation", "kind": "human-attestation", "validator_id": "threshold-ed25519", "validator_config_digest": "threshold-ed25519-v1",
"requirement_ids": ["CONTRACT-SHA256:0e07e0613288d0ec8489315dac9a15678153959a4b6d30f14ed5a1cb90e3e31a"],
"artifact_paths": ["pdd/prompts/conformance/surface_python.prompt"], "required": true
}]
},
{
"prompt_path": "pdd/prompts/conformance/test_churn_python.prompt",
"language_id": "python",
"required_requirement_ids": ["CONTRACT-SHA256:f1cf9d53c757c6735d005b92efd1fddfa5e970d78794572eb08779e45c94ccd9"],
"obligations": [{
"obligation_id": "threshold-human-attestation", "kind": "human-attestation", "validator_id": "threshold-ed25519", "validator_config_digest": "threshold-ed25519-v1",
"requirement_ids": ["CONTRACT-SHA256:f1cf9d53c757c6735d005b92efd1fddfa5e970d78794572eb08779e45c94ccd9"],
"artifact_paths": ["pdd/prompts/conformance/test_churn_python.prompt"], "required": true
}]
},
{
"prompt_path": "pdd/prompts/code_patcher_LLM.prompt",
"language_id": "llm",
Expand Down
15 changes: 15 additions & 0 deletions .pddrc
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,21 @@ contexts:
budget: 10.0
max_attempts: 3

# Conformance gate layer extracted from code_generator_main
conformance:
paths: ["pdd/conformance/**", "**/pdd/conformance/**", "prompts/conformance/**"]
defaults:
generate_output_path: "pdd/conformance/"
test_output_path: "tests/conformance/"
example_output_path: "context/conformance/"
prompts_dir: "prompts/conformance"
default_language: "python"
target_coverage: 90.0
strength: 0.818
temperature: 0.0
budget: 10.0
max_attempts: 3

# PDD Connect frontend context
pdd_frontend:
paths: ["pdd/frontend/**", "**/pdd/frontend/**", "prompts/frontend/**"]
Expand Down
Loading
Loading