Skip to content

feat(perf): #263-A — the measurement instrument (CALIBRATION_ONLY; no admissible baseline yet) #2014

feat(perf): #263-A — the measurement instrument (CALIBRATION_ONLY; no admissible baseline yet)

feat(perf): #263-A — the measurement instrument (CALIBRATION_ONLY; no admissible baseline yet) #2014

Triggered via pull request September 11, 2026 06:37
Status Success
Total duration 12m 47s
Artifacts 4

ci.yml

on: pull_request
C# leak extractor (Roslyn) -> OwnIR -> core
6m 49s
C# leak extractor (Roslyn) -> OwnIR -> core
lint (ruff + mypy --strict)
14s
lint (ruff + mypy --strict)
rust (fmt + clippy + tests)
29s
rust (fmt + clippy + tests)
Windows-native mutation campaign (own-check.ps1 + the drive-rooted locator arm)
7m 52s
Windows-native mutation campaign (own-check.ps1 + the drive-rooted locator arm)
Stage-2 mutation campaign, Windows verdict (gate only, records nothing)
3m 50s
Stage-2 mutation campaign, Windows verdict (gate only, records nothing)
shadow compare (committed corpus)
47s
shadow compare (committed corpus)
audit aggregation selftests
6s
audit aggregation selftests
release-workflow environment-protection predicate (fixture-driven)
8s
release-workflow environment-protection predicate (fixture-driven)
extended codegen fuzz
41s
extended codegen fuzz
golden C# compiles & runs (.NET)
36s
golden C# compiles & runs (.NET)
OwnTS (React useEffect) -> OwnIR -> core
10s
OwnTS (React useEffect) -> OwnIR -> core
OwnTS OSS true positives -> runtime leak proof (jsdom)
9s
OwnTS OSS true positives -> runtime leak proof (jsdom)
own-check repo scan (github + msbuild) + composite action
1m 23s
own-check repo scan (github + msbuild) + composite action
own-check.ps1 exit-code tiers (Windows)
1m 37s
own-check.ps1 exit-code tiers (Windows)
own-check SARIF -> GitHub code scanning (Rust dog-food)
1m 13s
own-check SARIF -> GitHub code scanning (Rust dog-food)
P-014 Tier B — external reference resolution (--ref-dir)
45s
P-014 Tier B — external reference resolution (--ref-dir)
corpus benchmark (real C# recall + specificity)
5m 45s
corpus benchmark (real C# recall + specificity)
Matrix: own-cli (ownir parity replay)
Matrix: owen CLI (gate A) — clean install -> check -> findings
Matrix: #263-A measurement instrument (CALIBRATION_ONLY)
Matrix: owen --engine (#262 Stage 1 controls)
Matrix: Rust-default dogfood (Own.NET's own tree, via own-cli)
Matrix: tests
shadow compare (C# samples)
33s
shadow compare (C# samples)
Fit to window
Zoom out
Zoom in

Annotations

20 errors and 71 warnings
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/CloseReleaseSample.cs#L37
IDisposable field '_xconn' (type 'FakeConnection') is never disposed — its owner 'ClosesOtherInstanceField' leaks it (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/CloseReleaseSample.cs#L26
IDisposable field '_leakedConn' (type 'FakeConnection') is never disposed — its owner 'LeaksUnclosed' leaks it (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppDomainShutdownSample.cs#L54
event 'SomeBus.Pinged' is subscribed (handler '(_, _) => cts.Cancel()') to a static (process-lived) event source that outlives 'NonAppDomainSubscriber'; the strong subscription promotes 'NonAppDomainSubscriber' to the source's lifetime, so it can never be collected — a region escape (leak, no release path — and being an inline lambda it has no '-=' handle, so it could never be detached)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppDomainShutdownSample.cs#L34
event 'AppDomain.CurrentDomain.ProcessExit' is subscribed (handler '(_, _) => _count++') to a static (process-lived) event source that outlives 'CapturingShutdownSubscriber'; the strong subscription promotes 'CapturingShutdownSubscriber' to the source's lifetime, so it can never be collected — a region escape (leak, no release path — and being an inline lambda it has no '-=' handle, so it could never be detached)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AliasDisposeSample.cs#L75
IDisposable field '_scopedLeak' (type 'CancellationTokenSource') is never disposed — its owner 'ScopedAliasNameLeak' leaks it (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AliasDisposeSample.cs#L57
IDisposable field '_refRebound' (type 'CancellationTokenSource') is never disposed — its owner 'RefReboundAliasLeaks' leaks it (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AliasDisposeSample.cs#L42
IDisposable field '_rebound' (type 'CancellationTokenSource') is never disposed — its owner 'ReboundAliasLeaks' leaks it (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AliasDisposeSample.cs#L29
IDisposable field '_neverDisposed' (type 'CancellationTokenSource') is never disposed — its owner 'AliasNeverDisposes' leaks it (leak)
OWN001: frontend/roslyn/samples/ColumnAnchorsSample.cs#L51
[OWN001] IDisposable local 'second' is never disposed (leak) [resource: disposable]
OWN001: frontend/roslyn/samples/ColumnAnchorsSample.cs#L51
[OWN001] IDisposable local 'first' is never disposed (leak) [resource: disposable]
OWN001: frontend/roslyn/samples/CloseReleaseSample.cs#L37
[OWN001] IDisposable field '_xconn' (type 'FakeConnection') is never disposed — its owner 'ClosesOtherInstanceField' leaks it (leak) [resource: disposable field]
OWN001: frontend/roslyn/samples/CloseReleaseSample.cs#L26
[OWN001] IDisposable field '_leakedConn' (type 'FakeConnection') is never disposed — its owner 'LeaksUnclosed' leaks it (leak) [resource: disposable field]
OWN014: frontend/roslyn/samples/AppDomainShutdownSample.cs#L54
[OWN014] event 'SomeBus.Pinged' is subscribed (handler '(_, _) => cts.Cancel()') to a static (process-lived) event source that outlives 'NonAppDomainSubscriber'; the strong subscription promotes 'NonAppDomainSubscriber' to the source's lifetime, so it can never be collected — a region escape (leak, no release path — and being an inline lambda it has no '-=' handle, so it could never be detached) [resource: subscription token]
OWN014: frontend/roslyn/samples/AppDomainShutdownSample.cs#L34
[OWN014] event 'AppDomain.CurrentDomain.ProcessExit' is subscribed (handler '(_, _) => _count++') to a static (process-lived) event source that outlives 'CapturingShutdownSubscriber'; the strong subscription promotes 'CapturingShutdownSubscriber' to the source's lifetime, so it can never be collected — a region escape (leak, no release path — and being an inline lambda it has no '-=' handle, so it could never be detached) [resource: subscription token]
OWN001: frontend/roslyn/samples/AliasDisposeSample.cs#L75
[OWN001] IDisposable field '_scopedLeak' (type 'CancellationTokenSource') is never disposed — its owner 'ScopedAliasNameLeak' leaks it (leak) [resource: disposable field]
OWN001: frontend/roslyn/samples/AliasDisposeSample.cs#L57
[OWN001] IDisposable field '_refRebound' (type 'CancellationTokenSource') is never disposed — its owner 'RefReboundAliasLeaks' leaks it (leak) [resource: disposable field]
OWN001: frontend/roslyn/samples/AliasDisposeSample.cs#L42
[OWN001] IDisposable field '_rebound' (type 'CancellationTokenSource') is never disposed — its owner 'ReboundAliasLeaks' leaks it (leak) [resource: disposable field]
OWN001: frontend/roslyn/samples/AliasDisposeSample.cs#L29
[OWN001] IDisposable field '_neverDisposed' (type 'CancellationTokenSource') is never disposed — its owner 'AliasNeverDisposes' leaks it (leak) [resource: disposable field]
rust (fmt + clippy + tests)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
lint (ruff + mypy --strict)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
own-cli (ownir parity replay) (ubuntu-latest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
own-check SARIF -> GitHub code scanning (Rust dog-food)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@v4, actions/setup-python@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
own-check SARIF -> GitHub code scanning (Rust dog-food): frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
release-workflow environment-protection predicate (fixture-driven)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
OwnTS (React useEffect) -> OwnIR -> core
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
OwnTS OSS true positives -> runtime leak proof (jsdom)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
P-014 Tier B — external reference resolution (--ref-dir)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
P-014 Tier B — external reference resolution (--ref-dir): frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
golden C# compiles & runs (.NET)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
own-cli (ownir parity replay) (windows-latest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
shadow compare (committed corpus)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
own-check.ps1 exit-code tiers (Windows)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
owen CLI (gate A) — clean install -> check -> findings (ubuntu-latest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
owen CLI (gate A) — clean install -> check -> findings (ubuntu-latest): frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
tests (py3.11)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
owen --engine (#262 Stage 1 controls) (ubuntu-latest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
owen --engine (#262 Stage 1 controls) (ubuntu-latest): frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
owen --engine (#262 Stage 1 controls) (ubuntu-latest): frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
tests (py3.13)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
audit aggregation selftests
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Rust-default dogfood (Own.NET's own tree, via own-cli) (windows-latest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Rust-default dogfood (Own.NET's own tree, via own-cli) (windows-latest): frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
tests (py3.12)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppScopedSourceSample.cs#L100
event 'service.ThemeChanged' is subscribed (handler 'OnTheme') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'CuratedOnlyApp' alive (possible leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppScopedSourceSample.cs#L89
event 'themeManager.ThemeChanged' is subscribed (handler '(s, e) => counter[0]++') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'LambdaApp' alive (possible leak — and being an inline lambda it has no '-=' handle, so it could never be detached)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppScopedSourceSample.cs#L74
event 'themeManager.ThemeChanged' is subscribed (handler 'OnTheme') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'NotAnApp' alive (possible leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppDomainShutdownSample.cs#L54
event 'SomeBus.Pinged' is subscribed (handler '(_, _) => cts.Cancel()') to a static (process-lived) event source that outlives 'NonAppDomainSubscriber'; the strong subscription promotes 'NonAppDomainSubscriber' to the source's lifetime, so it can never be collected — a region escape (leak, no release path — and being an inline lambda it has no '-=' handle, so it could never be detached)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppDomainShutdownSample.cs#L34
event 'AppDomain.CurrentDomain.ProcessExit' is subscribed (handler '(_, _) => _count++') to a static (process-lived) event source that outlives 'CapturingShutdownSubscriber'; the strong subscription promotes 'CapturingShutdownSubscriber' to the source's lifetime, so it can never be collected — a region escape (leak, no release path — and being an inline lambda it has no '-=' handle, so it could never be detached)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AliasedSourceViewModel.cs#L23
event 'src.CustomerChanged' is subscribed (handler 'OnAliased') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'AliasedSourceViewModel' alive (possible leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AliasDisposeSample.cs#L75
IDisposable field '_scopedLeak' (type 'CancellationTokenSource') is never disposed — its owner 'ScopedAliasNameLeak' leaks it (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AliasDisposeSample.cs#L57
IDisposable field '_refRebound' (type 'CancellationTokenSource') is never disposed — its owner 'RefReboundAliasLeaks' leaks it (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AliasDisposeSample.cs#L42
IDisposable field '_rebound' (type 'CancellationTokenSource') is never disposed — its owner 'ReboundAliasLeaks' leaks it (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AliasDisposeSample.cs#L29
IDisposable field '_neverDisposed' (type 'CancellationTokenSource') is never disposed — its owner 'AliasNeverDisposes' leaks it (leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AssociatedObjectSourceSample.cs#L139
event 's0.Loaded' is subscribed (handler 'OnLoaded') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'ReassignedLocalBehavior' alive (possible leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AssociatedObjectSourceSample.cs#L118
event 'panel.Loaded' is subscribed (handler 'OnLoaded') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'MixedFieldBehavior' alive (possible leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AssociatedObjectSourceSample.cs#L100
event 'this.AssociatedObject.Loaded' is subscribed (handler 'OnLoaded') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'NotABehavior' alive (possible leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AssociatedObjectSourceSample.cs#L57
event '_bus.Changed' is subscribed (handler '(s, e) => Handle()') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'TiltLikeBehavior' alive (possible leak — and being an inline lambda it has no '-=' handle, so it could never be detached)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppScopedSourceSample.cs#L137
event 'tm.ThemeChanged' is subscribed (handler 'OnTheme') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'ReassignApp' alive (possible leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppScopedSourceSample.cs#L118
event 'themeManager.ThemeChanged' is subscribed (handler '_twin!.OnTheme') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'TwinApp' alive (possible leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppScopedSourceSample.cs#L100
event 'service.ThemeChanged' is subscribed (handler 'OnTheme') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'CuratedOnlyApp' alive (possible leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppScopedSourceSample.cs#L89
event 'themeManager.ThemeChanged' is subscribed (handler '(s, e) => counter[0]++') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'LambdaApp' alive (possible leak — and being an inline lambda it has no '-=' handle, so it could never be detached)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AppScopedSourceSample.cs#L74
event 'themeManager.ThemeChanged' is subscribed (handler 'OnTheme') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'NotAnApp' alive (possible leak)
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/samples/AliasedSourceViewModel.cs#L23
event 'src.CustomerChanged' is subscribed (handler 'OnAliased') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'AliasedSourceViewModel' alive (possible leak)
OWN001: frontend/roslyn/samples/AssociatedObjectSourceSample.cs#L118
[OWN001] event 'panel.Loaded' is subscribed (handler 'OnLoaded') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'MixedFieldBehavior' alive (possible leak) [resource: subscription token]
OWN001: frontend/roslyn/samples/AssociatedObjectSourceSample.cs#L100
[OWN001] event 'this.AssociatedObject.Loaded' is subscribed (handler 'OnLoaded') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'NotABehavior' alive (possible leak) [resource: subscription token]
OWN001: frontend/roslyn/samples/AssociatedObjectSourceSample.cs#L57
[OWN001] event '_bus.Changed' is subscribed (handler '(s, e) => Handle()') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'TiltLikeBehavior' alive (possible leak — and being an inline lambda it has no '-=' handle, so it could never be detached) [resource: subscription token]
OWN001: frontend/roslyn/samples/AppScopedSourceSample.cs#L137
[OWN001] event 'tm.ThemeChanged' is subscribed (handler 'OnTheme') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'ReassignApp' alive (possible leak) [resource: subscription token]
OWN001: frontend/roslyn/samples/AppScopedSourceSample.cs#L118
[OWN001] event 'themeManager.ThemeChanged' is subscribed (handler '_twin!.OnTheme') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'TwinApp' alive (possible leak) [resource: subscription token]
OWN001: frontend/roslyn/samples/AppScopedSourceSample.cs#L100
[OWN001] event 'service.ThemeChanged' is subscribed (handler 'OnTheme') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'CuratedOnlyApp' alive (possible leak) [resource: subscription token]
OWN001: frontend/roslyn/samples/AppScopedSourceSample.cs#L89
[OWN001] event 'themeManager.ThemeChanged' is subscribed (handler '(s, e) => counter[0]++') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'LambdaApp' alive (possible leak — and being an inline lambda it has no '-=' handle, so it could never be detached) [resource: subscription token]
OWN001: frontend/roslyn/samples/AppScopedSourceSample.cs#L74
[OWN001] event 'themeManager.ThemeChanged' is subscribed (handler 'OnTheme') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'NotAnApp' alive (possible leak) [resource: subscription token]
OWN001: frontend/roslyn/samples/AliasedSourceViewModel.cs#L23
[OWN001] event 'src.CustomerChanged' is subscribed (handler 'OnAliased') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'AliasedSourceViewModel' alive (possible leak) [resource: subscription token]
own-check repo scan (github + msbuild) + composite action: frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
extended codegen fuzz
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Stage-2 mutation campaign, Windows verdict (gate only, records nothing)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Rust-default dogfood (Own.NET's own tree, via own-cli) (ubuntu-latest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Rust-default dogfood (Own.NET's own tree, via own-cli) (ubuntu-latest): frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
owen CLI (gate A) — clean install -> check -> findings (windows-latest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
owen CLI (gate A) — clean install -> check -> findings (windows-latest): frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
corpus benchmark (real C# recall + specificity)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
owen --engine (#262 Stage 1 controls) (windows-latest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
owen --engine (#262 Stage 1 controls) (windows-latest): frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
owen --engine (#262 Stage 1 controls) (windows-latest): frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
C# leak extractor (Roslyn) -> OwnIR -> core
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065, actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
C# leak extractor (Roslyn) -> OwnIR -> core: frontend/roslyn/OwnSharp.Extractor/Program.cs#L5234
Argument of type 'IEnumerable<string?>' cannot be used for parameter 'collection' of type 'IEnumerable<string>' in 'HashSet<string>.HashSet(IEnumerable<string> collection, IEqualityComparer<string>? comparer)' due to differences in the nullability of reference types.
shadow compare (C# samples)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
#263-A measurement instrument (CALIBRATION_ONLY) (ubuntu-latest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065, actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Windows-native mutation campaign (own-check.ps1 + the drive-rooted locator arm)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
#263-A measurement instrument (CALIBRATION_ONLY) (windows-latest)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5, actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9, actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065, actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

Artifacts

Produced during runtime
Name Size Digest
benchmark-scorecard
1.53 KB
sha256:9372695d05094417e0c745363b1bbb62cf1701385f7c3e4ba3eae88334c1b020
csharp-samples-ownir
4.34 KB
sha256:4d485ac881f2d5c379b65bc545329524ec2b7b4b1476d892aa044bfbd93dfc72
perf-calibration-ubuntu-latest
37.1 KB
sha256:48477d60ae954c95ab3249652172e91be0c15053db7436da4eec47f78f7f7a84
perf-calibration-windows-latest
20.9 KB
sha256:e706d04d06604f072006172376611f694743473d71dd2ee91158df5de9a345cc