Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions docs/notes/precision-remeasure-2026-07-12-data/AvalonEdit.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
{
"target": "AvalonEdit",
"target_commit": "ed0bd149059469ac9bd39b13cf8a341b12a6c1da",
"ownnet_commit": "4c5a86b176b04c42f7c1cc9e51aef545a3586cc9",
"ownnet_baseline_commit": "c029e8da59a60298eece7b1fbb5708a9886f55ee",
"command": "OWN_EXTRA_REF_DIRS=<WindowsDesktop ref pack net8.0> scripts/own-check.sh --format sarif --severity warning -- <AvalonEdit checkout>",
"extractor_mode": "--flow-locals (own-check.sh default)",
"reference_resolution": "microsoft.windowsdesktop.app.ref 8.0.28/ref/net8.0 (47 dlls) via OWN_EXTRA_REF_DIRS, materialized identically to ci.yml corpus-benchmark job",
"baseline_source": "self-regenerated: OwnSharp.Extractor built at Own.NET commit c029e8da59a60298eece7b1fbb5708a9886f55ee (main, right after PR #226 merged the original oracle-sweep-2026-07-10.md sweep, before any of #218-#225's fixes), run with the identical command/flags against the same pinned target commit -- not copied from prose notes, to guarantee apples-to-apples inputs across the full #218-#240 batch",
"counts": {
"baseline_total": 29,
"current_total": 22,
"baseline_by_rule": {
"OWN001": 23,
"OWN014": 1,
"OWN050": 5
},
"current_by_rule": {
"OWN001": 17,
"OWN050": 5
}
},
"added": [],
"removed": [
{
"rule": "OWN001",
"level": "warning",
"path": "ICSharpCode.AvalonEdit/CodeCompletion/OverloadViewer.cs",
"line": 58,
"message": "event 'upButton.Click' is subscribed (handler '(sender, e) => {\n\t\t\t\te.Handled = true;\n\t\t\t\tChangeIndex(-1);\n\t\t\t}') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'OverloadViewer' alive (possible leak \u2014 and being an inline lambda it has no '-=' handle, so it could never be detached) [resource: subscription token]",
"explained_by_issue": "#222",
"explained_by_pr": "#231",
"shape": "template-part local (FindName pattern-var)"
},
{
"rule": "OWN001",
"level": "warning",
"path": "ICSharpCode.AvalonEdit/CodeCompletion/OverloadViewer.cs",
"line": 64,
"message": "event 'downButton.Click' is subscribed (handler '(sender, e) => {\n\t\t\t\te.Handled = true;\n\t\t\t\tChangeIndex(+1);\n\t\t\t}') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'OverloadViewer' alive (possible leak \u2014 and being an inline lambda it has no '-=' handle, so it could never be detached) [resource: subscription token]",
"explained_by_issue": "#222",
"explained_by_pr": "#231",
"shape": "template-part local (FindName pattern-var)"
},
{
"rule": "OWN001",
"level": "warning",
"path": "ICSharpCode.AvalonEdit/Editing/AbstractMargin.cs",
"line": 99,
"message": "event 'newTextView.DocumentChanged' is subscribed (handler 'TextViewDocumentChanged') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'AbstractMargin' alive (possible leak) [resource: subscription token]",
"explained_by_issue": "#218",
"explained_by_pr": "#230",
"shape": "DP/property-changed old->new subscription rotation"
},
{
"rule": "OWN001",
"level": "warning",
"path": "ICSharpCode.AvalonEdit/Editing/LineNumberMargin.cs",
"line": 114,
"message": "event 'newTextView.VisualLinesChanged' is subscribed (handler 'TextViewVisualLinesChanged') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'LineNumberMargin' alive (possible leak) [resource: subscription token]",
"explained_by_issue": "#218",
"explained_by_pr": "#230",
"shape": "DP/property-changed old->new subscription rotation"
},
{
"rule": "OWN001",
"level": "warning",
"path": "ICSharpCode.AvalonEdit/Folding/FoldingMargin.cs",
"line": 218,
"message": "event 'newTextView.VisualLinesChanged' is subscribed (handler 'TextViewVisualLinesChanged') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'FoldingMargin' alive (possible leak) [resource: subscription token]",
"explained_by_issue": "#218",
"explained_by_pr": "#230",
"shape": "DP/property-changed old->new subscription rotation"
},
{
"rule": "OWN001",
"level": "warning",
"path": "ICSharpCode.AvalonEdit/Search/DropDownButton.cs",
"line": 78,
"message": "event 'DropDownContent.Closed' is subscribed (handler 'DropDownContent_Closed') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'DropDownButton' alive (possible leak) [resource: subscription token]",
"explained_by_issue": "#224",
"explained_by_pr": "#231",
"shape": "self-detaching handler"
},
{
"rule": "OWN014",
"level": "warning",
"path": "ICSharpCode.AvalonEdit/Editing/ImeSupport.cs",
"line": 47,
"message": "event 'CommandManager.RequerySuggested' is subscribed (handler 'requerySuggestedHandler') to a static (process-lived) event source that outlives 'ImeSupport'; the strong subscription promotes 'ImeSupport' to the source's lifetime, so it can never be collected \u2014 a region escape (leak, no release path) [resource: subscription token]",
"explained_by_issue": "#223",
"explained_by_pr": "#231",
"shape": "CommandManager.RequerySuggested weak-event allowlist"
}
],
"changed": []
}
23 changes: 23 additions & 0 deletions docs/notes/precision-remeasure-2026-07-12-data/ClosedXML.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"target": "ClosedXML",
"target_commit": "4e89dcedd83cad553e84d2d97f77fc3d7deb630f",
"ownnet_commit": "4c5a86b176b04c42f7c1cc9e51aef545a3586cc9",
"ownnet_baseline_commit": "c029e8da59a60298eece7b1fbb5708a9886f55ee",
"command": "OWN_EXTRA_REF_DIRS=<WindowsDesktop ref pack net8.0> scripts/own-check.sh --format sarif --severity warning -- <ClosedXML checkout>",
"extractor_mode": "--flow-locals (own-check.sh default)",
"reference_resolution": "microsoft.windowsdesktop.app.ref 8.0.28/ref/net8.0 (47 dlls) via OWN_EXTRA_REF_DIRS, materialized identically to ci.yml corpus-benchmark job",
"baseline_source": "self-regenerated: OwnSharp.Extractor built at Own.NET commit c029e8da59a60298eece7b1fbb5708a9886f55ee (main, right after PR #226 merged the original oracle-sweep-2026-07-10.md sweep, before any of #218-#225's fixes), run with the identical command/flags against the same pinned target commit -- not copied from prose notes, to guarantee apples-to-apples inputs across the full #218-#240 batch",
"counts": {
"baseline_total": 270,
"current_total": 270,
"baseline_by_rule": {
"OWN001": 270
},
"current_by_rule": {
"OWN001": 270
}
},
"added": [],
"removed": [],
"changed": []
}
55 changes: 55 additions & 0 deletions docs/notes/precision-remeasure-2026-07-12-data/MahApps.Metro.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"target": "MahApps.Metro",
"target_commit": "72099e310bac2d12ac98fd7560b69679252519f5",
"ownnet_commit": "4c5a86b176b04c42f7c1cc9e51aef545a3586cc9",
"ownnet_baseline_commit": "c029e8da59a60298eece7b1fbb5708a9886f55ee",
"command": "OWN_EXTRA_REF_DIRS=<WindowsDesktop ref pack net8.0> scripts/own-check.sh --format sarif --severity warning -- <MahApps.Metro checkout>",
"extractor_mode": "--flow-locals (own-check.sh default)",
"reference_resolution": "microsoft.windowsdesktop.app.ref 8.0.28/ref/net8.0 (47 dlls) via OWN_EXTRA_REF_DIRS, materialized identically to ci.yml corpus-benchmark job",
"baseline_source": "self-regenerated: OwnSharp.Extractor built at Own.NET commit c029e8da59a60298eece7b1fbb5708a9886f55ee (main, right after PR #226 merged the original oracle-sweep-2026-07-10.md sweep, before any of #218-#225's fixes), run with the identical command/flags against the same pinned target commit -- not copied from prose notes, to guarantee apples-to-apples inputs across the full #218-#240 batch",
"counts": {
"baseline_total": 63,
"current_total": 60,
"baseline_by_rule": {
"OWN001": 3,
"OWN050": 60
},
"current_by_rule": {
"OWN050": 60
}
},
"added": [],
"removed": [
{
"rule": "OWN001",
"level": "warning",
"path": "src/MahApps.Metro/Actions/CommandTriggerAction.cs",
"line": 116,
"message": "event 'newCommand.CanExecuteChanged' is subscribed (handler 'action.OnCommandCanExecuteChanged') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'CommandTriggerAction' alive (possible leak) [resource: subscription token]",
"explained_by_issue": "#218",
"explained_by_pr": "#230",
"shape": "DP/property-changed old->new subscription rotation"
},
{
"rule": "OWN001",
"level": "warning",
"path": "src/MahApps.Metro/Behaviors/TiltBehavior.cs",
"line": 70,
"message": "event 'panel.Loaded' is subscribed (handler '(sl, el) =>\n {\n var elements = panel.Children.OfType<UIElement>().ToList();\n\n elements.ForEach(element =>\n Interaction.GetBehaviors(element).Add(\n new TiltBehavior\n {\n KeepDragging = this.KeepDragging,\n TiltFactor = this.TiltFactor\n }));\n }') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'TiltBehavior' alive (possible leak \u2014 and being an inline lambda it has no '-=' handle, so it could never be detached) [resource: subscription token]",
"explained_by_issue": "#227",
"explained_by_pr": "#237",
"shape": "Behavior.AssociatedObject self-owned source"
},
{
"rule": "OWN001",
"level": "warning",
"path": "src/MahApps.Metro/Controls/MetroWindow.cs",
"line": 1448,
"message": "event 'metroContentControl.TransitionCompleted' is subscribed (handler '(_, _) => this.RaiseEvent(new RoutedEventArgs(WindowTransitionCompletedEvent))') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'MetroWindow' alive (possible leak \u2014 and being an inline lambda it has no '-=' handle, so it could never be detached) [resource: subscription token]",
"explained_by_issue": "#222",
"explained_by_pr": "#231",
"shape": "template-part local (GetTemplateChild pattern-var)"
}
],
"changed": []
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
{
"target": "MaterialDesignInXamlToolkit",
"target_commit": "ef3a5ea434e39182b1848f5e11aaea6b3890581f",
"ownnet_commit": "4c5a86b176b04c42f7c1cc9e51aef545a3586cc9",
"ownnet_baseline_commit": "c029e8da59a60298eece7b1fbb5708a9886f55ee",
"command": "OWN_EXTRA_REF_DIRS=<WindowsDesktop ref pack net8.0> scripts/own-check.sh --format sarif --severity warning -- <MaterialDesignInXamlToolkit checkout>",
"extractor_mode": "--flow-locals (own-check.sh default)",
"reference_resolution": "microsoft.windowsdesktop.app.ref 8.0.28/ref/net8.0 (47 dlls) via OWN_EXTRA_REF_DIRS, materialized identically to ci.yml corpus-benchmark job",
"baseline_source": "self-regenerated: OwnSharp.Extractor built at Own.NET commit c029e8da59a60298eece7b1fbb5708a9886f55ee (main, right after PR #226 merged the original oracle-sweep-2026-07-10.md sweep, before any of #218-#225's fixes), run with the identical command/flags against the same pinned target commit -- not copied from prose notes, to guarantee apples-to-apples inputs across the full #218-#240 batch",
"counts": {
"baseline_total": 153,
"current_total": 148,
"baseline_by_rule": {
"OWN001": 23,
"OWN050": 130
},
"current_by_rule": {
"OWN001": 18,
"OWN050": 130
}
},
"added": [],
"removed": [
{
"rule": "OWN001",
"level": "warning",
"path": "src/MahMaterialDragablzMashUp/App.xaml.cs",
"line": 22,
"message": "event 'themeManager.ThemeChanged' is subscribed (handler 'ThemeManager_ThemeChanged') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'App' alive (possible leak) [resource: subscription token]",
"explained_by_issue": "#228",
"explained_by_pr": "#232",
"shape": "curated app-scoped source (PaletteHelper.GetThemeManager)"
},
{
"rule": "OWN001",
"level": "warning",
"path": "src/MaterialDesignThemes.Wpf/SmartHint.cs",
"line": 205,
"message": "event 'newHintProxy.IsVisibleChanged' is subscribed (handler 'smartHint.OnHintProxyIsVisibleChanged') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'SmartHint' alive (possible leak) [resource: subscription token]",
"explained_by_issue": "#218",
"explained_by_pr": "#230",
"shape": "DP/property-changed old->new subscription rotation"
},
{
"rule": "OWN001",
"level": "warning",
"path": "src/MaterialDesignThemes.Wpf/SmartHint.cs",
"line": 206,
"message": "event 'newHintProxy.ContentChanged' is subscribed (handler 'smartHint.OnHintProxyContentChanged') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'SmartHint' alive (possible leak) [resource: subscription token]",
"explained_by_issue": "#218",
"explained_by_pr": "#230",
"shape": "DP/property-changed old->new subscription rotation"
},
{
"rule": "OWN001",
"level": "warning",
"path": "src/MaterialDesignThemes.Wpf/SmartHint.cs",
"line": 207,
"message": "event 'newHintProxy.Loaded' is subscribed (handler 'smartHint.OnHintProxyContentChanged') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'SmartHint' alive (possible leak) [resource: subscription token]",
"explained_by_issue": "#218",
"explained_by_pr": "#230",
"shape": "DP/property-changed old->new subscription rotation"
},
{
"rule": "OWN001",
"level": "warning",
"path": "src/MaterialDesignThemes.Wpf/SmartHint.cs",
"line": 208,
"message": "event 'newHintProxy.FocusedChanged' is subscribed (handler 'smartHint.OnHintProxyFocusedChanged') but never unsubscribed; its source is an injected dependency whose lifetime is unknown, so it may outlive and keep 'SmartHint' alive (possible leak) [resource: subscription token]",
"explained_by_issue": "#218",
"explained_by_pr": "#230",
"shape": "DP/property-changed old->new subscription rotation"
}
],
"changed": []
}
Loading
Loading