Describe IL3058 as a Missing IsAotCompatible Mark - #1895
Conversation
dotnet-codestyle said reference verification reports IL3058 for every dependency "not built AOT-compatible" and named System.CommandLine and the Serilog sinks as failing. IL3058 reports a referenced assembly not marked IsAotCompatible, which says nothing about whether it works under AOT, and the unversioned package names claim a state their newer releases may not have. The sentence now names the missing mark and drops the examples. Raised by CodeRabbit on the promotion PR #1850. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The only remaining feedback is a minor documentation-precision tweak; the change is otherwise consistent and correctly propagated to generated copies.
Review effort: Lite
Findings: 1
Open (1)
What changed in this PR
This PR corrects the dotnet-codestyle reference documentation for IL3058 so it describes the warning as a missing (or non-true) IsAotCompatible mark on referenced assemblies, rather than asserting that the dependency is inherently “not built AOT-compatible,” and removes concrete package examples that could become stale.
Changes:
- Refines
IL3058wording to focus on theIsAotCompatiblemarker rather than “incompatibility,” and drops specific dependency examples. - Regenerates the distributed skill copies and updates the corresponding source digest.
| File | Description |
|---|---|
| .agents/skills/dotnet-codestyle/references/project-config.md | Adjusts the authoritative reference wording for IL3058 and removes potentially stale examples. |
| .github/skills/dotnet-codestyle/references/project-config.md | Regenerated distribution copy of the same reference update. |
| .claude-plugin/fleet-skills/skills/dotnet-codestyle/references/project-config.md | Regenerated Claude plugin copy of the same reference update. |
| .claude-plugin/fleet-skills/.source-digests/dotnet-codestyle | Updates the digest to match the regenerated dotnet-codestyle source content. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
"Not marked IsAotCompatible" left open an assembly that carries the metadata set to false, which IL3058 also reports. The sentence now says the metadata is not true, matching Microsoft's own wording. Raised by Copilot on #1895. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
"Whose metadata is not true" read as though the metadata were present, hiding the common case of a dependency with none at all. The sentence now follows Microsoft's wording: an assembly that lacks the metadata set to true. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The change is a narrowly scoped documentation correction with consistent updates across the generated distributions and no remaining verified issues.
Review effort: Lite
Findings: None
Resolved since last review (1)
…and Overnight Fixes to Main (#1850) Promotes `develop` to `main`. ## Carried - #1846: exits `repo-config/configure.sh` early, writing nothing, for a repository whose registry `status` is `archived`. - #1848: fails the validator's C# unit test step when the run wrote no non-empty Cobertura report, clearing `./coverage` first. It declines #1134's `ref` input with evidence, since a bare checkout already validates `github.sha`, and D1.2 now says so. #1134's third gap moved to #1800. - #1851: asserts that the two planted registration defects are themselves reported. - #1854, #1858: correct #1846's test docstrings, which claimed the script makes no `gh` call before the archived check in cases where it does. Raised by Copilot on this pull request. - #1856: passes `--repo` on documented handoff commands and guards handoff reads against a full page, per #1847. - #1859, #1863: fall back to the default search path when `PATH` is unset in #1848's and #1846's test harnesses. Raised by Copilot on this pull request. - #1861: scopes `VerifyReferenceAotCompatibility` to an AOT publish in `dotnet-codestyle`, per #1857. - #1867: establishes the `PATH` order `tool_shadow_path` names, per #1644. - #1870: makes the installer's dirty-checkout tests independent of the real checkout's state, per #1641. - #1873: pins and decodes git's quoting in `repo_gate.py`'s `ls-files` read, per #1580 and #1872. - #1878: folds typographic punctuation in `pr_review.py reply --match`, per #1299. - #1883: routes `configure.sh`'s `ruleset_id()` through `jqr`, per #1253. - #1885: states the pin comment as the release tag and defines `$/`, per #1805. - #1888: distinguishes `./` from `$/` resolution in the pin rule's prose, per #1886. - #1893: drops the issue reference from `repo-config/README.md`'s archived-exemption note, which Copilot flagged on six rounds of this pull request. - #1895: describes IL3058 in `dotnet-codestyle` as a referenced assembly lacking `IsAotCompatible` metadata set to `true`, and drops the unversioned package examples. Raised by CodeRabbit on this pull request. Callers that pin a hub release get the new C# check on their next pin bump. A test project that runs `dotnet test --coverage` without writing a report now fails its step rather than passing silently. Closes #1134 Closes #1847 Closes #1857 Closes #1644 Closes #1641 Closes #1580 Closes #1872 Closes #1299 Closes #1253 Closes #1805 Closes #1886 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Backlog counts and rankings now consistently exclude handoff issues, including those also marked blocked. * Repository configuration commands now exit without writing when a repository is archived. * Review-thread matching handles typographic punctuation, and no-match responses report the unresolved-thread count. * Tool setup handles PATH entries more precisely, and repository checks report unusual file paths without crashing. * **Reliability** * Validation now fails when C# or Python tests produce no coverage report. * Agent setup can use an explicit dirty-checkout override. * Workflow and repository guidance clarifies reference resolution, release-tag pinning, and AOT configuration. <!-- end of auto-generated comment: release notes by coderabbit.ai -->

Fixes a finding CodeRabbit raised on the promotion PR #1850, against #1861's text.
dotnet-codestyle's project-config reference said reference verification reportsIL3058for every dependency "not built AOT-compatible", and namedSystem.CommandLineand the Serilog sinks as failing. Microsoft's IL3058 page gives the cause as a referenced assembly without theIsAotCompatibleassembly metadata set totrue. That's a missing mark, not proof of incompatibility, and a library built with the property against a target before .NET 10 still lacks it. The unversioned package names also claim a state their newer releases may not have. The sentence now names the missing mark and drops the examples.Only the source under
.agents/skills/was edited. The.github/skills/and.claude-plugin/copies and the source digest are regenerated bybuild_dist.py, and--checkpasses. The prose gate, markdownlint, and cspell pass. One local strict review pass is recorded, with no findings. It checked the wording against the Microsoft Learn pages for IL3058 and Native AOT.🤖 Generated with Claude Code