chore: remove ANcpLua.NET.Sdk.BitNet SDK variant#168
Conversation
Drops every reference to the .BitNet SDK variant from build config, generator, version pins, package auto-injection, README, and the solution file. Companion commits delete the .BitNet csproj/nuspec/ Sdk.props/Sdk.targets/editorconfig. Rationale: the variant saved one PackageReference line over plain `ANcpLua.NET.Sdk` + `<PackageReference Include="ANcpLua.Agents.Hosting.BitNet" />` and added a warning code that only existed because of the SDK. Not worth its surface area; consumers should just take the package reference directly. The .BitNet NuGet package is unused (0 dependents on nuget.org) and will be deprecated separately.
|
@coderabbitai autofix |
|
Note Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it. Autofix skipped. No unresolved CodeRabbit review comments with fix instructions found. |
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📜 Recent review details⏰ Context from checks skipped due to timeout of 900000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🧰 Additional context used📓 Path-based instructions (2)**/*.{cmd,bat,ps1}📄 CodeRabbit inference engine (.editorconfig)
Files:
tools/**⚙️ CodeRabbit configuration file
Files:
🧠 Learnings (1)📓 Common learnings🪛 PSScriptAnalyzer (1.25.0)tools/verify-templates.ps1[warning] Missing BOM encoding for non-ASCII encoded file 'verify-templates.ps1' (PSUseBOMForUnicodeEncodedFile) [warning] Missing BOM encoding for non-ASCII encoded file 'verify-templates.ps1' (PSUseBOMForUnicodeEncodedFile) [warning] Missing BOM encoding for non-ASCII encoded file 'verify-templates.ps1' (PSUseBOMForUnicodeEncodedFile) 🔀 Multi-repo context ANcpLua/ANcpLua.Agents, ANcpLua/ANcpLua.Roslyn.Utilities, ANcpLua/ANcpLua.Analyzers, O-ANcppLua/ANcpLua.OtelConventions.Api, O-ANcppLua/Nuke.OpenTelemetry.Conventions, ANcpLua/ErrorOrX, ANcpLua/dotcov, ANcpLua/Arqio, ANcpLua/safe-autoresearch, ANcpLua/typespec-otel-semconvLinked repositories findingsANcpLua/ANcpLua.Agents
ANcpLua/ANcpLua.Roslyn.Utilities
Other repositories searched (no matches for "BitNet")
Summary implication
🔇 Additional comments (2)
Behavioral ChangesRemoves ANcpLua.NET.Sdk.BitNet SDK variant entirely. Projects using
Deleted 5 files (csproj, nuspec, two Sdk.{props,targets}, editorconfig) and 6 edited files across solution, build tooling, and configuration:
Risk SurfaceBreaking change for projects consuming ANcpLua.NET.Sdk.BitNet, though PR states 0 NuGet dependents (variant provided only implicit PackageReference convenience and warning ANCPLBITNET001). Migration path documented in README removal. Validation Evidence
Generated ArtifactsBuild output changes from 5 to 4 NuGet packages: SDK, SDK.Web, SDK.Test, Templates (removes SDK.BitNet). Cross-Repo ImplicationsCompanion PR in ANcpLua/ANcpLua.Agents repo removes matching README section. Separate NuGet package ANcpLua.Agents.Hosting.BitNet will be deprecated in follow-up. WalkthroughThis PR removes the ANcpLua.NET.Sdk.BitNet SDK variant and all related artifacts: solution registration, project and nuspec contents, MSBuild props/targets and version/property wiring, packaging/pack expectations, SDK generation, template verification, README examples, and BitNet editorconfig entries. ChangesBitNet SDK Variant Removal
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (2 errors, 1 warning)
✅ Passed checks (16 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6ea47dd213
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| dotnet pack src/ANcpLua.NET.Sdk.Web.csproj -c Release -o artifacts "-p:Version=$Version" | ||
| dotnet pack src/ANcpLua.NET.Sdk.Test.csproj -c Release -o artifacts "-p:Version=$Version" | ||
| dotnet pack src/ANcpLua.NET.Sdk.BitNet.csproj -c Release -o artifacts "-p:Version=$Version" | ||
| dotnet pack src/ANcpLua.NET.Sdk.Templates.csproj -c Release -o artifacts "-p:Version=$Version" |
There was a problem hiding this comment.
Keep template verifier aligned with packed SDK set
Removing the BitNet dotnet pack call makes tools/verify-templates.ps1 fail every time at Gate 2, because it still requires ANcpLua.NET.Sdk.BitNet.$Version.nupkg in its expected artifact list (lines 108–113 in that script). In practice, anyone running that verifier after this change will get a false failure even when packaging is otherwise correct, so this change should include the matching verifier update.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull Request Overview
This PR successfully removes the BitNet SDK variant across the repository. The changes correctly delete the project-specific files, update the SDK generator, remove implicit package injections, and clean up documentation.
Codacy analysis reports that the changes are up to standards with no new issues or quality regressions. All defined acceptance criteria for the removal have been met, effectively reducing the maintenance overhead as intended.
Test suggestions
- Verify build.ps1 no longer attempts to pack the removed BitNet project.
- Verify SdkGenerator excludes the BitNet variant from its generation list.
- Verify GlobalPackages.props no longer contains implicit package injection for BitNet.
- Verify documentation (README.md) reflects the removal and provides no legacy examples.
TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.
TIP This summary will be updated as you push new changes.
Codex flagged that tools/verify-templates.ps1 still requires ANcpLua.NET.Sdk.BitNet.$Version.nupkg in its Gate 2 expected-artifacts list, so every verifier run after the .BitNet removal would fail with "missing from artifacts/" even when packaging is otherwise correct. Drop the .BitNet entry and update the "all 5 nupkgs" wording in both the docstring and the Gate 2 Write-Step header to "all 4 nupkgs".
|
@coderabbitai autofix |
|
Note Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it. Autofix skipped. No unresolved CodeRabbit review comments with fix instructions found. |
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
README.md (1)
1-66: 🧹 Nitpick | 🔵 TrivialCoordinate companion PR merge to prevent documentation drift.
The linked ANcpLua.Agents repository documents the BitNet SDK variant in src/ANcpLua.Agents.Hosting.BitNet/README.md (msbuild-sdks entries and
<Project Sdk="ANcpLua.NET.Sdk.BitNet">examples). If this PR merges before the companion PR that strips those instructions, ANcpLua.Agents consumers will follow broken onboarding steps.Recommend verifying the companion PR lands atomically or first, or adding a deprecation notice to ANcpLua.Agents before removing the SDK variant here.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@README.md` around lines 1 - 66, The README links ANcpLua.Agents which currently documents a BitNet SDK variant (see src/ANcpLua.Agents.Hosting.BitNet/README.md and usages like <Project Sdk="ANcpLua.NET.Sdk.BitNet">); ensure the companion PR that removes/changes that variant lands atomically or update the ANcpLua.Agents docs first: either coordinate merges so both repos update together or add a clear deprecation/compatibility notice in ANcpLua.Agents README (and optionally in this README’s Related section) explaining that the BitNet SDK entry has been removed and pointing consumers to the correct SDK variants.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@README.md`:
- Around line 1-66: The README links ANcpLua.Agents which currently documents a
BitNet SDK variant (see src/ANcpLua.Agents.Hosting.BitNet/README.md and usages
like <Project Sdk="ANcpLua.NET.Sdk.BitNet">); ensure the companion PR that
removes/changes that variant lands atomically or update the ANcpLua.Agents docs
first: either coordinate merges so both repos update together or add a clear
deprecation/compatibility notice in ANcpLua.Agents README (and optionally in
this README’s Related section) explaining that the BitNet SDK entry has been
removed and pointing consumers to the correct SDK variants.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 59e03a62-5359-4bed-8469-7585108318de
📒 Files selected for processing (11)
ANcpLua.NET.Sdk.slnxREADME.mdbuild.ps1src/ANcpLua.NET.Sdk.BitNet.csprojsrc/ANcpLua.NET.Sdk.BitNet.nuspecsrc/Build/Common/GlobalPackages.propssrc/Build/Common/Version.propssrc/Config/ANcpLua.NET.Sdk.BitNet.editorconfigsrc/Sdk/ANcpLua.NET.Sdk.BitNet/Sdk.propssrc/Sdk/ANcpLua.NET.Sdk.BitNet/Sdk.targetstools/SdkGenerator/Program.cs
💤 Files with no reviewable changes (10)
- src/Sdk/ANcpLua.NET.Sdk.BitNet/Sdk.props
- src/Sdk/ANcpLua.NET.Sdk.BitNet/Sdk.targets
- src/Config/ANcpLua.NET.Sdk.BitNet.editorconfig
- ANcpLua.NET.Sdk.slnx
- tools/SdkGenerator/Program.cs
- src/ANcpLua.NET.Sdk.BitNet.csproj
- src/ANcpLua.NET.Sdk.BitNet.nuspec
- build.ps1
- src/Build/Common/Version.props
- src/Build/Common/GlobalPackages.props
📜 Review details
⏰ Context from checks skipped due to timeout of 900000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: test (windows-latest)
- GitHub Check: test (ubuntu-latest)
- GitHub Check: test (macos-latest)
- GitHub Check: Codacy Static Code Analysis
🧰 Additional context used
📓 Path-based instructions (2)
*
📄 CodeRabbit inference engine (.editorconfig)
*: Use spaces for indentation, not tabs
Trim trailing whitespace from all lines
Use LF (Unix-style) line endings for all files
Files:
README.md
**/*.md
⚙️ CodeRabbit configuration file
Documentation review. Treat docs as executable team memory: flag instructions that disagree with actual scripts, package versions, branch protection, generated-file workflows, or repo layout. Keep AGENTS.md/CLAUDE.md rules coherent with automation. Do not request cosmetic prose changes unless ambiguity would mislead an agent or maintainer.
Files:
README.md
🔀 Multi-repo context ANcpLua/ANcpLua.Agents, ANcpLua/ANcpLua.Roslyn.Utilities, ANcpLua/ANcpLua.Analyzers, O-ANcppLua/ANcpLua.OtelConventions.Api, O-ANcppLua/Nuke.OpenTelemetry.Conventions, ANcpLua/ErrorOrX, ANcpLua/dotcov, ANcpLua/Arqio, ANcpLua/safe-autoresearch, ANcpLua/typespec-otel-semconv
Findings
ANcpLua/ANcpLua.Agents
- Multiple runtime/README references to using the ANcpLua.NET.Sdk.BitNet SDK variant and its zero‑ceremony implicit PackageReference: src/ANcpLua.Agents.Hosting.BitNet/README.md (lines referencing msbuild-sdks and ). [::ANcpLua/ANcpLua.Agents::]
- The hosting package ANcpLua.Agents.Hosting.BitNet is present and exposes AddQylBitNetChatClient / AddDiscoveredQylBitNetClients; consumers call builder.AddQylBitNetChatClient in Facades/QylBitNetHostingExtensions.cs and generator emits calls to builder.AddQylBitNetChatClient (QylBitNetEndpointGenerator.cs). Files: src/ANcpLua.Agents.Hosting.BitNet/Facades/QylBitNetHostingExtensions.cs, src/ANcpLua.Agents.Hosting.BitNet.Generators/QylBitNetEndpointGenerator.cs. [::ANcpLua/ANcpLua.Agents::]
- Tests and test fixtures depend on BitNet hosting and the ANcpLua.Agents.Hosting.BitNet package: tests/ANcpLua.Agents.Tests/Testing/BitNetFixtureSmokeTests.cs, src/ANcpLua.Agents.Testing/BitNet/BitNetFixture.cs, tests/ANcpLua.Agents.Tests/Packaging/PackageBoundaryTests.cs (lists "ANcpLua.Agents.Hosting.BitNet"). [::ANcpLua/ANcpLua.Agents::]
- CI/workflow/publishing references packing/publishing of the ANcpLua.Agents.Hosting.BitNet package: .github/workflows/nuget-publish.yml (dotnet pack for ANcpLua.Agents.Hosting.BitNet). [::ANcpLua/ANcpLua.Agents::]
ANcpLua/ANcpLua.Roslyn.Utilities
- Test support contains BitNet fixtures/collections used for live-LLM tests: src/ANcpLua.Roslyn.Utilities.Testing/AI/BitNetFixture.cs and BitNetCollection.cs (BitNet test collection/attribute). README mentions live-LLM integration. These test helpers reference a BitNet server and IChatClient. [::ANcpLua/ANcpLua.Roslyn.Utilities::]
Other repositories searched
- No matches returned for "BitNet" or the BitNet SDK variant in:
- ANcpLua/ANcpLua.Analyzers
- O-ANcppLua/ANcpLua.OtelConventions.Api
- O-ANcppLua/Nuke.OpenTelemetry.Conventions
- ANcpLua/ErrorOrX
- ANcpLua/dotcov
- ANcpLua/Arqio
- ANcpLua/safe-autoresearch
- ANcpLua/typespec-otel-semconv
(search stdout empty for these repos). [::ANcpLua/ANcpLua.Analyzers::] [::O-ANcppLua/ANcpLua.OtelConventions.Api::] [::O-ANcppLua/Nuke.OpenTelemetry.Conventions::] [::ANcpLua/ErrorOrX::] [::ANcpLua/dotcov::] [::ANcpLua/Arqio::] [::ANcpLua/safe-autoresearch::] [::ANcpLua/typespec-otel-semconv::]
Implication summary (observed)
- The SDK variant removal will require consumer repos (notably ANcpLua.Agents and test infrastructures) to stop relying on the implicit Sdk variant and instead add an explicit PackageReference to ANcpLua.Agents.Hosting.BitNet (the PR already documents this migration). Test fixtures and CI that expect implicit injection or the SDK-provided Version.props value may need updating (e.g., packaging workflows, README examples). All specific references above were observed in the listed files. [::ANcpLua/ANcpLua.Agents::] [::ANcpLua/ANcpLua.Roslyn.Utilities::]
🔇 Additional comments (2)
README.md (2)
13-21: LGTM!
23-32: LGTM!
|
pr-heal: providers tried — CodeRabbit autofix=skipped, Claude=failure. None resolved the block (state was BEHIND). Next sweep in 15 min; if this is recurring, the Codex/Copilot fallback tiers are tracked in pr-heal.yml. |
|
@coderabbitai autofix |
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
|
Note Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it. Autofix skipped. No unresolved CodeRabbit review comments with fix instructions found. |
Summary
Remove the
ANcpLua.NET.Sdk.BitNetSDK variant entirely. Consumers wanting BitNet hosting just take a plain<PackageReference Include="ANcpLua.Agents.Hosting.BitNet" />againstANcpLua.NET.Sdk(or.Web).Why
The variant earned one line saved over a plain PackageReference (the implicit injection in
GlobalPackages.props), plus one warning code (ANCPLBITNET001) that only existed because of the SDK. For an alpha-channel feature the NuGet package has 0 dependents on, the carrying cost — separate csproj/nuspec/Sdk.props/Sdk.targets/editorconfig, a Version.props pin to keep in lockstep withANcpLua/ANcpLua.Agentsreleases, generator+packer awareness — was higher than the value.The user will deprecate the existing
ANcpLua.NET.Sdk.BitNetNuGet package separately.What's gone
Deleted (5 files):
src/ANcpLua.NET.Sdk.BitNet.csprojsrc/ANcpLua.NET.Sdk.BitNet.nuspecsrc/Sdk/ANcpLua.NET.Sdk.BitNet/Sdk.propssrc/Sdk/ANcpLua.NET.Sdk.BitNet/Sdk.targetssrc/Config/ANcpLua.NET.Sdk.BitNet.editorconfigEdited (6 files):
ANcpLua.NET.Sdk.slnx— remove project entryREADME.md— drop.BitNetentry from theglobal.jsonblock, the<Project Sdk="ANcpLua.NET.Sdk.BitNet">example, and the entire "BitNet variant — what it adds" sectionbuild.ps1— removedotnet pack src/ANcpLua.NET.Sdk.BitNet.csproj …tools/SdkGenerator/Program.cs— remove the.BitNettuple from the generator'ssdks[](so re-running the generator doesn't recreate the deleted Sdk.props/Sdk.targets)src/Build/Common/Version.props— drop the<PropertyGroup Label="BitNet Hosting">withANcpLuaAgentsHostingBitNetVersionsrc/Build/Common/GlobalPackages.props— drop the conditionalItemGroupthat auto-injectedANcpLua.Agents.Hosting.BitNetConsumer migration
Before:
After:
(Version pinned in the consumer's
Directory.Packages.propsunder CPM, which the SDK still enforces.)Companion PR
ANcpLua/ANcpLua.Agents#…— strips the matching "Zero-ceremony path —ANcpLua.NET.Sdk.BitNet" section from the Hosting.BitNet README.Test plan
lint_config,create_nuget(no longer packs the .BitNet nupkg),testmatrix on ubuntu/windows/macos,deployto NuGet onmainmerge.dotnet run --project tools/SdkGeneratorproduces no.BitNetartifacts.ANcpLua.NET.Sdk+<PackageReference Include="ANcpLua.Agents.Hosting.BitNet" />still resolves and callsbuilder.AddQylBitNetChatClient().Generated by Claude Code