Skip to content

Align parameter profiles and schemas with JSON values - #703

Draft
daniatic wants to merge 3 commits into
Fallout-build:developfrom
daniatic:bugfix/parameter-json-contract
Draft

daniatic wants to merge 3 commits into
Fallout-build:developfrom
daniatic:bugfix/parameter-json-contract

Conversation

@daniatic

@daniatic daniatic commented Oct 9, 2026 •

Copy link
Copy Markdown

Make valid profile strings load through the framework's converters and make GUID schemas describe the values the runtime reads.

What changed

  • Reuse the Enumeration converter and built-in string enum converter for profile values, including nullable values and arrays.
  • Keep consumer JsonConverter attributes authoritative.
  • Read profile paths and names from the bound build context.
  • Map Guid in schema generation and set LF in the schema serializer itself.

Part of #667 (Enumeration profile loading and invalid-value handling).
Closes #701 (GUID schemas matching runtime strings).

Verification

All 250 Fallout.Build.Specs tests passed on Windows with .NET SDK 10.0.302. Regression checks fail with the original conversion and schema logic. Existing snapshots pass. The full contributor build.ps1 Test target also passed with this fix and the Windows executable-path fix: 830 passed, seven existing CI-environment tests skipped.

Two independent local agents reviewed the final commits and found no defects. The test audit removed four overlapping or development-only cases and assertions about unused definitions, type-array ordering and an unchanged terminal newline. Eight cases remain, covering actual profile files, numeric compatibility, consumer converter precedence, arrays, named-profile overrides, GUID schema shapes and raw LF output.

CodeRabbit and Macroscope were requested on the fork review copy. Neither has produced a review result so far.

Follow-up

The existing warning/default behavior for invalid profile values is unchanged. A fail-fast policy needs a separate compatibility decision.

Requested labels: target/vCurrent, bug. The fork author cannot apply labels in this repository.

The fork CI run currently reports action_required with no jobs. Please approve the run.

This branch has not been deployed

No deployments
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.

Guid parameters generate an object schema although profiles read GUID strings

1 participant