M0-09
Engine-free C# core scaffold with xunit and Unity asmdef
Evidence
From logs/evidence/M0-09/. Click a thumbnail for the full image.
Logs and data (1)
test-summary.txt · 1 kB · open
M0-09 evidence (2026-10-08) pnpm core:test (logs/test-output/M0-09-01.log): $ pnpm core:test > zoen@0.1.0 core:test /Users/king/Desktop/Workspace/SRO/zoen core:test 43 passed, 0 failed (Zoen.Core xunit, 3.4 s) · full log: logs/test-output/core-test-latest.log negative probe, a core file with 'using UnityEngine;' (logs/test-output/M0-09-02.log, expected FAIL): $ pnpm core:test > zoen@0.1.0 core:test /Users/king/Desktop/Workspace/SRO/zoen core:test FAILED before any test ran (0.7 s) · full log: logs/test-output/core-test-latest.log packages/core-cs/Zoen.Core/EngineProbe.cs(1,7): error CS0246: The type or namespace name 'UnityEngine' could not be found (are you missing a using directive or an assembly reference?) [packages/core-cs/Zoen.Core.csproj] Unity EditMode (logs/test-output/M0-09-04.log; first run M0-09-03 failed on Unity's iOS editor-extension DLLs in compiledAssemblyReferences, filter fixed): unity-run editmode: PASS · 49 passed, 0 failed, 0 skipped (49 total) · 8.8 s · Unity 6000.3.25f1 · exit 0 Unity compile warnings in the first full compile with Zoen.Core (csc.rsp -nullable:enable honoured): 0 Package versions (packages/core-cs/Zoen.Core.Tests/packages.lock.json): Microsoft.NET.Test.Sdk 17.14.1, xunit 2.9.3, xunit.runner.visualstudio 3.1.4; SDK 10.0.401
Tests
$ pnpm core:test$ node tools/unity-run.mjs editmode$ node tools/unity-run.mjs editmode$ pnpm --filter @zoen/wiki exec playwright test --only-changedNotes
2026-10-08 00:32 UTC · Layout: packages/core-cs/{global.json (SDK 10.0.100 rollForward latestFeature), Directory.Build.props (nullable, warnings as errors, Deterministic, CI-only ContinuousIntegrationBuild, NuGet lock files, ArtifactsPath .artifacts/), Zoen.Core.csproj (netstandard2.1, LangVersion 9.0 = Unity 6, no references, compiles Zoen.Core/**/*.cs), Zoen.Core/ (sources + Unity package com.zoen.core: package.json, Zoen.Core.asmdef noEngineReferences+overrideReferences, csc.rsp -nullable:enable, Unity .meta files), Zoen.Core.Tests/ (xunit, net10.0)}. Unity consumption: documented local package (Packages/manifest.json com.zoen.core = file:../../../packages/core-cs/Zoen.Core); project files sit one level up and bin/obj go to packages/core-cs/.artifacts (git-ignored), so Unity never imports build outputs; no ~ folder needed. Packages: Microsoft.NET.Test.Sdk 17.14.1, xunit 2.9.3, xunit.runner.visualstudio 3.1.4 (nuget.org, already cached); CI adds actions/setup-dotnet@v4 (10.0.x). Module moved: TierRules, TierPolicy (Runtime) and MiniJson (Editor) into the core with their .meta GUIDs, plus new TierRulesReader (feel-quality.json -> TierRules) now used by the editor FeelQuality; namespaces unchanged; Zoen.Runtime/Editor/Tests.EditMode asmdefs reference Zoen.Core. Guards: source scan (comments/strings stripped), compiled references = netstandard only, asmdef flags, manifest path; EditMode CoreAssemblyTests (compiled from Packages/com.zoen.core, local source, no engine refs; Unity lists iOS/Apple editor-extension DLLs for every editor compile, filtered). Negative probe (using UnityEngine) fails the build with CS0246 (M0-09-02, expected). No prediction code. Also fixed the pre-existing data-test failure: CONTINUE_HERE.md was 8088 bytes at HEAD (limit 8000), now 7961. Evidence: logs/evidence/M0-09/test-summary.txt
