Skip to content

Add repo-guard meta tests - #22

Merged
Theauxm merged 1 commit into
mainfrom
chore/add-repo-guard-meta-tests
May 21, 2026
Merged

Add repo-guard meta tests#22
Theauxm merged 1 commit into
mainfrom
chore/add-repo-guard-meta-tests

Conversation

@Theauxm

@Theauxm Theauxm commented May 21, 2026

Copy link
Copy Markdown
Member

Summary

Adds a Trax.Core.Tests.Meta project that enforces CLAUDE.md conventions in CI: locked Directory.Build.props version, no [Ignore], no legacy Assert.*, no fixed Task.Delay (with baseline grandfathering), cross-repo Version="1.*", PascalCase test folders, AddTrax*/UseTrax* extension naming, and a PublicApiGenerator surface snapshot of the Trax.Core assembly.

Side effects in the same change:

  • JsonEscapingTests converted from Assert.That to FluentAssertions (20 sites).
  • CancellationTokenTests.SlowJunction gets a // determinism: justification for the intentional Task.Delay used to verify token cancellation.

Test plan

  • dotnet test tests/Trax.Core.Tests.Meta passes (11 tests)
  • Existing test suites still pass: Trax.Core.Tests (16), Trax.Core.Tests.Unit (233), Trax.Core.Tests.Integration (16), Trax.Core.Tests.Analyzers (24)
  • PublicApi/Trax.Core.received.txt is committed and matches the assembly's current API surface

Add a per-repo Tests.Meta project (Tests/ for Trax.Docs) that enforces
CLAUDE.md conventions in CI: locked Directory.Build.props version, no
[Ignore], no legacy Assert.*, no fixed Task.Delay (with baseline
grandfathering), cross-repo Version="1.*", PascalCase test folders,
AddTrax*/UseTrax* naming, and a PublicApiGenerator surface snapshot per
assembly.

Trax.Effect also gets migrations-integrity + Model<->Persistent pairing
checks. Trax.Mediator gets a runtime interface-FullName invariant test and
a DI composition smoke test. Trax.Scheduler moves
SchedulerConfigurationBuilder.Build into its own partial file to comply
with the builder convention. Trax.Docs gets em-dash / Jekyll /
link-resolves / SDK-Reference-block lints and replaces 21 pre-existing
em-dashes.

Failure messages name the CLAUDE.md section and the offender. Pre-existing
violations are grandfathered via per-test allowlists (BaselineOffenders,
KnownExceptions, KnownBrokenLinks) so CI stays green; new regressions
fail.
@codecov

codecov Bot commented May 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Theauxm
Theauxm merged commit 569fb52 into main May 21, 2026
2 checks passed
@Theauxm
Theauxm deleted the chore/add-repo-guard-meta-tests branch May 21, 2026 21:36
@traxsharp

traxsharp Bot commented Jun 1, 2026

Copy link
Copy Markdown

This PR is included in version 1.6.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant