Repository navigation
Release v7.103.0
Summary
Core .NET engineering skills for people who contribute to the Cratis framework repositories, a stricter secrets guard, and faster, more dependable local verification.
Added
- Core .NET engineering skills for contributors to the Cratis framework repositories: performance (BenchmarkDotNet microbenchmarking, performance patterns, vectorization, profiling), diagnostics (trace and dump collection), MSBuild (build performance, Directory.Build organization, restores, output clashes, generated files, targets, binlogs), Orleans, test running and coverage, and C# refactoring and AOT compatibility. They are adapted under MIT from dotnet/skills and managedcode/dotnet-skills with per-skill attribution, ship as the new
cratis/engineering/dotnetprofiles, and are included bycratis/engineering/csharp. (#867) yarn workspace @cratis/ai-verification run tool:screenplayinstalls the pinned Screenplay tool into a Git-ignored.cache/screenplay-tool/and prints its path.verifyuses it whenCRATIS_SCREENPLAY_TOOLis unset, so a newer globalscreenplayno longer breaks local verification. (#869)- Fast test subsets
test:hooks,test:adapters,test:corpusandtest:affected; each prints its ten slowest specs.test:affectedmaps committed, staged, unstaged and untracked changes to subsets and runs the full suite whenever it cannot prove a narrower one. The fulltestis unchanged and remains the gate. (#870) - A contract spec runs
cratis-check-prover vendored copies of the pull-request policy callers that Cratis/Workflows publishes; an opt-in live comparison (CRATIS_CONTRACT_LIVE=1) detects drift. (#855)
Changed
- The secrets guard now also blocks
env-style dumps behindcommand -p, attached and clustered short options such asgrep -ePATTERN .envandgrep -nT x .env, whole-objectjsonpath='{.}'/go-template='{{.}}'projections, redirects to/dev/stdout,/dev/stderror file descriptors, redirects placed before a subcommand such askubectl get 2>&1 secrets, and environment dumps redirected to a file. Piped shells and recursive searches with no named file stay documented limits insecrets.md. (#871) - The write guard spawns far fewer subprocesses on every tool call (about half the time per call), and the slow guard specs run their cases concurrently. (#870)
yarn testholds the full verification suite to a wall-time budget (1200 s by default,CRATIS_TEST_BUDGET_SECONDSto override); over budget it warns locally and fails in CI. (#870)- A Screenplay version mismatch now names the command that fixes it, and the publish workflow installs the tool through the same script. (#869)
cratis-check-prrun directly in a Cratis repository with no policy caller now exits non-zero with remediation text instead of checking against the reviewed pin. (#855)- Pull-request guidance now says a release that changes a hook must tell consumers to run
cratis ai update. (#855) - Hook scripts changed in this release: run
cratis ai updateto receive them. (#870) (#871) (#855)