Repository navigation
fix: keep the published artifact loadable on .NET 8 - #45
Merged
Merged
Conversation
The CoursIA submodule bump (#22570) exposed an artifact that only targeted net10.0, while the notebooks that load `.deploy/Z3.Linq.dll` run on .NET 8/9. Multi-target the library and publish the net8.0 build. - clear the singular TargetFramework inherited from Directory.Build.props so the SDK performs an outer multi-target build; - pin LangVersion 14.0: without it the net8 outer build falls back to C# 12 and rejects the C# 14 `field` keyword used by Z3Context, so the two targets would not compile the same source; - rebuild .deploy/Z3.Linq.dll from net8.0. ExpressionUtils, Microsoft.Z3 and libz3 are byte-identical to the previous deploy artifacts. Validation: Release build for net8.0 and net10.0, 0 warnings/0 errors; net8 assembly carries .NETCoreApp,Version=v8.0; real smoke test solving a theorem under the 8.0 runtime; 437/437 tests on net10.0. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Code Coverage Summary Report - Linux (No TFM)Summary
CoverageZ3.Linq - 90.6%
Z3.Linq.Examples - 48.9%
|
Author
|
[INFO] lane myia-po-2025:CoursIA — le seul rouge de cette tete est infra, pas de contenu.
Les jambes de contenu sont vertes sur la tete Rien a corriger cote diff ; les points restants sont la review et le merge. |
jsboige
added a commit
to jsboige/CoursIA
that referenced
this pull request
Oct 26, 2026
…8.0 (voie 2 de la review #22570) Le fork MyIntelligenceAgency/Z3.Linq#45 (multi-ciblage net8.0;net10.0, build net8.0 deposeee dans .deploy/) est merge en 0f00539d8b. Marqueur mesure dans la DLL : .NETCoreApp,Version=v8.0 -- compatibilite .NET 8/9 des postes etudiants restauree, mesure au meme instrument que la review. Le merge de ce bump reste apres les seances TP du 26/10 (calendrier de la review). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
myia-ai-01
pushed a commit
to jsboige/CoursIA
that referenced
this pull request
Oct 27, 2026
…22570) * chore(submodule,#16609): bump Z3.Linq sur le port de la pile endjin (PR fork #44) Grain: LIGHT/infra -- lane myia-po-2025:CoursIA -- prev: DEEP/lean #22083 Gitlink 8a2562db -> 1ae1d3c : le fork porte desormais l'integralite de ses features sur la pointe de la pile endjin (feature/spectre-demos @ b425802, net10/MTP/Z3 5.1.0) -- 19 commits, build 0 warning, suite 437/437, serie G5 re-executee (17/18 verts, 06 et 07 compris ; 10 barre par le sous-module Automata non initialise localement). Voir MyIntelligenceAgency/Z3.Linq#44 pour le detail (porte, retire par la pile, non porte). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * chore(submodule,#16609): pointer Z3.Linq sur le main issu du merge #44 Le merge MyIntelligenceAgency/Z3.Linq#44 (68a6356f) porte exactement l'arbre deja valide de c8ef411 (diff vide). Suite fraiche: 437/437 tests, 0 echec. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * chore(submodule,#16609): rebump Z3.Linq sur 0f00539d8b -- .deploy net8.0 (voie 2 de la review #22570) Le fork MyIntelligenceAgency/Z3.Linq#45 (multi-ciblage net8.0;net10.0, build net8.0 deposeee dans .deploy/) est merge en 0f00539d8b. Marqueur mesure dans la DLL : .NETCoreApp,Version=v8.0 -- compatibilite .NET 8/9 des postes etudiants restauree, mesure au meme instrument que la review. Le merge de ce bump reste apres les seances TP du 26/10 (calendrier de la review). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Why
CoursIA PR jsboige/CoursIA#22570 bumps its submodule to this fork. Its coordinator review was blocked on one compatibility point: the notebooks load
.deploy/Z3.Linq.dlldirectly (#r "../Z3.Linq/.deploy/Z3.Linq.dll") on a .NET 8/9 runtime, while the published artifact only targeted net10.0 after the port.This restores the pre-port compatibility at the fork level, without changing the solver source or the net10 build.
Change
Z3.Linq.csprojclears the singularTargetFrameworkinherited fromsolutions/Directory.Build.propsand declaresTargetFrameworks=net8.0;net10.0. Without the clear, the SDK only builds the inherited net10.0 outer build.LangVersionis pinned to14.0. The SDK otherwise infers C# 12 for the net8 target and rejects the C# 14fieldkeyword used byZ3Context, so the two targets would not compile the same source. The keyword is compiler-level and emits a normal backing field; it does not require a .NET 10 runtime..deploy/Z3.Linq.dllis rebuilt fromnet8.0. The other three deployed files are byte-identical to the previous deploy set:ExpressionUtils.dllf3847aee...(94208 bytes)Microsoft.Z3.dll47285bcd...(265728 bytes)libz3.dllf4ea9e79...(18313728 bytes)No solver source file changes.
Validation
dotnet build -c Releasenet8.0andnet10.0produced, 0 warnings, 0 errors.NETCoreApp,Version=v8.0(54a2d76efba3a776f1457b4a102d3d44243fe97db2664db6699e1e27c31a3c29).NETCoreApp,Version=v10.0(d1bc715f58641bfaafdedeb4cc1bc3e6558f2590c03bfffef89e6b3cf5d6f696)dotnet publish -f net8.0SOLVED (True, False),FRAMEWORK .NETCoreApp,Version=v8.0The net8 suite is the repository's complete
Z3.Linq.Testssource set plus itsZ3.Linq.Examplessource, compiled in a scratch harness targetingnet8.0and referencing the published net8 assembly. The repository test project itself stays on its inherited net10 target.The smoke test is a net8.0 console app that loads the published net8 assembly and its unchanged dependencies, sets
TimeoutandResourceLimit(the C# 14fieldproperties), and solves an XOR theorem throughSolve().Follow-up
Once this fork PR is merged, the CoursIA submodule pointer in #22570 can be rebumped to the merge commit and the parent review can be re-run against a chain that keeps both the net10 build and the net8 notebook artifact.
🤖 Generated with Claude Code