Description
Note. ccpp-capgen v1 was previously called ccpp-capgen-ng. Some of the supporting documents attached below (until 2026-06-28) use this terminology.
ccpp-capgen v1 is a next-generation code generator for the CCPP framework. It is not a criticism of the existing tools — both ccpp-prebuild and ccpp-capgen v0 have served their respective communities well and embody years of careful design. This project attempts to synthesize the strengths of both: the performance of ccpp-prebuild and the metadata richness and feature set of ccpp-capgen v0, while also taking advantage of relaxed code-generator requirements that have emerged over time and lessons learned from operating both tools in development, research, and production. It also aims to resolve several outstanding issues that have been blocking progress toward a long-discussed unification of the two code generators.
Supporting documents — including a redesign analysis, the LLM prompt used to bootstrap development, developer and user documentation, and a migration guide — will be provided as part of the draft pull request.
The code was developed with the assistance of an LLM (Claude, by Anthropic) as a coding partner. Where possible, existing code was reused and repackaged.
A pull request will follow shortly. Feedback and questions are welcome.
Testing
The following tests and features are currently supported by ccpp-capgen v1:
- Former ccpp-capgen v0 tests:
- Former ccpp-prebuild tests:
- Newly added features/tests:
- ccpp-capgen v1 unit testing framework
- Host model integration
Issues
A list of issues that will be addressed with this issue will be provided in the associated pull request.
Addressing this issue will also address/close the following issues if/when the participating host models switch to capgen-ng:
To check/may not be implemented yet:
Working towards:
Supporting Materials
Date and time are all local U.S. Mountain Time. Subsections are sorted from newest to oldest.
The documents below were produced by Claude during development and have not yet been formally reviewed. They are shared for transparency and to give context for the design decisions made. They should be treated as starting points rather than authoritative references.
If documents were reviewed/edited by a human, it is mentioned explicitly.
LLM-Generated Drafts (20260605T1924/latest)
The documents capgen_compat_layer.md and briefing_pm.md were fully reviewed and edited.
briefing.md
briefing_pm.md
capgen_compat_layer.md
constituents.md
constituents_overhaul.md
migration.md
redesign_analysis.md
redesign_prompt.md
LLM-Generated Drafts (20260601T0935)
The document briefing_pm.md was fully reviewed and edited.
briefing.md
briefing_pm.md
constituents_overhaul.md
migration.md
redesign_analysis.md
redesign_prompt.md
LLM-Generated Drafts (20260521T1542)
The document auto_clone_constituents.md was fully reviewed and edited.
auto_clone_constituents.md
Slides from ccpp-framework meeting 2026/05/21
https://docs.google.com/presentation/d/1oG9o3HDJH2RA4swwCxTIc97JS6MxBRlo8qUAJENBEIY/edit?slide=id.g3e3de55f508_0_0#slide=id.g3e3de55f508_0_0
LLM-Generated Drafts (20260519T0903)
The document briefing_pm.md was fully reviewed and edited.
migration_20260519T0905.md
briefing_20260519T0905.md
briefing_pm_20260519T0905.md
constituents_20260519T0905.md
constituents_overhaul_20260519T0905.md
LLM-Generated Drafts (20260513T0733)
constituents_20260513T0733.md
constituents_overhaul_20260513T0733.md
migration_20260513T0733.md
redesign_analysis_20260513T0733.md
redesign_prompt_20260513T0733.md
Comparison: size of code base:

LLM-Generated Drafts (202060505T2044/initial)
redesign_analysis_original_202060505T2044.md
redesign_prompt_original_20260505T2044.md
Description
Note. ccpp-capgen v1 was previously called ccpp-capgen-ng. Some of the supporting documents attached below (until 2026-06-28) use this terminology.
ccpp-capgenv1 is a next-generation code generator for the CCPP framework. It is not a criticism of the existing tools — bothccpp-prebuildandccpp-capgen v0have served their respective communities well and embody years of careful design. This project attempts to synthesize the strengths of both: the performance ofccpp-prebuildand the metadata richness and feature set ofccpp-capgen v0, while also taking advantage of relaxed code-generator requirements that have emerged over time and lessons learned from operating both tools in development, research, and production. It also aims to resolve several outstanding issues that have been blocking progress toward a long-discussed unification of the two code generators.Supporting documents — including a redesign analysis, the LLM prompt used to bootstrap development, developer and user documentation, and a migration guide — will be provided as part of the draft pull request.
The code was developed with the assistance of an LLM (Claude, by Anthropic) as a coding partner. Where possible, existing code was reused and repackaged.
A pull request will follow shortly. Feedback and questions are welcome.
Testing
The following tests and features are currently supported by ccpp-capgen v1:
blocked-datanot supported in capgen or capgen-ngtest/system) pass with both GNU and Intel, and with b4b-identical results except for two tests that also fail ondevelopment(SMS_Ln9.ne3pg3_ne3pg3_mg37.FKESSLER.derecho_intel.cam-outfrq_se_cslam_multitape,SMS_Ln9.ne3pg3_ne3pg3_mg37.FADIAB.derecho_gnu.cam-outfrq_se_cslam)Issues
A list of issues that will be addressed with this issue will be provided in the associated pull request.
Addressing this issue will also address/close the following issues if/when the participating host models switch to
capgen-ng:scripts/file_utils.py/move_modified_filesroutine #744To check/may not be implemented yet:
Working towards:
Supporting Materials
Date and time are all local U.S. Mountain Time. Subsections are sorted from newest to oldest.
The documents below were produced by Claude during development and have not yet been formally reviewed. They are shared for transparency and to give context for the design decisions made. They should be treated as starting points rather than authoritative references.
If documents were reviewed/edited by a human, it is mentioned explicitly.
LLM-Generated Drafts (20260605T1924/latest)
The documents
capgen_compat_layer.mdandbriefing_pm.mdwere fully reviewed and edited.briefing.md
briefing_pm.md
capgen_compat_layer.md
constituents.md
constituents_overhaul.md
migration.md
redesign_analysis.md
redesign_prompt.md
LLM-Generated Drafts (20260601T0935)
The document
briefing_pm.mdwas fully reviewed and edited.briefing.md
briefing_pm.md
constituents_overhaul.md
migration.md
redesign_analysis.md
redesign_prompt.md
LLM-Generated Drafts (20260521T1542)
The document
auto_clone_constituents.mdwas fully reviewed and edited.auto_clone_constituents.md
Slides from ccpp-framework meeting 2026/05/21
https://docs.google.com/presentation/d/1oG9o3HDJH2RA4swwCxTIc97JS6MxBRlo8qUAJENBEIY/edit?slide=id.g3e3de55f508_0_0#slide=id.g3e3de55f508_0_0
LLM-Generated Drafts (20260519T0903)
The document
briefing_pm.mdwas fully reviewed and edited.migration_20260519T0905.md
briefing_20260519T0905.md
briefing_pm_20260519T0905.md
constituents_20260519T0905.md
constituents_overhaul_20260519T0905.md
LLM-Generated Drafts (20260513T0733)
constituents_20260513T0733.md
constituents_overhaul_20260513T0733.md
migration_20260513T0733.md
redesign_analysis_20260513T0733.md
redesign_prompt_20260513T0733.md
Comparison: size of code base:

LLM-Generated Drafts (202060505T2044/initial)
redesign_analysis_original_202060505T2044.md
redesign_prompt_original_20260505T2044.md