Repository navigation
ci(example-regen): run the C# starter contract on real generator output - #187
Merged
Merged
Conversation
The starter contract was only ever proven on a synthetic tree. example-regen now seeds it into the component the add-component step generates with the pinned jar, and runs the contract, the patch check and the mutation test there (skips allowed for surfaces hello-orders does not generate, misses not). Running it locally against 0.19.0 output found two defects, fixed here: - GEN-021 flagged the comment in add-component's own seeded .gitignore that says the manifest is deliberately not ignored. It now matches ignore lines only, and the synthetic seed carries the same comment so it stays covered. - The GEN-042 mutation hard-coded IOrderPlacedHandler, which exists only in the synthetic tree, so it reported a miss on any real repo without that handler. It now derives the interface from a generated *HandlerBase and skips, like GEN-040 and GEN-041, when there is none. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up from #186. The C# starter contract was only proven on a synthetic tree in
ci.yml.example-regennow seeds it into the component that the add-component step generates with the pinned jar, then runs three checks there:apply-gen-patches.sh --checkRun locally against 0.19.0 output (229 tracked files): 16 rules green; mutation test 13 ok, 0 missed, 3 skipped (GEN-040 to GEN-042: hello-orders generates no handler or application-service bases).
That first real run found two defects, both fixed here:
.gitignore(from fix(add-component): stop seeding a .gitignore that hides the path manifest #185) that says the manifest is deliberately not ignored. It now matches ignore lines only, and the synthetic seed carries the same comment so the case stays covered.IOrderPlacedHandler, which exists only in the synthetic tree, so it reported a miss on any real repo without that handler. It now derives the interface name from a generated*HandlerBase, and skips like GEN-040 and GEN-041 when there is none.🤖 Generated with Claude Code