Skip to content

Fix performance baseline contracts - #242

Merged
wallstop merged 1 commit into
mainfrom
fix/perf-baseline-contracts
Oct 14, 2026
Merged

wallstop merged 1 commit into
mainfrom
fix/perf-baseline-contracts

Conversation

@wallstop

@wallstop wallstop commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

DISCLOSURE: LLM-GENERATED TEXT

Why: Two performance-baseline contracts fail the full EditMode suite.

What:

  • Reserve an obsolete zero phase and initialize Idle explicitly.
  • Preserve the existing nonzero phase ordinals.
  • Check fixture names across cycle boundaries and the 10,000-item range.

Fixes #240. Refs #114, #226.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)

Checklist

  • I have added tests that prove my fix is effective
  • My changes do not introduce breaking changes

Note

Low Risk
Test and internal enum contract fixes in the perf baseline driver; no production editor/runtime behavior changes.

Overview
Fixes two PerfBaseline contract mismatches that were failing EditMode tests.

The Phase enum now reserves 0 as an obsolete None value and assigns Idle = 8, while keeping the other phase values at 1–7. RunState still starts in Idle explicitly, so the driver no longer treats the default enum value 0 as idle.

ShouldNameFixturesDeterministically is expanded into parameterized cases (including cycle boundaries and index 9999). The expectation for index 9 is corrected to World Settings 000001, matching FixtureName’s cycle suffix rules.

Reviewed by Cursor Bugbot for commit 2c1480a. Bugbot is set up for automated code reviews on this repo. Configure here.

The full EditMode gate fails because the baseline driver uses a valid zero phase and one test expects a per-item suffix instead of the fixture cycle. Reserve an obsolete zero sentinel, move the explicitly initialized Idle state to 8, retain other ordinals, and test cycle boundaries through index 9999. These phases are not serialized.

Reproduced both failures on Unity 6000.5.2f1, Windows. After repair: focused baseline 23/23, enum 1/1, full EditMode 390/390, PlayMode 15/15. CSharpier, fast check, full local gate and npm pack dry run pass. The gate selects affected surfaces and skips unchanged harness and payload checks. No 10k timing claim is made.

Fixes #240. Refs #114, #226.
@wallstop
wallstop merged commit ec085b1 into main Oct 14, 2026
3 checks passed
@wallstop
wallstop deleted the fix/perf-baseline-contracts branch October 14, 2026 22:41
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.

Fix two failing performance baseline EditMode contracts

1 participant