Surface the runtime the documentation tooling runs on#112
Merged
Conversation
The worker rolls forward independently of the launching tool (RollForward= LatestMajor), so the runtime it documents a target on can differ from the CLI's and was not visible anywhere. Emit a one-line banner built from RuntimeInformation.FrameworkDescription. It goes to stdout when the result is written to a file (stdout then carries no data and the host surfaces it as an 'info' diagnostic) and to stderr in the stdout-JSON mode so the result stays pure. The preview canary reads this banner back to show which runtime fce actually used. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015HeXL6s4yGMAgZitfWijs1
The canary passed green but never printed which runtime it ran on: dotnet --list-runtimes was consumed by a silent grep, so "ran on the preview" had to be inferred. Print the installed runtimes and the highest major, skip neutrally unless a runtime newer than the .NET 10 build SDK is present, and name that major in the success line. With the worker's runtime banner (via --verbose), the log now shows the preview version instead of leaving it to inference. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015HeXL6s4yGMAgZitfWijs1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The preview canary (added in #111) passed green but never printed which runtime it exercised:
dotnet --list-runtimeswas consumed by a silentgrep, and the worker never reported its own runtime — so "ran on the .NET 11 preview" had to be inferred from roll-forward semantics rather than read off the log. This makes it visible: the GenDoc worker logs the framework it actually bound to, and the canary prints the installed runtimes and the selected major.Type of change
Changes
FirstClassErrors.GenDoc.Worker: emit a one-line runtime banner —Documenting '<target>' on <RuntimeInformation.FrameworkDescription>.. It goes to stdout when the result is written to a file (stdout then carries no data, and the generator surfaces the line as aninfo:diagnostic) and to stderr in the stdout-JSON mode so the result stays pure. The worker rolls forward independently of the CLI (RollForward=LatestMajor), so this is the authoritative record of where the target was loaded.canary.yml: printdotnet --list-runtimesand the highest installed major; skip neutrally unless a runtime newer than the .NET 10 build SDK is present (replacing the previous silentgrepguard); and name that major in the success line. With the worker banner (via--verbose), the canary log now shows the preview version instead of leaving it to inference.Testing
dotnet build FirstClassErrors.sln— Release, 0 warnings / 0 errors.dotnet test FirstClassErrors.sln— Release, 609 passed, 0 failed, 0 skipped.FirstClassErrors.Analyzers.UnitTests) — 51 passed.Additional manual check: ran
fce generate --assemblies <net8 Usage.dll> --format json --verboselocally — the worker banner surfaces cleanly asinfo: Documenting '…' on .NET 10.0.9.and the JSON on stdout stays intact (10 documented codes). The .NET 11 preview binding itself is exercised only by the canary in CI (installing preview runtimes is blocked by this environment's egress policy); a manual canary run onmainafter #111 already confirmed the tooling runs on11.0.100-preview.5.Documentation
doc/updateddoc/README.fr.md) updated if user-facing behavior changedThe changes add a verbose-only diagnostic line and CI log output; no public API, README, or
doc/content changes. ADR0002-floor-the-tooling-runtime.mdalready describes the canary and stays accurate.Related issues
None.
Generated by Claude Code