You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Specs fail: generated Screenplay text no longer matches #95
Both are Assert.Contains failures on generated Screenplay text. The same kind of failure is reproduced on main in Screenplay.Generation (Cratis/Screenplay.Generation#79), so this is most likely the same upstream generator or Screenplay package change. This blocks every PR, including #94.
The affected query assertion is in Source/DotNET/CritterStack.Specs/for_CritterStackScreenplayGenerator/when_generating_a_wolverine_marten_application.cs:50. Nullable concept coverage is in Source/DotNET/CritterStack.Specs/for_CritterStackScreenplayGenerator/when_composing_vogen_and_critter_stack_by_default.cs:20. Current compiler and generation dependencies are declared in Directory.Packages.props:8–12. The reported CI failures have not been independently reproduced, so upstream formatting drift remains a hypothesis rather than an established root cause.
Root cause / gap
A text containment failure does not distinguish canonical spelling changes from lost query or nullable-concept semantics. Relaxing the assertion without that distinction could conceal an adapter regression.
Proposed change
Compare the actual generated text, graph and compiler diagnostics against both expectations using the current pinned packages. If canonical syntax changed while semantics remain intact, update the exact text expectations and add semantic assertions protecting query classification and nullable concept usage. If semantics changed, fix the responsible contribution or shared lowering path instead. Keep each regression as a focused when_* specification with individual should_* facts; retain canonical output coverage rather than removing it.
Size, risk and release intent
S for expectation drift only; low risk; patch. Re-estimate if semantic recovery is broken.
Dependencies and blockers
Coordinate diagnosis with Cratis/Screenplay.Generation#79. Capture the first assertion mismatch and actual output before deciding whether a shared-package fix is required.
Activity
woksin commentedon Oct 29, 2026
Analysis and proposed solution
Current behaviour
The affected query assertion is in
Source/DotNET/CritterStack.Specs/for_CritterStackScreenplayGenerator/when_generating_a_wolverine_marten_application.cs:50. Nullable concept coverage is inSource/DotNET/CritterStack.Specs/for_CritterStackScreenplayGenerator/when_composing_vogen_and_critter_stack_by_default.cs:20. Current compiler and generation dependencies are declared inDirectory.Packages.props:8–12. The reported CI failures have not been independently reproduced, so upstream formatting drift remains a hypothesis rather than an established root cause.Root cause / gap
A text containment failure does not distinguish canonical spelling changes from lost query or nullable-concept semantics. Relaxing the assertion without that distinction could conceal an adapter regression.
Proposed change
Compare the actual generated text, graph and compiler diagnostics against both expectations using the current pinned packages. If canonical syntax changed while semantics remain intact, update the exact text expectations and add semantic assertions protecting query classification and nullable concept usage. If semantics changed, fix the responsible contribution or shared lowering path instead. Keep each regression as a focused
when_*specification with individualshould_*facts; retain canonical output coverage rather than removing it.Size, risk and release intent
S for expectation drift only; low risk; patch. Re-estimate if semantic recovery is broken.
Dependencies and blockers
Coordinate diagnosis with Cratis/Screenplay.Generation#79. Capture the first assertion mismatch and actual output before deciding whether a shared-package fix is required.