Skip to content

ci(nightly): stop the Compiler.Tests property soak running the owner-only MutationCensus (fixes #2392) - #2393

Merged
antonsynd merged 1 commit into
mainlinefrom
claude/inspiring-johnson-7v5cxh
Oct 28, 2026
Merged

antonsynd merged 1 commit into
mainlinefrom
claude/inspiring-johnson-7v5cxh

Conversation

@antonsynd

Copy link
Copy Markdown
Owner

Fixes #2392.

Why

Both scheduled Nightly runs (40270167659, 40450595456) failed the same way in properties (Sharpy.Compiler.Tests): the 20 min --blame-hang-timeout killed MutationCensus.DrawnCodes_PerLaneAndBase.

The nightly sets SHARPY_PROPERTY_ITER=600 to raise the injection lanes' sample count. That same variable was also the census's on-switch. The census is tagged Category=Property, so the nightly filter selected it. It makes 87 Sample calls, which under CsCheck_Time=15 is about 22 min in one test. The soak has never got past it, so every PropertySerial test scheduled after the census has had no nightly coverage.

What changes

  • PropertyIterations: adds SHARPY_CENSUS (CensusRequested), the census's own opt-in. SHARPY_PROPERTY_ITER keeps one meaning: the sample count.
  • MutationCensus: skips unless SHARPY_CENSUS=1, and samples PropertyIterations.Injection per row. The owner workflow becomes SHARPY_CENSUS=1 SHARPY_PROPERTY_ITER=600 (plus SHARPY_CENSUS_FILTER / SHARPY_CENSUS_OUT as before).
  • nightly.yml: the filter becomes (Category=RandomProperty|Category=Property)&Category!=Census. Only MutationCensus has that tag. The nightly soaks dev, which won't have the new opt-in until this PR reaches it; the filter keeps the census out until then.
  • gap-discovery-contracts.md: the census row names the new opt-in.

Verification (direction against the base commit a8a8904)

Commit Environment / filter Result
base SHARPY_PROPERTY_ITER=1, old filter census selected, Passed (the bug)
base new filter No test matches
this PR SHARPY_PROPERTY_ITER=600 alone census Skipped
this PR SHARPY_CENSUS=1 SHARPY_PROPERTY_ITER=1 SHARPY_CENSUS_FILTER=ExitArity census Passed

PropertyOracleConformanceTests + TypedGeneratorRosterTests: 13/0/0 @ 64f1c21 (measured). The workflow YAML parses. I did not run the whole-solution gate: the change touches one SkippableFact's gate, a workflow filter and one doc line.

After merge: trigger the Nightly manually. The Compiler.Tests job should finish, its TRX should have no MutationCensus row, and more than 2898 tests should pass (the tests after the census will run for the first time).


Generated by Claude Code

…-only MutationCensus — its own SHARPY_CENSUS=1 opt-in, and the nightly filter excludes Category=Census (fixes #2392)

Both scheduled Nightly runs (40270167659, 40450595456) died the same way:
the 20 min --blame-hang-timeout killed MutationCensus.DrawnCodes_PerLaneAndBase.
The nightly sets SHARPY_PROPERTY_ITER=600 to raise the injection lanes'
sample count, and that one variable also switched on the census, a report
(Category=Property, so the filter selected it) of 87 Sample calls. Under
CsCheck_Time=15 that is ~22 min in ONE test. The soak has never got past it.

- PropertyIterations: SHARPY_CENSUS (CensusRequested) is the census's own
  opt-in; SHARPY_PROPERTY_ITER keeps one meaning, the sample count.
- MutationCensus: skips unless SHARPY_CENSUS=1; samples Injection per row.
- nightly.yml: filter "(Category=RandomProperty|Category=Property)&Category!=Census"
  (Census tags only MutationCensus), which covers dev until this reaches it.
- gap-discovery-contracts.md: the census row names the new opt-in.

Verified by direction against the prior commit (a8a8904):
- base, SHARPY_PROPERTY_ITER=1 + old filter: census selected and Passed (the bug)
- base, new filter: "No test matches" (the filter alone excludes it)
- this commit, SHARPY_PROPERTY_ITER=600 alone: census Skipped
- this commit, SHARPY_CENSUS=1 SHARPY_PROPERTY_ITER=1 SHARPY_CENSUS_FILTER=ExitArity: Passed
- PropertyOracleConformanceTests + TypedGeneratorRosterTests: 13/0/0 @ this commit (measured)
The whole-solution gate was not run: the change is one SkippableFact's
gate, a workflow filter and two doc lines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LGMKZWGRTb8vMmx8Gg4wUE
@antonsynd
antonsynd merged commit e0eaaf5 into mainline Oct 28, 2026
29 checks passed
@antonsynd
antonsynd deleted the claude/inspiring-johnson-7v5cxh branch October 28, 2026 11:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants