The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
This report summarizes scanner evidence for dotnet/fsharp, a F# project with 4,347 GitHub stars. SynthScan examined 155,804 lines of code across 673 source files, recording 332 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 6.2 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 259 finding(s).
Are imports declared and package/API names verified? 57 finding(s).
Are wrappers, guards, and repeated structures necessary? 73 finding(s).
Which changes need focused human review? 332 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 332 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …onTests/TestFramework/FSharpLanguageServiceApexTest.cs | 160 | this.Library.Editor.LightBulb.Verify.IsLightBulbPresent(TimeSpan.FromSeconds(60)), | CODE |
| CRITICAL | …onTests/TestFramework/FSharpLanguageServiceApexTest.cs | 212 | this.Library.VisualStudio.ObjectModel.Solution.BuildManager.Build(waitForBuildToFinish: true); | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 102 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 103 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 106 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 107 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 108 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 109 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 110 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 114 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 119 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 123 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 124 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 125 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 132 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 134 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 140 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 142 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 145 | [assembly: SuppressMessage("Microsoft.Usage", "CA2208:InstantiateArgumentExceptionsCorrectly", Scope = "member", Target | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 146 | [assembly: SuppressMessage("Microsoft.Usage", "CA2208:InstantiateArgumentExceptionsCorrectly", Scope = "member", Target | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 148 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 150 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 152 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 153 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 155 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 188 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 195 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 196 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 197 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 201 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 202 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 203 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 204 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 213 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 214 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 227 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 232 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 241 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 250 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 257 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 277 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 284 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 286 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 287 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 288 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 297 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL⚡ | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 301 | [assembly: SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", Scope = "member", Target = "Microsoft.V | CODE |
| CRITICAL | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 40 | [assembly: SuppressMessage("Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands", Scope = "member", | CODE |
| CRITICAL | …c/FSharp.ProjectSystem.Base/Automation/OAProperties.cs | 100 | return this.target.Node.ProjectMgr.Site.GetService(typeof(EnvDTE.DTE)) as EnvDTE.DTE; | CODE |
| CRITICAL | …src/FSharp.ProjectSystem.Base/Automation/OAProperty.cs | 151 | IVsExtensibility3 extensibility = this.parent.Target.Node.ProjectMgr.Site.GetService(typeof(IVsExtensibi | CODE |
| CRITICAL | …src/FSharp.ProjectSystem.Base/Automation/OAProperty.cs | 180 | IVsExtensibility3 extensibility = this.parent.Target.Node.ProjectMgr.Site.GetService(typeof(IVsExtensibi | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | azure-pipelines-PR.yml | 601 | publishLocation: pipeline | COMMENT |
| LOW | eng/common/SetupNugetSources.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | eng/common/vmr-sync.sh | 1 | #!/bin/bash | COMMENT |
| LOW | eng/common/vmr-sync.sh | 21 | ### | COMMENT |
| LOW | eng/common/native/init-distro-rid.sh | 1 | #!/bin/sh | COMMENT |
| LOW | eng/common/native/init-distro-rid.sh | 61 | COMMENT | |
| LOW | …common/templates-official/variables/pool-providers.yml | 1 | # Select a pool provider based off branch name. Anything with branch name containing 'release' must go into an -Svc pool | COMMENT |
| LOW | eng/common/templates/vmr-build-pr.yml | 1 | # This pipeline is used for running the VMR verification of the PR changes in repo-level PRs. | COMMENT |
| LOW | eng/common/templates/variables/pool-providers.yml | 1 | # Select a pool provider based off branch name. Anything with branch name containing 'release' must go into an -Svc pool | COMMENT |
| LOW | eng/common/core-templates/stages/renovate.yml | 1 | # -------------------------------------------------------------------------------------- | COMMENT |
| LOW | …g/common/core-templates/steps/get-github-app-token.yml | 1 | # Mints a short-lived GitHub App installation access token by signing a JWT | COMMENT |
| LOW | eng/common/core-templates/steps/install-microbuild.yml | 1 | parameters: | COMMENT |
| LOW | eng/common/core-templates/job/renovate.yml | 1 | # -------------------------------------------------------------------------------------- | COMMENT |
| LOW | eng/common/core-templates/job/source-build.yml | 1 | parameters: | COMMENT |
| LOW | eng/common/core-templates/job/source-build.yml | 21 | # published by source-build. | COMMENT |
| LOW | eng/templates/batched-test-steps.yml | 1 | # Steps template for batched test jobs. | COMMENT |
| LOW | tests/KnownFail.txt | 1 | ## If no tags specified, then the test is excluded on any configuration | COMMENT |
| LOW | tests/KnownFail.txt | 21 | # VS2008 - F# VS2008 installed | COMMENT |
| LOW | tests/fsharp/core/forwarders/a.cs | 1 | // The test strategy here is: | COMMENT |
| LOW | …ders/DummyProviderForLanguageServiceTesting/FSData.txt | 1 | # FSharp.Data resource strings | COMMENT |
| LOW | …ditor.Apex.IntegrationTests/Build/BuildProjectTests.cs | 1 | // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license informati | COMMENT |
| LOW | …grationTests/TestFramework/RetryTestMethodAttribute.cs | 1 | // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license informati | COMMENT |
| LOW | …pex.IntegrationTests/TestFramework/TextDocumentView.cs | 61 | COMMENT | |
| LOW | …onTests/TestFramework/FSharpLanguageServiceApexTest.cs | 41 | /// </summary> | COMMENT |
| LOW | …onTests/TestFramework/FSharpLanguageServiceApexTest.cs | 201 | COMMENT | |
| LOW | …/src/FSharp.ProjectSystem.Base/ProjectReferenceNode.cs | 41 | COMMENT | |
| LOW | …ation/src/FSharp.ProjectSystem.Base/DocumentManager.cs | 41 | { | COMMENT |
| LOW | …ation/src/FSharp.ProjectSystem.Base/DocumentManager.cs | 61 | /// </summary> | COMMENT |
| LOW | …ration/src/FSharp.ProjectSystem.Base/IDEBuildLogger.cs | 701 | // TODO: Continue this code to get the Verbosity when we have a version that supports automation to get the | COMMENT |
| LOW | …tegration/src/FSharp.ProjectSystem.Base/ProjectNode.cs | 581 | COMMENT | |
| LOW | …tegration/src/FSharp.ProjectSystem.Base/ProjectNode.cs | 3721 | COMMENT | |
| LOW | …tegration/src/FSharp.ProjectSystem.Base/ProjectNode.cs | 4341 | } | COMMENT |
| LOW | …tegration/src/FSharp.ProjectSystem.Base/ProjectNode.cs | 4821 | /// <param name="op"></param> | COMMENT |
| LOW | …tegration/src/FSharp.ProjectSystem.Base/ProjectNode.cs | 6141 | COMMENT | |
| LOW | …src/FSharp.ProjectSystem.Base/ProjectNode.CopyPaste.cs | 21 | /// Manages the CopyPaste and Drag and Drop scenarios for a Project. | COMMENT |
| LOW | …src/FSharp.ProjectSystem.Base/ProjectNode.CopyPaste.cs | 161 | /// <summary> | COMMENT |
| LOW | …src/FSharp.ProjectSystem.Base/ProjectNode.CopyPaste.cs | 881 | /// <summary> | COMMENT |
| LOW | …ration/src/FSharp.ProjectSystem.Base/ProjectFactory.cs | 81 | /// <summary> | COMMENT |
| LOW | …ation/src/FSharp.ProjectSystem.Base/StructuresEnums.cs | 261 | /// Defines the global properties used by the msbuild project. | COMMENT |
| LOW | …ation/src/FSharp.ProjectSystem.Base/StructuresEnums.cs | 281 | /// <summary> | COMMENT |
| LOW | …ation/src/FSharp.ProjectSystem.Base/StructuresEnums.cs | 301 | /// <summary> | COMMENT |
| LOW | …ation/src/FSharp.ProjectSystem.Base/StructuresEnums.cs | 401 | /// </summary> | COMMENT |
| LOW | …integration/src/FSharp.ProjectSystem.Base/Utilities.cs | 101 | COMMENT | |
| LOW | …tegration/src/FSharp.ProjectSystem.Base/OutputGroup.cs | 221 | { | COMMENT |
| LOW | …ration/src/FSharp.ProjectSystem.Base/ConfigProvider.cs | 141 | } | COMMENT |
| LOW | …n/src/FSharp.ProjectSystem.Base/FileDocumentManager.cs | 41 | /// <param name="windowFrameAction">Determine the UI action on the document window</param> | COMMENT |
| LOW | vsintegration/src/FSharp.ProjectSystem.Base/FileNode.cs | 701 | /// </summary> | COMMENT |
| LOW | …gration/src/FSharp.ProjectSystem.Base/ProjectConfig.cs | 1381 | pages[0] = PackageUtilities.CreateCAUUIDFromGuidArray(guids); | COMMENT |
| LOW | …ion/src/FSharp.ProjectSystem.Base/FileChangeManager.cs | 21 | /// Defines a data structure that can link a item moniker to the item and its file change cookie. | COMMENT |
| LOW | …on/src/FSharp.ProjectSystem.Base/GlobalSuppressions.cs | 1 | // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license informati | COMMENT |
| LOW | …ration/src/FSharp.ProjectSystem.Base/LinkedFileNode.cs | 81 | /// Override GetProperty so we can support linked files. | COMMENT |
| LOW | …gration/src/FSharp.ProjectSystem.Base/HierarchyNode.cs | 1101 | /// Called by the drag and drop implementation to ask the node | COMMENT |
| LOW | …gration/src/FSharp.ProjectSystem.Base/HierarchyNode.cs | 1441 | COMMENT | |
| LOW | …gration/src/FSharp.ProjectSystem.Base/HierarchyNode.cs | 1461 | if (cmdGroup == VsMenus.guidVsUIHierarchyWindowCmds) | COMMENT |
| LOW | …gration/src/FSharp.ProjectSystem.Base/HierarchyNode.cs | 2701 | } | COMMENT |
| LOW | …gration/src/FSharp.ProjectSystem.Base/HierarchyNode.cs | 2801 | else | COMMENT |
| LOW | …on/src/FSharp.ProjectSystem.Base/OleServiceProvider.cs | 141 | /// <summary> | COMMENT |
| LOW | …p.ProjectSystem.Base/Misc/AutomationExtenderManager.cs | 521 | EventDescriptorCollection ICustomTypeDescriptor.GetEvents() { | COMMENT |
| LOW | …p.ProjectSystem.Base/Misc/AutomationExtenderManager.cs | 801 | COMMENT | |
| LOW | …on/src/FSharp.ProjectSystem.Base/Misc/NativeMethods.cs | 581 | return s.ToString(); | COMMENT |
| 70 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ms/regression-sourcebuild-cpm-runtime-version-floor.md | 67 | [#20290](https://github.com/dotnet/fsharp/pull/20290): reference `$(System*Version)` directly in `eng/Packages.props` (m | CODE |
| MEDIUM | docs/performance-improvement-review/evidence.md | 5 | **Attribution correction (sprint 10):** the #20348/#20352 seeds came from orchestration, not an original-user attestatio | CODE |
| MEDIUM | docs/performance-improvement-review/validation.md | 808 | Archive **T** = `R\b8acc633-d504-4744-b6c6-467dd7b37ea1\files`, using R from [archive coordinates](#frozen-identities-an | CODE |
| MEDIUM⚡ | docs/performance-improvement-review/corpus.md | 226 | | [PR-19629](https://github.com/dotnet/fsharp/pull/19629) Add LabelOps agentic workflows (conflict & CI auto-resolve) | | CODE |
| MEDIUM⚡ | docs/performance-improvement-review/corpus.md | 232 | | [PR-19655](https://github.com/dotnet/fsharp/pull/19655) Disable noop report-as-issue for all agentic workflows | Copil | CODE |
| MEDIUM⚡ | docs/performance-improvement-review/corpus.md | 238 | | [PR-19680](https://github.com/dotnet/fsharp/pull/19680) Add PR Tooling Safety Check — scanner for detecting changes in | CODE |
| MEDIUM⚡ | docs/performance-improvement-review/corpus.md | 239 | | [PR-19682](https://github.com/dotnet/fsharp/pull/19682) Add weekly state machine diagram generator for agentic workflo | CODE |
| MEDIUM⚡ | docs/performance-improvement-review/corpus.md | 248 | | [PR-19720](https://github.com/dotnet/fsharp/pull/19720) [Agentic State Machine] Add agentic workflow state mac | CODE |
| MEDIUM⚡ | docs/performance-improvement-review/corpus.md | 248 | | [PR-19720](https://github.com/dotnet/fsharp/pull/19720) [Agentic State Machine] Add agentic workflow state mac | CODE |
| MEDIUM | docs/performance-improvement-review/corpus.md | 313 | | [PR-19852](https://github.com/dotnet/fsharp/pull/19852) Fix agentic-state-machine workflow: add protected-files: allow | CODE |
| MEDIUM | docs/performance-improvement-review/corpus.md | 342 | | [PR-19901](https://github.com/dotnet/fsharp/pull/19901) Improve agentic state-machine generator prompt | T-Gro/User | | CODE |
| MEDIUM | docs/performance-improvement-review/corpus.md | 364 | | [PR-19953](https://github.com/dotnet/fsharp/pull/19953) Stop agentic-workflow failure-issue spam | T-Gro/User | 2026-0 | CODE |
| MEDIUM | docs/performance-improvement-review/corpus.md | 653 | | [PR-20606](https://github.com/dotnet/fsharp/pull/20606) Prevent scheduled agentic workflows from running in forks | T- | CODE |
| MEDIUM | .github/workflows/agentic-state-machine.lock.yml | 25 | # Reads all agentic workflow .md files in this repo, extracts the | COMMENT |
| MEDIUM | .github/workflows/agentic-state-machine.lock.yml | 248 | {{#runtime-import .github/workflows/agentic-state-machine.md}} | CODE |
| MEDIUM | .github/agents/agentic-workflows.agent.md | 41 | - Configuration: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/github-agentic-workflows.md | CODE |
| MEDIUM⚡ | .github/agents/agentic-workflows.agent.md | 63 | **Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/create-agentic-workflow.md | CODE |
| MEDIUM⚡ | .github/agents/agentic-workflows.agent.md | 73 | **Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/update-agentic-workflow.md | CODE |
| MEDIUM⚡ | .github/agents/agentic-workflows.agent.md | 83 | **Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/debug-agentic-workflow.md | CODE |
| MEDIUM⚡ | .github/agents/agentic-workflows.agent.md | 93 | **Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/upgrade-agentic-workflows.md | CODE |
| MEDIUM | .github/agents/agentic-workflows.agent.md | 113 | **Prompt file**: https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/create-shared-agentic-workflow.md | CODE |
| MEDIUM | .github/agents/agentic-workflows.agent.md | 197 | # Initialize repository for agentic workflows | COMMENT |
| MEDIUM | .github/agents/agentic-workflows.agent.md | 229 | - Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.74.8/.github/aw/github-agentic-workf | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | eng/common/core-templates/stages/renovate.yml | 1 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | eng/common/core-templates/stages/renovate.yml | 3 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | eng/common/core-templates/stages/renovate.yml | 9 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | eng/common/core-templates/job/renovate.yml | 1 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | eng/common/core-templates/job/renovate.yml | 3 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | eng/common/core-templates/job/renovate.yml | 17 | # -------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/LegacyMSBuildResolver/LegacyResolver.txt | 1 | # ------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/LegacyMSBuildResolver/LegacyResolver.txt | 3 | # ------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Compiler/FSComp.txt | 1 | # ------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Compiler/FSComp.txt | 3 | # ------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Compiler/FSComp.txt | 1022 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Compiler/FSComp.txt | 1024 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Compiler/FSComp.txt | 1134 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/Compiler/FSComp.txt | 1136 | # ----------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | eng/common/cross/install-debs.py | 51 | async def download_deb_files_parallel(mirror, packages, tmp_dir): | CODE |
| LOW | eng/common/cross/install-debs.py | 67 | async def download_package_index_parallel(mirror, arch, suites, check_sig, keyring): | CODE |
| LOW | eng/common/cross/install-debs.py | 339 | def _rootfs_extraction_filter(member, dest_path): | CODE |
| LOW | …rmance-improvement-review/mining/tools/test_collect.py | 39 | def test_reconcile_preserves_authors_and_linked_membership(self): | CODE |
| LOW | …rmance-improvement-review/mining/tools/test_collect.py | 55 | def test_original_inventory_ignores_marker_mentions_in_prose(self): | CODE |
| LOW | …rmance-improvement-review/mining/tools/test_collect.py | 64 | def test_reconciliation_mutations(self): | CODE |
| LOW | …rmance-improvement-review/mining/tools/test_collect.py | 88 | def test_cache_read_is_relative_hashed_and_never_downloaded(self): | CODE |
| LOW | …rmance-improvement-review/mining/tools/test_collect.py | 107 | def test_historical_inspection_is_not_promoted(self): | CODE |
| LOW | …rmance-improvement-review/mining/tools/test_collect.py | 120 | def test_write_reuses_identical_outputs_but_never_discards_edits(self): | CODE |
| LOW | …rmance-improvement-review/mining/tools/test_collect.py | 190 | def test_recover_and_cli_reuse_complete_temporary_archive(self): | CODE |
| LOW | …rmance-improvement-review/mining/tools/test_collect.py | 243 | def test_recover_and_cli_reject_invalid_temporary_archives(self): | CODE |
| LOW | …rmance-improvement-review/mining/tools/test_collect.py | 275 | def test_cli_rejects_changed_source_seal_before_writing(self): | CODE |
| LOW⚡ | …mance-improvement-review/mining/tools/test_validate.py | 102 | def test_other_release_note_files_still_freeze_all_bytes(self): | CODE |
| LOW⚡ | …mance-improvement-review/mining/tools/test_validate.py | 112 | def test_frozen_fixture_passes_without_completion_credit(self): | CODE |
| LOW⚡ | …mance-improvement-review/mining/tools/test_validate.py | 120 | def test_identity_and_schema_mutations(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 70 | def test_release_note_preserves_the_entry_without_freezing_unrelated_additions(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 85 | def test_release_note_rejects_missing_duplicate_or_reclassified_entries(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 179 | def test_loaders_and_sealed_digest(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 213 | def test_scope_and_exposure_freeze(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 222 | def test_scope_mutations_fail_closed(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 260 | def test_protocol_is_immutable_before_outputs(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 273 | def test_family_renaming_does_not_erase_exposure(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 279 | def test_unknown_or_semantic_exposure_cannot_be_fresh(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 296 | def test_central_package_management_variants_share_exposure_boundary(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 324 | def test_freshness_requires_complete_audits(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 351 | def test_connected_family_cannot_straddle_splits(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 358 | def test_coordinated_family_rename_cannot_clear_history(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 373 | def test_invalid_human_authorship_attestations(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 407 | def test_live_inventory_and_fail_closed_stages(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 433 | def test_cli_cannot_accept_an_injected_manifest_or_bypass_inventory(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 471 | def test_scope_freeze_cannot_reseal_substituted_data(self): | CODE |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 481 | def test_frozen_reviewer_and_evidence_unchanged(self): | CODE |
| LOW | …hub/workflows/tests/test_build_failure_contributors.py | 114 | def test_patch_is_complete_applicable_bounded_and_not_executed(self): | STRING |
| LOW | …hub/workflows/tests/test_build_failure_contributors.py | 169 | def test_command_retries_deduplicate_bot_summaries_and_reviews_for_the_exact_request(self): | STRING |
| LOW | …hub/workflows/tests/test_build_failure_contributors.py | 196 | def test_patch_link_requires_a_successful_upload(self): | STRING |
| LOW | …hub/workflows/tests/test_build_failure_contributors.py | 212 | def test_source_and_compiled_patch_guards_precede_publication(self): | STRING |
| LOW | …hub/workflows/tests/test_build_failure_contributors.py | 240 | def test_local_agent_reuses_the_pinned_mcp_and_validated_collector(self): | STRING |
| LOW⚡ | …hub/workflows/tests/test_build_failure_contributors.py | 313 | def test_fork_pr_failures_notify_the_author_without_trusting_pr_code(self): | STRING |
| LOW⚡ | …hub/workflows/tests/test_build_failure_contributors.py | 322 | def test_default_branch_failures_have_one_owner_triaged_issue(self): | STRING |
| LOW⚡ | …hub/workflows/tests/test_build_failure_contributors.py | 330 | def test_stale_closed_prs_are_not_blamed_and_missing_association_is_escalated(self): | STRING |
| LOW⚡ | …hub/workflows/tests/test_build_failure_contributors.py | 337 | def test_recovered_or_superseded_attempts_do_not_notify_and_wrong_workflows_fail(self): | STRING |
| LOW | …hub/workflows/tests/test_build_failure_contributors.py | 348 | def test_pr_failure_notifications_update_only_the_existing_bot_owned_report(self): | STRING |
| LOW | …hub/workflows/tests/test_build_failure_contributors.py | 357 | def test_regression_runs_on_every_pr_and_notifications_are_least_privileged(self): | STRING |
| LOW | .github/workflows/tests/test_fetch_build_binlogs.py | 104 | def test_extracts_regular_binlogs_to_generated_names(self): | STRING |
| LOW | .github/workflows/tests/test_fetch_build_binlogs.py | 116 | def test_rejects_unsafe_paths_and_entry_types(self): | STRING |
| LOW | .github/workflows/tests/test_fetch_build_binlogs.py | 134 | def test_preserves_validated_output_prefixes(self): | STRING |
| LOW | .github/workflows/tests/test_fetch_build_binlogs.py | 141 | def test_budget_failure_removes_partial_outputs(self): | STRING |
| LOW | .github/workflows/tests/test_fetch_build_binlogs.py | 152 | def test_archive_limits_are_enforced_before_extraction(self): | STRING |
| LOW | .github/workflows/tests/test_fetch_build_binlogs.py | 167 | def test_accepts_documented_artifact_hosts_only(self): | STRING |
| LOW | .github/workflows/tests/test_fetch_build_binlogs.py | 191 | def test_build_and_current_revision_must_match(self): | STRING |
| LOW | .github/workflows/tests/test_fetch_build_binlogs.py | 246 | def test_exact_copy_budgets_charge_failed_attempts_before_writing(self): | STRING |
| LOW | .github/workflows/tests/test_fetch_build_binlogs.py | 255 | def test_http_redirect_retry_and_body_deadline(self): | STRING |
| LOW | .github/workflows/tests/test_command_publication.py | 95 | def test_completion_requires_agent_cli_and_safe_output_success(self): | STRING |
| LOW | .github/workflows/tests/test_command_publication.py | 111 | def test_completion_is_bound_to_the_exact_command(self): | STRING |
| LOW | .github/workflows/tests/test_command_publication.py | 117 | def test_compiled_workflow_preserves_the_source_predicate(self): | STRING |
| LOW | .github/workflows/tests/test_command_publication.py | 131 | def test_fix_delivery_requires_validation_and_blocks_fork_pushes(self): | STRING |
| LOW | .github/workflows/tests/test_command_publication.py | 181 | def test_suggestions_require_one_validated_surgical_patch(self): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …hub/workflows/tests/test_build_failure_contributors.py | 25 | actions: {async getWorkflowRun() {return {data: input.current_run || input.run};}}, | CODE |
| HIGH⚡ | …hub/workflows/tests/test_build_failure_contributors.py | 30 | async createComment(value) {calls.push(["comment", value]);}, | CODE |
| HIGH⚡ | …hub/workflows/tests/test_build_failure_contributors.py | 31 | async updateComment(value) {calls.push(["update-comment", value]);}, | CODE |
| HIGH⚡ | …hub/workflows/tests/test_build_failure_contributors.py | 32 | async create(value) {calls.push(["issue", value]);}, | CODE |
| HIGH⚡ | …hub/workflows/tests/test_build_failure_contributors.py | 33 | async update(value) {calls.push(["update-issue", value]);}, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/performance-improvement-review/corpus.md | 998 | Author says the trait-source walk eagerly imports all namespaces of non-F# references even though their value lists cann | CODE |
| HIGH | docs/performance-improvement-review/corpus.md | 1124 | | [inline-comments:3812377984](https://github.com/dotnet/fsharp/pull/20244#discussion_r3812377984) | T-Gro; MEMBER; auth | CODE |
| HIGH | docs/performance-improvement-review/corpus.md | 1124 | | [inline-comments:3812377984](https://github.com/dotnet/fsharp/pull/20244#discussion_r3812377984) | T-Gro; MEMBER; auth | CODE |
| HIGH | docs/performance-improvement-review/corpus.md | 1743 | | [reviews:5155491204](https://github.com/dotnet/fsharp/pull/20416#pullrequestreview-5155491204) | T-Gro; MEMBER; review | CODE |
| HIGH | docs/performance-improvement-review/corpus.md | 1743 | | [reviews:5155491204](https://github.com/dotnet/fsharp/pull/20416#pullrequestreview-5155491204) | T-Gro; MEMBER; review | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | .github/skills/pr-build-status/SKILL.md | 77 | ### Step 1: Get Failed Build ID | COMMENT |
| LOW⚡ | .github/skills/pr-build-status/SKILL.md | 83 | ### Step 2: List ALL Failed Jobs (Cross-Platform!) | COMMENT |
| LOW⚡ | .github/skills/pr-build-status/SKILL.md | 93 | ### Step 3: Get Errors Per Platform | COMMENT |
| LOW⚡ | .github/skills/pr-build-status/SKILL.md | 101 | ### Step 4: Write CI_ERRORS.md | COMMENT |
| LOW | .github/skills/pr-build-status/SKILL.md | 135 | ### Step 5: Reproduce Locally BEFORE Fixing | COMMENT |
| LOW | .github/skills/pr-build-status/SKILL.md | 144 | ### Step 6: Fix and Verify | COMMENT |
| LOW | .github/skills/hypothesis-driven-debugging/SKILL.md | 31 | ### Step 1: Create Minimal Reproduction | COMMENT |
| LOW | .github/skills/hypothesis-driven-debugging/SKILL.md | 59 | ### Step 2: Form 3 Hypotheses | COMMENT |
| LOW | .github/skills/hypothesis-driven-debugging/SKILL.md | 83 | ### Step 3: Verification Methods | COMMENT |
| LOW | .github/skills/hypothesis-driven-debugging/SKILL.md | 120 | ### Step 4: Document Findings | COMMENT |
| LOW | .github/skills/hypothesis-driven-debugging/SKILL.md | 162 | ### Step 5: Critical - Always Re-run Tests | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | eng/common/tools.sh | 337 | # Check if the script is older than 30 days using timestamp file | COMMENT |
| LOW | eng/common/tools.sh | 446 | # Check if the toolset has already been extracted | COMMENT |
| LOW | eng/common/SetupNugetSources.sh | 66 | # Check if disabledPackageSources section exists | COMMENT |
| LOW | eng/common/SetupNugetSources.sh | 72 | # Check if this source name is disabled | COMMENT |
| LOW | eng/common/SetupNugetSources.sh | 92 | # Check if source already exists | COMMENT |
| LOW | eng/common/SetupNugetSources.sh | 122 | # Check if disabledPackageSources section exists | COMMENT |
| LOW | eng/common/SetupNugetSources.sh | 192 | # Check if there is no existing credential for this FeedName | COMMENT |
| LOW | eng/common/core-templates/steps/source-build.yml | 31 | # Check if AzDO substitutes in a build config from a variable, and use it if so. | COMMENT |
| LOW | eng/common/core-templates/steps/install-microbuild.yml | 64 | # Check if ESRP is disabled while SignType is real | COMMENT |
| LOW | .github/workflows/check_release_notes.yml | 137 | # Check if path is in modified files: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | eng/common/cross/install-debs.py | 20 | CODE | |
| LOW | eng/common/cross/install-debs.py | 198 | CODE | |
| LOW | eng/common/cross/install-debs.py | 223 | CODE | |
| LOW | eng/common/cross/install-debs.py | 261 | CODE | |
| LOW | eng/common/cross/install-debs.py | 295 | CODE | |
| LOW | eng/common/cross/install-debs.py | 350 | CODE | |
| LOW | …rmance-improvement-review/mining/tools/test_collect.py | 88 | CODE | |
| LOW | …erformance-improvement-review/mining/tools/validate.py | 190 | CODE | |
| LOW | …mance-improvement-review/mining/tools/test_validate.py | 179 | CODE | |
| LOW | …hub/workflows/tests/test_build_failure_contributors.py | 114 | CODE | |
| LOW | …hub/workflows/tests/test_build_failure_contributors.py | 196 | CODE | |
| LOW | .github/workflows/tests/test_fetch_build_binlogs.py | 255 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | eng/common/cross/install-debs.py | 128 | # keyboxd, which makes it robust on hosts running GnuPG 2.4+ (e.g. Azure | COMMENT |
| LOW | …ommon/core-templates/steps/enable-internal-sources.yml | 34 | # If running on dnceng (internal project), just use the default behavior for NuGetAuthenticate. | COMMENT |
| MEDIUM | …ration/src/FSharp.ProjectSystem.Base/ConfigProvider.cs | 108 | // Be robust in release | COMMENT |
| MEDIUM | …tegration/src/FSharp.LanguageService.Base/Utilities.cs | 631 | // Absolutely no match | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | eng/common/native/install-dependencies.sh | 7 | # Usage: | COMMENT |
| LOW | …common/templates-official/variables/pool-providers.yml | 12 | # How to use: | COMMENT |
| LOW | eng/common/templates/variables/pool-providers.yml | 12 | # How to use: | COMMENT |
| LOW⚡ | eng/common/core-templates/job/renovate.yml | 11 | # Usage: | COMMENT |
| LOW | eng/templates/batched-test-steps.yml | 4 | # Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | eng/common/cross/build-rootfs.sh | 693 | # Create the symlink in the same directory | COMMENT |
| MEDIUM | eng/common/core-templates/job/helix-job-monitor.yml | 214 | # Create a minimal NuGet.config that only references the local nupkg directory. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | eng/common/cross/install-debs.py | 44 | print(f"Error downloading {url}: {type(e).__name__} - {e}. Retrying...") | CODE |
| MEDIUM | eng/common/cross/install-debs.py | 208 | print(f"Error: Package '{current}' was not found in the available packages.") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | eng/common/cross/install-debs.py | 18 | CODE |