Narrow schema-repro-check's runtime/csharp/Prompty.Core* triggers once required status checks land
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.3k
- Forks
- 127
- Avg merge
- 9h 23m
- Merged PRs (30d)
- 38
Description
Summary
schema-repro-check.yml (#471) triggers on runtime/csharp/Prompty.Core/** and runtime/csharp/Prompty.Core.Tests/**, which is unusual for a schema gate. Those paths exist for a real reason, but that reason should disappear once required status checks are configured.
Why they are there
C# is the only language here where hand-written code is an input to reproducibility. Verified by reading each emitter driver in schema/node_modules/@typra/emitter/dist/src/languages/*/driver.js:
| Language | What the driver formats | Hand-written code affected? |
|---|---|---|
| C# | dotnet format <projectRoot> — walks up from the emitted dir to the nearest .csproj/.sln, then formats the whole project |
Yes |
| Python | ruff check --fix / ruff format on the emitted dirs only |
No |
| Go | gofmt -w on the emitted dirs only |
No |
| TypeScript | prettier / eslint on the emitted dirs only | No |
Per schema/tspconfig.yaml the C# targets are ../runtime/csharp/Prompty.Core/Model and ../runtime/csharp/Prompty.Core.Tests/Model, so the driver formats those two whole projects — hand-written files included.
That means a non-format-clean C# change can make the schema gate fail. Adding these triggers makes that failure land on the C# PR that causes it, rather than on the next unrelated schema PR.
Why they should be able to go away
prompty-csharp-check.yml already runs dotnet format --verify-no-changes (since 5609e39f) and already triggers on runtime/csharp/**. It correctly caught this exact drift on #472 — the dotnet format check step failed. #472 merged anyway, because main has no required status checks (see the companion issue).
So these triggers are a backstop for an enforcement gap, not a coverage gap. Once the C# check is required:
- the C# PR cannot merge non-format-clean in the first place,
schema-repro-checkno longer needs to run its ~4-minute job on C# PRs touching those two projects,- and the
runtime/csharp/Prompty.Core*trigger paths can be dropped.
Suggested action
Blocked on required status checks being configured. After that lands, delete the two runtime/csharp/Prompty.Core* entries from schema-repro-check.yml's paths: and confirm the gate still behaves.
Not verified
- Whether other emitter targets could grow the same whole-project formatting behavior in a future emitter version, which would re-introduce the need.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by checking that the C# status check is required, then open schema-repro-check.yml and inspect its paths: entries for runtime/csharp/Prompty.Core/** and runtime/csharp/Prompty.Core.Tests/**. Remove those entries once enforcement is in place and confirm the schema gate still behaves as expected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, github-actions
- Domain
- ci-cd
- Issue type
- Refactor
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100