# Performance-improvement review corpus

<!-- BEGIN CURRENT SCOPE STATUS -->
**Current scope freeze:** [485-PR index and policy](mining/README.md), [exposure ledger](mining/evaluation/exposure.json), and [evaluation protocol](mining/evaluation/protocol.json). Historical sections below are preserved; previous holdout labels do not establish freshness. Real-source availability gaps block evaluation acceptance, not inventory accounting.
<!-- END CURRENT SCOPE STATUS -->
## Snapshot and scope

This is an acquisition record, not a reviewer, evidence-derived rules, or a review checklist. It preserves candidate selection, source provenance, historical revisions and an untouched family-level evaluation reserve.

The original inventory/split tables below are the **pre-drafting snapshot**. Current reconciled status is in [final source-coverage accounting](#final-source-coverage-accounting) and [effective applicability coverage](#effective-applicability-coverage); acquisition history remains in [the reserved-source study](#reserved-source-acquisition-and-holdout-study). Historical "untouched" and "not evaluated" statements describe that earlier freeze, not the later execution status. Source-attribution corrections are in [the named conversation audit](evidence.md#named-conversation-audit); no original-user authorship attestation is claimed.

Field | Frozen value
--- | ---
Repository | [dotnet/fsharp](https://github.com/dotnet/fsharp)
Calendar window | 2026-04-22 through 2026-09-22, inclusive calendar dates
Exact historical cutoff | **2026-09-22T09:28:34Z**; lower bound **2026-04-22T00:00:00Z**
Retrieval | Started 2026-09-22T09:28:56Z, after the historical cutoff; final acquisition time is recorded under acquisition validation
Checkout | `bd4e77f0f51e96f701357a7a7fc75d6c72aee693`; clean at start; no reset or branch switch
Access | Authenticated `gh`, account T-Gro; public GitHub REST, GraphQL and Git object reads succeeded. No GitHub writes were performed. Private Azure work items, service connections and unposted benchmark data are not available from these sources.
Bulk storage | Session `c8f75c7a-5c38-4380-a60f-80b1f04b4d69`, persistent `files` directory; raw API pages, patches, historical source and acquisition checks are not repository deliverables
Unit of evidence | PR, nested within a mechanism family. Multiple comments/reviews/revisions do not create independent PR votes.

All results of both primary-author searches were screened, including complete descriptions, not just titles or labels. Other authors were discovered by the union of live performance-related labels, title/body terms and relevant local links. Open, draft, merged and closed-unmerged states were retained. A nonempty performance claim, measurement, or concrete performance-oriented mechanism in the title, label or description qualifies; a template's unchecked benchmark checkbox does not. Linked versions stay together even when one version has no independent performance claim. Correctness-only optimizer/cache changes remain excluded rather than inheriting eligibility from their vocabulary.

Created-in-window PRs qualify temporally by creation. Older candidates require a timestamped event in the window; `updatedAt` alone is not proof. Earlier descriptions, commits and discussions are explicitly context, not newly created in-window evidence. Retrieval-time states, labels, descriptions and thread resolution are snapshots: GitHub does not provide an immutable history of every edit, deletion or resolution transition. The cutoff bounds evidence, not the time an API request ran.

Role boundaries were read at the checkout revision: `.github\agents\extraction-pipeline.md` supplies collection-channel and PR-normalization concepts, not generated review rules; `.github\agents\expert-reviewer.md` describes the general correctness reviewer; `.github\agents\compiler-perf-investigator.md` describes measurement/investigation. None is human-review evidence. `tests\benchmarks\README.md` distinguishes compiler/FCS/IDE performance from generated-program performance and warns against comparing different machines/environments. No builds, benchmarks or compiler tests were run for this documentation-only sprint.

## Discovery ledger

The exact queries and their observed totals are below. Every search used:

```powershell
gh api --method GET search/issues -f "q=$query" -f per_page=100 --paginate --slurp
```

Labels were enumerated with both `gh label list --repo dotnet/fsharp --limit 300 --json name` and `gh api --paginate --slurp 'repos/dotnet/fsharp/labels?per_page=100'`. Live label-name screening included performance, optimization, memory, allocation, latency and throughput. Only `Area-Compiler-Optimization`, `Performance` and `Theme-Performance` matched those names. A zero-result label query is an observed zero, not an omitted channel. Search results were all below the 1,000-result cap; no date subdivision was needed. All pages reported `incomplete_results=false`.

<!-- BEGIN DISCOVERY -->
ID | Exact search query | API total / collected / unique | Pages | Incomplete
--- | --- | --- | --- | ---
Q01 | `repo:dotnet/fsharp is:pr author:T-Gro created:2026-04-22..2026-09-22` | 270 / 270 / 270 | 3 | false
Q02 | `repo:dotnet/fsharp is:pr author:T-Gro updated:>=2026-04-22` | 293 / 293 / 293 | 3 | false
Q03 | `repo:dotnet/fsharp is:pr author:auduchinok created:2026-04-22..2026-09-22` | 52 / 52 / 52 | 1 | false
Q04 | `repo:dotnet/fsharp is:pr author:auduchinok updated:>=2026-04-22` | 57 / 57 / 57 | 1 | false
Q05 | `repo:dotnet/fsharp is:pr label:"Area-Compiler-Optimization" updated:>=2026-04-22 created:<=2026-09-22` | 0 / 0 / 0 | 1 | false
Q06 | `repo:dotnet/fsharp is:pr label:"Performance" updated:>=2026-04-22 created:<=2026-09-22` | 0 / 0 / 0 | 1 | false
Q07 | `repo:dotnet/fsharp is:pr label:"Theme-Performance" updated:>=2026-04-22 created:<=2026-09-22` | 22 / 22 / 22 | 1 | false
Q08 | `repo:dotnet/fsharp is:pr performance in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 54 / 54 / 54 | 1 | false
Q09 | `repo:dotnet/fsharp is:pr allocation in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 43 / 43 / 43 | 1 | false
Q10 | `repo:dotnet/fsharp is:pr memory in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 30 / 30 / 30 | 1 | false
Q11 | `repo:dotnet/fsharp is:pr latency in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 1 / 1 / 1 | 1 | false
Q12 | `repo:dotnet/fsharp is:pr throughput in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 1 / 1 / 1 | 1 | false
Q13 | `repo:dotnet/fsharp is:pr "compile time" in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 12 / 12 / 12 | 1 | false
Q14 | `repo:dotnet/fsharp is:pr cache in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 59 / 59 / 59 | 1 | false
Q15 | `repo:dotnet/fsharp is:pr closure in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 41 / 41 / 41 | 1 | false
Q16 | `repo:dotnet/fsharp is:pr optimization in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 27 / 27 / 27 | 1 | false
Q17 | `repo:dotnet/fsharp is:pr optimisation in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 1 / 1 / 1 | 1 | false
Q18 | `repo:dotnet/fsharp is:pr benchmark in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 50 / 50 / 50 | 1 | false
Q19 | `repo:dotnet/fsharp is:pr faster in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 6 / 6 / 6 | 1 | false
Q20 | `repo:dotnet/fsharp is:pr reuse in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 20 / 20 / 20 | 1 | false
Q21 | `repo:dotnet/fsharp is:pr perf in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 19 / 19 / 19 | 1 | false
Q22 | `repo:dotnet/fsharp is:pr allocations in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 15 / 15 / 15 | 1 | false
Q23 | `repo:dotnet/fsharp is:pr optimize in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 60 / 60 / 60 | 1 | false
Q24 | `repo:dotnet/fsharp is:pr benchmarks in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 61 / 61 / 61 | 1 | false
Q25 | `repo:dotnet/fsharp is:pr speed in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 0 / 0 / 0 | 1 | false
Q26 | `repo:dotnet/fsharp is:pr CPU in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 9 / 9 / 9 | 1 | false
Q27 | `repo:dotnet/fsharp is:pr "compilation time" in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 1 / 1 / 1 | 1 | false
Q28 | `repo:dotnet/fsharp is:pr pooling in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 0 / 0 / 0 | 1 | false
Q29 | `repo:dotnet/fsharp is:pr vectorization in:title,body updated:>=2026-04-22 created:<=2026-09-22` | 1 / 1 / 1 | 1 | false

141 labels in 2 exhausted REST pages. Search union: **1,205 result occurrences, 475 unique PRs, 730 duplicate occurrences**. Linked expansion adds 10 PRs, giving **485 inventory rows**. Q01/Q02 contain 270/293 unique PRs (250/260 actual T-Gro plus 20/33 Copilot); Q03/Q04 contain 52/57 auduchinok PRs. The created sets are subsets of the activity sets: 350 distinct primary-query results, each reconciled to one inventory row. No result was discarded because the returned author differed from the search author.

<!-- END DISCOVERY -->
The `author:T-Gro` queries also returned PRs whose actual author is `Copilot`. Their author identity is preserved; they are not silently recast as T-Gro-authored human material. Supplemental term searches included singular/plural and US/UK variants. Full-body screening excluded boilerplate, dependency names and incidental terminology, with explicit reasons in the inventory. In particular PR-19689 and PR-19703 survived body-only selection.

Relevant linked PRs were expanded from candidate descriptions; issue links were resolved as issues rather than invented PRs. Link expansion and the older-active event checks are recorded below. No holdout discussion body was fetched to decide a split.

<!-- BEGIN EXPANSION -->
Linked PR | Author | Created UTC | Disposition | Family
--- | --- | --- | --- | ---
[PR-14372](https://github.com/dotnet/fsharp/pull/14372) | T-Gro | 2022-11-22T14:05:12Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-compiler-parallel
[PR-14390](https://github.com/dotnet/fsharp/pull/14390) | safesparrow | 2022-11-24T23:37:44Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-compiler-parallel
[PR-14494](https://github.com/dotnet/fsharp/pull/14494) | safesparrow | 2022-12-19T19:01:17Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-compiler-parallel
[PR-14537](https://github.com/dotnet/fsharp/pull/14537) | KevinRansom | 2023-01-03T23:46:18Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-fsi-pdb
[PR-16304](https://github.com/dotnet/fsharp/pull/16304) | Martin521 | 2023-11-19T14:58:30Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-il-import-retention
[PR-18930](https://github.com/dotnet/fsharp/pull/18930) | majocha | 2025-09-22T13:12:45Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-cache-listener
[PR-19683](https://github.com/dotnet/fsharp/pull/19683) | missymessa | 2026-05-05T21:10:41Z | Linked predecessor of PR-19703; same WIF insertion change before credential-store revision. | FAMILY-vs-insertion
[PR-20081](https://github.com/dotnet/fsharp/pull/20081) | NatElkins | 2026-07-23T13:41:53Z | Linked context only; not a new in-window performance-improvement claim. | FAMILY-fork-release-check
[PR-20274](https://github.com/dotnet/fsharp/pull/20274) | xperiandri | 2026-08-17T00:32:55Z | Linked context only; not a new in-window performance-improvement claim. | FAMILY-entity-null-correctness
[PR-20462](https://github.com/dotnet/fsharp/pull/20462) | xperiandri | 2026-09-06T07:44:53Z | Linked context only; not a new in-window performance-improvement claim. | FAMILY-vs-work-reuse

Older-candidate activity audit (metadata only; final cursor exhausted for every row). Counts cover direct comment/review, code, label and lifecycle events exposed by the recorded fragments. Incidental cross-references/project-board moves are not treated as performance-relevant activity. Earlier timestamps are retained separately.

Older candidate | Timeline nodes / total / pages | In-window direct events | Example channel | Example UTC
--- | --- | --- | --- | ---
[PR-14372](https://github.com/dotnet/fsharp/pull/14372) | 132 / 152 / 2 | 0 | No qualifying event observed | -
[PR-14390](https://github.com/dotnet/fsharp/pull/14390) | 200 / 182 / 2 | 0 | No qualifying event observed | -
[PR-14494](https://github.com/dotnet/fsharp/pull/14494) | 251 / 230 / 3 | 0 | No qualifying event observed | -
[PR-14537](https://github.com/dotnet/fsharp/pull/14537) | 43 / 47 / 1 | 0 | No qualifying event observed | -
[PR-15954](https://github.com/dotnet/fsharp/pull/15954) | 59 / 70 / 1 | 1 | [IssueComment](https://github.com/dotnet/fsharp/pull/15954#issuecomment-5532640564) | 2026-09-03T21:54:23Z
[PR-16304](https://github.com/dotnet/fsharp/pull/16304) | 62 / 67 / 1 | 0 | No qualifying event observed | -
[PR-16325](https://github.com/dotnet/fsharp/pull/16325) | 28 / 24 / 1 | 2 | ClosedEvent | 2026-09-09T13:17:55Z
[PR-16469](https://github.com/dotnet/fsharp/pull/16469) | 45 / 23 / 1 | 3 | ReviewRequestedEvent | 2026-09-11T14:58:54Z
[PR-16543](https://github.com/dotnet/fsharp/pull/16543) | 16 / 13 / 1 | 2 | ClosedEvent | 2026-06-01T10:24:08Z
[PR-17277](https://github.com/dotnet/fsharp/pull/17277) | 81 / 141 / 1 | 1 | [IssueComment](https://github.com/dotnet/fsharp/pull/17277#issuecomment-5327537350) | 2026-08-18T11:31:25Z
[PR-17518](https://github.com/dotnet/fsharp/pull/17518) | 33 / 27 / 1 | 2 | ClosedEvent | 2026-09-09T13:20:26Z
[PR-17519](https://github.com/dotnet/fsharp/pull/17519) | 220 / 202 / 3 | 18 | [IssueComment](https://github.com/dotnet/fsharp/pull/17519#issuecomment-5314934700) | 2026-08-17T10:35:37Z
[PR-18354](https://github.com/dotnet/fsharp/pull/18354) | 35 / 32 / 1 | 2 | ClosedEvent | 2026-09-09T13:21:59Z
[PR-18435](https://github.com/dotnet/fsharp/pull/18435) | 21 / 18 / 1 | 0 | No qualifying event observed | -
[PR-18465](https://github.com/dotnet/fsharp/pull/18465) | 26 / 23 / 1 | 0 | No qualifying event observed | -
[PR-18509](https://github.com/dotnet/fsharp/pull/18509) | 69 / 70 / 1 | 4 | [IssueComment](https://github.com/dotnet/fsharp/pull/18509#issuecomment-5582267733) | 2026-09-08T09:02:54Z
[PR-18593](https://github.com/dotnet/fsharp/pull/18593) | 27 / 20 / 1 | 2 | ClosedEvent | 2026-09-15T11:58:20Z
[PR-18873](https://github.com/dotnet/fsharp/pull/18873) | 97 / 96 / 1 | 23 | ClosedEvent | 2026-09-09T13:23:17Z
[PR-18930](https://github.com/dotnet/fsharp/pull/18930) | 22 / 21 / 1 | 0 | No qualifying event observed | -
[PR-18935](https://github.com/dotnet/fsharp/pull/18935) | 13 / 13 / 1 | 1 | LabeledEvent | 2026-08-14T21:39:48Z
[PR-18998](https://github.com/dotnet/fsharp/pull/18998) | 69 / 65 / 1 | 8 | [IssueComment](https://github.com/dotnet/fsharp/pull/18998#issuecomment-4326529076) | 2026-04-27T11:19:51Z
[PR-19025](https://github.com/dotnet/fsharp/pull/19025) | 25 / 34 / 1 | 5 | ClosedEvent | 2026-08-19T10:10:08Z
[PR-19036](https://github.com/dotnet/fsharp/pull/19036) | 28 / 22 / 1 | 5 | ClosedEvent | 2026-08-19T12:15:24Z
[PR-19065](https://github.com/dotnet/fsharp/pull/19065) | 24 / 20 / 1 | 2 | ClosedEvent | 2026-09-09T13:23:44Z
[PR-19107](https://github.com/dotnet/fsharp/pull/19107) | 13 / 11 / 1 | 2 | ClosedEvent | 2026-09-09T13:23:56Z
[PR-19151](https://github.com/dotnet/fsharp/pull/19151) | 48 / 44 / 1 | 2 | [IssueComment](https://github.com/dotnet/fsharp/pull/19151#issuecomment-4740155634) | 2026-06-18T09:13:58Z
[PR-19186](https://github.com/dotnet/fsharp/pull/19186) | 140 / 143 / 2 | 48 | ClosedEvent | 2026-08-06T12:53:07Z
[PR-19188](https://github.com/dotnet/fsharp/pull/19188) | 149 / 145 / 2 | 41 | ClosedEvent | 2026-08-06T11:31:10Z
[PR-19189](https://github.com/dotnet/fsharp/pull/19189) | 92 / 104 / 1 | 5 | [IssueComment](https://github.com/dotnet/fsharp/pull/19189#issuecomment-4620731378) | 2026-06-04T09:14:47Z
[PR-19194](https://github.com/dotnet/fsharp/pull/19194) | 74 / 82 / 1 | 30 | ClosedEvent | 2026-08-20T14:26:52Z
[PR-19267](https://github.com/dotnet/fsharp/pull/19267) | 46 / 43 / 1 | 7 | PullRequestCommit | 2026-09-11T11:13:55Z
[PR-19277](https://github.com/dotnet/fsharp/pull/19277) | 165 / 162 / 2 | 50 | ClosedEvent | 2026-08-11T20:03:30Z
[PR-19288](https://github.com/dotnet/fsharp/pull/19288) | 106 / 101 / 2 | 40 | ClosedEvent | 2026-08-01T06:21:01Z
[PR-19317](https://github.com/dotnet/fsharp/pull/19317) | 32 / 26 / 1 | 1 | [PullRequestReview](https://github.com/dotnet/fsharp/pull/19317#pullrequestreview-4489842424) | 2026-06-12T23:30:45Z
[PR-19332](https://github.com/dotnet/fsharp/pull/19332) | 33 / 30 / 1 | 0 | No qualifying event observed | -
[PR-19342](https://github.com/dotnet/fsharp/pull/19342) | 73 / 76 / 1 | 11 | ClosedEvent | 2026-05-14T12:04:30Z
[PR-19346](https://github.com/dotnet/fsharp/pull/19346) | 25 / 27 / 1 | 10 | ClosedEvent | 2026-08-19T10:58:57Z
[PR-19359](https://github.com/dotnet/fsharp/pull/19359) | 35 / 29 / 1 | 10 | ClosedEvent | 2026-05-29T09:44:14Z
[PR-19396](https://github.com/dotnet/fsharp/pull/19396) | 192 / 189 / 2 | 5 | ClosedEvent | 2026-08-04T13:17:34Z
[PR-19449](https://github.com/dotnet/fsharp/pull/19449) | 53 / 58 / 1 | 5 | ClosedEvent | 2026-09-09T13:24:23Z
[PR-19472](https://github.com/dotnet/fsharp/pull/19472) | 61 / 59 / 1 | 7 | ClosedEvent | 2026-05-05T15:33:47Z
[PR-19482](https://github.com/dotnet/fsharp/pull/19482) | 30 / 28 / 1 | 3 | ClosedEvent | 2026-04-22T14:09:31Z
[PR-19484](https://github.com/dotnet/fsharp/pull/19484) | 44 / 42 / 1 | 12 | ClosedEvent | 2026-05-04T09:10:20Z
[PR-19501](https://github.com/dotnet/fsharp/pull/19501) | 101 / 88 / 2 | 3 | ClosedEvent | 2026-06-01T09:11:18Z
[PR-19502](https://github.com/dotnet/fsharp/pull/19502) | 60 / 59 / 1 | 20 | ClosedEvent | 2026-05-18T09:08:34Z
[PR-19503](https://github.com/dotnet/fsharp/pull/19503) | 44 / 44 / 1 | 2 | ClosedEvent | 2026-04-28T10:55:01Z
[PR-19504](https://github.com/dotnet/fsharp/pull/19504) | 55 / 56 / 1 | 0 | No qualifying event observed | -
[PR-19505](https://github.com/dotnet/fsharp/pull/19505) | 92 / 95 / 1 | 39 | [PullRequestReview](https://github.com/dotnet/fsharp/pull/19505#pullrequestreview-4363432550) | 2026-05-26T12:05:24Z
[PR-19532](https://github.com/dotnet/fsharp/pull/19532) | 49 / 46 / 1 | 3 | [IssueComment](https://github.com/dotnet/fsharp/pull/19532#issuecomment-4450997376) | 2026-05-14T13:18:19Z
[PR-19548](https://github.com/dotnet/fsharp/pull/19548) | 171 / 160 / 2 | 87 | [IssueComment](https://github.com/dotnet/fsharp/pull/19548#issuecomment-4864477960) | 2026-07-02T09:58:38Z
[PR-19549](https://github.com/dotnet/fsharp/pull/19549) | 15 / 15 / 1 | 2 | ClosedEvent | 2026-04-28T10:04:03Z
[PR-19553](https://github.com/dotnet/fsharp/pull/19553) | 21 / 19 / 1 | 4 | ClosedEvent | 2026-06-23T15:12:36Z
[PR-19568](https://github.com/dotnet/fsharp/pull/19568) | 39 / 37 / 1 | 7 | ClosedEvent | 2026-05-04T08:56:50Z
[PR-19609](https://github.com/dotnet/fsharp/pull/19609) | 47 / 47 / 1 | 24 | ClosedEvent | 2026-04-28T11:08:06Z
[PR-19611](https://github.com/dotnet/fsharp/pull/19611) | 31 / 32 / 1 | 2 | ClosedEvent | 2026-04-22T18:44:45Z
[PR-19615](https://github.com/dotnet/fsharp/pull/19615) | 61 / 58 / 1 | 28 | ClosedEvent | 2026-05-20T15:10:24Z

<!-- END EXPANSION -->
## Candidate inventory

Each repository/PR number occurs once. `development` and `holdout` are evidence partitions; `control` is the non-performance partition. Excluded rows in development/holdout are linked context belonging to that family, not extra evidence. Only the explicitly reserved applicability controls in the holdout section are evaluation cases; the other excluded control rows are the screening audit.

Dates are UTC. `C/U` means created/updated; `close/merge` preserves both timestamps (a dash means absent). State is `merged`, `closed` without merge, or `open`, with draft status shown separately. `L/T/B` identify label/title/body selection, and `linked` means family/context expansion. Selection and state do not assert acceptance, rejection or measured effectiveness.

<!-- BEGIN INVENTORY -->
PR / title | Actual author / type | C/U (UTC) | State; close / merge (UTC) | Selection / exclusion | Family | Split | Discovery
--- | --- | --- | --- | --- | --- | --- | ---
[PR-14372](https://github.com/dotnet/fsharp/pull/14372) IlxGen parallelization | T-Gro/User | 2022-11-22T14:05:12Z<br>2023-10-27T15:52:53Z | merged<br>2023-01-10T08:08:20Z / 2023-01-10T08:08:20Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-compiler-parallel | holdout | linked
[PR-14390](https://github.com/dotnet/fsharp/pull/14390) Parallel optimization - behind a test flag &#96;--test:ParallelOptimization&#96; | safesparrow/User | 2022-11-24T23:37:44Z<br>2023-05-23T14:09:14Z | merged<br>2023-05-19T10:02:33Z / 2023-05-19T10:02:33Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-compiler-parallel | holdout | linked
[PR-14494](https://github.com/dotnet/fsharp/pull/14494) Parallel type-checking in compilation (behind a feature flag) | safesparrow/User | 2022-12-19T19:01:17Z<br>2023-02-17T17:23:26Z | merged<br>2023-02-10T23:29:54Z / 2023-02-10T23:29:54Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-compiler-parallel | holdout | linked
[PR-14537](https://github.com/dotnet/fsharp/pull/14537) Debugging -- Enable debugging scripts with the VS Debugger. | KevinRansom/User | 2023-01-03T23:46:18Z<br>2023-04-29T20:02:49Z | merged<br>2023-02-14T22:07:26Z / 2023-02-14T22:07:26Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-fsi-pdb | development | linked
[PR-15954](https://github.com/dotnet/fsharp/pull/15954) More VS cleanup | vzarytovskii/User | 2023-09-08T16:48:38Z<br>2026-09-03T21:54:23Z | merged<br>2023-10-10T09:01:56Z / 2023-10-10T09:01:56Z | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q26
[PR-16304](https://github.com/dotnet/fsharp/pull/16304) Fix for #83 (improve constraint error message) | Martin521/User | 2023-11-19T14:58:30Z<br>2023-12-20T00:00:40Z | merged<br>2023-12-20T00:00:14Z / 2023-12-20T00:00:14Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-il-import-retention | development | linked
[PR-16325](https://github.com/dotnet/fsharp/pull/16325) putting a bunch of opened issues about IL optimisation under IL baseline tests | smoothdeveloper/User | 2023-11-22T11:11:01Z<br>2026-09-09T13:17:56Z | closed; draft<br>2026-09-09T13:17:55Z / - | Excluded: IL baseline tests for optimizer issues, not a claimed improvement. | FAMILY-pr-16325 | control | Q17
[PR-16469](https://github.com/dotnet/fsharp/pull/16469) Parser: recover on unfinished qualified operator | auduchinok/User | 2023-12-25T14:15:33Z<br>2026-09-11T14:59:04Z | open; draft<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-16469 | control | Q04
[PR-16543](https://github.com/dotnet/fsharp/pull/16543) Diagnostics/extended data: support NoConstructorsAvailableForType | auduchinok/User | 2024-01-17T14:12:07Z<br>2026-06-01T10:24:08Z | closed; draft<br>2026-06-01T10:24:07Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-16543 | control | Q04
[PR-17277](https://github.com/dotnet/fsharp/pull/17277) FS-1135 implementation - random functions for collections | Lanayx/User | 2024-06-04T21:05:22Z<br>2026-08-18T11:56:11Z | merged<br>2024-06-26T15:11:13Z / 2024-06-26T15:11:13Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-17277 | control | Q08, Q18, Q24
[PR-17518](https://github.com/dotnet/fsharp/pull/17518) Add new Measure type to ease UoM conversions | roboz0r/User | 2024-08-10T22:58:54Z<br>2026-09-09T13:20:27Z | closed; draft<br>2026-09-09T13:20:26Z / - | Included: B: generated-program, allocation, older-active claim or linked mechanism. | FAMILY-measure-conversion | holdout | Q08, Q09, Q18, Q22, Q24
[PR-17519](https://github.com/dotnet/fsharp/pull/17519) Support &#96;CallerArgumentExpression&#96; | ijklam/User | 2024-08-11T09:37:47Z<br>2026-08-17T10:35:37Z | open<br>- / - | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-17519 | control | Q08, Q18, Q24
[PR-18354](https://github.com/dotnet/fsharp/pull/18354) Proof of concept: reusing typecheck results | psfinaki/User | 2025-03-03T15:50:46Z<br>2026-09-09T13:21:59Z | closed; draft<br>2026-09-09T13:21:58Z / - | Included: T+B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q14, Q20
[PR-18435](https://github.com/dotnet/fsharp/pull/18435) Fix Packagemanager behaviour in Visual Studio | KevinRansom/User | 2025-04-02T03:51:13Z<br>2026-09-07T04:07:37Z | merged<br>2025-04-02T16:43:01Z / 2025-04-02T16:43:01Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-pr-18435 | control | Q14
[PR-18465](https://github.com/dotnet/fsharp/pull/18465) Fix mixed emit-multi+/- sessions | KevinRansom/User | 2025-04-09T18:57:57Z<br>2026-09-07T04:07:28Z | merged<br>2025-05-05T15:39:55Z / 2025-05-05T15:39:55Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-pr-18465 | control | Q10
[PR-18509](https://github.com/dotnet/fsharp/pull/18509) SIMD vectorization of Array.sum&lt;int&gt;, etc | Thorium/User | 2025-04-26T12:04:41Z<br>2026-09-08T09:02:54Z | closed<br>2026-09-08T08:56:40Z / - | Included: T+B: generated-program, vectorization, older-active claim or linked mechanism. | FAMILY-vector-sum | holdout | Q08, Q18, Q24, Q29
[PR-18593](https://github.com/dotnet/fsharp/pull/18593) Sync mirror changes into release/dev17.14 | T-Gro/User | 2025-05-22T14:16:54Z<br>2026-09-15T11:58:20Z | closed<br>2026-09-15T11:58:20Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-18593 | control | Q02
[PR-18873](https://github.com/dotnet/fsharp/pull/18873) WIP Async2 | majocha/User | 2025-08-29T11:29:14Z<br>2026-09-09T13:23:17Z | closed; draft<br>2026-09-09T13:23:17Z / - | Included: B: generated-code, behavior-sensitive claim or linked mechanism. | FAMILY-runtime-async | holdout | Q14
[PR-18930](https://github.com/dotnet/fsharp/pull/18930) Print cache stats with --times | majocha/User | 2025-09-22T13:12:45Z<br>2025-09-23T10:35:42Z | merged<br>2025-09-23T09:53:16Z / 2025-09-23T09:53:16Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-cache-listener | development | linked
[PR-18935](https://github.com/dotnet/fsharp/pull/18935) Fix typos in diagnostics | IS4Code/User | 2025-09-25T13:21:26Z<br>2026-08-14T21:39:48Z | open<br>- / - | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-18935 | control | Q08, Q18, Q24
[PR-18998](https://github.com/dotnet/fsharp/pull/18998) Enable parallel compilation features by default | majocha/User | 2025-10-14T11:39:08Z<br>2026-04-27T11:19:51Z | merged<br>2025-10-22T09:25:27Z / 2025-10-22T09:25:27Z | Included: T+B: compiler, parallel, older-active claim or linked mechanism. | FAMILY-compiler-parallel | holdout | Q23
[PR-19025](https://github.com/dotnet/fsharp/pull/19025) Respect the return qualifier for attributes on class methods | DragonSA/User | 2025-10-22T20:58:21Z<br>2026-08-19T10:10:08Z | closed<br>2026-08-19T10:10:08Z / - | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-19025 | control | Q08, Q18, Q24
[PR-19036](https://github.com/dotnet/fsharp/pull/19036) Type checker: recover function type unification in method checking | auduchinok/User | 2025-10-28T18:22:49Z<br>2026-08-26T07:50:06Z | closed<br>2026-08-19T12:15:24Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19036 | control | Q04
[PR-19065](https://github.com/dotnet/fsharp/pull/19065) &#91;WIP&#93;: MethodImplOption.Async support | TheAngryByrd/User | 2025-11-10T15:44:06Z<br>2026-09-09T13:23:45Z | closed; draft<br>2026-09-09T13:23:44Z / - | Included: B: generated-code, behavior-sensitive claim or linked mechanism. | FAMILY-runtime-async | holdout | Q08, Q18, Q24
[PR-19107](https://github.com/dotnet/fsharp/pull/19107) Cache more type relations | majocha/User | 2025-11-20T20:29:19Z<br>2026-09-09T13:23:56Z | closed; draft<br>2026-09-09T13:23:55Z / - | Included: T+B: compiler, cache, older-active claim or linked mechanism. | FAMILY-cache-type-relations | holdout | Q08, Q14, Q18, Q24
[PR-19151](https://github.com/dotnet/fsharp/pull/19151) Fix preferreduilang switch leaking into fsi.CommandLineArgs | Copilot/Bot | 2025-12-11T17:18:33Z<br>2026-06-18T09:13:58Z | merged<br>2025-12-31T11:29:43Z / 2025-12-31T11:29:42Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19151 | control | Q02, Q19
[PR-19186](https://github.com/dotnet/fsharp/pull/19186) Add support for &#96;&lt;include&gt;&#96; XML documentation tag | Copilot/Bot | 2025-12-31T16:06:53Z<br>2026-08-06T12:53:14Z | merged<br>2026-08-06T12:53:07Z / 2026-08-06T12:53:07Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19186 | control | Q02, Q13
[PR-19188](https://github.com/dotnet/fsharp/pull/19188) Implement &#96;&lt;inheritdoc&gt;&#96; XML documentation support for F# | Copilot/Bot | 2026-01-02T10:59:42Z<br>2026-08-06T11:31:14Z | merged<br>2026-08-06T11:31:10Z / 2026-08-06T11:31:10Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19188 | control | Q02, Q13
[PR-19189](https://github.com/dotnet/fsharp/pull/19189) Optimize empty string pattern matching with null-safe length checks | Copilot/Bot | 2026-01-05T15:30:38Z<br>2026-06-04T09:14:48Z | merged<br>2026-01-22T22:21:46Z / 2026-01-22T22:21:46Z | Included: B: generated-code, behavior-sensitive, older-active claim or linked mechanism. | FAMILY-empty-string | holdout | Q02, Q08, Q16, Q19, Q23
[PR-19194](https://github.com/dotnet/fsharp/pull/19194) Add ExtendedLayoutAttribute support for F# compiler | Copilot/Bot | 2026-01-06T14:21:06Z<br>2026-08-20T14:26:53Z | merged<br>2026-08-20T14:26:52Z / 2026-08-20T14:26:52Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19194 | control | Q02
[PR-19267](https://github.com/dotnet/fsharp/pull/19267) WIP : Experiment &#91;this repo only&#93; : Fast and unsafe development time compilation out of FSharpChecker caches | T-Gro/User | 2026-02-10T12:36:52Z<br>2026-09-11T11:14:07Z | open<br>- / - | Included: T+B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q02, Q10, Q14, Q16, Q23, Q27
[PR-19277](https://github.com/dotnet/fsharp/pull/19277) Support OverloadResolutionPriority and a most-concrete tiebreaker | T-Gro/User | 2026-02-12T09:54:54Z<br>2026-08-11T20:03:30Z | merged<br>2026-08-11T20:03:30Z / 2026-08-11T20:03:30Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19277 | control | Q02
[PR-19288](https://github.com/dotnet/fsharp/pull/19288) SCOUTING to see CI errors :: See what happens on net11 tfm | T-Gro/User | 2026-02-13T18:37:38Z<br>2026-08-01T06:21:01Z | closed; draft<br>2026-08-01T06:21:01Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19288 | control | Q02
[PR-19317](https://github.com/dotnet/fsharp/pull/19317) Fix Seq.empty rendering as "EmptyEnumerable" in serializers | apoorvdarshan/User | 2026-02-17T20:39:12Z<br>2026-06-12T23:30:45Z | merged<br>2026-03-04T15:18:32Z / 2026-03-04T15:18:32Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19317 | control | Q16, Q23
[PR-19332](https://github.com/dotnet/fsharp/pull/19332) Add #version;; directive to F# Interactive | bbatsov/User | 2026-02-19T22:30:54Z<br>2026-05-12T16:33:26Z | merged<br>2026-03-07T00:23:02Z / 2026-03-07T00:23:02Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-pr-19332 | control | Q08, Q18, Q24
[PR-19342](https://github.com/dotnet/fsharp/pull/19342) Bugfix :: Fix F# exception serialization to preserve fields | T-Gro/User | 2026-02-20T16:09:02Z<br>2026-05-14T12:04:30Z | merged<br>2026-05-14T12:04:30Z / 2026-05-14T12:04:30Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19342 | control | Q02
[PR-19346](https://github.com/dotnet/fsharp/pull/19346) Add FSI options tests | bbatsov/User | 2026-02-22T09:09:27Z<br>2026-08-19T10:58:57Z | merged<br>2026-08-19T10:58:57Z / 2026-08-19T10:58:57Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-19346 | control | Q08, Q18, Q24
[PR-19359](https://github.com/dotnet/fsharp/pull/19359) Symbols: add ObsoleteDiagnosticInfo | auduchinok/User | 2026-02-25T17:15:30Z<br>2026-05-29T09:54:53Z | merged<br>2026-05-29T09:44:14Z / 2026-05-29T09:44:14Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19359 | control | Q04
[PR-19396](https://github.com/dotnet/fsharp/pull/19396) &#91;Experimental zone for RFC FS-1043: Extension members participate in SRTP constraint resolution&#93; | T-Gro/User | 2026-03-06T17:38:23Z<br>2026-08-04T13:17:37Z | closed; draft<br>2026-08-04T13:17:34Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19396 | control | Q02
[PR-19449](https://github.com/dotnet/fsharp/pull/19449) Runtime Async Feature | TheAngryByrd/User | 2026-03-18T13:40:17Z<br>2026-09-09T13:24:24Z | closed; draft<br>2026-09-09T13:24:23Z / - | Included: B: generated-code, behavior-sensitive claim or linked mechanism. | FAMILY-runtime-async | holdout | Q08, Q18, Q24
[PR-19472](https://github.com/dotnet/fsharp/pull/19472) Fix #12796: handle arrays of user-defined types in custom attributes | T-Gro/User | 2026-03-24T10:33:52Z<br>2026-05-05T15:33:47Z | merged<br>2026-05-05T15:33:47Z / 2026-05-05T15:33:47Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19472 | control | Q02
[PR-19482](https://github.com/dotnet/fsharp/pull/19482) Resumable state machines: Don't capture definitions by "builder@" prefix. EXPERIMENTAL | majocha/User | 2026-03-24T11:51:08Z<br>2026-04-22T14:09:31Z | closed; draft<br>2026-04-22T14:09:31Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19482 | control | Q15
[PR-19484](https://github.com/dotnet/fsharp/pull/19484) Handle Const.Zero for primitive value types in custom attribute codegen | Copilot/Bot | 2026-03-24T12:59:41Z<br>2026-05-04T09:10:21Z | merged<br>2026-05-04T09:10:20Z / 2026-05-04T09:10:20Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19484 | control | Q02
[PR-19501](https://github.com/dotnet/fsharp/pull/19501) Fix let-in scoping in light syntax via LexFilter change | Copilot/Bot | 2026-03-26T21:58:19Z<br>2026-06-01T09:11:19Z | closed; draft<br>2026-06-01T09:11:18Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19501 | control | Q02
[PR-19502](https://github.com/dotnet/fsharp/pull/19502) Fix #7931: Resolve opened namespaces for attributes in recursive scopes | Copilot/Bot | 2026-03-26T21:59:30Z<br>2026-05-18T09:08:34Z | merged<br>2026-05-18T09:08:34Z / 2026-05-18T09:08:34Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19502 | control | Q02
[PR-19503](https://github.com/dotnet/fsharp/pull/19503) Fix #7776: Detect missing implementations for C# 'abstract override' methods | Copilot/Bot | 2026-03-26T22:00:00Z<br>2026-04-28T10:55:04Z | merged<br>2026-04-28T10:55:01Z / 2026-04-28T10:55:01Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19503 | control | Q02, Q13
[PR-19504](https://github.com/dotnet/fsharp/pull/19504) Fix wrong warning 20 range in sequential expressions (#5735) | Copilot/Bot | 2026-03-26T22:01:25Z<br>2026-06-04T12:48:16Z | merged<br>2026-04-11T09:33:11Z / 2026-04-11T09:33:11Z | Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. | FAMILY-pr-19504 | control | Q02
[PR-19505](https://github.com/dotnet/fsharp/pull/19505) Narrow overload-error and symbol-use ranges to terminal identifier | Copilot/Bot | 2026-03-26T22:01:40Z<br>2026-05-26T13:11:05Z | merged<br>2026-05-26T11:41:26Z / 2026-05-26T11:41:26Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19505 | control | Q02
[PR-19532](https://github.com/dotnet/fsharp/pull/19532) Fix FS0452 for empty string pattern matching in quotations | Copilot/Bot | 2026-03-31T13:42:23Z<br>2026-05-29T12:02:16Z | merged<br>2026-04-01T12:14:14Z / 2026-04-01T12:14:14Z | Included: B: generated-code, behavior-sensitive, older-active claim or linked mechanism. | FAMILY-empty-string | holdout | Q02, Q16, Q23
[PR-19548](https://github.com/dotnet/fsharp/pull/19548) Debugger: prefer no inlining in non-optimized builds | auduchinok/User | 2026-04-03T19:26:25Z<br>2026-07-02T09:58:39Z | merged<br>2026-07-02T09:56:24Z / 2026-07-02T09:56:24Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-19548 | control | Q04, Q23
[PR-19549](https://github.com/dotnet/fsharp/pull/19549) Remove workaround in devcontainer.json | Martin521/User | 2026-04-03T19:45:15Z<br>2026-04-28T10:04:04Z | merged<br>2026-04-28T10:04:03Z / 2026-04-28T10:04:03Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-19549 | control | Q08, Q18, Q24
[PR-19553](https://github.com/dotnet/fsharp/pull/19553) ILVerify: soft comparison ignoring IL byte offset drift | techiedesu/User | 2026-04-06T03:16:39Z<br>2026-06-23T15:12:36Z | merged<br>2026-06-23T15:12:36Z / 2026-06-23T15:12:36Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-19553 | control | Q08, Q18, Q24
[PR-19568](https://github.com/dotnet/fsharp/pull/19568) Fix ICE in BuildDisposableCleanup when Dispose extension methods are in scope | Copilot/Bot | 2026-04-10T09:47:05Z<br>2026-05-04T08:56:50Z | merged<br>2026-05-04T08:56:50Z / 2026-05-04T08:56:50Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19568 | control | Q02
[PR-19609](https://github.com/dotnet/fsharp/pull/19609) Address additional signature generation roundtrip bugs | T-Gro/User | 2026-04-17T19:58:23Z<br>2026-04-28T11:08:06Z | merged<br>2026-04-28T11:08:06Z / 2026-04-28T11:08:06Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19609 | control | Q02
[PR-19611](https://github.com/dotnet/fsharp/pull/19611) Chore: Eliminate debug/release IL baseline duality | T-Gro/User | 2026-04-17T22:02:17Z<br>2026-04-22T18:44:49Z | merged<br>2026-04-22T18:44:45Z / 2026-04-22T18:44:45Z | Excluded as performance evidence; reserved test-only, no-performance-claim applicability control. | FAMILY-emitted-il-baselines | control | Q02, Q23
[PR-19615](https://github.com/dotnet/fsharp/pull/19615) Fix #19596: unit-parameter member conformance with signature | T-Gro/User | 2026-04-19T17:23:56Z<br>2026-05-20T15:10:24Z | merged<br>2026-05-20T15:10:24Z / 2026-05-20T15:10:24Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19615 | control | Q02
[PR-19629](https://github.com/dotnet/fsharp/pull/19629) Add LabelOps agentic workflows (conflict &amp; CI auto-resolve) | T-Gro/User | 2026-04-22T10:30:44Z<br>2026-05-06T09:42:59Z | merged<br>2026-05-06T09:42:55Z / 2026-05-06T09:42:55Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19629 | control | Q01, Q02, Q10
[PR-19631](https://github.com/dotnet/fsharp/pull/19631) Fix flaky async/task tests under CI load | T-Gro/User | 2026-04-22T13:55:59Z<br>2026-04-22T13:56:54Z | closed<br>2026-04-22T13:56:54Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19631 | control | Q01, Q02
[PR-19632](https://github.com/dotnet/fsharp/pull/19632) Fix flaky async/task tests under CI load | T-Gro/User | 2026-04-22T13:57:09Z<br>2026-04-23T08:49:17Z | merged<br>2026-04-23T08:49:17Z / 2026-04-23T08:49:17Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19632 | control | Q01, Q02
[PR-19642](https://github.com/dotnet/fsharp/pull/19642) Add Release CI legs for test projects, update git revisions | auduchinok/User | 2026-04-24T13:10:17Z<br>2026-04-27T11:44:53Z | merged<br>2026-04-27T11:44:53Z / 2026-04-27T11:44:53Z | Excluded as performance evidence; reserved test-only, no-performance-claim applicability control. | FAMILY-emitted-il-baselines | control | Q03, Q04
[PR-19643](https://github.com/dotnet/fsharp/pull/19643) IlxGen: fix missing CompilationMapping attribute for generic values | auduchinok/User | 2026-04-24T13:37:13Z<br>2026-04-28T11:35:38Z | merged<br>2026-04-28T08:26:20Z / 2026-04-28T08:26:20Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19643 | control | Q03, Q04
[PR-19647](https://github.com/dotnet/fsharp/pull/19647) Add opt-in --file-order-auto+ for dependency-based file ordering | bryancostanich/User | 2026-04-27T02:26:41Z<br>2026-06-24T17:10:32Z | open; draft<br>- / - | Excluded: file-order feature explicitly lacks performance characterization; no improvement claimed. | FAMILY-pr-19647 | control | Q08
[PR-19655](https://github.com/dotnet/fsharp/pull/19655) Disable noop report-as-issue for all agentic workflows | Copilot/Bot | 2026-04-28T08:42:26Z<br>2026-04-29T11:25:40Z | merged<br>2026-04-29T11:25:39Z / 2026-04-29T11:25:39Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19655 | control | Q01, Q02
[PR-19656](https://github.com/dotnet/fsharp/pull/19656) Add allowed-files to aw-auto-update for gh-aw managed files | Copilot/Bot | 2026-04-28T08:43:50Z<br>2026-05-04T07:08:30Z | merged<br>2026-05-04T07:08:25Z / 2026-05-04T07:08:25Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19656 | control | Q01, Q02
[PR-19661](https://github.com/dotnet/fsharp/pull/19661) Fix seq try-with handler body executing twice | T-Gro/User | 2026-04-29T08:03:32Z<br>2026-04-29T12:05:05Z | merged<br>2026-04-29T11:32:44Z / 2026-04-29T11:32:43Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19661 | control | Q01, Q02
[PR-19668](https://github.com/dotnet/fsharp/pull/19668) Add skill-validation workflow for structural checks on skills and agents | T-Gro/User | 2026-04-30T13:02:05Z<br>2026-05-06T10:37:02Z | merged<br>2026-05-06T10:37:01Z / 2026-05-06T10:37:01Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19668 | control | Q01, Q02
[PR-19669](https://github.com/dotnet/fsharp/pull/19669) Bump OpenTelemetry.Exporter.OpenTelemetryProtocol from 1.11.2 to 1.15.3 | dependabot&#91;bot&#93;/Bot | 2026-04-30T18:53:31Z<br>2026-05-04T07:04:54Z | merged<br>2026-05-04T07:04:48Z / 2026-05-04T07:04:48Z | Included: B: dependency, automated claim or linked mechanism. | FAMILY-dependency-perf | holdout | Q08, Q10
[PR-19676](https://github.com/dotnet/fsharp/pull/19676) Tests/emitted IL: split some baselines into optimize+/optimize- | auduchinok/User | 2026-05-04T13:45:19Z<br>2026-05-11T10:24:14Z | merged<br>2026-05-11T10:24:14Z / 2026-05-11T10:24:14Z | Excluded as performance evidence; reserved test-only, no-performance-claim applicability control. | FAMILY-emitted-il-baselines | control | Q03, Q04, Q23
[PR-19680](https://github.com/dotnet/fsharp/pull/19680) Add PR Tooling Safety Check — scanner for detecting changes in design/build/agentic-time behavior | T-Gro/User | 2026-05-05T14:47:26Z<br>2026-05-12T09:05:24Z | merged<br>2026-05-12T09:05:19Z / 2026-05-12T09:05:19Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19680 | control | Q01, Q02, Q12, Q13
[PR-19682](https://github.com/dotnet/fsharp/pull/19682) Add weekly state machine diagram generator for agentic workflows | T-Gro/User | 2026-05-05T19:47:54Z<br>2026-05-12T09:04:02Z | merged<br>2026-05-12T09:03:58Z / 2026-05-12T09:03:58Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19682 | control | Q01, Q02
[PR-19683](https://github.com/dotnet/fsharp/pull/19683) Replace PAT with WIF service connection for VS insertion | missymessa/User | 2026-05-05T21:10:41Z<br>2026-05-07T10:34:03Z | merged<br>2026-05-07T10:34:03Z / 2026-05-07T10:34:03Z | Included: Linked predecessor of PR-19703; same WIF insertion change before credential-store revision. | FAMILY-vs-insertion | development | linked
[PR-19689](https://github.com/dotnet/fsharp/pull/19689) CE builder method resolution | rodrigovidal/User | 2026-05-05T23:34:38Z<br>2026-05-05T23:57:14Z | closed<br>2026-05-05T23:57:03Z / - | Included: B: centralized cached CE-builder method lookup; title/labels contain no performance claim. | FAMILY-ce-method-cache | development | Q14
[PR-19695](https://github.com/dotnet/fsharp/pull/19695) Bump OpenTelemetry.Exporter.OpenTelemetryProtocol from 1.11.2 to 1.15.3 | dependabot&#91;bot&#93;/Bot | 2026-05-06T09:48:06Z<br>2026-05-07T10:27:56Z | merged<br>2026-05-07T10:27:52Z / 2026-05-07T10:27:52Z | Included: B: dependency, automated claim or linked mechanism. | FAMILY-dependency-perf | holdout | Q08, Q10
[PR-19703](https://github.com/dotnet/fsharp/pull/19703) Replace PAT with WIF service connection for VS insertion (v2) | missymessa/User | 2026-05-07T19:42:25Z<br>2026-05-12T08:19:59Z | merged<br>2026-05-12T08:19:59Z / 2026-05-12T08:19:59Z | Included: B: removes reported approximately eight-minute GCM clone delay; title/labels are authentication-only. | FAMILY-vs-insertion | development | Q14
[PR-19708](https://github.com/dotnet/fsharp/pull/19708) Fix parser recovery, name resolution, and code completion for unfinished enum patterns | auduchinok/User | 2026-05-08T16:00:56Z<br>2026-05-14T15:04:09Z | merged<br>2026-05-14T14:42:57Z / 2026-05-14T14:42:56Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19708 | control | Q03, Q04
[PR-19710](https://github.com/dotnet/fsharp/pull/19710) Fix internal error FS0073 w/nested inline SRTP and multiple overloads | gusty/User | 2026-05-09T19:01:57Z<br>2026-05-12T13:52:54Z | merged<br>2026-05-12T13:52:54Z / 2026-05-12T13:52:54Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-19710 | control | Q08, Q18, Q24
[PR-19718](https://github.com/dotnet/fsharp/pull/19718) Skip PRs created before May 12 2026 in security scan workflow | T-Gro/User | 2026-05-12T09:10:19Z<br>2026-05-12T09:11:49Z | merged<br>2026-05-12T09:11:43Z / 2026-05-12T09:11:43Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19718 | control | Q01, Q02
[PR-19719](https://github.com/dotnet/fsharp/pull/19719) Add state-machine docs and move output to .github/docs/ | T-Gro/User | 2026-05-12T09:15:32Z<br>2026-05-12T09:16:23Z | closed<br>2026-05-12T09:15:51Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19719 | control | Q01, Q02
[PR-19720](https://github.com/dotnet/fsharp/pull/19720) &#91;Agentic State Machine&#93; Add agentic workflow state machine documentation | T-Gro/User | 2026-05-12T09:16:18Z<br>2026-05-15T12:38:34Z | merged<br>2026-05-15T12:38:33Z / 2026-05-15T12:38:33Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19720 | control | Q01, Q02
[PR-19721](https://github.com/dotnet/fsharp/pull/19721) Move state-machine docs output to .github/docs/ to avoid workflows/ protection | T-Gro/User | 2026-05-12T09:17:12Z<br>2026-05-12T12:46:50Z | merged<br>2026-05-12T12:46:40Z / 2026-05-12T12:46:40Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19721 | control | Q01, Q02
[PR-19722](https://github.com/dotnet/fsharp/pull/19722) Make state-machine workflow repo-rules path configurable via env var | T-Gro/User | 2026-05-12T12:57:34Z<br>2026-05-12T13:21:32Z | closed<br>2026-05-12T13:21:30Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19722 | control | Q01, Q02, Q20
[PR-19724](https://github.com/dotnet/fsharp/pull/19724) Parser: recover on unfinished if and binary expressions | auduchinok/User | 2026-05-12T19:57:33Z<br>2026-05-28T10:50:34Z | merged<br>2026-05-28T10:50:34Z / 2026-05-28T10:50:34Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19724 | control | Q03, Q04
[PR-19726](https://github.com/dotnet/fsharp/pull/19726) Increase max-patch-size for LabelOps PR Maintenance workflow | Copilot/Bot | 2026-05-13T08:55:45Z<br>2026-05-18T08:48:14Z | merged<br>2026-05-18T08:48:14Z / 2026-05-18T08:48:14Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19726 | control | Q01, Q02
[PR-19727](https://github.com/dotnet/fsharp/pull/19727) Fix Repo Assist: recompile lock files to v0.76.1, harden data fetch step | Copilot/Bot | 2026-05-13T08:57:40Z<br>2026-05-28T09:12:15Z | merged<br>2026-05-28T09:12:11Z / 2026-05-28T09:12:11Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19727 | control | Q01, Q02
[PR-19728](https://github.com/dotnet/fsharp/pull/19728) Fix aw-auto-update: add gh-aw CLI extension installation step | Copilot/Bot | 2026-05-13T08:58:32Z<br>2026-05-18T09:03:35Z | merged<br>2026-05-18T09:03:35Z / 2026-05-18T09:03:35Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19728 | control | Q01, Q02
[PR-19729](https://github.com/dotnet/fsharp/pull/19729) PR Tooling Safety Check: use repo-memory for state, skip drafts, minimize comment noise | Copilot/Bot | 2026-05-13T09:24:45Z<br>2026-05-15T12:11:40Z | merged<br>2026-05-15T08:59:38Z / 2026-05-15T08:59:38Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19729 | control | Q01, Q02, Q10
[PR-19730](https://github.com/dotnet/fsharp/pull/19730) Parser: fix unexpected diagnostics in debug builds, improve error messages | auduchinok/User | 2026-05-13T10:00:03Z<br>2026-05-14T11:57:54Z | merged<br>2026-05-14T11:57:53Z / 2026-05-14T11:57:53Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19730 | control | Q03, Q04
[PR-19731](https://github.com/dotnet/fsharp/pull/19731) Parser: rebuild project automatically on grammar changes | auduchinok/User | 2026-05-13T10:45:20Z<br>2026-05-14T10:07:59Z | merged<br>2026-05-14T10:07:59Z / 2026-05-14T10:07:59Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19731 | control | Q03, Q04
[PR-19734](https://github.com/dotnet/fsharp/pull/19734) Tests: extract 'should update baselines' checks | auduchinok/User | 2026-05-14T08:17:32Z<br>2026-05-20T12:57:02Z | merged<br>2026-05-20T12:57:01Z / 2026-05-20T12:57:01Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19734 | control | Q03, Q04
[PR-19736](https://github.com/dotnet/fsharp/pull/19736) Improve test coverage for static extension overload resolution (#19664) | T-Gro/User | 2026-05-14T14:13:52Z<br>2026-05-29T13:10:27Z | closed<br>2026-05-29T13:10:27Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19736 | control | Q01, Q02
[PR-19737](https://github.com/dotnet/fsharp/pull/19737) Add EmittedIL tests proving &#91;&lt;CompiledName&gt;&#93; works by design on extension overloads (#19604) | T-Gro/User | 2026-05-14T14:14:35Z<br>2026-06-10T15:49:01Z | merged<br>2026-06-10T15:49:01Z / 2026-06-10T15:49:01Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19737 | control | Q01, Q02
[PR-19742](https://github.com/dotnet/fsharp/pull/19742) Fix ValueOption optional args with ?param caller syntax | T-Gro/User | 2026-05-15T12:16:15Z<br>2026-05-28T10:51:45Z | merged<br>2026-05-28T10:51:40Z / 2026-05-28T10:51:40Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19742 | control | Q01, Q02
[PR-19743](https://github.com/dotnet/fsharp/pull/19743) Fix nullness narrowing in match inside comprehensions | T-Gro/User | 2026-05-15T12:18:31Z<br>2026-05-26T10:25:29Z | merged<br>2026-05-26T10:25:29Z / 2026-05-26T10:25:28Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19743 | control | Q01, Q02
[PR-19744](https://github.com/dotnet/fsharp/pull/19744) Fix attribute resolution in recursive module/namespace scopes | T-Gro/User | 2026-05-15T12:20:12Z<br>2026-07-24T13:52:14Z | merged<br>2026-07-24T13:52:14Z / 2026-07-24T13:52:14Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19744 | control | Q01, Q02
[PR-19745](https://github.com/dotnet/fsharp/pull/19745) Preserve type aliases in match &#124; null refinement | T-Gro/User | 2026-05-15T12:23:04Z<br>2026-06-03T13:11:06Z | merged<br>2026-06-03T13:11:02Z / 2026-06-03T13:11:02Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19745 | control | Q01, Q02
[PR-19746](https://github.com/dotnet/fsharp/pull/19746) Gate exception field serialization behind langversion 11 | T-Gro/User | 2026-05-15T12:26:44Z<br>2026-05-22T09:51:01Z | merged<br>2026-05-20T16:21:11Z / 2026-05-20T16:21:11Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19746 | control | Q01, Q02
[PR-19747](https://github.com/dotnet/fsharp/pull/19747) Parser: recover on unfinished 'match' expressions | auduchinok/User | 2026-05-15T15:24:02Z<br>2026-06-18T12:42:03Z | closed<br>2026-06-18T12:42:03Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19747 | control | Q03, Q04
[PR-19756](https://github.com/dotnet/fsharp/pull/19756) &#91;Auto Update&#93; Agentic workflows — fix safe-outputs config and apply pending upgrade | Copilot/Bot | 2026-05-18T08:26:47Z<br>2026-05-28T09:41:07Z | merged<br>2026-05-28T09:38:25Z / 2026-05-28T09:38:25Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19756 | control | Q01, Q02
[PR-19757](https://github.com/dotnet/fsharp/pull/19757) Fix SRTP &#96;get_Item&#96; witness resolution for &#96;string&#96; indexers | Copilot/Bot | 2026-05-18T11:21:58Z<br>2026-06-02T10:31:31Z | merged<br>2026-06-02T10:31:31Z / 2026-06-02T10:31:31Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19757 | control | Q01, Q02, Q13
[PR-19758](https://github.com/dotnet/fsharp/pull/19758) Optimizer: eliminate unused &#96;Unchecked.defaultof&lt;'T&gt;&#96; bindings | Copilot/Bot | 2026-05-18T11:22:13Z<br>2026-07-03T09:21:01Z | merged<br>2026-07-02T12:34:41Z / 2026-07-02T12:34:41Z | Included: T+B: eliminates unused fully-ground defaultof bindings; concrete dead-code optimization, not optimizer vocabulary alone. | FAMILY-dead-binding | holdout | Q01, Q02, Q16, Q23
[PR-19759](https://github.com/dotnet/fsharp/pull/19759) Correct StructLayout size emission for data-less struct unions | Copilot/Bot | 2026-05-18T11:22:38Z<br>2026-07-24T15:29:08Z | merged<br>2026-07-24T15:29:08Z / 2026-07-24T15:29:08Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19759 | control | Q01, Q02
[PR-19760](https://github.com/dotnet/fsharp/pull/19760) Suppress hover/symbol resolution for wildcard &#96;_&#96; patterns inside &#96;member _.…&#96; | Copilot/Bot | 2026-05-18T11:22:44Z<br>2026-06-03T14:53:12Z | merged<br>2026-06-03T14:53:12Z / 2026-06-03T14:53:12Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19760 | control | Q01, Q02
[PR-19761](https://github.com/dotnet/fsharp/pull/19761) Avoid false FS1113 on inline instance members with class-scope self identifiers | Copilot/Bot | 2026-05-18T11:23:05Z<br>2026-07-01T15:42:35Z | merged<br>2026-07-01T15:42:35Z / 2026-07-01T15:42:35Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19761 | control | Q01, Q02, Q23
[PR-19762](https://github.com/dotnet/fsharp/pull/19762) Fix parser error for anonymous record type aliases with postfix type operators when closing bracket is column-aligned | Copilot/Bot | 2026-05-18T11:23:10Z<br>2026-06-04T13:41:53Z | merged<br>2026-06-04T13:41:53Z / 2026-06-04T13:41:53Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19762 | control | Q01, Q02
[PR-19763](https://github.com/dotnet/fsharp/pull/19763) Reject non-function bindings for single-case and partial active pattern names | Copilot/Bot | 2026-05-18T11:23:30Z<br>2026-05-29T11:27:04Z | merged<br>2026-05-29T11:27:03Z / 2026-05-29T11:27:03Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19763 | control | Q01, Q02
[PR-19772](https://github.com/dotnet/fsharp/pull/19772) Harden AI review quality: subagent dispatch, inline-only output, no wall-of-text | T-Gro/User | 2026-05-20T07:04:32Z<br>2026-05-20T15:51:28Z | merged<br>2026-05-20T15:51:28Z / 2026-05-20T15:51:28Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19772 | control | Q01, Q02
[PR-19775](https://github.com/dotnet/fsharp/pull/19775) Fix #19657: MeasureAnnotatedAbbreviation over ref type + &#124; null | T-Gro/User | 2026-05-20T12:47:47Z<br>2026-05-28T14:44:57Z | merged<br>2026-05-28T14:44:57Z / 2026-05-28T14:44:57Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19775 | control | Q01, Q02
[PR-19776](https://github.com/dotnet/fsharp/pull/19776) Honor --nowarn for command-line option warnings | T-Gro/User | 2026-05-20T16:01:53Z<br>2026-05-21T14:19:06Z | merged<br>2026-05-21T14:19:06Z / 2026-05-21T14:19:06Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19776 | control | Q01, Q02
[PR-19783](https://github.com/dotnet/fsharp/pull/19783) Change protected-files policy to 'allowed' for labelops-pr-maintenance workflow | Copilot/Bot | 2026-05-21T09:14:53Z<br>2026-05-28T08:54:05Z | merged<br>2026-05-28T08:54:01Z / 2026-05-28T08:54:01Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19783 | control | Q01, Q02
[PR-19784](https://github.com/dotnet/fsharp/pull/19784) Clean up state-machine workflow: remove stale refs, fix numbering | T-Gro/User | 2026-05-21T09:19:49Z<br>2026-05-21T09:32:14Z | merged<br>2026-05-21T09:32:09Z / 2026-05-21T09:32:09Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19784 | control | Q01, Q02
[PR-19787](https://github.com/dotnet/fsharp/pull/19787) Add CCR-OptOut review instruction | T-Gro/User | 2026-05-22T08:21:07Z<br>2026-05-22T08:26:07Z | merged<br>2026-05-22T08:26:07Z / 2026-05-22T08:26:07Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19787 | control | Q01, Q02
[PR-19788](https://github.com/dotnet/fsharp/pull/19788) Switch CCR opt-out to check PR body | T-Gro/User | 2026-05-22T08:34:54Z<br>2026-05-22T08:35:40Z | closed<br>2026-05-22T08:35:34Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19788 | control | Q01, Q02
[PR-19789](https://github.com/dotnet/fsharp/pull/19789) Switch CCR opt-out to check PR body for 'SKIP CCR REVIEW' | T-Gro/User | 2026-05-22T08:35:56Z<br>2026-05-22T08:48:59Z | merged<br>2026-05-22T08:48:59Z / 2026-05-22T08:48:59Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19789 | control | Q01, Q02
[PR-19790](https://github.com/dotnet/fsharp/pull/19790) Bump system versions | T-Gro/User | 2026-05-22T10:13:00Z<br>2026-05-22T11:37:29Z | merged<br>2026-05-22T11:37:29Z / 2026-05-22T11:37:29Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19790 | control | Q01, Q02
[PR-19791](https://github.com/dotnet/fsharp/pull/19791) Dedup format specifier locations in computation expressions | T-Gro/User | 2026-05-22T18:56:42Z<br>2026-06-12T11:11:10Z | merged<br>2026-06-03T12:02:27Z / 2026-06-03T12:02:27Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19791 | control | Q01, Q02
[PR-19793](https://github.com/dotnet/fsharp/pull/19793) &#91;main&#93; Update dependencies from dnceng/internal/dotnet-optimization | dotnet-maestro&#91;bot&#93;/Bot | 2026-05-23T02:02:13Z<br>2026-05-26T13:23:07Z | merged<br>2026-05-26T13:17:15Z / 2026-05-26T13:17:15Z | Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. | FAMILY-mibc-dependency | control | Q16, Q23
[PR-19800](https://github.com/dotnet/fsharp/pull/19800) Fix colorization of type name in MyType&lt;Qualified.Name&gt;.StaticMember | T-Gro/User | 2026-05-25T06:46:00Z<br>2026-05-29T11:10:12Z | merged<br>2026-05-29T11:10:07Z / 2026-05-29T11:10:07Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19800 | control | Q01, Q02
[PR-19801](https://github.com/dotnet/fsharp/pull/19801) Fix non-deterministic reference assembly MVIDs | T-Gro/User | 2026-05-25T07:47:13Z<br>2026-05-29T10:59:28Z | merged<br>2026-05-29T10:59:24Z / 2026-05-29T10:59:24Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19801 | control | Q01, Q02
[PR-19802](https://github.com/dotnet/fsharp/pull/19802) Add FS3889 diagnostic for namespace/type collision | T-Gro/User | 2026-05-25T09:42:30Z<br>2026-06-23T16:02:36Z | merged<br>2026-06-23T16:02:35Z / 2026-06-23T16:02:35Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19802 | control | Q01, Q02
[PR-19803](https://github.com/dotnet/fsharp/pull/19803) Detect recursive inline bindings and emit FS3888 diagnostic | T-Gro/User | 2026-05-25T12:06:02Z<br>2026-06-29T14:25:00Z | merged<br>2026-06-29T14:25:00Z / 2026-06-29T14:25:00Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19803 | control | Q01, Q02, Q23
[PR-19804](https://github.com/dotnet/fsharp/pull/19804) feat(Async): RunSynchronouslyImmediate | bartelink/User | 2026-05-25T17:55:27Z<br>2026-08-06T13:03:03Z | merged<br>2026-08-06T13:01:11Z / 2026-08-06T13:01:11Z | Included: B: generated-program, API-addition, behavior-sensitive claim or linked mechanism. | FAMILY-sync-immediate | holdout | Q08, Q21
[PR-19805](https://github.com/dotnet/fsharp/pull/19805) Fix FS1182 not reported for unused let functions in class types | T-Gro/User | 2026-05-25T20:02:28Z<br>2026-06-12T14:19:09Z | merged<br>2026-06-12T14:19:08Z / 2026-06-12T14:19:08Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19805 | control | Q01, Q02
[PR-19806](https://github.com/dotnet/fsharp/pull/19806) Fix Release mode determinism | majocha/User | 2026-05-25T20:57:41Z<br>2026-06-01T11:17:25Z | closed; draft<br>2026-05-26T09:55:52Z / - | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-19806 | control | Q08, Q18, Q24
[PR-19808](https://github.com/dotnet/fsharp/pull/19808) Fix #18086: suppress NuGet restore stdout under FSI --quiet | T-Gro/User | 2026-05-26T07:26:30Z<br>2026-06-04T12:13:19Z | merged<br>2026-06-04T12:13:16Z / 2026-06-04T12:13:16Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19808 | control | Q01, Q02
[PR-19809](https://github.com/dotnet/fsharp/pull/19809) Fix #16268: classify IDisposable in type-occurrence positions as Interface, not DisposableType | T-Gro/User | 2026-05-26T09:14:14Z<br>2026-07-03T15:00:34Z | merged<br>2026-07-03T15:00:34Z / 2026-07-03T15:00:34Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19809 | control | Q01, Q02
[PR-19810](https://github.com/dotnet/fsharp/pull/19810) Determinism: parallel-codegen same-flags reproducibility (closes #19732) | T-Gro/User | 2026-05-26T09:36:05Z<br>2026-06-29T17:07:55Z | merged<br>2026-06-29T17:07:55Z / 2026-06-29T17:07:54Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19810 | control | Q01, Q02, Q10, Q15, Q23
[PR-19811](https://github.com/dotnet/fsharp/pull/19811) Fix #18841: let _ = &amp;expr now compiles like let x = &amp;expr | T-Gro/User | 2026-05-26T09:45:41Z<br>2026-05-29T12:03:17Z | merged<br>2026-05-29T09:36:32Z / 2026-05-29T09:36:32Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19811 | control | Q01, Q02
[PR-19812](https://github.com/dotnet/fsharp/pull/19812) Fix #16360: stop duplicating editor diagnostics (revert Roslyn workaround) | T-Gro/User | 2026-05-26T10:52:18Z<br>2026-06-04T12:13:45Z | merged<br>2026-06-04T09:38:33Z / 2026-06-04T09:38:33Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19812 | control | Q01, Q02
[PR-19813](https://github.com/dotnet/fsharp/pull/19813) Fix delegate Invoke classification in declaration (#16982) | T-Gro/User | 2026-05-26T12:03:34Z<br>2026-05-28T14:39:57Z | merged<br>2026-05-28T14:39:57Z / 2026-05-28T14:39:57Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19813 | control | Q01, Q02
[PR-19814](https://github.com/dotnet/fsharp/pull/19814) Nullness FS3261: pinpoint receiver range, name the member &amp; binding in dot-access warnings | T-Gro/User | 2026-05-26T13:13:30Z<br>2026-06-23T19:07:46Z | merged<br>2026-06-23T19:07:46Z / 2026-06-23T19:07:46Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19814 | control | Q01, Q02, Q14
[PR-19818](https://github.com/dotnet/fsharp/pull/19818) Pass only narrow terminal-identifier range from name resolution | T-Gro/User | 2026-05-26T18:01:40Z<br>2026-06-18T14:13:34Z | merged<br>2026-06-18T14:13:29Z / 2026-06-18T14:13:29Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19818 | control | Q01, Q02
[PR-19824](https://github.com/dotnet/fsharp/pull/19824) &#91;main&#93; Update dependencies from dnceng/internal/dotnet-optimization | dotnet-maestro&#91;bot&#93;/Bot | 2026-05-27T02:02:04Z<br>2026-06-03T10:32:19Z | merged<br>2026-06-03T10:17:50Z / 2026-06-03T10:17:49Z | Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. | FAMILY-mibc-dependency | control | Q16, Q23
[PR-19830](https://github.com/dotnet/fsharp/pull/19830) Override System.Security.Cryptography.Xml to 10.0.8 | T-Gro/User | 2026-05-27T10:36:22Z<br>2026-05-28T08:59:06Z | merged<br>2026-05-27T19:34:50Z / 2026-05-27T19:34:50Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19830 | control | Q01, Q02
[PR-19838](https://github.com/dotnet/fsharp/pull/19838) &#91;do-not-merge&#93; Verify Release determinism CI catches optimizer Val race | T-Gro/User | 2026-05-28T09:02:00Z<br>2026-05-28T13:40:58Z | closed; draft<br>2026-05-28T13:40:55Z / - | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-19838 | control | Q01, Q02, Q23
[PR-19839](https://github.com/dotnet/fsharp/pull/19839) Fix source-build: track Cryptography.Xml via Version.Details | T-Gro/User | 2026-05-28T09:04:22Z<br>2026-05-28T17:56:47Z | merged<br>2026-05-28T17:56:47Z / 2026-05-28T17:56:47Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19839 | control | Q01, Q02
[PR-19840](https://github.com/dotnet/fsharp/pull/19840) Make aw-auto-update detection-only and delegate workflow PRs to Copilot Coding Agent | Copilot/Bot | 2026-05-28T09:15:46Z<br>2026-05-28T16:38:55Z | merged<br>2026-05-28T16:10:17Z / 2026-05-28T16:10:17Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19840 | control | Q01, Q02
[PR-19841](https://github.com/dotnet/fsharp/pull/19841) Add concurrency group to PR Tooling Safety Check workflow | Copilot/Bot | 2026-05-28T09:17:22Z<br>2026-05-29T09:43:41Z | merged<br>2026-05-29T09:43:41Z / 2026-05-29T09:43:41Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19841 | control | Q01, Q02, Q10
[PR-19842](https://github.com/dotnet/fsharp/pull/19842) Disable noop issue reporting for labelops-pr-maintenance workflow | Copilot/Bot | 2026-05-28T09:19:19Z<br>2026-05-28T14:29:28Z | merged<br>2026-05-28T14:29:28Z / 2026-05-28T14:29:28Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19842 | control | Q01, Q02
[PR-19843](https://github.com/dotnet/fsharp/pull/19843) chore: update actions/github-script from v6 to v7 | T-Gro/User | 2026-05-28T09:57:02Z<br>2026-06-04T12:30:45Z | merged<br>2026-06-04T09:38:51Z / 2026-06-04T09:38:51Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19843 | control | Q01, Q02
[PR-19848](https://github.com/dotnet/fsharp/pull/19848) Fix docs path exclusion to use recursive wildcard in azure-pipelines-PR.yml | Copilot/Bot | 2026-05-28T14:31:16Z<br>2026-05-29T12:01:54Z | merged<br>2026-05-29T09:42:57Z / 2026-05-29T09:42:57Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19848 | control | Q01, Q02
[PR-19849](https://github.com/dotnet/fsharp/pull/19849) Fix lost source range for empty-bodied computation expressions in pipelines (#19550) | T-Gro/User | 2026-05-28T14:53:50Z<br>2026-06-23T15:59:55Z | merged<br>2026-06-23T15:59:54Z / 2026-06-23T15:59:54Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19849 | control | Q01, Q02
[PR-19850](https://github.com/dotnet/fsharp/pull/19850) Fix shouldBeParenthesizedInContext for Sequential in record fields (#17826) | T-Gro/User | 2026-05-28T14:59:52Z<br>2026-07-07T11:32:00Z | merged<br>2026-07-07T09:09:15Z / 2026-07-07T09:09:15Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19850 | control | Q01, Q02
[PR-19851](https://github.com/dotnet/fsharp/pull/19851) Fix ICE on named-arg indexer setter (#16034) | T-Gro/User | 2026-05-28T15:00:05Z<br>2026-06-12T19:28:11Z | merged<br>2026-06-12T19:28:11Z / 2026-06-12T19:28:11Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19851 | control | Q01, Q02
[PR-19852](https://github.com/dotnet/fsharp/pull/19852) Fix agentic-state-machine workflow: add protected-files: allowed | T-Gro/User | 2026-05-28T16:35:18Z<br>2026-05-28T16:43:19Z | merged<br>2026-05-28T16:43:17Z / 2026-05-28T16:43:17Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19852 | control | Q01, Q02
[PR-19854](https://github.com/dotnet/fsharp/pull/19854) Suppress unused-opens/declarations false positives when file has type errors | T-Gro/User | 2026-05-28T19:21:23Z<br>2026-06-30T14:51:19Z | closed<br>2026-06-12T15:42:21Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19854 | control | Q01, Q02
[PR-19858](https://github.com/dotnet/fsharp/pull/19858) Fix double Dispose in use bindings with as patterns (#12300) | T-Gro/User | 2026-05-29T09:55:26Z<br>2026-06-18T14:19:47Z | merged<br>2026-06-12T16:43:35Z / 2026-06-12T16:43:35Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19858 | control | Q01, Q02
[PR-19859](https://github.com/dotnet/fsharp/pull/19859) &#91;PROOF / DO NOT MERGE&#93; Release determinism CI is broken on main | T-Gro/User | 2026-05-29T11:21:02Z<br>2026-06-01T13:31:44Z | closed; draft<br>2026-06-01T13:31:44Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19859 | control | Q01, Q02, Q23
[PR-19861](https://github.com/dotnet/fsharp/pull/19861) Make PR Tooling Safety Check resilient to GitHub MCP list_pull_requests timeouts | Copilot/Bot | 2026-05-29T13:16:11Z<br>2026-06-03T16:07:21Z | merged<br>2026-06-03T16:07:20Z / 2026-06-03T16:07:20Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19861 | control | Q01, Q02, Q10
[PR-19862](https://github.com/dotnet/fsharp/pull/19862) Report FS0039 only once for undefined type in inherit clause | T-Gro/User | 2026-05-29T14:01:16Z<br>2026-07-01T12:49:27Z | merged<br>2026-07-01T12:49:26Z / 2026-07-01T12:49:26Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19862 | control | Q01, Q02
[PR-19865](https://github.com/dotnet/fsharp/pull/19865) Report the resolved overload for &#91;&lt;CustomOperation&gt;&#93; keywords in QuickInfo and SymbolUse | T-Gro/User | 2026-05-29T18:53:05Z<br>2026-06-24T13:51:20Z | merged<br>2026-06-24T13:51:20Z / 2026-06-24T13:51:20Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19865 | control | Q01, Q02
[PR-19866](https://github.com/dotnet/fsharp/pull/19866) Specialize FS0027 for function/method parameters | T-Gro/User | 2026-05-29T18:54:47Z<br>2026-07-02T11:21:02Z | merged<br>2026-06-30T09:13:23Z / 2026-06-30T09:13:23Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19866 | control | Q01, Q02
[PR-19867](https://github.com/dotnet/fsharp/pull/19867) Fix tooltip showing mangled module suffix for companion modules (#17335) | T-Gro/User | 2026-05-29T20:04:19Z<br>2026-06-15T13:25:18Z | merged<br>2026-06-15T13:25:18Z / 2026-06-15T13:25:18Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19867 | control | Q01, Q02
[PR-19868](https://github.com/dotnet/fsharp/pull/19868) Fix #19457: lift CE constructs from plain let RHS in computation expressions | T-Gro/User | 2026-05-29T20:42:16Z<br>2026-07-24T13:51:45Z | merged<br>2026-07-24T13:51:41Z / 2026-07-24T13:51:40Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19868 | control | Q01, Q02
[PR-19869](https://github.com/dotnet/fsharp/pull/19869) Add InlineIfLambda to Array.init | kerams/User | 2026-05-30T07:38:12Z<br>2026-06-01T13:24:59Z | merged<br>2026-06-01T12:57:24Z / 2026-06-01T12:57:24Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q08, Q15, Q18, Q24
[PR-19877](https://github.com/dotnet/fsharp/pull/19877) Emit debug points at a stack-empty position | auduchinok/User | 2026-06-02T10:34:46Z<br>2026-06-04T14:06:14Z | merged<br>2026-06-04T14:06:13Z / 2026-06-04T14:06:13Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19877 | control | Q03, Q04
[PR-19878](https://github.com/dotnet/fsharp/pull/19878) Fix missing semantic classification in nested copy-and-update expressions | T-Gro/User | 2026-06-02T12:26:39Z<br>2026-07-02T12:28:46Z | merged<br>2026-07-02T12:28:46Z / 2026-07-02T12:28:45Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19878 | control | Q01, Q02
[PR-19879](https://github.com/dotnet/fsharp/pull/19879) Fix open declaration insertion in .fsx scripts after #r/#load directives (#16271) | T-Gro/User | 2026-06-02T13:29:05Z<br>2026-06-24T06:02:54Z | merged<br>2026-06-24T06:02:54Z / 2026-06-24T06:02:54Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19879 | control | Q01, Q02
[PR-19880](https://github.com/dotnet/fsharp/pull/19880) Warn FS3888 when consumer-visible attributes are missing from .fsi | T-Gro/User | 2026-06-02T14:53:25Z<br>2026-06-12T10:21:00Z | merged<br>2026-06-12T10:20:48Z / 2026-06-12T10:20:48Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19880 | control | Q01, Q02
[PR-19881](https://github.com/dotnet/fsharp/pull/19881) Glossary improvement | T-Gro/User | 2026-06-02T15:00:54Z<br>2026-06-03T07:56:54Z | merged<br>2026-06-03T07:56:49Z / 2026-06-03T07:56:49Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19881 | control | Q01, Q02
[PR-19882](https://github.com/dotnet/fsharp/pull/19882) Fix degraded codegen for inner recursive functions under realsig | T-Gro/User | 2026-06-02T15:02:17Z<br>2026-06-12T11:12:17Z | merged<br>2026-06-12T10:09:37Z / 2026-06-12T10:09:36Z | Included: B: generated-code, behavior-sensitive claim or linked mechanism. | FAMILY-realsig-tlr | holdout | Q01, Q02, Q09, Q15, Q21, Q22
[PR-19883](https://github.com/dotnet/fsharp/pull/19883) feat(fcs): expose FSharpMemberOrFunctionOrValue.IsPropertyAccessor | T-Gro/User | 2026-06-02T15:38:22Z<br>2026-06-30T16:03:03Z | merged<br>2026-06-30T16:03:03Z / 2026-06-30T16:03:03Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19883 | control | Q01, Q02
[PR-19884](https://github.com/dotnet/fsharp/pull/19884) Fix XmlDoc validation for get/set property pairs (#13684) | T-Gro/User | 2026-06-02T16:58:33Z<br>2026-06-03T17:49:08Z | merged<br>2026-06-03T17:49:08Z / 2026-06-03T17:49:08Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19884 | control | Q01, Q02
[PR-19885](https://github.com/dotnet/fsharp/pull/19885) Fix #13099: optimizer drops side-effectful receiver of unit member access in task CE | T-Gro/User | 2026-06-02T19:34:39Z<br>2026-07-07T16:00:59Z | merged<br>2026-07-07T16:00:59Z / 2026-07-07T16:00:59Z | Excluded as improvement evidence: preserves side effects during dead-binding elimination; reserved with the related optimizer family. | FAMILY-dead-binding | holdout | Q01, Q02, Q16, Q23
[PR-19888](https://github.com/dotnet/fsharp/pull/19888) Tests: unify baseline checking | auduchinok/User | 2026-06-03T15:07:57Z<br>2026-06-05T08:51:18Z | merged<br>2026-06-05T08:51:17Z / 2026-06-05T08:51:17Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19888 | control | Q03, Q04
[PR-19891](https://github.com/dotnet/fsharp/pull/19891) Add pr-description skill for short GitHub write-ups | T-Gro/User | 2026-06-04T08:51:26Z<br>2026-06-08T09:45:44Z | merged<br>2026-06-08T09:45:44Z / 2026-06-08T09:45:44Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19891 | control | Q01, Q02
[PR-19892](https://github.com/dotnet/fsharp/pull/19892) Unused analyzers: disable in VS when file has errors | auduchinok/User | 2026-06-04T09:38:59Z<br>2026-06-12T18:00:46Z | merged<br>2026-06-12T18:00:46Z / 2026-06-12T18:00:46Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19892 | control | Q03, Q04
[PR-19893](https://github.com/dotnet/fsharp/pull/19893) Make fsharp-diagnostics skill cross-platform | T-Gro/User | 2026-06-04T11:37:22Z<br>2026-06-04T12:42:15Z | merged<br>2026-06-04T12:42:15Z / 2026-06-04T12:42:15Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19893 | control | Q01, Q02
[PR-19894](https://github.com/dotnet/fsharp/pull/19894) Debug: rework &#96;for&#96; expressions stepping | auduchinok/User | 2026-06-04T15:16:08Z<br>2026-06-08T11:14:20Z | merged<br>2026-06-08T11:11:23Z / 2026-06-08T11:11:23Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19894 | control | Q03, Q04
[PR-19895](https://github.com/dotnet/fsharp/pull/19895) Fix #16419: report seq implicit-yield format specifiers and diagnostics once | T-Gro/User | 2026-06-05T09:05:11Z<br>2026-07-02T09:49:37Z | merged<br>2026-07-01T14:09:03Z / 2026-07-01T14:09:03Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-19895 | control | Q01, Q02, Q08, Q18, Q20, Q24
[PR-19896](https://github.com/dotnet/fsharp/pull/19896) Warning 20 range: also walk through let/use bindings (follow-up to #19504) | T-Gro/User | 2026-06-05T09:11:50Z<br>2026-06-24T12:14:52Z | merged<br>2026-06-23T15:57:07Z / 2026-06-23T15:57:07Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19896 | control | Q01, Q02
[PR-19897](https://github.com/dotnet/fsharp/pull/19897) Debug: rework conditional erasure, fix stepping over literals | auduchinok/User | 2026-06-05T10:26:31Z<br>2026-06-13T14:36:17Z | merged<br>2026-06-12T22:17:24Z / 2026-06-12T22:17:24Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19897 | control | Q03, Q04
[PR-19898](https://github.com/dotnet/fsharp/pull/19898) Restore github.dev editor link in release-notes check comment | T-Gro/User | 2026-06-05T10:58:34Z<br>2026-06-08T09:33:17Z | merged<br>2026-06-08T09:33:17Z / 2026-06-08T09:33:17Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19898 | control | Q01, Q02
[PR-19901](https://github.com/dotnet/fsharp/pull/19901) Improve agentic state-machine generator prompt | T-Gro/User | 2026-06-05T19:24:22Z<br>2026-06-16T09:00:04Z | merged<br>2026-06-16T09:00:04Z / 2026-06-16T09:00:04Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19901 | control | Q01, Q02
[PR-19909](https://github.com/dotnet/fsharp/pull/19909) &#91;Agentic State Machine&#93; Update state-machine diagram for security scan changes | github-actions&#91;bot&#93;/Bot | 2026-06-08T01:06:37Z<br>2026-06-12T10:10:16Z | merged<br>2026-06-12T10:10:16Z / 2026-06-12T10:10:16Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19909 | control | Q10
[PR-19913](https://github.com/dotnet/fsharp/pull/19913) Detect duplicate sibling modules in recursive module groups | T-Gro/User | 2026-06-08T17:56:24Z<br>2026-06-29T08:25:55Z | merged<br>2026-06-29T08:25:55Z / 2026-06-29T08:25:55Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19913 | control | Q01, Q02
[PR-19914](https://github.com/dotnet/fsharp/pull/19914) Fix #8509: warn and ignore --simpleresolution on .NET Core | T-Gro/User | 2026-06-09T09:50:48Z<br>2026-06-12T09:49:45Z | closed<br>2026-06-12T09:49:45Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19914 | control | Q01, Q02
[PR-19915](https://github.com/dotnet/fsharp/pull/19915) Report "Generic attributes are not supported..." for type abbreviations instead of FS0193 | T-Gro/User | 2026-06-09T10:04:39Z<br>2026-07-26T08:27:15Z | merged<br>2026-07-26T08:27:15Z / 2026-07-26T08:27:15Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19915 | control | Q01, Q02
[PR-19917](https://github.com/dotnet/fsharp/pull/19917) Fix Go-to-Definition for provided constructors without definition location | T-Gro/User | 2026-06-09T11:03:21Z<br>2026-07-01T15:40:54Z | merged<br>2026-07-01T15:40:54Z / 2026-07-01T15:40:54Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19917 | control | Q01, Q02
[PR-19918](https://github.com/dotnet/fsharp/pull/19918) Do not classify recursive self-reference ref cells as mutable | T-Gro/User | 2026-06-09T11:30:49Z<br>2026-06-25T10:55:17Z | merged<br>2026-06-25T10:55:16Z / 2026-06-25T10:55:16Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19918 | control | Q01, Q02
[PR-19919](https://github.com/dotnet/fsharp/pull/19919) Fix FSI pretty printing for anonymous records | T-Gro/User | 2026-06-09T11:39:32Z<br>2026-06-23T15:28:49Z | merged<br>2026-06-23T15:28:49Z / 2026-06-23T15:28:49Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19919 | control | Q01, Q02
[PR-19921](https://github.com/dotnet/fsharp/pull/19921) Attach DebuggableAttribute to FSI multi-emit manifests under --debug+ | T-Gro/User | 2026-06-09T12:47:03Z<br>2026-07-03T15:13:49Z | merged<br>2026-07-03T15:13:49Z / 2026-07-03T15:13:49Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19921 | control | Q01, Q02
[PR-19922](https://github.com/dotnet/fsharp/pull/19922) Show &#91;&lt;Literal&gt;&#93; and constant value for IL fields in Go to Metadata | T-Gro/User | 2026-06-09T14:35:48Z<br>2026-07-07T05:31:56Z | merged<br>2026-07-07T05:31:56Z / 2026-07-07T05:31:56Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19922 | control | Q01, Q02
[PR-19923](https://github.com/dotnet/fsharp/pull/19923) Fix quotations leaking empty-string match lowering into AST (#19873) | T-Gro/User | 2026-06-09T14:53:56Z<br>2026-06-12T10:00:18Z | merged<br>2026-06-12T10:00:18Z / 2026-06-12T10:00:18Z | Included: B: generated-code, behavior-sensitive, older-active claim or linked mechanism. | FAMILY-empty-string | holdout | Q01, Q02, Q23
[PR-19924](https://github.com/dotnet/fsharp/pull/19924) Emit FS0755 for CompiledName on multi-value let-bindings | T-Gro/User | 2026-06-09T16:22:47Z<br>2026-07-07T05:31:34Z | merged<br>2026-07-07T05:31:34Z / 2026-07-07T05:31:34Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19924 | control | Q01, Q02
[PR-19925](https://github.com/dotnet/fsharp/pull/19925) Render declaring type for C#-style extensions in overload errors | T-Gro/User | 2026-06-09T16:49:11Z<br>2026-06-30T09:11:34Z | merged<br>2026-06-30T09:11:33Z / 2026-06-30T09:11:33Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19925 | control | Q01, Q02
[PR-19926](https://github.com/dotnet/fsharp/pull/19926) Stop FSI from mutating script arguments after &#96;--&#96; separator | T-Gro/User | 2026-06-09T23:42:11Z<br>2026-07-02T11:51:03Z | merged<br>2026-07-02T11:51:03Z / 2026-07-02T11:51:03Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19926 | control | Q01, Q02
[PR-19927](https://github.com/dotnet/fsharp/pull/19927) &#91;main&#93; Update dependencies from dnceng/internal/dotnet-optimization | dotnet-maestro&#91;bot&#93;/Bot | 2026-06-10T02:01:59Z<br>2026-06-12T10:22:32Z | merged<br>2026-06-12T10:10:08Z / 2026-06-12T10:10:08Z | Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. | FAMILY-mibc-dependency | control | Q16, Q23
[PR-19929](https://github.com/dotnet/fsharp/pull/19929) Make parallel and sequential code generation byte-identical | T-Gro/User | 2026-06-10T13:35:27Z<br>2026-07-07T12:21:54Z | merged<br>2026-07-07T12:21:52Z / 2026-07-07T12:21:52Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19929 | control | Q01, Q02
[PR-19932](https://github.com/dotnet/fsharp/pull/19932) Debug: fix &#96;if&#96; and &#96;match&#96; condition sequence points | auduchinok/User | 2026-06-10T19:33:32Z<br>2026-06-18T12:37:55Z | merged<br>2026-06-18T12:06:56Z / 2026-06-18T12:06:56Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19932 | control | Q03, Q04
[PR-19934](https://github.com/dotnet/fsharp/pull/19934) Treat &#96;&#93;&#96; before dot like &#96;)&#96; in QuickParse completion | T-Gro/User | 2026-06-11T10:05:19Z<br>2026-06-19T11:18:50Z | merged<br>2026-06-19T11:18:49Z / 2026-06-19T11:18:49Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19934 | control | Q01, Q02
[PR-19938](https://github.com/dotnet/fsharp/pull/19938) Fix FS1110 in task { let! } when generic IL extension is in scope | T-Gro/User | 2026-06-12T14:42:20Z<br>2026-06-24T08:55:20Z | merged<br>2026-06-24T08:55:20Z / 2026-06-24T08:55:20Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19938 | control | Q01, Q02
[PR-19939](https://github.com/dotnet/fsharp/pull/19939) Fix semantic classification errors for generics, slices, CEs, and open type | T-Gro/User | 2026-06-12T17:55:35Z<br>2026-06-17T18:56:45Z | closed<br>2026-06-17T18:56:19Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19939 | control | Q01, Q02
[PR-19940](https://github.com/dotnet/fsharp/pull/19940) Fix named-argument completion stopping after first arg for methods | T-Gro/User | 2026-06-12T19:29:23Z<br>2026-07-02T16:13:42Z | merged<br>2026-07-02T16:13:41Z / 2026-07-02T16:13:41Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19940 | control | Q01, Q02
[PR-19941](https://github.com/dotnet/fsharp/pull/19941) F# hot reload: Edit-and-Continue delta emission behind --test:HotReloadDeltas | NatElkins/User | 2026-06-12T20:08:39Z<br>2026-09-16T21:35:50Z | open<br>- / - | Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q14, Q15, Q23
[PR-19953](https://github.com/dotnet/fsharp/pull/19953) Stop agentic-workflow failure-issue spam | T-Gro/User | 2026-06-16T09:31:20Z<br>2026-06-18T13:43:21Z | merged<br>2026-06-18T13:43:17Z / 2026-06-18T13:43:17Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19953 | control | Q01, Q02
[PR-19954](https://github.com/dotnet/fsharp/pull/19954) Add code-compaction skill for shrinking bloated diffs | T-Gro/User | 2026-06-16T10:43:30Z<br>2026-07-01T17:56:01Z | merged<br>2026-07-01T17:56:01Z / 2026-07-01T17:56:01Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19954 | control | Q01, Q02, Q20
[PR-19955](https://github.com/dotnet/fsharp/pull/19955) Nest augmentation-member closures inside their declaring type under --realsig+ | T-Gro/User | 2026-06-16T13:08:26Z<br>2026-06-24T12:03:19Z | merged<br>2026-06-24T12:02:37Z / 2026-06-24T12:02:36Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-19955 | control | Q01, Q02, Q15
[PR-19957](https://github.com/dotnet/fsharp/pull/19957) Add binlog-analysis skill (build-failure triage via binlog-mcp) | 0101/User | 2026-06-16T15:11:25Z<br>2026-06-17T09:00:54Z | merged<br>2026-06-17T09:00:54Z / 2026-06-17T09:00:54Z | Excluded: build-log diagnostic skill, not a benchmark or product performance improvement. | FAMILY-pr-19957 | control | Q21
[PR-19960](https://github.com/dotnet/fsharp/pull/19960) Fix F# semantic classification for delegates, slices, CEs, open type | T-Gro/User | 2026-06-16T15:47:57Z<br>2026-07-02T09:49:19Z | merged<br>2026-06-30T16:45:37Z / 2026-06-30T16:45:37Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19960 | control | Q01, Q02
[PR-19964](https://github.com/dotnet/fsharp/pull/19964) Fix FieldAccessException when optimizer relocates protected base-field access (#19963) | T-Gro/User | 2026-06-17T12:48:23Z<br>2026-06-23T11:48:20Z | merged<br>2026-06-23T11:48:20Z / 2026-06-23T11:48:20Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-19964 | control | Q01, Q02, Q15, Q23
[PR-19967](https://github.com/dotnet/fsharp/pull/19967) &#91;main&#93; Update dependencies from dnceng/internal/dotnet-optimization | dotnet-maestro&#91;bot&#93;/Bot | 2026-06-18T02:01:38Z<br>2026-06-18T16:10:24Z | merged<br>2026-06-18T16:09:49Z / 2026-06-18T16:09:49Z | Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. | FAMILY-mibc-dependency | control | Q16, Q23
[PR-19968](https://github.com/dotnet/fsharp/pull/19968) Don't regenerate xlf files in source-only builds | T-Gro/User | 2026-06-18T09:12:16Z<br>2026-08-12T13:19:52Z | merged<br>2026-06-24T13:07:19Z / 2026-06-24T13:07:19Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19968 | control | Q01, Q02
[PR-19969](https://github.com/dotnet/fsharp/pull/19969) Fix spurious type errors for provided types under parallel compilation | T-Gro/User | 2026-06-18T13:15:10Z<br>2026-07-02T07:46:03Z | merged<br>2026-07-02T07:46:02Z / 2026-07-02T07:46:02Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19969 | control | Q01, Q02, Q15, Q23
[PR-19970](https://github.com/dotnet/fsharp/pull/19970) Checker: recover on checking language version | auduchinok/User | 2026-06-18T14:34:52Z<br>2026-06-29T11:44:33Z | merged<br>2026-06-23T13:08:25Z / 2026-06-23T13:08:25Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19970 | control | Q03, Q04
[PR-19971](https://github.com/dotnet/fsharp/pull/19971) Implement interpolated strings via String.Concat | charlesroddie/User | 2026-06-18T20:09:06Z<br>2026-08-01T06:31:23Z | merged<br>2026-08-01T06:31:22Z / 2026-08-01T06:31:22Z | Included: B: generated-program, allocation, mixed-scope claim or linked mechanism. | FAMILY-string-concat | holdout | Q08, Q16, Q21, Q23
[PR-19977](https://github.com/dotnet/fsharp/pull/19977) Support NotNullIfNotNullAttribute | kerams/User | 2026-06-21T21:44:40Z<br>2026-07-28T18:17:47Z | merged<br>2026-07-28T18:16:46Z / 2026-07-28T18:16:46Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-19977 | control | Q08, Q18, Q24
[PR-19979](https://github.com/dotnet/fsharp/pull/19979) Fix packaging of design-time providers referenced via ProjectReference | T-Gro/User | 2026-06-22T08:43:14Z<br>2026-07-02T10:54:34Z | merged<br>2026-07-02T10:54:31Z / 2026-07-02T10:54:31Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19979 | control | Q01, Q02, Q13
[PR-19981](https://github.com/dotnet/fsharp/pull/19981) Bump versions | T-Gro/User | 2026-06-22T13:30:29Z<br>2026-06-23T10:13:34Z | merged<br>2026-06-23T10:13:31Z / 2026-06-23T10:13:31Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19981 | control | Q01, Q02
[PR-19985](https://github.com/dotnet/fsharp/pull/19985) &#91;main&#93; Update dependencies from dnceng/internal/dotnet-optimization | dotnet-maestro&#91;bot&#93;/Bot | 2026-06-24T02:01:59Z<br>2026-06-25T08:30:23Z | merged<br>2026-06-25T08:29:31Z / 2026-06-25T08:29:31Z | Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. | FAMILY-mibc-dependency | control | Q16, Q23
[PR-19991](https://github.com/dotnet/fsharp/pull/19991) Allow closures to read a protected base field | T-Gro/User | 2026-06-24T12:26:17Z<br>2026-07-01T08:52:36Z | merged<br>2026-06-30T15:55:43Z / 2026-06-30T15:55:43Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-19991 | control | Q01, Q02, Q15
[PR-19992](https://github.com/dotnet/fsharp/pull/19992) Add computation-expression tests for warning 20 range | T-Gro/User | 2026-06-24T12:54:26Z<br>2026-07-01T15:45:08Z | merged<br>2026-07-01T15:45:08Z / 2026-07-01T15:45:08Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-19992 | control | Q01, Q02
[PR-19993](https://github.com/dotnet/fsharp/pull/19993) Implement direct delegates | kerams/User | 2026-06-24T18:26:47Z<br>2026-08-04T10:50:36Z | merged<br>2026-08-04T10:45:06Z / 2026-08-04T10:45:06Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-19993 | control | Q08, Q18, Q24
[PR-19995](https://github.com/dotnet/fsharp/pull/19995) Avoid leaking a MeterListener per Cache in DEBUG builds | NatElkins/User | 2026-06-25T18:08:34Z<br>2026-07-08T17:27:04Z | merged<br>2026-07-08T17:27:04Z / 2026-07-08T17:27:04Z | Included: T+B: leaked MeterListeners make Debug cache-operation cost grow with listener count. | FAMILY-cache-listener | development | Q14
[PR-20001](https://github.com/dotnet/fsharp/pull/20001) Improve implied argument names | kerams/User | 2026-06-26T11:32:43Z<br>2026-06-29T10:07:51Z | merged<br>2026-06-29T10:07:21Z / 2026-06-29T10:07:21Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20001 | control | Q08, Q18, Q24
[PR-20008](https://github.com/dotnet/fsharp/pull/20008) Insert release notes at a random line to avoid merge conflicts | T-Gro/User | 2026-06-29T15:18:30Z<br>2026-07-01T15:38:15Z | merged<br>2026-07-01T15:38:15Z / 2026-07-01T15:38:15Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20008 | control | Q01, Q02
[PR-20009](https://github.com/dotnet/fsharp/pull/20009) Add regression test for cross-assembly private-constructor record equality | T-Gro/User | 2026-06-29T15:24:17Z<br>2026-07-02T11:19:33Z | merged<br>2026-07-01T15:39:42Z / 2026-07-01T15:39:42Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20009 | control | Q01, Q02
[PR-20017](https://github.com/dotnet/fsharp/pull/20017) Add ResetCompilerGeneratedNameState to compiler-generated name generators | NatElkins/User | 2026-07-01T20:17:41Z<br>2026-07-09T19:19:30Z | merged<br>2026-07-09T14:09:13Z / 2026-07-09T14:09:13Z | Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q14, Q15, Q21
[PR-20018](https://github.com/dotnet/fsharp/pull/20018) Add Roslyn-format EnC CustomDebugInformation codec and portable PDB method CDI emission | NatElkins/User | 2026-07-01T21:08:29Z<br>2026-07-24T10:37:23Z | merged<br>2026-07-24T10:37:23Z / 2026-07-24T10:37:23Z | Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q15, Q21
[PR-20019](https://github.com/dotnet/fsharp/pull/20019) Add ECMA-335 EnC metadata delta writer | NatElkins/User | 2026-07-01T21:47:00Z<br>2026-08-06T13:28:06Z | merged<br>2026-08-06T13:28:06Z / 2026-08-06T13:28:06Z | Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q14, Q20, Q21
[PR-20021](https://github.com/dotnet/fsharp/pull/20021) Intern provided namespaces to fix parallel-compilation resolution race | T-Gro/User | 2026-07-02T11:27:17Z<br>2026-07-05T17:16:36Z | merged<br>2026-07-05T17:16:33Z / 2026-07-05T17:16:33Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20021 | control | Q01, Q02, Q14, Q20
[PR-20024](https://github.com/dotnet/fsharp/pull/20024) Add stable synthesized-name replay infrastructure for hot reload | NatElkins/User | 2026-07-02T23:14:05Z<br>2026-07-24T10:38:43Z | merged<br>2026-07-24T10:38:43Z / 2026-07-24T10:38:43Z | Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q09, Q15, Q21
[PR-20025](https://github.com/dotnet/fsharp/pull/20025) Add typed-tree differ and edit classification for hot reload | NatElkins/User | 2026-07-02T23:15:18Z<br>2026-09-16T21:35:29Z | open<br>- / - | Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q21
[PR-20026](https://github.com/dotnet/fsharp/pull/20026) Add hot reload baseline reading and recorded EnC state | NatElkins/User | 2026-07-03T02:36:12Z<br>2026-08-11T18:28:50Z | merged<br>2026-08-11T18:28:50Z / 2026-08-11T18:28:50Z | Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q09, Q10, Q15, Q21
[PR-20027](https://github.com/dotnet/fsharp/pull/20027) Add the hot reload delta emitter and symbol matcher | NatElkins/User | 2026-07-03T03:25:58Z<br>2026-09-16T21:35:42Z | open<br>- / - | Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q09, Q21
[PR-20028](https://github.com/dotnet/fsharp/pull/20028) Fix ppc64le stack overflow from deep Sequential chains in graph checking | T-Gro/User | 2026-07-03T10:28:44Z<br>2026-07-07T12:28:14Z | merged<br>2026-07-07T12:25:16Z / 2026-07-07T12:25:16Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20028 | control | Q01, Q02
[PR-20030](https://github.com/dotnet/fsharp/pull/20030) Add the F# hot reload session and FCS service surface | NatElkins/User | 2026-07-03T12:22:19Z<br>2026-09-16T21:35:37Z | open<br>- / - | Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q09, Q15, Q21
[PR-20031](https://github.com/dotnet/fsharp/pull/20031) Add an experimental flag-gated in-process compile path for hot reload sessions | NatElkins/User | 2026-07-03T13:37:57Z<br>2026-09-16T21:35:59Z | open<br>- / - | Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. | FAMILY-hot-reload-cache | holdout | Q08, Q10, Q14, Q16, Q18, Q19, Q20, Q21, Q23
[PR-20033](https://github.com/dotnet/fsharp/pull/20033) Move VS language-service logic tests to FSharp.Compiler.Service.Tests | T-Gro/User | 2026-07-05T21:24:25Z<br>2026-07-23T13:37:27Z | merged<br>2026-07-23T13:37:27Z / 2026-07-23T13:37:27Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20033 | control | Q01, Q02
[PR-20044](https://github.com/dotnet/fsharp/pull/20044) Brand release/10.0.4xx as .NET 10.0.400 servicing | T-Gro/User | 2026-07-08T14:45:17Z<br>2026-07-09T08:17:25Z | merged<br>2026-07-09T08:17:21Z / 2026-07-09T08:17:21Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20044 | control | Q01, Q02
[PR-20045](https://github.com/dotnet/fsharp/pull/20045) Bump FCSMinorVersion to 13 | T-Gro/User | 2026-07-08T14:55:39Z<br>2026-07-09T08:17:39Z | merged<br>2026-07-09T08:17:37Z / 2026-07-09T08:17:37Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20045 | control | Q01, Q02
[PR-20070](https://github.com/dotnet/fsharp/pull/20070) Parser: recover on unfinished abstract members | auduchinok/User | 2026-07-21T08:56:23Z<br>2026-08-12T08:43:20Z | merged<br>2026-08-12T08:34:28Z / 2026-08-12T08:34:28Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20070 | control | Q03, Q04
[PR-20071](https://github.com/dotnet/fsharp/pull/20071) Parser: recover on missing 'when' conditions | auduchinok/User | 2026-07-21T16:32:07Z<br>2026-08-19T10:09:31Z | merged<br>2026-08-19T10:09:30Z / 2026-08-19T10:09:30Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20071 | control | Q03, Q04
[PR-20077](https://github.com/dotnet/fsharp/pull/20077) Tests/source context: support multiple carets | auduchinok/User | 2026-07-22T14:50:53Z<br>2026-07-23T08:58:45Z | merged<br>2026-07-22T17:15:59Z / 2026-07-22T17:15:59Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20077 | control | Q03, Q04
[PR-20078](https://github.com/dotnet/fsharp/pull/20078) net10 to net11 | T-Gro/User | 2026-07-22T19:34:50Z<br>2026-07-22T20:05:31Z | closed<br>2026-07-22T20:05:29Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20078 | control | Q01, Q02
[PR-20080](https://github.com/dotnet/fsharp/pull/20080) net10 to net11 | T-Gro/User | 2026-07-22T20:05:14Z<br>2026-07-28T18:12:58Z | merged<br>2026-07-28T18:12:58Z / 2026-07-28T18:12:58Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20080 | control | Q01, Q02
[PR-20081](https://github.com/dotnet/fsharp/pull/20081) Secure release-note checks for fork pull requests | NatElkins/User | 2026-07-23T13:41:53Z<br>2026-08-03T19:03:54Z | merged<br>2026-08-03T19:03:54Z / 2026-08-03T19:03:54Z | Linked context only; not a new in-window performance-improvement claim. | FAMILY-fork-release-check | control | linked
[PR-20082](https://github.com/dotnet/fsharp/pull/20082) Adopt ordered multi-caret markers in FCS tests (no behaviour change) | T-Gro/User | 2026-07-24T07:37:21Z<br>2026-08-04T16:42:29Z | merged<br>2026-08-04T16:42:28Z / 2026-08-04T16:42:28Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20082 | control | Q01, Q02, Q20
[PR-20083](https://github.com/dotnet/fsharp/pull/20083) Enable Central Package Management with transitive pinning | T-Gro/User | 2026-07-24T09:18:07Z<br>2026-07-24T09:21:37Z | closed<br>2026-07-24T09:21:37Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20083 | control | Q01, Q02
[PR-20084](https://github.com/dotnet/fsharp/pull/20084) Enable Central Package Management with transitive pinning | T-Gro/User | 2026-07-24T09:21:39Z<br>2026-08-04T09:26:45Z | merged<br>2026-08-04T09:26:45Z / 2026-08-04T09:26:45Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20084 | control | Q01, Q02
[PR-20088](https://github.com/dotnet/fsharp/pull/20088) Avoid per-instance lock object in InterruptibleLazy and DelayInitArrayMap | auduchinok/User | 2026-07-28T10:12:45Z<br>2026-08-12T12:33:05Z | merged<br>2026-08-12T12:03:33Z / 2026-08-12T12:03:33Z | Included: T+B: removes per-instance sync objects; body reports retained-memory motivation. | FAMILY-il-import-retention | development | Q03, Q04, Q09, Q10, Q22
[PR-20089](https://github.com/dotnet/fsharp/pull/20089) Optimizer: fix accessing captured values when skipping inlining | auduchinok/User | 2026-07-28T14:42:59Z<br>2026-08-24T08:24:28Z | merged<br>2026-08-12T08:33:31Z / 2026-08-12T08:33:31Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-20089 | control | Q03, Q04, Q23
[PR-20090](https://github.com/dotnet/fsharp/pull/20090) Import: Don't walk non-F# assemblies when labelling trait constraint sources | auduchinok/User | 2026-07-28T15:17:58Z<br>2026-08-17T16:36:40Z | merged<br>2026-08-12T08:30:10Z / 2026-08-12T08:30:10Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q10
[PR-20092](https://github.com/dotnet/fsharp/pull/20092) IL: add ILPreNamespace, make ILPreTypeDef creation lazy | auduchinok/User | 2026-07-28T20:09:05Z<br>2026-08-13T10:30:34Z | merged<br>2026-08-12T19:39:07Z / 2026-08-12T19:39:07Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q10, Q14
[PR-20097](https://github.com/dotnet/fsharp/pull/20097) Add symbol and type highlighting to F# diagnostics | auduchinok/User | 2026-07-29T16:39:01Z<br>2026-08-12T12:32:57Z | merged<br>2026-08-12T12:02:37Z / 2026-08-12T12:02:37Z | Excluded as performance evidence; reserved API-addition, behavior-sensitive, no-performance-claim applicability control. | FAMILY-rich-text-api | control | Q03, Q04
[PR-20099](https://github.com/dotnet/fsharp/pull/20099) Move to Roslyn's unified ExternalAccess library | JoeRobich/User | 2026-07-29T20:41:32Z<br>2026-08-04T16:14:31Z | merged<br>2026-08-04T07:55:02Z / 2026-08-04T07:55:02Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20099 | control | Q08, Q18, Q24
[PR-20100](https://github.com/dotnet/fsharp/pull/20100) &#91;main&#93; Update dependencies from dotnet/roslyn | dotnet-maestro&#91;bot&#93;/Bot | 2026-07-30T02:03:56Z<br>2026-08-24T05:05:20Z | merged<br>2026-08-18T12:24:20Z / 2026-08-18T12:24:20Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20100 | control | Q15
[PR-20101](https://github.com/dotnet/fsharp/pull/20101) Run ilverify via the tool manifest instead of a hard-coded cache path | abonie/User | 2026-07-30T06:30:07Z<br>2026-07-30T18:57:06Z | merged<br>2026-07-30T18:57:06Z / 2026-07-30T18:57:06Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-20101 | control | Q14
[PR-20105](https://github.com/dotnet/fsharp/pull/20105) Parser: recover on missing interface members | auduchinok/User | 2026-07-31T14:41:04Z<br>2026-09-03T07:38:32Z | open; draft<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20105 | control | Q03, Q04
[PR-20106](https://github.com/dotnet/fsharp/pull/20106) LexFilter: drop non-strict mode | auduchinok/User | 2026-07-31T20:24:15Z<br>2026-08-10T10:12:00Z | merged<br>2026-08-04T08:00:22Z / 2026-08-04T08:00:22Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20106 | control | Q03, Q04
[PR-20111](https://github.com/dotnet/fsharp/pull/20111) Fix recursive inline member ordering in optimizer | majocha/User | 2026-08-02T07:29:17Z<br>2026-09-16T18:54:01Z | merged<br>2026-09-16T18:54:00Z / 2026-09-16T18:54:00Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-20111 | control | Q23
[PR-20113](https://github.com/dotnet/fsharp/pull/20113) Make &#96;SourceTextData&#96; thread-safe with &#96;ConcurrentDictionary&#96; | xperiandri/User | 2026-08-02T14:44:43Z<br>2026-09-16T21:35:47Z | open<br>- / - | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q09, Q14
[PR-20115](https://github.com/dotnet/fsharp/pull/20115) F# VS editor: reduce background CPU load by gating expensive analyzers to the active document only | xperiandri/User | 2026-08-02T17:27:23Z<br>2026-08-02T17:31:09Z | closed; draft<br>2026-08-02T17:31:08Z / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q14, Q26
[PR-20116](https://github.com/dotnet/fsharp/pull/20116) F# VS editor: reduce background CPU load by gating expensive analyzers to the active document only | xperiandri/User | 2026-08-02T17:37:27Z<br>2026-08-02T20:52:20Z | closed; draft<br>2026-08-02T20:52:20Z / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q14, Q26
[PR-20117](https://github.com/dotnet/fsharp/pull/20117) F# VS editor: reduce background CPU load by gating expensive analyzers to the active document only | xperiandri/User | 2026-08-02T20:52:46Z<br>2026-09-21T10:26:36Z | open; draft<br>- / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q26
[PR-20119](https://github.com/dotnet/fsharp/pull/20119) Cache C# Compilation Emit by Project Version to avoid excessive background churn | xperiandri/User | 2026-08-02T22:45:42Z<br>2026-08-16T23:30:37Z | closed<br>2026-08-16T17:16:25Z / - | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q11, Q14, Q26
[PR-20121](https://github.com/dotnet/fsharp/pull/20121) Cache &#96;DocumentDiagnosticAnalyzer&#96; results by version stamp to avoid redundant typecheck on unchanged documents | xperiandri/User | 2026-08-02T23:20:28Z<br>2026-09-16T11:17:16Z | merged<br>2026-09-16T11:17:16Z / 2026-09-16T11:17:16Z | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q14, Q26
[PR-20126](https://github.com/dotnet/fsharp/pull/20126) Perf: async project invalidation + debounce script &#96;updateProjectOptions&#96; | xperiandri/User | 2026-08-03T00:27:02Z<br>2026-09-21T10:26:46Z | open<br>- / - | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q14, Q21, Q26
[PR-20128](https://github.com/dotnet/fsharp/pull/20128) Perf: Throttle parallel typechecks in Find All References | xperiandri/User | 2026-08-03T00:34:32Z<br>2026-08-21T14:26:25Z | merged<br>2026-08-21T13:31:11Z / 2026-08-21T13:31:11Z | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q21
[PR-20130](https://github.com/dotnet/fsharp/pull/20130) Fix false prompt-injection alarm on PR Tooling Safety Check bypass labels | T-Gro/User | 2026-08-03T19:34:59Z<br>2026-08-06T13:01:02Z | merged<br>2026-08-06T13:01:02Z / 2026-08-06T13:01:02Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20130 | control | Q01, Q02, Q10
[PR-20132](https://github.com/dotnet/fsharp/pull/20132) &#91;main&#93; Update dependencies from dnceng/internal/dotnet-optimization | dotnet-maestro&#91;bot&#93;/Bot | 2026-08-04T02:02:54Z<br>2026-08-05T08:11:05Z | merged<br>2026-08-05T08:11:01Z / 2026-08-05T08:11:01Z | Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. | FAMILY-mibc-dependency | control | Q16, Q23
[PR-20136](https://github.com/dotnet/fsharp/pull/20136) Restore pull-requests: write so release-note comments can post | T-Gro/User | 2026-08-04T09:03:29Z<br>2026-08-04T10:44:08Z | closed<br>2026-08-04T10:44:08Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20136 | control | Q01, Q02
[PR-20198](https://github.com/dotnet/fsharp/pull/20198) Make release-notes comment step non-fatal (fixes check_release_notes 403 on bot PRs) | T-Gro/User | 2026-08-04T10:38:35Z<br>2026-08-04T13:56:08Z | merged<br>2026-08-04T13:56:08Z / 2026-08-04T13:56:08Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20198 | control | Q01, Q02
[PR-20199](https://github.com/dotnet/fsharp/pull/20199) Stabilize preview language features into F# 11.0 | T-Gro/User | 2026-08-04T11:31:02Z<br>2026-08-06T09:52:08Z | merged<br>2026-08-06T09:52:04Z / 2026-08-06T09:52:04Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20199 | control | Q01, Q02
[PR-20200](https://github.com/dotnet/fsharp/pull/20200) Restore write permission for release-notes check comment | T-Gro/User | 2026-08-04T12:03:52Z<br>2026-08-04T13:56:46Z | closed<br>2026-08-04T13:56:43Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20200 | control | Q01, Q02
[PR-20201](https://github.com/dotnet/fsharp/pull/20201) Stop merging main into the retired .NET 11 scouting branch | T-Gro/User | 2026-08-04T13:17:54Z<br>2026-08-05T09:04:34Z | merged<br>2026-08-05T09:04:34Z / 2026-08-05T09:04:34Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20201 | control | Q01, Q02
[PR-20202](https://github.com/dotnet/fsharp/pull/20202) Remove always-on PrintfBinaryFormat language feature flag | T-Gro/User | 2026-08-04T14:59:55Z<br>2026-08-05T10:21:22Z | merged<br>2026-08-05T10:21:22Z / 2026-08-05T10:21:22Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20205](https://github.com/dotnet/fsharp/pull/20205) Switch from Newtonsoft to MessagePack restore in fsi tests | abonie/User | 2026-08-04T18:24:45Z<br>2026-08-05T09:46:06Z | merged<br>2026-08-05T09:46:06Z / 2026-08-05T09:46:06Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20205 | control | Q14
[PR-20208](https://github.com/dotnet/fsharp/pull/20208) Remove always-on StructActivePattern language feature flag | T-Gro/User | 2026-08-05T08:53:19Z<br>2026-08-10T08:45:34Z | merged<br>2026-08-06T15:34:57Z / 2026-08-06T15:34:57Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20209](https://github.com/dotnet/fsharp/pull/20209) Remove always-on OpenTypeDeclaration language feature flag | T-Gro/User | 2026-08-05T12:35:46Z<br>2026-08-10T10:49:05Z | merged<br>2026-08-06T15:35:11Z / 2026-08-06T15:35:11Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20210](https://github.com/dotnet/fsharp/pull/20210) Switch to FsCheck for fsi restore tests | abonie/User | 2026-08-05T14:04:05Z<br>2026-08-06T09:25:08Z | merged<br>2026-08-06T09:25:08Z / 2026-08-06T09:25:08Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20210 | control | Q14
[PR-20215](https://github.com/dotnet/fsharp/pull/20215) Remove always-on OpenTypeDeclaration language feature flag | T-Gro/User | 2026-08-06T06:11:04Z<br>2026-08-10T08:42:40Z | closed<br>2026-08-10T08:42:40Z / - | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20218](https://github.com/dotnet/fsharp/pull/20218) Remove always-on UseBindingValueDiscard language feature flag | T-Gro/User | 2026-08-06T11:20:07Z<br>2026-08-11T20:08:42Z | merged<br>2026-08-11T20:08:42Z / 2026-08-11T20:08:42Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20219](https://github.com/dotnet/fsharp/pull/20219) Set the default F# language version to 11.0 | T-Gro/User | 2026-08-06T11:33:18Z<br>2026-08-11T11:35:26Z | merged<br>2026-08-10T09:16:54Z / 2026-08-10T09:16:54Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20219 | control | Q01, Q02
[PR-20220](https://github.com/dotnet/fsharp/pull/20220) Enable MSBuild node reuse defaults in the F# build scripts | T-Gro/User | 2026-08-06T12:22:46Z<br>2026-08-10T09:14:07Z | merged<br>2026-08-10T09:13:59Z / 2026-08-10T09:13:59Z | Included: T+B: restores local MSBuild node reuse and enables MSBuild Server. | FAMILY-build-node-reuse | development | Q01, Q02, Q20
[PR-20221](https://github.com/dotnet/fsharp/pull/20221) Remove always-on WildCardInForLoop language feature flag | T-Gro/User | 2026-08-06T13:09:46Z<br>2026-08-11T20:11:19Z | merged<br>2026-08-11T20:11:19Z / 2026-08-11T20:11:19Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20222](https://github.com/dotnet/fsharp/pull/20222) Remove always-on SingleUnderscorePattern language feature flag | T-Gro/User | 2026-08-06T13:16:27Z<br>2026-08-12T11:52:21Z | merged<br>2026-08-12T11:52:21Z / 2026-08-12T11:52:21Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20223](https://github.com/dotnet/fsharp/pull/20223) Remove always-on AndBang language feature flag | T-Gro/User | 2026-08-06T14:06:40Z<br>2026-08-11T20:12:22Z | merged<br>2026-08-11T20:12:21Z / 2026-08-11T20:12:21Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20224](https://github.com/dotnet/fsharp/pull/20224) Ship FSharp.Core with a net10.0 target framework | T-Gro/User | 2026-08-06T14:13:03Z<br>2026-08-12T11:49:33Z | closed; draft<br>2026-08-07T08:49:05Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20224 | control | Q01, Q02
[PR-20225](https://github.com/dotnet/fsharp/pull/20225) Remove the dead ImplicitYield language-feature flag | T-Gro/User | 2026-08-06T14:18:15Z<br>2026-08-11T12:34:12Z | closed<br>2026-08-11T12:34:12Z / - | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20226](https://github.com/dotnet/fsharp/pull/20226) Remove always-on RelaxWhitespace language feature flag | T-Gro/User | 2026-08-06T14:19:05Z<br>2026-08-13T15:38:21Z | merged<br>2026-08-13T15:38:17Z / 2026-08-13T15:38:17Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20227](https://github.com/dotnet/fsharp/pull/20227) Fix InvalidProgramException from Seq.collect over a struct seq materialised with List.ofSeq/Seq.toList/Seq.toArray | T-Gro/User | 2026-08-06T15:58:39Z<br>2026-08-20T15:23:57Z | merged<br>2026-08-20T15:23:56Z / 2026-08-20T15:23:56Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20227 | control | Q01, Q02
[PR-20228](https://github.com/dotnet/fsharp/pull/20228) Remove always-on SingleUnderscorePattern language feature flag | T-Gro/User | 2026-08-07T08:23:23Z<br>2026-08-10T11:24:51Z | closed<br>2026-08-10T11:24:51Z / - | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20229](https://github.com/dotnet/fsharp/pull/20229) Ship FSharp.Core with a net10.0 target framework | T-Gro/User | 2026-08-07T08:49:11Z<br>2026-08-18T09:33:47Z | merged<br>2026-08-17T10:44:19Z / 2026-08-17T10:44:19Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20229 | control | Q01, Q02
[PR-20230](https://github.com/dotnet/fsharp/pull/20230) Remove always-on ImplicitYield language feature flag | T-Gro/User | 2026-08-07T09:15:47Z<br>2026-08-11T20:24:52Z | merged<br>2026-08-11T20:24:52Z / 2026-08-11T20:24:52Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20231](https://github.com/dotnet/fsharp/pull/20231) WIP: Deduplicate FSharp.Core XML docs via &lt;include&gt; | T-Gro/User | 2026-08-07T09:41:38Z<br>2026-08-21T11:15:52Z | merged<br>2026-08-20T13:04:05Z / 2026-08-20T13:04:05Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20231 | control | Q01, Q02, Q13
[PR-20232](https://github.com/dotnet/fsharp/pull/20232) Add Unchecked.withNull for unconstrained C# nullable-generic interop | T-Gro/User | 2026-08-07T12:18:41Z<br>2026-08-18T12:27:31Z | merged<br>2026-08-18T12:27:27Z / 2026-08-18T12:27:27Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20232 | control | Q01, Q02
[PR-20233](https://github.com/dotnet/fsharp/pull/20233) Remove always-on ImplicitYield language feature flag | T-Gro/User | 2026-08-07T15:05:52Z<br>2026-08-10T11:24:55Z | closed<br>2026-08-10T11:24:55Z / - | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20235](https://github.com/dotnet/fsharp/pull/20235) Enable runtime async via compiler intrinsics | majocha/User | 2026-08-08T07:15:38Z<br>2026-09-18T17:30:45Z | merged<br>2026-09-18T17:30:45Z / 2026-09-18T17:30:45Z | Included: B: generated-code, behavior-sensitive claim or linked mechanism. | FAMILY-runtime-async | holdout | Q23
[PR-20236](https://github.com/dotnet/fsharp/pull/20236) &#91;main&#93; Update dependencies from dnceng/internal/dotnet-optimization | dotnet-maestro&#91;bot&#93;/Bot | 2026-08-10T05:02:28Z<br>2026-08-10T09:00:29Z | merged<br>2026-08-10T08:58:48Z / 2026-08-10T08:58:48Z | Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. | FAMILY-mibc-dependency | control | Q16, Q23
[PR-20238](https://github.com/dotnet/fsharp/pull/20238) Remove always-on RelaxWhitespace language feature flag | T-Gro/User | 2026-08-10T08:36:16Z<br>2026-08-10T11:24:53Z | closed<br>2026-08-10T11:24:53Z / - | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20239](https://github.com/dotnet/fsharp/pull/20239) Remove always-on ImplicitYield language feature flag | T-Gro/User | 2026-08-10T10:19:51Z<br>2026-08-10T11:35:43Z | closed<br>2026-08-10T11:35:43Z / - | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20240](https://github.com/dotnet/fsharp/pull/20240) Regression matrix: build unmodified repos against local FSharp.Core | T-Gro/User | 2026-08-10T10:40:04Z<br>2026-08-12T12:44:42Z | merged<br>2026-08-12T12:44:38Z / 2026-08-12T12:44:38Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20240 | control | Q01, Q02
[PR-20242](https://github.com/dotnet/fsharp/pull/20242) Optimizer: propagate NoDynamicInvocation | auduchinok/User | 2026-08-10T14:28:14Z<br>2026-08-25T10:11:06Z | merged<br>2026-08-11T19:22:40Z / 2026-08-11T19:22:40Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-20242 | control | Q03, Q04, Q23
[PR-20244](https://github.com/dotnet/fsharp/pull/20244) Fix super-linear compilation of guarded shared-or active-pattern matches | T-Gro/User | 2026-08-11T12:29:05Z<br>2026-08-19T13:04:20Z | merged<br>2026-08-19T13:04:20Z / 2026-08-19T13:04:20Z | Included: T+B: super-linear compilation; body contains compile-time and code-size measurements. | FAMILY-pattern-memo | development | Q01, Q02, Q09, Q13, Q15, Q23
[PR-20247](https://github.com/dotnet/fsharp/pull/20247) Add nullness regression test for recursive inline SRTP memoization | T-Gro/User | 2026-08-12T11:37:40Z<br>2026-08-17T10:47:51Z | merged<br>2026-08-17T10:47:48Z / 2026-08-17T10:47:48Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20247 | control | Q01, Q02
[PR-20249](https://github.com/dotnet/fsharp/pull/20249) IL: use empty tables for members when possible | auduchinok/User | 2026-08-12T13:18:16Z<br>2026-08-13T15:21:32Z | merged<br>2026-08-13T15:20:36Z / 2026-08-13T15:20:36Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04
[PR-20250](https://github.com/dotnet/fsharp/pull/20250) IL: fix leaking binary view | auduchinok/User | 2026-08-12T15:30:43Z<br>2026-08-13T14:14:04Z | merged<br>2026-08-13T13:42:49Z / 2026-08-13T13:42:49Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q10, Q24
[PR-20254](https://github.com/dotnet/fsharp/pull/20254) IL: share ILCallingConv instances | auduchinok/User | 2026-08-13T10:55:57Z<br>2026-08-19T09:45:04Z | merged<br>2026-08-19T09:45:04Z / 2026-08-19T09:45:04Z | Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q10, Q24
[PR-20255](https://github.com/dotnet/fsharp/pull/20255) IL: reuse the cached ILTypeRef in ILTypeInfo.FromType | auduchinok/User | 2026-08-13T11:01:04Z<br>2026-08-27T09:07:35Z | merged<br>2026-08-27T09:07:35Z / 2026-08-27T09:07:34Z | Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q14, Q20, Q24
[PR-20256](https://github.com/dotnet/fsharp/pull/20256) IL: cache C# extension methods per CCU | auduchinok/User | 2026-08-13T12:10:07Z<br>2026-08-19T10:06:58Z | merged<br>2026-08-19T10:06:58Z / 2026-08-19T10:06:58Z | Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q14, Q24
[PR-20259](https://github.com/dotnet/fsharp/pull/20259) IL: cache the ILTypeRef of a type def | auduchinok/User | 2026-08-13T14:54:58Z<br>2026-08-24T14:46:42Z | merged<br>2026-08-24T14:46:42Z / 2026-08-24T14:46:42Z | Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q14, Q24
[PR-20260](https://github.com/dotnet/fsharp/pull/20260) Restore legacy cross-assembly inline metadata | T-Gro/User | 2026-08-13T20:14:13Z<br>2026-08-24T08:24:57Z | merged<br>2026-08-16T14:06:24Z / 2026-08-16T14:06:24Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20260 | control | Q01, Q02
[PR-20261](https://github.com/dotnet/fsharp/pull/20261) IL: fix the per-reader string cache sizing | auduchinok/User | 2026-08-14T10:57:17Z<br>2026-09-17T10:48:14Z | merged<br>2026-09-17T10:48:14Z / 2026-09-17T10:48:14Z | Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q09, Q10, Q14, Q24
[PR-20271](https://github.com/dotnet/fsharp/pull/20271) Fix mmap ReadOnlyMemory copy and add release notes | xperiandri/User | 2026-08-16T23:39:47Z<br>2026-08-24T14:56:31Z | merged<br>2026-08-24T14:51:22Z / 2026-08-24T14:51:22Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20271 | control | Q10, Q16, Q23
[PR-20273](https://github.com/dotnet/fsharp/pull/20273) Avoid &#96;cancellableTask&#96; CE in &#96;DocumentCache&#96; to preserve static-state-machine optimization | xperiandri/User | 2026-08-17T00:07:51Z<br>2026-08-21T14:24:46Z | merged<br>2026-08-21T13:24:25Z / 2026-08-21T13:24:25Z | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q08, Q14, Q15, Q16, Q23
[PR-20274](https://github.com/dotnet/fsharp/pull/20274) Fix &#96;NullReferenceException&#96; in &#96;Entity&#96; on unlinked placeholder entities | xperiandri/User | 2026-08-17T00:32:55Z<br>2026-09-21T09:53:24Z | merged<br>2026-09-21T09:39:11Z / 2026-09-21T09:39:11Z | Linked context only; not a new in-window performance-improvement claim. | FAMILY-entity-null-correctness | control | linked
[PR-20275](https://github.com/dotnet/fsharp/pull/20275) Reduce allocations in Md5Hasher and fix broken &#96;ThreadLocal&lt;MD5&gt;&#96; reuse | xperiandri/User | 2026-08-17T01:22:40Z<br>2026-09-15T09:58:36Z | open<br>- / - | Included: T+B: compiler, allocation, open claim or linked mechanism. | FAMILY-md5-reuse | holdout | Q09, Q18, Q20, Q22, Q24
[PR-20277](https://github.com/dotnet/fsharp/pull/20277) Fix missing .NET 11 framework build issue | xperiandri/User | 2026-08-17T10:41:33Z<br>2026-08-19T10:32:07Z | merged<br>2026-08-19T10:32:06Z / 2026-08-19T10:32:06Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20277 | control | Q08, Q18, Q24
[PR-20278](https://github.com/dotnet/fsharp/pull/20278) Unpin MSBuild dependencies to restore VMR source-build coherency | T-Gro/User | 2026-08-17T10:57:22Z<br>2026-08-18T12:28:17Z | merged<br>2026-08-18T10:31:07Z / 2026-08-18T10:31:07Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20278 | control | Q01, Q02, Q15
[PR-20281](https://github.com/dotnet/fsharp/pull/20281) Add Chiron to the compiler regression-test matrix | T-Gro/User | 2026-08-18T08:58:18Z<br>2026-08-19T09:30:42Z | merged<br>2026-08-19T06:25:42Z / 2026-08-19T06:25:42Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20281 | control | Q01, Q02
[PR-20282](https://github.com/dotnet/fsharp/pull/20282) Backport #20210: switch fsi restore tests to FsCheck | T-Gro/User | 2026-08-18T10:28:05Z<br>2026-08-19T06:24:37Z | merged<br>2026-08-19T06:24:37Z / 2026-08-19T06:24:37Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20282 | control | Q01, Q02, Q14, Q15
[PR-20284](https://github.com/dotnet/fsharp/pull/20284) Retarget the NativeAOT test to net10 to dogfood the net10 FSharp.Core | T-Gro/User | 2026-08-18T11:29:28Z<br>2026-08-19T11:40:07Z | merged<br>2026-08-19T11:40:07Z / 2026-08-19T11:40:07Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20284 | control | Q01, Q02
[PR-20285](https://github.com/dotnet/fsharp/pull/20285) Calculate Entity.PublicPath instead of storing | auduchinok/User | 2026-08-18T12:52:10Z<br>2026-08-26T14:22:34Z | merged<br>2026-08-26T14:01:06Z / 2026-08-26T14:01:05Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q24
[PR-20286](https://github.com/dotnet/fsharp/pull/20286) Make Entity's adhoc members list lazy | auduchinok/User | 2026-08-18T13:03:58Z<br>2026-08-20T10:17:33Z | merged<br>2026-08-20T10:11:52Z / 2026-08-20T10:11:52Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q14, Q24
[PR-20287](https://github.com/dotnet/fsharp/pull/20287) IL: hold custom attributes in fields rather than a union case | auduchinok/User | 2026-08-18T13:15:25Z<br>2026-09-01T09:01:28Z | merged<br>2026-09-01T09:01:28Z / 2026-09-01T09:01:28Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q24
[PR-20290](https://github.com/dotnet/fsharp/pull/20290) Restore source-build overridable prop names for runtime packages | T-Gro/User | 2026-08-19T06:07:16Z<br>2026-08-19T09:07:44Z | merged<br>2026-08-19T09:07:41Z / 2026-08-19T09:07:41Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20290 | control | Q01, Q02
[PR-20291](https://github.com/dotnet/fsharp/pull/20291) Make AI expert-review post file+line anchored inline comments, not a prose wall | T-Gro/User | 2026-08-19T09:55:13Z<br>2026-08-19T09:59:37Z | merged<br>2026-08-19T09:59:34Z / 2026-08-19T09:59:34Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20291 | control | Q01, Q02
[PR-20292](https://github.com/dotnet/fsharp/pull/20292) Add grounded folder-scoped Copilot instructions for compiler internals | T-Gro/User | 2026-08-19T10:56:42Z<br>2026-09-03T07:38:27Z | open; draft<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20292 | control | Q01, Q02, Q14
[PR-20293](https://github.com/dotnet/fsharp/pull/20293) Enable ComponentTests to reference the shipped .NETCoreApp FSharp.Core | T-Gro/User | 2026-08-19T11:01:41Z<br>2026-08-20T12:56:02Z | merged<br>2026-08-20T12:56:02Z / 2026-08-20T12:56:02Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20293 | control | Q01, Q02
[PR-20296](https://github.com/dotnet/fsharp/pull/20296) Import: share assembly CCUs between projects | auduchinok/User | 2026-08-19T12:26:35Z<br>2026-08-27T22:19:13Z | merged<br>2026-08-27T22:19:13Z / 2026-08-27T22:19:12Z | Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q10, Q14, Q15
[PR-20298](https://github.com/dotnet/fsharp/pull/20298) Name resolution: group C#-style extension members per 'open' and extended type | auduchinok/User | 2026-08-19T12:57:29Z<br>2026-08-24T12:04:29Z | merged<br>2026-08-24T12:04:29Z / 2026-08-24T12:04:29Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q10, Q14, Q24
[PR-20299](https://github.com/dotnet/fsharp/pull/20299) Test debug-inline capture of a local function from a nested closure | T-Gro/User | 2026-08-19T13:27:43Z<br>2026-08-24T12:33:01Z | merged<br>2026-08-24T12:33:01Z / 2026-08-24T12:33:01Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-20299 | control | Q01, Q02, Q15
[PR-20300](https://github.com/dotnet/fsharp/pull/20300) &#91;release/10.0.4xx&#93; Optimizer: fix accessing captured values when skipping inlining | github-actions&#91;bot&#93;/Bot | 2026-08-19T13:29:05Z<br>2026-08-21T10:38:55Z | merged<br>2026-08-21T10:38:55Z / 2026-08-21T10:38:55Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-20300 | control | Q23
[PR-20301](https://github.com/dotnet/fsharp/pull/20301) IL: share the pickled references | auduchinok/User | 2026-08-19T17:22:19Z<br>2026-09-01T12:36:31Z | merged<br>2026-08-24T12:01:51Z / 2026-08-24T12:01:51Z | Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q10, Q14, Q24
[PR-20302](https://github.com/dotnet/fsharp/pull/20302) Fix InvalidProgramException from nested NativePtr.stackalloc | T-Gro/User | 2026-08-20T09:19:15Z<br>2026-08-24T12:24:07Z | merged<br>2026-08-24T12:24:07Z / 2026-08-24T12:24:07Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20302 | control | Q01, Q02
[PR-20303](https://github.com/dotnet/fsharp/pull/20303) Let contributors F5 the F# VS extension without a matching-Roslyn VS | T-Gro/User | 2026-08-20T10:28:47Z<br>2026-08-24T12:30:14Z | merged<br>2026-08-24T12:30:14Z / 2026-08-24T12:30:14Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20303 | control | Q01, Q02
[PR-20310](https://github.com/dotnet/fsharp/pull/20310) Remove always-on WarningWhenInliningMethodImplNoInlineMarkedFunction feature flag | T-Gro/User | 2026-08-21T13:16:11Z<br>2026-08-24T15:32:47Z | merged<br>2026-08-24T15:32:46Z / 2026-08-24T15:32:46Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20311](https://github.com/dotnet/fsharp/pull/20311) Flatten always-on AccessorFunctionShorthand language feature | T-Gro/User | 2026-08-21T13:18:46Z<br>2026-08-24T15:33:32Z | merged<br>2026-08-24T15:33:32Z / 2026-08-24T15:33:32Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20312](https://github.com/dotnet/fsharp/pull/20312) Flatten always-on DiagnosticForObjInference language feature | T-Gro/User | 2026-08-21T13:32:44Z<br>2026-08-24T13:56:39Z | merged<br>2026-08-24T13:56:38Z / 2026-08-24T13:56:38Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20313](https://github.com/dotnet/fsharp/pull/20313) Remove always-on language feature flag: NestedCopyAndUpdate | T-Gro/User | 2026-08-21T14:00:55Z<br>2026-08-24T15:45:55Z | merged<br>2026-08-24T15:45:55Z / 2026-08-24T15:45:55Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20314](https://github.com/dotnet/fsharp/pull/20314) Remove always-on WhileBang language-feature flag | T-Gro/User | 2026-08-21T14:08:46Z<br>2026-08-21T20:25:56Z | closed<br>2026-08-21T19:38:37Z / - | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20315](https://github.com/dotnet/fsharp/pull/20315) Remove always-on TryWithInSeqExpression language feature flag | T-Gro/User | 2026-08-21T14:25:41Z<br>2026-08-24T15:43:23Z | merged<br>2026-08-24T15:43:23Z / 2026-08-24T15:43:22Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20316](https://github.com/dotnet/fsharp/pull/20316) Remove always-on InitPropertiesSupport language feature flag | T-Gro/User | 2026-08-21T15:08:45Z<br>2026-08-26T08:51:26Z | merged<br>2026-08-26T08:51:26Z / 2026-08-26T08:51:26Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20317](https://github.com/dotnet/fsharp/pull/20317) Remove always-on FixedIndexSlice3d4d language feature flag | T-Gro/User | 2026-08-21T15:55:25Z<br>2026-08-24T15:38:37Z | merged<br>2026-08-24T15:38:37Z / 2026-08-24T15:38:37Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20318](https://github.com/dotnet/fsharp/pull/20318) Remove always-on BetterExceptionPrinting language feature flag | T-Gro/User | 2026-08-21T16:27:06Z<br>2026-08-24T16:07:40Z | merged<br>2026-08-24T16:07:40Z / 2026-08-24T16:07:40Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20319](https://github.com/dotnet/fsharp/pull/20319) Remove always-on IndexerNotationWithoutDot language feature flag | T-Gro/User | 2026-08-21T17:21:58Z<br>2026-08-26T15:16:20Z | merged<br>2026-08-26T15:16:20Z / 2026-08-26T15:16:20Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20320](https://github.com/dotnet/fsharp/pull/20320) Remove always-on language feature flag: RelaxWhitespace2 | T-Gro/User | 2026-08-21T17:30:00Z<br>2026-08-24T15:40:38Z | merged<br>2026-08-24T15:40:38Z / 2026-08-24T15:40:38Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20321](https://github.com/dotnet/fsharp/pull/20321) Flatten always-on InterfacesWithMultipleGenericInstantiation language feature | T-Gro/User | 2026-08-21T17:32:58Z<br>2026-08-26T08:51:48Z | merged<br>2026-08-26T08:51:48Z / 2026-08-26T08:51:48Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20322](https://github.com/dotnet/fsharp/pull/20322) Reject bitwise operators on char-backed enums (#11785) | edgarfgp/User | 2026-08-23T07:34:18Z<br>2026-08-26T14:11:35Z | merged<br>2026-08-26T14:11:35Z / 2026-08-26T14:11:35Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20322 | control | Q16, Q23
[PR-20326](https://github.com/dotnet/fsharp/pull/20326) &#91;main&#93; Update dependencies from dnceng/internal/dotnet-optimization | dotnet-maestro&#91;bot&#93;/Bot | 2026-08-24T05:02:55Z<br>2026-08-27T09:19:23Z | merged<br>2026-08-27T09:07:20Z / 2026-08-27T09:07:20Z | Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. | FAMILY-mibc-dependency | control | Q16, Q23
[PR-20330](https://github.com/dotnet/fsharp/pull/20330) Remove always-on WhileBang language feature flag | T-Gro/User | 2026-08-24T07:04:40Z<br>2026-08-24T15:38:29Z | merged<br>2026-08-24T15:38:29Z / 2026-08-24T15:38:29Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20331](https://github.com/dotnet/fsharp/pull/20331) &#91;release/dev18.9&#93; Optimizer: fix accessing captured values when skipping inlining | github-actions&#91;bot&#93;/Bot | 2026-08-24T08:25:10Z<br>2026-08-24T11:20:25Z | merged<br>2026-08-24T11:20:25Z / 2026-08-24T11:20:25Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-20331 | control | Q23
[PR-20332](https://github.com/dotnet/fsharp/pull/20332) &#91;release/dev18.10&#93; Optimizer: fix accessing captured values when skipping inlining | github-actions&#91;bot&#93;/Bot | 2026-08-24T08:25:11Z<br>2026-08-24T11:20:53Z | merged<br>2026-08-24T11:20:53Z / 2026-08-24T11:20:53Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-20332 | control | Q23
[PR-20337](https://github.com/dotnet/fsharp/pull/20337) Replace the stringified pattern-match memo key with a typed one | T-Gro/User | 2026-08-24T09:23:31Z<br>2026-09-01T09:31:14Z | merged<br>2026-08-26T15:19:13Z / 2026-08-26T15:19:13Z | Included: B+linked: structural pattern memo keys; follows PR-20244 and reports identical size/IL. | FAMILY-pattern-memo | development | Q01, Q02
[PR-20338](https://github.com/dotnet/fsharp/pull/20338) Make zero-based Array2D allocation AOT-clean | T-Gro/User | 2026-08-24T13:28:48Z<br>2026-09-10T14:08:43Z | merged<br>2026-09-10T14:08:42Z / 2026-09-10T14:08:42Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20338 | control | Q01, Q02, Q09
[PR-20339](https://github.com/dotnet/fsharp/pull/20339) Fail F# tests whose return value xUnit never executes | T-Gro/User | 2026-08-24T14:26:14Z<br>2026-09-09T12:09:46Z | merged<br>2026-09-09T12:09:46Z / 2026-09-09T12:09:46Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20339 | control | Q01, Q02
[PR-20340](https://github.com/dotnet/fsharp/pull/20340) Implement RequireNamedArgumentsAttribute (FS-1095) | T-Gro/User | 2026-08-24T14:49:55Z<br>2026-09-19T06:29:37Z | merged<br>2026-09-19T06:29:33Z / 2026-09-19T06:29:32Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20340 | control | Q01, Q02
[PR-20342](https://github.com/dotnet/fsharp/pull/20342) Order explicit type args by constraint dependencies before unifying | T-Gro/User | 2026-08-25T08:54:33Z<br>2026-09-16T09:18:36Z | merged<br>2026-09-16T09:18:31Z / 2026-09-16T09:18:31Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20342 | control | Q01, Q02
[PR-20344](https://github.com/dotnet/fsharp/pull/20344) &#91;release/dev18.9&#93; Optimizer: propagate NoDynamicInvocation | github-actions&#91;bot&#93;/Bot | 2026-08-25T10:11:42Z<br>2026-08-25T14:50:08Z | merged<br>2026-08-25T14:50:08Z / 2026-08-25T14:50:08Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-20344 | control | Q23
[PR-20345](https://github.com/dotnet/fsharp/pull/20345) &#91;release/dev18.10&#93; Optimizer: propagate NoDynamicInvocation | github-actions&#91;bot&#93;/Bot | 2026-08-25T10:11:44Z<br>2026-08-25T14:52:51Z | merged<br>2026-08-25T14:52:51Z / 2026-08-25T14:52:51Z | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-20345 | control | Q23
[PR-20348](https://github.com/dotnet/fsharp/pull/20348) &#91;MicroPerf&#93; Four profiler-guided hot-path wins from self-build tracing | T-Gro/User | 2026-08-25T13:38:09Z<br>2026-08-28T13:45:07Z | merged<br>2026-08-28T13:45:06Z / 2026-08-28T13:45:06Z | Included: T+B: compiler, mixed-scope, API-neutral claim or linked mechanism. | FAMILY-self-profile | development | Q01, Q02, Q07, Q09, Q13, Q19, Q22, Q23, Q26
[PR-20349](https://github.com/dotnet/fsharp/pull/20349) &#91;MicroPerf&#93; Reverse instead of sort already-ordered branch fixups in IL writer | T-Gro/User | 2026-08-25T14:58:26Z<br>2026-09-09T12:47:54Z | merged<br>2026-09-09T12:47:48Z / 2026-09-09T12:47:48Z | Included: T+B: compiler, mixed-scope, API-neutral claim or linked mechanism. | FAMILY-self-profile | development | Q01, Q02, Q07, Q09, Q19
[PR-20350](https://github.com/dotnet/fsharp/pull/20350) &#91;MicroPerf&#93; Avoid Choice allocation in fslib entity/val-ref equality | T-Gro/User | 2026-08-25T15:11:01Z<br>2026-08-28T14:23:09Z | merged<br>2026-08-28T14:23:09Z / 2026-08-28T14:23:09Z | Included: T+B: compiler, mixed-scope, API-neutral claim or linked mechanism. | FAMILY-self-profile | development | Q01, Q02, Q07, Q09, Q16, Q23
[PR-20351](https://github.com/dotnet/fsharp/pull/20351) &#91;MicroPerf&#93; Reduce Detuple usage-analysis allocation with a mutable Dictionary | T-Gro/User | 2026-08-25T15:33:05Z<br>2026-08-28T15:01:16Z | merged<br>2026-08-28T15:01:16Z / 2026-08-28T15:01:16Z | Included: T+B: compiler, mixed-scope, API-neutral claim or linked mechanism. | FAMILY-self-profile | development | Q01, Q02, Q07, Q09
[PR-20352](https://github.com/dotnet/fsharp/pull/20352) &#91;MicroPerf&#93; Fuse copyExpr and remarkExpr into one pass when inlining | T-Gro/User | 2026-08-25T15:33:18Z<br>2026-08-27T07:59:12Z | closed<br>2026-08-26T07:58:42Z / - | Included: L+T+B: Theme-Performance; fuses inline copy and range remapping; allocation measurement. | FAMILY-inline-copy | development | Q01, Q02, Q07, Q09, Q23
[PR-20353](https://github.com/dotnet/fsharp/pull/20353) &#91;MicroPerf&#93; Cache IL method parameter attributes during overload resolution | T-Gro/User | 2026-08-25T15:40:16Z<br>2026-09-04T13:04:10Z | merged<br>2026-09-04T13:04:10Z / 2026-09-04T13:04:10Z | Included: T+B: compiler, mixed-scope, API-neutral claim or linked mechanism. | FAMILY-self-profile | development | Q01, Q02, Q07, Q09, Q14
[PR-20354](https://github.com/dotnet/fsharp/pull/20354) &#91;MicroPerf&#93; Avoid redundant FreeVars record allocation for local vals | T-Gro/User | 2026-08-25T15:45:53Z<br>2026-08-31T13:06:36Z | merged<br>2026-08-31T13:06:36Z / 2026-08-31T13:06:36Z | Included: T+B: compiler, mixed-scope, API-neutral claim or linked mechanism. | FAMILY-self-profile | development | Q01, Q02, Q07, Q09, Q22, Q23
[PR-20356](https://github.com/dotnet/fsharp/pull/20356) Rotate &#91;&lt;return: X&gt;&#93; attributes during binding normalization | nojaf/User | 2026-08-25T18:14:40Z<br>2026-08-27T15:10:34Z | merged<br>2026-08-27T14:54:09Z / 2026-08-27T14:54:09Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20356 | control | Q08, Q18, Q24
[PR-20358](https://github.com/dotnet/fsharp/pull/20358) String module spannification | jwosty/User | 2026-08-26T06:32:02Z<br>2026-09-09T13:29:02Z | open; draft<br>- / - | Included: T+B: generated-program, allocation, open claim or linked mechanism. | FAMILY-string-spans | holdout | Q08, Q09, Q18, Q21, Q24
[PR-20363](https://github.com/dotnet/fsharp/pull/20363) &#91;MicroPerf&#93; Fuse the optimizer inlining copy + type-instantiation passes | T-Gro/User | 2026-08-26T14:27:38Z<br>2026-08-31T14:08:03Z | merged<br>2026-08-31T14:08:03Z / 2026-08-31T14:08:03Z | Included: L+T+B: Theme-Performance; fuses inline copy and type instantiation; allocation measurement. | FAMILY-inline-copy | development | Q01, Q02, Q07, Q09, Q15, Q23
[PR-20364](https://github.com/dotnet/fsharp/pull/20364) Unpickling: share one EntityRef per non-local reference row | auduchinok/User | 2026-08-26T14:36:04Z<br>2026-08-27T13:06:03Z | merged<br>2026-08-27T13:01:20Z / 2026-08-27T13:01:20Z | Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q14, Q24
[PR-20365](https://github.com/dotnet/fsharp/pull/20365) Remove always-on LowercaseDUWhenRequireQualifiedAccess feature flag | T-Gro/User | 2026-08-26T15:07:18Z<br>2026-08-31T14:30:46Z | merged<br>2026-08-31T14:30:46Z / 2026-08-31T14:30:46Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20366](https://github.com/dotnet/fsharp/pull/20366) Remove always-on language feature flag DelegateTypeNameResolutionFix | T-Gro/User | 2026-08-26T15:16:11Z<br>2026-08-31T14:30:02Z | merged<br>2026-08-31T14:30:01Z / 2026-08-31T14:30:01Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20367](https://github.com/dotnet/fsharp/pull/20367) &#91;MicroPerf&#93; Inline TryD to remove constraint-solver closure allocations | T-Gro/User | 2026-08-26T15:24:12Z<br>2026-08-31T15:19:21Z | merged<br>2026-08-31T15:19:21Z / 2026-08-31T15:19:21Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q09, Q15, Q22
[PR-20368](https://github.com/dotnet/fsharp/pull/20368) &#91;MicroPerf&#93; Perf: eliminate per-call closure in StackGuard.Guard via InlineIfLambda | T-Gro/User | 2026-08-26T15:25:39Z<br>2026-08-31T15:26:33Z | merged<br>2026-08-31T15:26:33Z / 2026-08-31T15:26:33Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q09, Q15, Q21, Q23
[PR-20369](https://github.com/dotnet/fsharp/pull/20369) Remove always-on language feature flag ImprovedImpliedArgumentNames | T-Gro/User | 2026-08-26T15:32:15Z<br>2026-08-31T15:03:55Z | merged<br>2026-08-31T15:03:55Z / 2026-08-31T15:03:55Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20370](https://github.com/dotnet/fsharp/pull/20370) Remove always-on language feature flag PreferStringGetPinnableReference | T-Gro/User | 2026-08-26T15:39:09Z<br>2026-08-31T15:01:55Z | merged<br>2026-08-31T15:01:54Z / 2026-08-31T15:01:54Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20371](https://github.com/dotnet/fsharp/pull/20371) Remove always-on StaticMembersInInterfaces language feature flag | T-Gro/User | 2026-08-26T15:39:40Z<br>2026-09-01T15:06:27Z | merged<br>2026-09-01T15:06:27Z / 2026-09-01T15:06:27Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20372](https://github.com/dotnet/fsharp/pull/20372) &#91;MicroPerf&#93; Eliminate closure allocations in List.mapq and List.lengthsEqAndForall2 | T-Gro/User | 2026-08-26T15:39:52Z<br>2026-09-09T12:07:04Z | merged<br>2026-09-09T12:07:04Z / 2026-09-09T12:07:04Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q09, Q15, Q22
[PR-20373](https://github.com/dotnet/fsharp/pull/20373) &#91;MicroPerf&#93; Avoid per-call closure allocation in type-hierarchy traversal | T-Gro/User | 2026-08-26T16:01:55Z<br>2026-08-27T12:59:08Z | closed; draft<br>2026-08-27T12:58:34Z / - | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q09, Q15
[PR-20374](https://github.com/dotnet/fsharp/pull/20374) &#91;MicroPerf&#93; Inline the static-abstract interface-constraint predicate | T-Gro/User | 2026-08-26T16:12:32Z<br>2026-09-10T09:46:49Z | merged<br>2026-09-10T09:46:45Z / 2026-09-10T09:46:45Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q09, Q15, Q20, Q22
[PR-20375](https://github.com/dotnet/fsharp/pull/20375) Remove always-on language feature flag EscapeDotnetFormattableStrings | T-Gro/User | 2026-08-26T16:30:23Z<br>2026-08-31T15:03:11Z | merged<br>2026-08-31T15:03:11Z / 2026-08-31T15:03:11Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20377](https://github.com/dotnet/fsharp/pull/20377) Flatten always-on LanguageFeature.NameOf flag | T-Gro/User | 2026-08-26T17:09:43Z<br>2026-09-01T15:04:44Z | merged<br>2026-09-01T15:04:44Z / 2026-09-01T15:04:44Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20378](https://github.com/dotnet/fsharp/pull/20378) Remove always-on NullableOptionalInterop language feature flag | T-Gro/User | 2026-08-26T17:18:21Z<br>2026-09-01T14:44:45Z | merged<br>2026-09-01T14:44:45Z / 2026-09-01T14:44:45Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20384](https://github.com/dotnet/fsharp/pull/20384) &#91;MicroPerf&#93; Avoid per-call closure allocation in type-hierarchy traversal | T-Gro/User | 2026-08-27T12:57:52Z<br>2026-09-04T13:13:03Z | merged<br>2026-09-04T13:13:03Z / 2026-09-04T13:13:03Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q09, Q15
[PR-20385](https://github.com/dotnet/fsharp/pull/20385) &#91;MicroPerf&#93; Inline the free-variable typar foldBacks | T-Gro/User | 2026-08-27T12:58:14Z<br>2026-09-08T09:12:48Z | merged<br>2026-09-08T08:37:27Z / 2026-09-08T08:37:27Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q09, Q15
[PR-20387](https://github.com/dotnet/fsharp/pull/20387) Agent memory: Stacked PRs meaning + no-fork branch policy | T-Gro/User | 2026-08-27T13:14:04Z<br>2026-08-27T13:17:12Z | closed<br>2026-08-27T13:17:10Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20387 | control | Q01, Q02, Q10
[PR-20388](https://github.com/dotnet/fsharp/pull/20388) Share the empty-array singleton for zero-length Array results | T-Gro/User | 2026-08-27T14:21:14Z<br>2026-09-16T19:20:05Z | merged<br>2026-09-16T19:19:58Z / 2026-09-16T19:19:58Z | Included: T+B: generated-program, allocation, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-core-empty-array | holdout | Q01, Q02, Q09
[PR-20392](https://github.com/dotnet/fsharp/pull/20392) Fix ref-assembly MVID collisions from truncating signature-hash combiner | T-Gro/User | 2026-08-28T10:24:43Z<br>2026-09-17T11:05:37Z | merged<br>2026-09-17T11:05:32Z / 2026-09-17T11:05:32Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20392 | control | Q01, Q02, Q23
[PR-20394](https://github.com/dotnet/fsharp/pull/20394) Avoid emitting FSI multiemit PDBs without debug info | Happypig375/User | 2026-08-29T16:16:32Z<br>2026-09-18T18:04:42Z | merged<br>2026-09-18T18:04:42Z / 2026-09-18T18:04:42Z | Included: T+B: skips unnecessary FSI PDB work; body identifies symbol-generation performance report. | FAMILY-fsi-pdb | development | Q08, Q18, Q24
[PR-20398](https://github.com/dotnet/fsharp/pull/20398) Add AGENTS.md and Claude Code rules mirroring Copilot instructions | xperiandri/User | 2026-08-30T20:34:06Z<br>2026-09-21T09:52:57Z | merged<br>2026-09-21T09:41:18Z / 2026-09-21T09:41:18Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20398 | control | Q08, Q18, Q24
[PR-20409](https://github.com/dotnet/fsharp/pull/20409) Offer F# declarations to the Copilot chat "#" mention picker | xperiandri/User | 2026-08-31T22:50:56Z<br>2026-09-21T09:45:25Z | open<br>- / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q14
[PR-20413](https://github.com/dotnet/fsharp/pull/20413) Cut allocations in the VS project options caches and drop a boxing check | xperiandri/User | 2026-09-01T09:35:53Z<br>2026-09-07T14:08:56Z | merged<br>2026-09-07T14:08:55Z / 2026-09-07T14:08:55Z | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q09, Q14, Q16, Q22, Q23
[PR-20415](https://github.com/dotnet/fsharp/pull/20415) &#91;MicroPerf&#93; Make List.vMapFold inline to drop the nullness-import closure | T-Gro/User | 2026-09-01T14:39:36Z<br>2026-09-09T09:54:03Z | merged<br>2026-09-09T09:54:03Z / 2026-09-09T09:54:03Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q09, Q15, Q21
[PR-20416](https://github.com/dotnet/fsharp/pull/20416) Import: share a referenced project's CCU instead of pickling it | auduchinok/User | 2026-09-01T18:35:52Z<br>2026-09-21T13:49:23Z | open<br>- / - | Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q14, Q20
[PR-20421](https://github.com/dotnet/fsharp/pull/20421) &#91;MicroPerf&#93; Drop accessibility and attribute-scan closures via ListInline | T-Gro/User | 2026-09-02T07:29:12Z<br>2026-09-10T11:03:19Z | merged<br>2026-09-10T11:03:19Z / 2026-09-10T11:03:19Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q09, Q15, Q21
[PR-20422](https://github.com/dotnet/fsharp/pull/20422) Inline List/Array higher-order functions and adapt opaque callbacks | T-Gro/User | 2026-09-02T07:37:35Z<br>2026-09-16T19:26:30Z | merged<br>2026-09-16T09:16:57Z / 2026-09-16T09:16:57Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q09, Q15, Q22, Q23
[PR-20423](https://github.com/dotnet/fsharp/pull/20423) &#91;MicroPerf&#93; Eliminate closure allocations in well-known-attribute queries | T-Gro/User | 2026-09-02T10:33:41Z<br>2026-09-09T09:42:18Z | merged<br>2026-09-09T09:42:18Z / 2026-09-09T09:42:18Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q09, Q14, Q15, Q22
[PR-20424](https://github.com/dotnet/fsharp/pull/20424) &#91;MicroPerf&#93; Drop the generic-arg closure in CanImportILType | T-Gro/User | 2026-09-02T10:47:54Z<br>2026-09-09T09:33:20Z | merged<br>2026-09-09T09:33:20Z / 2026-09-09T09:33:20Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q15
[PR-20425](https://github.com/dotnet/fsharp/pull/20425) &#91;MicroPerf&#93; Drop the per-call closure in remarkExprs | T-Gro/User | 2026-09-02T10:49:18Z<br>2026-09-03T13:34:42Z | merged<br>2026-09-03T13:34:42Z / 2026-09-03T13:34:42Z | Included: L+T+B: Theme-Performance; removes remarkExprs mapping closure; same remapping family. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q15
[PR-20426](https://github.com/dotnet/fsharp/pull/20426) Avoid per-call FSharpFunc closure in remapVal member-info remap | T-Gro/User | 2026-09-02T13:08:11Z<br>2026-09-14T14:07:40Z | merged<br>2026-09-10T14:45:57Z / 2026-09-10T14:45:57Z | Included: B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q09, Q15
[PR-20427](https://github.com/dotnet/fsharp/pull/20427) Remove always-on language feature flag OverloadsForCustomOperations | T-Gro/User | 2026-09-02T13:53:05Z<br>2026-09-04T13:16:03Z | merged<br>2026-09-04T13:16:03Z / 2026-09-04T13:16:03Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20429](https://github.com/dotnet/fsharp/pull/20429) Remove always-on ExtendedFixedBindings language feature flag | T-Gro/User | 2026-09-02T14:01:56Z<br>2026-09-04T13:16:19Z | merged<br>2026-09-04T13:16:18Z / 2026-09-04T13:16:18Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20430](https://github.com/dotnet/fsharp/pull/20430) Remove the ArithmeticInLiterals language feature flag | T-Gro/User | 2026-09-02T14:35:54Z<br>2026-09-04T13:16:47Z | merged<br>2026-09-04T13:16:47Z / 2026-09-04T13:16:47Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20431](https://github.com/dotnet/fsharp/pull/20431) Remove always-on ExtendedStringInterpolation language feature flag | T-Gro/User | 2026-09-02T14:55:29Z<br>2026-09-09T11:32:41Z | merged<br>2026-09-09T11:32:41Z / 2026-09-09T11:32:41Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20432](https://github.com/dotnet/fsharp/pull/20432) Remove always-on InterfacesWithAbstractStaticMembers feature flag | T-Gro/User | 2026-09-02T16:46:54Z<br>2026-09-09T11:22:21Z | merged<br>2026-09-09T11:22:21Z / 2026-09-09T11:22:21Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20436](https://github.com/dotnet/fsharp/pull/20436) Skill prompt optimization | T-Gro/User | 2026-09-03T13:30:16Z<br>2026-09-10T11:00:41Z | merged<br>2026-09-10T11:00:41Z / 2026-09-10T11:00:41Z | Excluded as performance evidence; reserved docs-only, no-performance-claim applicability control. | FAMILY-prompt-docs | control | Q01, Q02, Q16, Q23
[PR-20437](https://github.com/dotnet/fsharp/pull/20437) &#91;MicroPerf&#93; Drop the per-call closure in generic type-argument codegen | T-Gro/User | 2026-09-03T13:38:40Z<br>2026-09-10T11:02:07Z | merged<br>2026-09-10T11:02:07Z / 2026-09-10T11:02:07Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q15
[PR-20439](https://github.com/dotnet/fsharp/pull/20439) &#91;MicroPerf&#93; Inline the remaining free-variable foldBacks | T-Gro/User | 2026-09-03T13:57:44Z<br>2026-09-07T09:49:38Z | merged<br>2026-09-07T09:49:38Z / 2026-09-07T09:49:38Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q09, Q14, Q15
[PR-20440](https://github.com/dotnet/fsharp/pull/20440) Remove always-on language feature flag NonVariablePatternsToRightOfAsPatterns | T-Gro/User | 2026-09-03T14:12:40Z<br>2026-09-09T12:55:47Z | merged<br>2026-09-09T12:55:42Z / 2026-09-09T12:55:40Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20441](https://github.com/dotnet/fsharp/pull/20441) Remove always-on DotlessFloat32Literal language feature flag | T-Gro/User | 2026-09-03T14:28:23Z<br>2026-09-09T12:55:30Z | merged<br>2026-09-09T12:55:24Z / 2026-09-09T12:55:24Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20442](https://github.com/dotnet/fsharp/pull/20442) Remove always-on DefaultInterfaceMemberConsumption language feature flag | T-Gro/User | 2026-09-03T14:36:54Z<br>2026-09-16T11:58:25Z | merged<br>2026-09-16T11:58:25Z / 2026-09-16T11:58:25Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20443](https://github.com/dotnet/fsharp/pull/20443) Slice source text instead of copying it line by line for outlining | xperiandri/User | 2026-09-03T20:38:49Z<br>2026-09-16T21:33:45Z | open<br>- / - | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q18
[PR-20444](https://github.com/dotnet/fsharp/pull/20444) Test/Transparent Compiler: test that TC reuses check results after project modifications | DedSec256/User | 2026-09-03T21:15:40Z<br>2026-09-21T15:34:31Z | merged<br>2026-09-21T13:49:54Z / 2026-09-21T13:49:54Z | Excluded as performance evidence; reserved test-only, no-performance-claim applicability control. | FAMILY-tc-reuse-tests | control | Q14, Q20
[PR-20447](https://github.com/dotnet/fsharp/pull/20447) &#91;MicroPerf&#93; Remove per-call closure allocations in post-inference checks | T-Gro/User | 2026-09-04T11:29:24Z<br>2026-09-09T07:47:57Z | merged<br>2026-09-09T07:47:57Z / 2026-09-09T07:47:57Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q09, Q15, Q22
[PR-20450](https://github.com/dotnet/fsharp/pull/20450) Keep the semantic colors of open documents on screen | xperiandri/User | 2026-09-04T17:29:42Z<br>2026-09-21T10:26:50Z | open<br>- / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q14
[PR-20451](https://github.com/dotnet/fsharp/pull/20451) Keep collapsed regions while a project has no options | xperiandri/User | 2026-09-04T17:29:52Z<br>2026-09-21T10:26:54Z | open<br>- / - | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20451 | control | Q08, Q18, Q24
[PR-20452](https://github.com/dotnet/fsharp/pull/20452) Share one whole-file classification between requests for a document version | xperiandri/User | 2026-09-04T17:47:57Z<br>2026-09-21T10:26:53Z | open<br>- / - | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q08, Q14, Q18, Q24
[PR-20455](https://github.com/dotnet/fsharp/pull/20455) Keep single-file project options in a named record | xperiandri/User | 2026-09-05T18:47:30Z<br>2026-09-21T10:26:56Z | open<br>- / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q09, Q14, Q22
[PR-20456](https://github.com/dotnet/fsharp/pull/20456) Sort the merged property definitions in one array | xperiandri/User | 2026-09-05T19:25:28Z<br>2026-09-21T13:47:13Z | merged<br>2026-09-21T13:47:13Z / 2026-09-21T13:47:13Z | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q08, Q09, Q14, Q15, Q18, Q19, Q20, Q22, Q24
[PR-20457](https://github.com/dotnet/fsharp/pull/20457) Cache reference timestamps behind an &#96;IVsAsyncFileChangeEx2&#96; watcher for snapshot reuse | xperiandri/User | 2026-09-05T19:26:29Z<br>2026-09-14T16:39:34Z | open<br>- / - | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q08, Q14, Q18, Q20, Q24
[PR-20458](https://github.com/dotnet/fsharp/pull/20458) Stop Debug builds writing &#96;StandardOutput.txt&#96;/&#96;StandardError.txt&#96; into the project directory | xperiandri/User | 2026-09-06T03:30:52Z<br>2026-09-21T13:53:11Z | merged<br>2026-09-21T13:53:11Z / 2026-09-21T13:53:11Z | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q08, Q18, Q24, Q26
[PR-20459](https://github.com/dotnet/fsharp/pull/20459) Let &#96;FSharpProjectSnapshot.FromOptions&#96; take reference stamps from the host | xperiandri/User | 2026-09-06T04:07:57Z<br>2026-09-17T10:19:47Z | open<br>- / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q08, Q18, Q20, Q24
[PR-20460](https://github.com/dotnet/fsharp/pull/20460) Reuse a C# project's in-memory PE reference while its semantic version holds | xperiandri/User | 2026-09-06T04:49:30Z<br>2026-09-21T10:26:55Z | open<br>- / - | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q10, Q14, Q20
[PR-20462](https://github.com/dotnet/fsharp/pull/20462) Resolve Go To Definition targets through the workspace's current solution | xperiandri/User | 2026-09-06T07:44:53Z<br>2026-09-21T10:26:57Z | open<br>- / - | Linked context only; not a new in-window performance-improvement claim. | FAMILY-vs-work-reuse | holdout | linked
[PR-20465](https://github.com/dotnet/fsharp/pull/20465) Go To Definition from C# and VB into F# without checking the whole project | xperiandri/User | 2026-09-06T11:55:22Z<br>2026-09-21T10:27:34Z | open<br>- / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q14
[PR-20467](https://github.com/dotnet/fsharp/pull/20467) &#96;start-vs-VisualFSharpSln.ps1&#96;: build against the hive's own Roslyn | xperiandri/User | 2026-09-06T16:26:49Z<br>2026-09-17T10:19:50Z | merged<br>2026-09-17T10:19:50Z / 2026-09-17T10:19:50Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20467 | control | Q08, Q18, Q24
[PR-20470](https://github.com/dotnet/fsharp/pull/20470) Ignore --pathmap in the IDE's F# project options | xperiandri/User | 2026-09-07T02:07:29Z<br>2026-09-21T10:26:59Z | open<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20470 | control | Q10, Q14
[PR-20471](https://github.com/dotnet/fsharp/pull/20471) &#91;main&#93; Update dependencies from dnceng/internal/dotnet-optimization | dotnet-maestro&#91;bot&#93;/Bot | 2026-09-07T05:02:10Z<br>2026-09-07T08:55:57Z | merged<br>2026-09-07T08:51:31Z / 2026-09-07T08:51:31Z | Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. | FAMILY-mibc-dependency | control | Q16, Q23
[PR-20475](https://github.com/dotnet/fsharp/pull/20475) Run Repo Assist only on schedule or manual dispatch | T-Gro/User | 2026-09-07T10:15:37Z<br>2026-09-10T07:44:15Z | merged<br>2026-09-10T07:44:14Z / 2026-09-10T07:44:14Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20475 | control | Q01, Q02
[PR-20476](https://github.com/dotnet/fsharp/pull/20476) Build a project's TcGlobals with its own path map when the framework imports are cached | xperiandri/User | 2026-09-07T10:31:59Z<br>2026-09-16T10:51:59Z | open<br>- / - | Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. | FAMILY-pr-20476 | control | Q10, Q14, Q20
[PR-20477](https://github.com/dotnet/fsharp/pull/20477) Add feature-completeness skill (no deferral of useful work) | T-Gro/User | 2026-09-07T13:05:38Z<br>2026-09-16T11:58:44Z | merged<br>2026-09-16T11:58:43Z / 2026-09-16T11:58:43Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20477 | control | Q01, Q02
[PR-20478](https://github.com/dotnet/fsharp/pull/20478) FCS: add FSharpCheckFileResults.FileSignature | auduchinok/User | 2026-09-07T13:17:45Z<br>2026-09-16T18:53:02Z | merged<br>2026-09-16T18:53:02Z / 2026-09-16T18:53:01Z | Excluded as independent improvement evidence; FileSignature API dependency appears in PR-20524's diff and stays with that family. | FAMILY-il-import-retention | development | Q03, Q04
[PR-20480](https://github.com/dotnet/fsharp/pull/20480) Guard the stack when checking long sequence expressions | xperiandri/User | 2026-09-07T15:59:19Z<br>2026-09-16T10:16:10Z | merged<br>2026-09-16T10:16:10Z / 2026-09-16T10:16:10Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20480 | control | Q08, Q18, Q23, Q24
[PR-20481](https://github.com/dotnet/fsharp/pull/20481) FCS: fix races that made the background builder repeat work | auduchinok/User | 2026-09-07T16:59:10Z<br>2026-09-17T10:47:40Z | merged<br>2026-09-17T10:46:39Z / 2026-09-17T10:46:39Z | Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q14
[PR-20483](https://github.com/dotnet/fsharp/pull/20483) Search each file of a multi-targeted F# project once in Go To All | xperiandri/User | 2026-09-07T20:00:52Z<br>2026-09-21T10:27:03Z | open<br>- / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q14
[PR-20485](https://github.com/dotnet/fsharp/pull/20485) Build F# projects with the .NET SDK compiler by default in Visual Studio | T-Gro/User | 2026-09-08T09:59:49Z<br>2026-09-19T06:45:39Z | open<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20485 | control | Q01, Q02
[PR-20486](https://github.com/dotnet/fsharp/pull/20486) IL: intern the attributes and type references read from metadata | auduchinok/User | 2026-09-08T10:17:11Z<br>2026-09-17T10:43:02Z | merged<br>2026-09-17T10:43:02Z / 2026-09-17T10:43:02Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q10, Q14
[PR-20487](https://github.com/dotnet/fsharp/pull/20487) Eliminate per-call closure for InlineIfLambda partial applications | T-Gro/User | 2026-09-08T10:58:40Z<br>2026-09-14T14:07:56Z | merged<br>2026-09-11T14:22:33Z / 2026-09-11T14:22:33Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q07, Q15, Q16, Q23
[PR-20488](https://github.com/dotnet/fsharp/pull/20488) Fix FS0192 Iterate2D from ReflectedDefinition over a recursive value | T-Gro/User | 2026-09-08T13:07:49Z<br>2026-09-11T14:09:51Z | merged<br>2026-09-11T14:09:50Z / 2026-09-11T14:09:50Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20488 | control | Q01, Q02
[PR-20489](https://github.com/dotnet/fsharp/pull/20489) IL: map the short-lived metadata-only PE reader | auduchinok/User | 2026-09-08T14:59:40Z<br>2026-09-17T10:36:38Z | merged<br>2026-09-17T10:36:37Z / 2026-09-17T10:36:37Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q09, Q24
[PR-20490](https://github.com/dotnet/fsharp/pull/20490) Name resolution: CheckIWSAM only needs the intrinsic methods | auduchinok/User | 2026-09-08T15:25:10Z<br>2026-09-17T10:30:21Z | merged<br>2026-09-17T10:30:21Z / 2026-09-17T10:30:21Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04
[PR-20491](https://github.com/dotnet/fsharp/pull/20491) Diagnose or hoist NativePtr.stackalloc where localloc is invalid IL | T-Gro/User | 2026-09-08T17:27:50Z<br>2026-09-21T17:44:15Z | merged<br>2026-09-21T17:44:15Z / 2026-09-21T17:44:15Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20491 | control | Q01, Q02
[PR-20492](https://github.com/dotnet/fsharp/pull/20492) Answer the Navigate To search that runs while the solution loads | xperiandri/User | 2026-09-09T00:16:46Z<br>2026-09-16T10:52:08Z | open; draft<br>- / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q14
[PR-20494](https://github.com/dotnet/fsharp/pull/20494) Typed tree: create a type's augmentation on first use | auduchinok/User | 2026-09-09T07:02:32Z<br>2026-09-17T10:47:57Z | merged<br>2026-09-17T10:47:57Z / 2026-09-17T10:47:57Z | Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04
[PR-20495](https://github.com/dotnet/fsharp/pull/20495) Keep unchanged PRs out of the tooling safety agent | T-Gro/User | 2026-09-09T08:23:40Z<br>2026-09-17T10:59:22Z | merged<br>2026-09-17T10:59:17Z / 2026-09-17T10:59:17Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20495 | control | Q01, Q02
[PR-20496](https://github.com/dotnet/fsharp/pull/20496) Make agent model defaults configurable and use Sol | T-Gro/User | 2026-09-09T12:45:43Z<br>2026-09-10T13:57:15Z | merged<br>2026-09-10T13:57:15Z / 2026-09-10T13:57:15Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20496 | control | Q01, Q02
[PR-20497](https://github.com/dotnet/fsharp/pull/20497) &#91;Agentics&#93;-Improve NoBloat around code comments | T-Gro/User | 2026-09-09T13:10:36Z<br>2026-09-17T11:02:42Z | merged<br>2026-09-17T11:02:38Z / 2026-09-17T11:02:38Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20497 | control | Q01, Q02
[PR-20498](https://github.com/dotnet/fsharp/pull/20498) WIP - another take at resumable state-machine lowering in Debug | T-Gro/User | 2026-09-09T13:13:29Z<br>2026-09-15T11:58:24Z | closed; draft<br>2026-09-15T11:58:24Z / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20498 | control | Q01, Q02
[PR-20499](https://github.com/dotnet/fsharp/pull/20499) Avoid the intermediate array allocation in project &#96;OtherOptions&#96; | xperiandri/User | 2026-09-09T17:34:12Z<br>2026-09-16T11:18:55Z | merged<br>2026-09-16T11:18:55Z / 2026-09-16T11:18:55Z | Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q08, Q09, Q18, Q24
[PR-20506](https://github.com/dotnet/fsharp/pull/20506) Support multithreaded MSBuild in F# build tasks | T-Gro/User | 2026-09-10T08:05:21Z<br>2026-09-21T08:38:23Z | merged<br>2026-09-21T07:18:45Z / 2026-09-21T07:18:45Z | Excluded: concurrent-task environment correctness; description gives no performance measurement or improvement claim. | FAMILY-pr-20506 | control | Q01, Q02
[PR-20507](https://github.com/dotnet/fsharp/pull/20507) Symbols: add WithNullnessAnnotations to the display context | auduchinok/User | 2026-09-10T08:11:05Z<br>2026-09-17T10:29:27Z | merged<br>2026-09-17T10:29:27Z / 2026-09-17T10:29:27Z | Excluded as performance evidence; reserved API-addition, behavior-sensitive, no-performance-claim applicability control. | FAMILY-rich-text-api | control | Q03, Q04
[PR-20509](https://github.com/dotnet/fsharp/pull/20509) Fix portable PDB debug reservation after path mapping | michaelglass/User | 2026-09-10T10:42:02Z<br>2026-09-21T13:36:15Z | open<br>- / - | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20509 | control | Q08, Q18, Q24
[PR-20510](https://github.com/dotnet/fsharp/pull/20510) Add a skill for proposing PR design alternatives | T-Gro/User | 2026-09-10T13:33:44Z<br>2026-09-17T11:02:24Z | merged<br>2026-09-17T11:02:19Z / 2026-09-17T11:02:19Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20510 | control | Q01, Q02
[PR-20511](https://github.com/dotnet/fsharp/pull/20511) Teach expert reviewers to check runtime representation preservation | abonie/User | 2026-09-10T15:39:49Z<br>2026-09-11T10:39:02Z | merged<br>2026-09-11T10:38:55Z / 2026-09-11T10:38:55Z | Excluded: generated reviewer guidance, not human review or a measured product improvement. | FAMILY-pr-20511 | control | Q09, Q23
[PR-20512](https://github.com/dotnet/fsharp/pull/20512) Remove obsolete static let language feature flag | T-Gro/User | 2026-09-10T17:25:04Z<br>2026-09-16T18:50:06Z | merged<br>2026-09-16T18:50:02Z / 2026-09-16T18:50:02Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20513](https://github.com/dotnet/fsharp/pull/20513) Remove always-on ErrorReportingOnStaticClasses flag | T-Gro/User | 2026-09-10T17:54:24Z<br>2026-09-16T12:42:23Z | merged<br>2026-09-16T12:42:23Z / 2026-09-16T12:42:23Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20514](https://github.com/dotnet/fsharp/pull/20514) Make reference-cell informational diagnostics unconditional | T-Gro/User | 2026-09-10T19:52:57Z<br>2026-09-22T09:18:23Z | open<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20514 | control | Q01, Q02
[PR-20515](https://github.com/dotnet/fsharp/pull/20515) Say why CommitDelayedDiagnostics copies the collection | xperiandri/User | 2026-09-10T20:59:53Z<br>2026-09-21T13:51:36Z | merged<br>2026-09-21T13:51:36Z / 2026-09-21T13:51:36Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20515 | control | Q08, Q18, Q24
[PR-20517](https://github.com/dotnet/fsharp/pull/20517) Remove always-on RequiredPropertiesSupport flag | T-Gro/User | 2026-09-10T21:41:00Z<br>2026-09-16T13:14:13Z | merged<br>2026-09-16T13:13:14Z / 2026-09-16T13:13:14Z | Excluded: removes dead configuration; no performance improvement or measurement claimed. | FAMILY-language-flag-cleanup | control | Q01, Q02
[PR-20518](https://github.com/dotnet/fsharp/pull/20518) Name a declaration from a path-mapped assembly from its root once | xperiandri/User | 2026-09-11T01:28:07Z<br>2026-09-21T13:36:15Z | open<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20518 | control | Q10, Q13
[PR-20521](https://github.com/dotnet/fsharp/pull/20521) Add F# code snippets (Ctrl+K,Ctrl+X / Ctrl+K,Ctrl+S) | xperiandri/User | 2026-09-11T07:42:18Z<br>2026-09-21T21:03:52Z | open<br>- / - | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20521 | control | Q08, Q18, Q24
[PR-20524](https://github.com/dotnet/fsharp/pull/20524) Checker: do not copy inferred file signature | auduchinok/User | 2026-09-11T11:24:25Z<br>2026-09-16T12:21:41Z | open; draft<br>- / - | Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. | FAMILY-il-import-retention | development | Q03, Q04, Q20
[PR-20525](https://github.com/dotnet/fsharp/pull/20525) Reduce recurring workflow notification noise | T-Gro/User | 2026-09-11T12:09:42Z<br>2026-09-17T10:59:01Z | merged<br>2026-09-17T10:58:58Z / 2026-09-17T10:58:58Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20525 | control | Q01, Q02, Q10
[PR-20527](https://github.com/dotnet/fsharp/pull/20527) Embed F# metadata trimming rules in compiled assemblies | T-Gro/User | 2026-09-11T12:24:42Z<br>2026-09-21T14:40:03Z | merged<br>2026-09-21T14:40:02Z / 2026-09-21T14:40:02Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20527 | control | Q01, Q02
[PR-20528](https://github.com/dotnet/fsharp/pull/20528) &#96;start-vs-VisualFSharpSln.ps1&#96;: build against a locally built hive Roslyn from its own packages | xperiandri/User | 2026-09-11T17:09:47Z<br>2026-09-14T14:28:00Z | open<br>- / - | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20528 | control | Q08, Q18, Q24
[PR-20529](https://github.com/dotnet/fsharp/pull/20529) Publish NavigableContainer's cases | xperiandri/User | 2026-09-11T18:20:48Z<br>2026-09-14T14:20:44Z | open<br>- / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q09, Q14, Q23
[PR-20531](https://github.com/dotnet/fsharp/pull/20531) Record the parameter and type parameter counts of a navigable item | xperiandri/User | 2026-09-13T18:08:46Z<br>2026-09-21T12:52:42Z | open<br>- / - | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20531 | control | Q08, Q18, Q24
[PR-20534](https://github.com/dotnet/fsharp/pull/20534) Use &#96;ValueOption&#96; to look up a reference's definition item | xperiandri/User | 2026-09-13T23:01:29Z<br>2026-09-15T09:37:01Z | merged<br>2026-09-15T09:37:01Z / 2026-09-15T09:37:01Z | Excluded: voption convention cleanup; body disclaims performance measurements and makes no reduction claim. | FAMILY-pr-20534 | control | Q08, Q18, Q24
[PR-20542](https://github.com/dotnet/fsharp/pull/20542) Cleanup: use printn/print instead of printfn/printf for interpolated strings | charlesroddie/User | 2026-09-14T06:31:06Z<br>2026-09-21T12:42:22Z | open<br>- / - | Included: B: generated-program, allocation, mixed-scope claim or linked mechanism. | FAMILY-string-concat | holdout | Q08, Q13, Q18, Q24
[PR-20544](https://github.com/dotnet/fsharp/pull/20544) Cleanup: use print/printn for simple string literals and drop redundant sprintf | charlesroddie/User | 2026-09-14T07:09:35Z<br>2026-09-21T10:08:49Z | merged<br>2026-09-21T10:08:49Z / 2026-09-21T10:08:49Z | Included: B: generated-program, allocation, mixed-scope claim or linked mechanism. | FAMILY-string-concat | holdout | Q13, Q18, Q24
[PR-20551](https://github.com/dotnet/fsharp/pull/20551) Support positional literal assembly attributes in F# builds | Evangelink/User | 2026-09-14T16:23:41Z<br>2026-09-16T21:15:51Z | merged<br>2026-09-16T21:15:51Z / 2026-09-16T21:15:51Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20551 | control | Q08, Q18, Q24
[PR-20552](https://github.com/dotnet/fsharp/pull/20552) Rich text: filter empty parts | auduchinok/User | 2026-09-14T18:40:01Z<br>2026-09-17T10:28:54Z | merged<br>2026-09-17T10:28:54Z / 2026-09-17T10:28:54Z | Excluded as performance evidence; reserved API-addition, behavior-sensitive, no-performance-claim applicability control. | FAMILY-rich-text-api | control | Q03, Q04
[PR-20553](https://github.com/dotnet/fsharp/pull/20553) Make CapturingDiagnosticsLogger safe for concurrent writers | xperiandri/User | 2026-09-15T00:21:54Z<br>2026-09-15T00:22:29Z | open; draft<br>- / - | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20553 | control | Q08, Q14, Q18, Q24
[PR-20555](https://github.com/dotnet/fsharp/pull/20555) Ship net10.0 FSharp.Core with the SDK tools | T-Gro/User | 2026-09-15T12:58:29Z<br>2026-09-18T12:36:57Z | merged<br>2026-09-18T12:36:57Z / 2026-09-18T12:36:57Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20555 | control | Q01, Q02
[PR-20556](https://github.com/dotnet/fsharp/pull/20556) Type providers: allow non-RichText errors | auduchinok/User | 2026-09-15T14:33:21Z<br>2026-09-17T10:44:25Z | open<br>- / - | Excluded as performance evidence; reserved API-addition, behavior-sensitive, no-performance-claim applicability control. | FAMILY-rich-text-api | control | Q03, Q04
[PR-20557](https://github.com/dotnet/fsharp/pull/20557) Fix array and string slicing overflow for extreme bounds | T-Gro/User | 2026-09-15T14:37:49Z<br>2026-09-18T17:48:10Z | merged<br>2026-09-18T17:48:10Z / 2026-09-18T17:48:10Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20557 | control | Q01, Q02
[PR-20558](https://github.com/dotnet/fsharp/pull/20558) Emit MethodImpl flags for property accessors | T-Gro/User | 2026-09-15T14:46:09Z<br>2026-09-18T08:58:29Z | merged<br>2026-09-18T08:58:23Z / 2026-09-18T08:58:23Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20558 | control | Q01, Q02
[PR-20559](https://github.com/dotnet/fsharp/pull/20559) Fix misleading diagnostics for reordered record fields | T-Gro/User | 2026-09-15T14:56:17Z<br>2026-09-18T08:55:02Z | merged<br>2026-09-18T08:55:02Z / 2026-09-18T08:55:02Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20559 | control | Q01, Q02
[PR-20560](https://github.com/dotnet/fsharp/pull/20560) Allow 60 minutes for state-machine documentation generation | T-Gro/User | 2026-09-15T15:45:31Z<br>2026-09-17T10:58:49Z | merged<br>2026-09-17T10:58:45Z / 2026-09-17T10:58:45Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20560 | control | Q01, Q02
[PR-20562](https://github.com/dotnet/fsharp/pull/20562) Fix false FS3261 warnings for unions in recursive declarations | T-Gro/User | 2026-09-16T05:13:55Z<br>2026-09-21T12:48:17Z | merged<br>2026-09-21T12:48:17Z / 2026-09-21T12:48:17Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20562 | control | Q01, Q02
[PR-20570](https://github.com/dotnet/fsharp/pull/20570) Allow optional arguments in indexer setters | T-Gro/User | 2026-09-17T14:20:35Z<br>2026-09-21T13:01:34Z | merged<br>2026-09-21T13:01:34Z / 2026-09-21T13:01:34Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20570 | control | Q01, Q02
[PR-20571](https://github.com/dotnet/fsharp/pull/20571) Stabilize OptimizeClosureIfNotInlined for F# 11 | T-Gro/User | 2026-09-18T08:51:47Z<br>2026-09-18T13:19:27Z | merged<br>2026-09-18T12:36:51Z / 2026-09-18T12:36:51Z | Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. | FAMILY-inline-closures | holdout | Q01, Q02, Q16, Q23
[PR-20573](https://github.com/dotnet/fsharp/pull/20573) Use voption for single-file project option subscriptions | xperiandri/User | 2026-09-18T15:12:45Z<br>2026-09-21T10:27:10Z | open; draft<br>- / - | Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. | FAMILY-vs-work-reuse | holdout | Q14
[PR-20574](https://github.com/dotnet/fsharp/pull/20574) Publish each test assembly's results as its own CI run instead of merging | T-Gro/User | 2026-09-18T17:32:58Z<br>2026-09-21T15:34:26Z | open<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20574 | control | Q01, Q02
[PR-20584](https://github.com/dotnet/fsharp/pull/20584) Reject runtime async Await in ordinary task state machines | T-Gro/User | 2026-09-18T21:31:21Z<br>2026-09-21T08:11:14Z | merged<br>2026-09-21T08:11:14Z / 2026-09-21T08:11:14Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20584 | control | Q01, Q02
[PR-20585](https://github.com/dotnet/fsharp/pull/20585) Publish ILVerify actual baselines on CI failure | T-Gro/User | 2026-09-18T23:02:39Z<br>2026-09-18T23:29:58Z | open<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20585 | control | Q01, Q02
[PR-20586](https://github.com/dotnet/fsharp/pull/20586) Preserve outer rethrows in nested runtime async try/with | T-Gro/User | 2026-09-18T23:35:03Z<br>2026-09-21T11:06:19Z | merged<br>2026-09-21T11:06:15Z / 2026-09-21T11:06:15Z | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20586 | control | Q01, Q02
[PR-20587](https://github.com/dotnet/fsharp/pull/20587) Split Linux CoreCLR CI into two test batches | T-Gro/User | 2026-09-19T00:18:03Z<br>2026-09-21T14:43:12Z | open<br>- / - | Included: B: build, latency, open claim or linked mechanism. | FAMILY-ci-turnaround | holdout | Q01, Q02
[PR-20589](https://github.com/dotnet/fsharp/pull/20589) Keep parentheses around nested tuple argument next to named arg | nojaf/User | 2026-09-19T08:43:40Z<br>2026-09-20T12:56:09Z | merged<br>2026-09-20T12:56:08Z / 2026-09-20T12:56:08Z | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20589 | control | Q08, Q18, Q24
[PR-20592](https://github.com/dotnet/fsharp/pull/20592) Add automated triage for reported regressions | T-Gro/User | 2026-09-19T15:04:42Z<br>2026-09-21T17:31:02Z | open<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20592 | control | Q01, Q02
[PR-20601](https://github.com/dotnet/fsharp/pull/20601) &#91;main&#93; Update dependencies from dnceng/internal/dotnet-optimization | dotnet-maestro&#91;bot&#93;/Bot | 2026-09-21T05:03:18Z<br>2026-09-21T07:32:44Z | merged<br>2026-09-21T07:31:13Z / 2026-09-21T07:31:12Z | Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. | FAMILY-mibc-dependency | control | Q16, Q23
[PR-20604](https://github.com/dotnet/fsharp/pull/20604) Move the string and span ordinal extensions into Strings.fs | xperiandri/User | 2026-09-21T08:58:59Z<br>2026-09-21T10:36:34Z | open<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20604 | control | Q16, Q23
[PR-20606](https://github.com/dotnet/fsharp/pull/20606) Prevent scheduled agentic workflows from running in forks | T-Gro/User | 2026-09-21T13:31:45Z<br>2026-09-21T14:43:11Z | open<br>- / - | Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. | FAMILY-pr-20606 | control | Q01, Q02
[PR-20612](https://github.com/dotnet/fsharp/pull/20612) Record the range of the &#96;exception&#96;in SynExceptionDefnRepr | nojaf/User | 2026-09-22T07:15:02Z<br>2026-09-22T07:39:54Z | open<br>- / - | Excluded: template checklist match, with no PR-level improvement/measurement claim. | FAMILY-pr-20612 | control | Q08, Q18, Q24

<!-- END INVENTORY -->
## Family splits and untouched reservations

**2026-09-22 RED-stage correction:** an architect seed exposed PR-20348's review exchange; this was not an original-user authorship attestation. Before mining it, all six members of `FAMILY-self-profile` (20348/20349/20350/20351/20353/20354) were moved from holdout to development. Their acquisition supplement appears below. The original acquisition counts elsewhere remain historical, not current split totals: there were then **40 included development and 82 included holdout PRs**, plus unchanged context/control rows; the reservation table has **94 rows**. At that freeze `FAMILY-compiler-parallel`, including PR-18998, remained an untouched evaluation reserve; no replacement family was mined. Neither this exposed family nor any paired historical/final versions may be used as holdouts.

The first split used only descriptions, changed-file metadata and explicit stack/supersession links. It reserved the interconnected closure/inlining, editor-work-reuse, hot-reload and generated-program families, plus non-performance boundary controls. Development contains separately selected cache, pattern-memo, fusion and build-latency families. This is deliberately not a random sample or an estimate of review-outcome prevalence.

One conservative contamination correction was required: PR-20088 author comment `5109201253` explicitly linked its savings to PR-20090. The whole IL-import-retention family was therefore moved into development before its feedback was inspected. It is **not** an untouched holdout. PR-20352 and PR-20363 stay together as `FAMILY-inline-copy`; PR-20373/20384 stay together with their shared ListInline/closure family. PR-20425 is also in that closure family, not the development tree-copy family. Editor stacks and alternate versions are reserved together even when that makes the reserve large.

Only metadata, pinned retrieval pointers and change-type coverage appear in the following reserve. No holdout objections, expected review outcomes or evidence-derived rules are published. Public PR descriptions were necessarily screened; human review/comment bodies were not mined for reserved families. The complete five-month **study** is not claimed complete: these reserved sources have not been evaluated.

<!-- BEGIN HOLDOUT -->
Reserved PR | Whole family | Role | Metadata coverage tags | Files | Pinned base / head
--- | --- | --- | --- | --- | ---
[PR-14372](https://github.com/dotnet/fsharp/pull/14372) | FAMILY-compiler-parallel | earlier/context reserve | no-performance-claim | 21 | [`73c90745cd`](https://github.com/dotnet/fsharp/commit/73c90745cd50cbdcb3eb064c6f97edf3ccb3cd4b) / [`4eeb56ea85`](https://github.com/dotnet/fsharp/commit/4eeb56ea85018a8a22353029c37034ab28bb8b1f)
[PR-14390](https://github.com/dotnet/fsharp/pull/14390) | FAMILY-compiler-parallel | earlier/context reserve | no-performance-claim | 8 | [`5b74995780`](https://github.com/dotnet/fsharp/commit/5b74995780a0e9d24a5db025e68b31e6d910f71f) / [`80eb1a3685`](https://github.com/dotnet/fsharp/commit/80eb1a3685079e1080a26a7b51bb7596b6a80456)
[PR-14494](https://github.com/dotnet/fsharp/pull/14494) | FAMILY-compiler-parallel | earlier/context reserve | no-performance-claim | 70 | [`fd391a0ee8`](https://github.com/dotnet/fsharp/commit/fd391a0ee82ddf35f438ef24b05c60bfdd80bbb7) / [`a03a66ae6b`](https://github.com/dotnet/fsharp/commit/a03a66ae6b745a7d2813c8a3e1b54233ff131972)
[PR-15954](https://github.com/dotnet/fsharp/pull/15954) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 41 | [`111c08b0ff`](https://github.com/dotnet/fsharp/commit/111c08b0ffb59f15858bed439ca8914e53e5f51e) / [`5130812f43`](https://github.com/dotnet/fsharp/commit/5130812f4327e014611d2a4c7380e7fcca81158a)
[PR-17518](https://github.com/dotnet/fsharp/pull/17518) | FAMILY-measure-conversion | holdout | generated-program;allocation;older-active | 3 | [`898c6c7a5b`](https://github.com/dotnet/fsharp/commit/898c6c7a5b39f6bc0cfb42c21e3fcc167b192ab4) / [`517b393c1e`](https://github.com/dotnet/fsharp/commit/517b393c1e02e318a742eb21e5f5862ca2d6dc44)
[PR-18354](https://github.com/dotnet/fsharp/pull/18354) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 47 | [`c01bc471ec`](https://github.com/dotnet/fsharp/commit/c01bc471ec95865b71b4a7f535bd6e2884e094f7) / [`54f82218a4`](https://github.com/dotnet/fsharp/commit/54f82218a410fb6ec3bcbd59af9bbe7f434d32c6)
[PR-18509](https://github.com/dotnet/fsharp/pull/18509) | FAMILY-vector-sum | holdout | generated-program;vectorization;older-active | 6 | [`e84544a66c`](https://github.com/dotnet/fsharp/commit/e84544a66c3085efd3e3f1eee00beb77708dd8f3) / [`7e5c5d16de`](https://github.com/dotnet/fsharp/commit/7e5c5d16de76ecc0b87f8da9bed6b07438d65573)
[PR-18873](https://github.com/dotnet/fsharp/pull/18873) | FAMILY-runtime-async | holdout | generated-code;behavior-sensitive | 158 | [`e631ed7f4f`](https://github.com/dotnet/fsharp/commit/e631ed7f4f210cb3dade65b1d6341bb7106e51bb) / [`4d52c27718`](https://github.com/dotnet/fsharp/commit/4d52c27718a1fef488396dd5e8cb9afb0dbb2548)
[PR-18998](https://github.com/dotnet/fsharp/pull/18998) | FAMILY-compiler-parallel | holdout | compiler;parallel;older-active | 24 | [`1ff7cb1730`](https://github.com/dotnet/fsharp/commit/1ff7cb1730d55f4cd075aa13afe17b52fb86b604) / [`27a396a746`](https://github.com/dotnet/fsharp/commit/27a396a746b5043e5035c81ad83209ef7066fb99)
[PR-19065](https://github.com/dotnet/fsharp/pull/19065) | FAMILY-runtime-async | holdout | generated-code;behavior-sensitive | 12 | [`d76e149aee`](https://github.com/dotnet/fsharp/commit/d76e149aeeae799fb8cfd0d4ffccf8c386c40c72) / [`8d06cd5b54`](https://github.com/dotnet/fsharp/commit/8d06cd5b5432faf7232ca22a89f0b3973375e21c)
[PR-19107](https://github.com/dotnet/fsharp/pull/19107) | FAMILY-cache-type-relations | holdout | compiler;cache;older-active | 3 | [`cfda5f68f7`](https://github.com/dotnet/fsharp/commit/cfda5f68f781f1b336b7d6c1689d69f2c34da751) / [`96c5f0e444`](https://github.com/dotnet/fsharp/commit/96c5f0e4448d676ad3ba82f0b94b36e6b7a35a9e)
[PR-19189](https://github.com/dotnet/fsharp/pull/19189) | FAMILY-empty-string | holdout | generated-code;behavior-sensitive;older-active | 7 | [`422667d999`](https://github.com/dotnet/fsharp/commit/422667d9993efbd63cc32735cba2a9ef1f182f19) / [`a86e142ff9`](https://github.com/dotnet/fsharp/commit/a86e142ff9dd526a50a3bc749e43209a49cca3e4)
[PR-19267](https://github.com/dotnet/fsharp/pull/19267) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 27 | [`fce51f6d26`](https://github.com/dotnet/fsharp/commit/fce51f6d26358cb5c2431f84c9884aceba7bb154) / [`7fbf6bd147`](https://github.com/dotnet/fsharp/commit/7fbf6bd147c07f36b57630904f7d515f3eb13685)
[PR-19449](https://github.com/dotnet/fsharp/pull/19449) | FAMILY-runtime-async | holdout | generated-code;behavior-sensitive | 52 | [`4a2c294ce1`](https://github.com/dotnet/fsharp/commit/4a2c294ce1241ccfe2e1fe350ae0ad03c487e8b5) / [`29e8e152a9`](https://github.com/dotnet/fsharp/commit/29e8e152a99bc84b5554a488a0d7b4721c75e9a0)
[PR-19532](https://github.com/dotnet/fsharp/pull/19532) | FAMILY-empty-string | holdout | generated-code;behavior-sensitive;older-active | 2 | [`1775f42ae1`](https://github.com/dotnet/fsharp/commit/1775f42ae10379254d8a3c000ffcd27cd4ec0390) / [`ae290c0203`](https://github.com/dotnet/fsharp/commit/ae290c020397e2837c77c908b143237d6bc1f942)
[PR-19669](https://github.com/dotnet/fsharp/pull/19669) | FAMILY-dependency-perf | holdout | dependency;automated | 1 | [`f91df7f587`](https://github.com/dotnet/fsharp/commit/f91df7f5877dce889ad23ee21e28294e4790a7e0) / [`8802f8019e`](https://github.com/dotnet/fsharp/commit/8802f8019eb88a0e22d68e26f1ed693d6ca7ba2f)
[PR-19676](https://github.com/dotnet/fsharp/pull/19676) | FAMILY-emitted-il-baselines | control | test-only;no-performance-claim | 106 | [`f03143ac2f`](https://github.com/dotnet/fsharp/commit/f03143ac2f82ec39568009700b53308425ad1efc) / [`b45c80ffc3`](https://github.com/dotnet/fsharp/commit/b45c80ffc3bb9f36df99e72c1f9f0a0755df8372)
[PR-19695](https://github.com/dotnet/fsharp/pull/19695) | FAMILY-dependency-perf | holdout | dependency;automated | 3 | [`8bd2fd3436`](https://github.com/dotnet/fsharp/commit/8bd2fd34369dceebbd0d06931d83d2329d30407d) / [`7861774836`](https://github.com/dotnet/fsharp/commit/786177483674a9bcdd48bc7d208622661ede4ec6)
[PR-19758](https://github.com/dotnet/fsharp/pull/19758) | FAMILY-dead-binding | holdout | generated-code;behavior-sensitive;automated-author | 6 | [`95ff08fabf`](https://github.com/dotnet/fsharp/commit/95ff08fabfd913179f2f89a99fd25c5406feafc2) / [`8d4f7c1d43`](https://github.com/dotnet/fsharp/commit/8d4f7c1d43aaa215733ed514c87eb10cac772dc8)
[PR-19804](https://github.com/dotnet/fsharp/pull/19804) | FAMILY-sync-immediate | holdout | generated-program;API-addition;behavior-sensitive | 36 | [`5fa2950baf`](https://github.com/dotnet/fsharp/commit/5fa2950baf8f90c675a0b02e5820344d6ffde3b5) / [`b634ab703e`](https://github.com/dotnet/fsharp/commit/b634ab703e4f7adf0a553ef89844bb741b3d148d)
[PR-19869](https://github.com/dotnet/fsharp/pull/19869) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 2 | [`aefec6b6e4`](https://github.com/dotnet/fsharp/commit/aefec6b6e4efe24d365ceb8f71172404a971bda7) / [`a8680f4fa1`](https://github.com/dotnet/fsharp/commit/a8680f4fa195bd6d363500fac81aa263bb163332)
[PR-19882](https://github.com/dotnet/fsharp/pull/19882) | FAMILY-realsig-tlr | holdout | generated-code;behavior-sensitive | 28 | [`d0e593f671`](https://github.com/dotnet/fsharp/commit/d0e593f67117a8ce97233f62b3d1b984b23c8e49) / [`5bc65018fc`](https://github.com/dotnet/fsharp/commit/5bc65018fca5e5db53476065e591b366b3305982)
[PR-19885](https://github.com/dotnet/fsharp/pull/19885) | FAMILY-dead-binding | earlier/context reserve | generated-code;behavior-sensitive;automated-author | 4 | [`423c4b86bc`](https://github.com/dotnet/fsharp/commit/423c4b86bc54b8352443696d7f082aefb92beda8) / [`c53e41a34a`](https://github.com/dotnet/fsharp/commit/c53e41a34a717b26404429dcc85f4e6bcb5b92cb)
[PR-19923](https://github.com/dotnet/fsharp/pull/19923) | FAMILY-empty-string | holdout | generated-code;behavior-sensitive;older-active | 15 | [`b8b40f5f24`](https://github.com/dotnet/fsharp/commit/b8b40f5f24915a2eb02ed78b1190d8fce9c9d84d) / [`49bd5e195e`](https://github.com/dotnet/fsharp/commit/49bd5e195eb91a7800c086c654352b6bb51a8c8a)
[PR-19941](https://github.com/dotnet/fsharp/pull/19941) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 161 | [`90767c77e9`](https://github.com/dotnet/fsharp/commit/90767c77e9c1bcc0a0ea8e4db389416c077fc804) / [`3ca5dd6038`](https://github.com/dotnet/fsharp/commit/3ca5dd6038a534ab739bd79d48018d6c83da0262)
[PR-19971](https://github.com/dotnet/fsharp/pull/19971) | FAMILY-string-concat | holdout | generated-program;allocation;mixed-scope | 32 | [`17cb50388d`](https://github.com/dotnet/fsharp/commit/17cb50388d0078e83378d3fed646db915582497d) / [`df0ef5847e`](https://github.com/dotnet/fsharp/commit/df0ef5847ec8f8a2e620d62d070656a9b0683004)
[PR-20017](https://github.com/dotnet/fsharp/pull/20017) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 5 | [`7192705ede`](https://github.com/dotnet/fsharp/commit/7192705edeb685a7594d5f6114c63f2596fadf1c) / [`39616ae68c`](https://github.com/dotnet/fsharp/commit/39616ae68cd17dd7f9cd833dae17cc70dd4e36c7)
[PR-20018](https://github.com/dotnet/fsharp/pull/20018) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 12 | [`69fca7f6e1`](https://github.com/dotnet/fsharp/commit/69fca7f6e1412e3272a3a4224608cbae4ad165f4) / [`d039cd5b5e`](https://github.com/dotnet/fsharp/commit/d039cd5b5efc24ae90d58b2f2904f3e56299cfde)
[PR-20019](https://github.com/dotnet/fsharp/pull/20019) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 18 | [`1dc395ad34`](https://github.com/dotnet/fsharp/commit/1dc395ad3415561bd2425a32e5c1f7eb50e63066) / [`06e0ad8a7c`](https://github.com/dotnet/fsharp/commit/06e0ad8a7c5ce316f0f23ff24269d1ca57cfd42b)
[PR-20024](https://github.com/dotnet/fsharp/pull/20024) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 12 | [`69fca7f6e1`](https://github.com/dotnet/fsharp/commit/69fca7f6e1412e3272a3a4224608cbae4ad165f4) / [`2633e789b1`](https://github.com/dotnet/fsharp/commit/2633e789b1eeecb16421fb61e1baf1bfff70e587)
[PR-20025](https://github.com/dotnet/fsharp/pull/20025) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 5 | [`90767c77e9`](https://github.com/dotnet/fsharp/commit/90767c77e9c1bcc0a0ea8e4db389416c077fc804) / [`b603728591`](https://github.com/dotnet/fsharp/commit/b60372859149228943672888d78b89fa63f1f320)
[PR-20026](https://github.com/dotnet/fsharp/pull/20026) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 14 | [`e9fdc379d5`](https://github.com/dotnet/fsharp/commit/e9fdc379d5faf04221eb547f613e88f0a569e613) / [`96582ba489`](https://github.com/dotnet/fsharp/commit/96582ba489cd90efa8e2ab8c513097d32c19b09c)
[PR-20027](https://github.com/dotnet/fsharp/pull/20027) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 60 | [`90767c77e9`](https://github.com/dotnet/fsharp/commit/90767c77e9c1bcc0a0ea8e4db389416c077fc804) / [`56540495c9`](https://github.com/dotnet/fsharp/commit/56540495c995bcc30bed5c99b9789a8abd21d628)
[PR-20030](https://github.com/dotnet/fsharp/pull/20030) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 124 | [`90767c77e9`](https://github.com/dotnet/fsharp/commit/90767c77e9c1bcc0a0ea8e4db389416c077fc804) / [`98001b2e15`](https://github.com/dotnet/fsharp/commit/98001b2e15d63e374e17898d40c95f6fb1000586)
[PR-20031](https://github.com/dotnet/fsharp/pull/20031) | FAMILY-hot-reload-cache | holdout | compiler;latency;mixed-scope;behavior-sensitive;open | 131 | [`90767c77e9`](https://github.com/dotnet/fsharp/commit/90767c77e9c1bcc0a0ea8e4db389416c077fc804) / [`b713d69480`](https://github.com/dotnet/fsharp/commit/b713d69480ebb259fd8474bf56ba133ea8db9bdf)
[PR-20097](https://github.com/dotnet/fsharp/pull/20097) | FAMILY-rich-text-api | control | API-addition;behavior-sensitive;no-performance-claim | 116 | [`ce9b62a663`](https://github.com/dotnet/fsharp/commit/ce9b62a6632215f166b5f11c042d4584e40dfe48) / [`f1bc448a44`](https://github.com/dotnet/fsharp/commit/f1bc448a44c8d53c51ecb2c0667cd2f77d49770a)
[PR-20113](https://github.com/dotnet/fsharp/pull/20113) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 11 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`1ab584a579`](https://github.com/dotnet/fsharp/commit/1ab584a579722f0218ed2348505710648f3c4e62)
[PR-20115](https://github.com/dotnet/fsharp/pull/20115) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 81 | [`d3403caee0`](https://github.com/dotnet/fsharp/commit/d3403caee0e62ae3a64964f19fc93f20a50d6aae) / [`f0b94acc3a`](https://github.com/dotnet/fsharp/commit/f0b94acc3a102d4ec1f043e201a43f5deb3bf8b5)
[PR-20116](https://github.com/dotnet/fsharp/pull/20116) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 81 | [`d3403caee0`](https://github.com/dotnet/fsharp/commit/d3403caee0e62ae3a64964f19fc93f20a50d6aae) / [`6d3de14754`](https://github.com/dotnet/fsharp/commit/6d3de14754c4bb12a62e9602d11aa7ace03b1a34)
[PR-20117](https://github.com/dotnet/fsharp/pull/20117) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 6 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`23016735a7`](https://github.com/dotnet/fsharp/commit/23016735a713d75db7588e4fdbeea30e826d9abd)
[PR-20119](https://github.com/dotnet/fsharp/pull/20119) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 1 | [`20382698ea`](https://github.com/dotnet/fsharp/commit/20382698ea0985a650248838dc5a21e50c6203d9) / [`25f732737a`](https://github.com/dotnet/fsharp/commit/25f732737ad94832d2e56dd6b8d133531d3e0a31)
[PR-20121](https://github.com/dotnet/fsharp/pull/20121) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 2 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`b2aede0b64`](https://github.com/dotnet/fsharp/commit/b2aede0b649771486ffde251713bd1cb13eff5de)
[PR-20126](https://github.com/dotnet/fsharp/pull/20126) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 4 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`288502848a`](https://github.com/dotnet/fsharp/commit/288502848a0fb5deb1df881430c217f983e354fc)
[PR-20128](https://github.com/dotnet/fsharp/pull/20128) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 3 | [`a94b3d8edc`](https://github.com/dotnet/fsharp/commit/a94b3d8edcf412374853feab864fa03dbca35773) / [`f86e7b8aaf`](https://github.com/dotnet/fsharp/commit/f86e7b8aaf479f3784d9f6f652ccbf512f698b34)
[PR-20235](https://github.com/dotnet/fsharp/pull/20235) | FAMILY-runtime-async | holdout | generated-code;behavior-sensitive | 72 | [`a17252bbc3`](https://github.com/dotnet/fsharp/commit/a17252bbc3e28d52a4a326757c9d5bc913cfd553) / [`45c0a4057f`](https://github.com/dotnet/fsharp/commit/45c0a4057f1bd46f1f0bb77f577427094d50d2f7)
[PR-20273](https://github.com/dotnet/fsharp/pull/20273) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 2 | [`a94b3d8edc`](https://github.com/dotnet/fsharp/commit/a94b3d8edcf412374853feab864fa03dbca35773) / [`59fb5e60c1`](https://github.com/dotnet/fsharp/commit/59fb5e60c1ee11f94adc629f526d067587a657e2)
[PR-20275](https://github.com/dotnet/fsharp/pull/20275) | FAMILY-md5-reuse | holdout | compiler;allocation;open | 5 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`d056d8de62`](https://github.com/dotnet/fsharp/commit/d056d8de6294505c3e7d6d16f8cb6c40e4d2708f)
[PR-20358](https://github.com/dotnet/fsharp/pull/20358) | FAMILY-string-spans | holdout | generated-program;allocation;open | 2 | [`e631ed7f4f`](https://github.com/dotnet/fsharp/commit/e631ed7f4f210cb3dade65b1d6341bb7106e51bb) / [`5aa9391f43`](https://github.com/dotnet/fsharp/commit/5aa9391f43d7e533d9815b4fe9245df4881833f8)
[PR-20367](https://github.com/dotnet/fsharp/pull/20367) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 4 | [`e631ed7f4f`](https://github.com/dotnet/fsharp/commit/e631ed7f4f210cb3dade65b1d6341bb7106e51bb) / [`2951feb63b`](https://github.com/dotnet/fsharp/commit/2951feb63ba84fe6cb61e8066614c7a8d9628001)
[PR-20368](https://github.com/dotnet/fsharp/pull/20368) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 16 | [`3402e3cbf9`](https://github.com/dotnet/fsharp/commit/3402e3cbf9274ae779358dafb4bde2361e1489a6) / [`1aec61ae8f`](https://github.com/dotnet/fsharp/commit/1aec61ae8f789d5ced111de112be216d2c642e85)
[PR-20372](https://github.com/dotnet/fsharp/pull/20372) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 5 | [`f1db9154f5`](https://github.com/dotnet/fsharp/commit/f1db9154f5b1cb3980ffaeda7307a52974f85da5) / [`2612cfb95b`](https://github.com/dotnet/fsharp/commit/2612cfb95ba517be4e1d604e34031ea52c6c150f)
[PR-20373](https://github.com/dotnet/fsharp/pull/20373) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 3 | [`3402e3cbf9`](https://github.com/dotnet/fsharp/commit/3402e3cbf9274ae779358dafb4bde2361e1489a6) / [`6230480525`](https://github.com/dotnet/fsharp/commit/62304805254b069c1d05faa3a8783ada71e632ea)
[PR-20374](https://github.com/dotnet/fsharp/pull/20374) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 1 | [`b374eef686`](https://github.com/dotnet/fsharp/commit/b374eef6865de7eafb72f1e70deb49cf9339c68c) / [`1c466a1bd4`](https://github.com/dotnet/fsharp/commit/1c466a1bd429ec2f3e8cb673dde9b003f55c47c2)
[PR-20384](https://github.com/dotnet/fsharp/pull/20384) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 3 | [`a29233c3e3`](https://github.com/dotnet/fsharp/commit/a29233c3e369b7fd1fd6727b5ea7fad656f12e0d) / [`2ba4a1cf62`](https://github.com/dotnet/fsharp/commit/2ba4a1cf62ed0cf516a6990da21ac4c9309e9c31)
[PR-20385](https://github.com/dotnet/fsharp/pull/20385) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 4 | [`dbb51b15e0`](https://github.com/dotnet/fsharp/commit/dbb51b15e0976a7953e7b23ef47fe0ff5cabd371) / [`176a26a78d`](https://github.com/dotnet/fsharp/commit/176a26a78dfa2c8752e237994c266fcce94ee10f)
[PR-20388](https://github.com/dotnet/fsharp/pull/20388) | FAMILY-core-empty-array | holdout | generated-program;allocation;API-neutral;behavior-sensitive | 9 | [`c9213bc6f2`](https://github.com/dotnet/fsharp/commit/c9213bc6f2ebae94a59d563319483c6ce8c527c7) / [`cd3b1fa912`](https://github.com/dotnet/fsharp/commit/cd3b1fa9127c5e391e25d804355ab5e11b2cb67f)
[PR-20409](https://github.com/dotnet/fsharp/pull/20409) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 27 | [`721adfa6a4`](https://github.com/dotnet/fsharp/commit/721adfa6a4f6f3f87e41f62431e926617de78944) / [`a657945991`](https://github.com/dotnet/fsharp/commit/a657945991314bf9db8531996a1905661da9bf13)
[PR-20413](https://github.com/dotnet/fsharp/pull/20413) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 8 | [`df0e609919`](https://github.com/dotnet/fsharp/commit/df0e60991911eed31f861bb38403a389346055e2) / [`ae11e8edb5`](https://github.com/dotnet/fsharp/commit/ae11e8edb5a75f7ec5e60c33d1c753ac7c80eead)
[PR-20415](https://github.com/dotnet/fsharp/pull/20415) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 2 | [`a29233c3e3`](https://github.com/dotnet/fsharp/commit/a29233c3e369b7fd1fd6727b5ea7fad656f12e0d) / [`8afe94138b`](https://github.com/dotnet/fsharp/commit/8afe94138bc684ec9859fba2edecfe9bfa445d84)
[PR-20421](https://github.com/dotnet/fsharp/pull/20421) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 5 | [`2dea69505d`](https://github.com/dotnet/fsharp/commit/2dea69505d27597b614851ed90dd1b739dc881ee) / [`bf73bc8d32`](https://github.com/dotnet/fsharp/commit/bf73bc8d3267477e6b6ffceb11aa2ef2120b66f4)
[PR-20422](https://github.com/dotnet/fsharp/pull/20422) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 48 | [`f1db9154f5`](https://github.com/dotnet/fsharp/commit/f1db9154f5b1cb3980ffaeda7307a52974f85da5) / [`5c4d6c7bd1`](https://github.com/dotnet/fsharp/commit/5c4d6c7bd165747a5db2d792c89380f692230304)
[PR-20423](https://github.com/dotnet/fsharp/pull/20423) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 7 | [`dbb51b15e0`](https://github.com/dotnet/fsharp/commit/dbb51b15e0976a7953e7b23ef47fe0ff5cabd371) / [`8501fdeccd`](https://github.com/dotnet/fsharp/commit/8501fdeccd4171dc40cf0d82e1d8d909928b9062)
[PR-20424](https://github.com/dotnet/fsharp/pull/20424) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 1 | [`fdb4dfb6ae`](https://github.com/dotnet/fsharp/commit/fdb4dfb6ae2a0153f57e96b1d7b0b05bbf3d736f) / [`7dc85b6be0`](https://github.com/dotnet/fsharp/commit/7dc85b6be0721ce6102f5f678c837edfe1965215)
[PR-20425](https://github.com/dotnet/fsharp/pull/20425) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 1 | [`75ebb662d2`](https://github.com/dotnet/fsharp/commit/75ebb662d28cfa752733cb872a138c0ce2869529) / [`a2b2d3cf5b`](https://github.com/dotnet/fsharp/commit/a2b2d3cf5b83f46c3f3e5925bf2af54bfd251fb6)
[PR-20426](https://github.com/dotnet/fsharp/pull/20426) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 1 | [`6f8cbc985e`](https://github.com/dotnet/fsharp/commit/6f8cbc985e8018f43e2e6ef837b70ca387964a29) / [`14f78674ab`](https://github.com/dotnet/fsharp/commit/14f78674ab2cda78ba594cf382b67d1794a746f8)
[PR-20436](https://github.com/dotnet/fsharp/pull/20436) | FAMILY-prompt-docs | control | docs-only;no-performance-claim | 7 | [`a29233c3e3`](https://github.com/dotnet/fsharp/commit/a29233c3e369b7fd1fd6727b5ea7fad656f12e0d) / [`8576a9b2c6`](https://github.com/dotnet/fsharp/commit/8576a9b2c6eb8b80e95f050c6b5fb685f5166146)
[PR-20437](https://github.com/dotnet/fsharp/pull/20437) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 1 | [`5622dd6d0c`](https://github.com/dotnet/fsharp/commit/5622dd6d0cb0beb2e799cab4ed02191d94e71a95) / [`3fc3a58dfd`](https://github.com/dotnet/fsharp/commit/3fc3a58dfd4e4feec9c2d9e66d5056b79ef87b2b)
[PR-20439](https://github.com/dotnet/fsharp/pull/20439) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 4 | [`cb2e548b64`](https://github.com/dotnet/fsharp/commit/cb2e548b646001484612e239ae7a374d6c60b0ba) / [`7e75ab3623`](https://github.com/dotnet/fsharp/commit/7e75ab362322b495fe7782890fa23b0c8e2af225)
[PR-20443](https://github.com/dotnet/fsharp/pull/20443) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 9 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`95468284b0`](https://github.com/dotnet/fsharp/commit/95468284b0b5d3ff8ac5e9c7ff2c2c5171d8295b)
[PR-20444](https://github.com/dotnet/fsharp/pull/20444) | FAMILY-tc-reuse-tests | control | test-only;no-performance-claim | 2 | [`a29233c3e3`](https://github.com/dotnet/fsharp/commit/a29233c3e369b7fd1fd6727b5ea7fad656f12e0d) / [`b12cb3628a`](https://github.com/dotnet/fsharp/commit/b12cb3628a924d5ac8e5d77295aa805b662c63b6)
[PR-20447](https://github.com/dotnet/fsharp/pull/20447) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 1 | [`dbb51b15e0`](https://github.com/dotnet/fsharp/commit/dbb51b15e0976a7953e7b23ef47fe0ff5cabd371) / [`1168952a24`](https://github.com/dotnet/fsharp/commit/1168952a24e79280e28630da645d346dffff71bd)
[PR-20450](https://github.com/dotnet/fsharp/pull/20450) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 8 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`da12206197`](https://github.com/dotnet/fsharp/commit/da122061972eee417bb6477fd910632bf471a647)
[PR-20452](https://github.com/dotnet/fsharp/pull/20452) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 8 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`7e15a7e30d`](https://github.com/dotnet/fsharp/commit/7e15a7e30d6978620874734d1afb2b1ca3387a40)
[PR-20455](https://github.com/dotnet/fsharp/pull/20455) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 3 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`003b29d394`](https://github.com/dotnet/fsharp/commit/003b29d39482aabf8c3a0497dea7fc3b384125fb)
[PR-20456](https://github.com/dotnet/fsharp/pull/20456) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 4 | [`31eb9e1db5`](https://github.com/dotnet/fsharp/commit/31eb9e1db5cd5cbd74f1894b7ce04ec37e765028) / [`f952dbdad1`](https://github.com/dotnet/fsharp/commit/f952dbdad1a76d1b212884b2f959973f5b14ae45)
[PR-20457](https://github.com/dotnet/fsharp/pull/20457) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 12 | [`31eb9e1db5`](https://github.com/dotnet/fsharp/commit/31eb9e1db5cd5cbd74f1894b7ce04ec37e765028) / [`01df59440c`](https://github.com/dotnet/fsharp/commit/01df59440c8b58111093659f1213b5397efa28d3)
[PR-20458](https://github.com/dotnet/fsharp/pull/20458) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 1 | [`e61d3ca7f5`](https://github.com/dotnet/fsharp/commit/e61d3ca7f538b1e9f4480e7197b7c56890161760) / [`b7e8773568`](https://github.com/dotnet/fsharp/commit/b7e877356832fa46e489b5bb421248ffef73fcc0)
[PR-20459](https://github.com/dotnet/fsharp/pull/20459) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 4 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`6a1f4470af`](https://github.com/dotnet/fsharp/commit/6a1f4470afda7eeffe28729757ac42be7508d539)
[PR-20460](https://github.com/dotnet/fsharp/pull/20460) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 3 | [`31eb9e1db5`](https://github.com/dotnet/fsharp/commit/31eb9e1db5cd5cbd74f1894b7ce04ec37e765028) / [`69cb60add3`](https://github.com/dotnet/fsharp/commit/69cb60add36c9cb41ccec222ed6b49b887881367)
[PR-20462](https://github.com/dotnet/fsharp/pull/20462) | FAMILY-vs-work-reuse | earlier/context reserve | no-performance-claim | 8 | [`721adfa6a4`](https://github.com/dotnet/fsharp/commit/721adfa6a4f6f3f87e41f62431e926617de78944) / [`7db3dd162e`](https://github.com/dotnet/fsharp/commit/7db3dd162e5ac294c25b826811b7678c16991e53)
[PR-20465](https://github.com/dotnet/fsharp/pull/20465) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 7 | [`31eb9e1db5`](https://github.com/dotnet/fsharp/commit/31eb9e1db5cd5cbd74f1894b7ce04ec37e765028) / [`a38af57dd3`](https://github.com/dotnet/fsharp/commit/a38af57dd324800d2829ca2f1d72fba8aa52ce12)
[PR-20483](https://github.com/dotnet/fsharp/pull/20483) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 5 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`e81a37ef8a`](https://github.com/dotnet/fsharp/commit/e81a37ef8a70c544b890831923950b181477c1c4)
[PR-20487](https://github.com/dotnet/fsharp/pull/20487) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 8 | [`f1db9154f5`](https://github.com/dotnet/fsharp/commit/f1db9154f5b1cb3980ffaeda7307a52974f85da5) / [`9aa01f6817`](https://github.com/dotnet/fsharp/commit/9aa01f6817f165352df38631acc6dda1aaae92a3)
[PR-20492](https://github.com/dotnet/fsharp/pull/20492) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 24 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`6bf2a7232a`](https://github.com/dotnet/fsharp/commit/6bf2a7232a8e5066823d6477bddc3fe4887f012f)
[PR-20499](https://github.com/dotnet/fsharp/pull/20499) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 2 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`ceeb9d39d5`](https://github.com/dotnet/fsharp/commit/ceeb9d39d5c71f5a91c71faeabdcae880b0260d0)
[PR-20507](https://github.com/dotnet/fsharp/pull/20507) | FAMILY-rich-text-api | control | API-addition;behavior-sensitive;no-performance-claim | 4 | [`4824d92223`](https://github.com/dotnet/fsharp/commit/4824d92223908a73c008a7e5b015377394f1ce5f) / [`ece9ed9c27`](https://github.com/dotnet/fsharp/commit/ece9ed9c27947a3e4297e7614266d960424bc542)
[PR-20529](https://github.com/dotnet/fsharp/pull/20529) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 4 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`bd019a9873`](https://github.com/dotnet/fsharp/commit/bd019a9873b5a050f5db4058604926534f1d9160)
[PR-20542](https://github.com/dotnet/fsharp/pull/20542) | FAMILY-string-concat | holdout | generated-program;allocation;mixed-scope | 18 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`d0bc46ee95`](https://github.com/dotnet/fsharp/commit/d0bc46ee9555a4da4de4b462b1610c219b5af680)
[PR-20544](https://github.com/dotnet/fsharp/pull/20544) | FAMILY-string-concat | holdout | generated-program;allocation;mixed-scope | 30 | [`17f8eb7d06`](https://github.com/dotnet/fsharp/commit/17f8eb7d0691d30d6fc0dbcc7977ac15f9e7d5d2) / [`65e050d94d`](https://github.com/dotnet/fsharp/commit/65e050d94d470213b55910dd7eccaad27ec79f5e)
[PR-20552](https://github.com/dotnet/fsharp/pull/20552) | FAMILY-rich-text-api | control | API-addition;behavior-sensitive;no-performance-claim | 4 | [`31eb9e1db5`](https://github.com/dotnet/fsharp/commit/31eb9e1db5cd5cbd74f1894b7ce04ec37e765028) / [`3d79402162`](https://github.com/dotnet/fsharp/commit/3d794021629a048812bb169ee0e28335fd16a73e)
[PR-20556](https://github.com/dotnet/fsharp/pull/20556) | FAMILY-rich-text-api | control | API-addition;behavior-sensitive;no-performance-claim | 2 | [`3894326ce5`](https://github.com/dotnet/fsharp/commit/3894326ce575e9fccb20d4d701a96177e54194a8) / [`f010b6c136`](https://github.com/dotnet/fsharp/commit/f010b6c1367eaf6510131fce60788e2e49a2cc65)
[PR-20571](https://github.com/dotnet/fsharp/pull/20571) | FAMILY-inline-closures | holdout | compiler;generated-code;allocation;behavior-sensitive | 8 | [`eac5179d6c`](https://github.com/dotnet/fsharp/commit/eac5179d6cffb9afdf79799c9ab64b135896e9a3) / [`6da8b18573`](https://github.com/dotnet/fsharp/commit/6da8b18573632f9f8039ca66ebc8e1f19bd44cee)
[PR-20573](https://github.com/dotnet/fsharp/pull/20573) | FAMILY-vs-work-reuse | holdout | IDE;allocation;latency;API-neutral;mixed-scope | 2 | [`a17252bbc3`](https://github.com/dotnet/fsharp/commit/a17252bbc3e28d52a4a326757c9d5bc913cfd553) / [`aa19962522`](https://github.com/dotnet/fsharp/commit/aa199625228f9a5b9bddc35dae93c8689a5d8bde)
[PR-20587](https://github.com/dotnet/fsharp/pull/20587) | FAMILY-ci-turnaround | holdout | build;latency;open | 3 | [`b561c33dbf`](https://github.com/dotnet/fsharp/commit/b561c33dbf43796cd3e342223b8212c009053d40) / [`a4e67d6eb5`](https://github.com/dotnet/fsharp/commit/a4e67d6eb582ae21b2718a20f6408ffa225fcec1)

<!-- END HOLDOUT -->
**Benchmark-only gap:** no benchmark-only PR was found in the exhausted `benchmark`/`benchmarks` title/body searches, their union with all other queries, or changed-file metadata for the entire inventory. PR-18509 combines benchmarks with product code; PR-20092 combines namespace-import benchmarks with compiler changes. Neither is relabeled benchmark-only. Test-only controls PR-19676/20444 and docs-only control PR-20436 are real no-performance-claim cases. Auduchinok's untouched reserve is explicitly test/API applicability controls, including the recent rich-text family PR-20507/20552/20556; the promoted IL-import performance family is not falsely advertised as unseen. This acquisition does not manufacture the missing category or widen the date window.

## Development source completeness

For every included development PR, the pull metadata, all files/reviews/issue-comment/inline-comment/timeline/commit pages, GraphQL review threads and all nested thread-comment pages, and patch output were acquired. Empty-body approvals and comment-only reviews are retained. Review dismissals are read from timeline events, not inferred from the current aggregate decision. Resolved and outdated threads are included.

`files` reconciles pull metadata, file pages and pinned Git diff paths. `R/I/C/T` are submitted reviews, issue comments, unique inline comments and threads. Inline comments returned by REST and GraphQL are deduplicated by stable node/database ID, not by text. Page counts include a fetched empty page for an observed zero; exhausted GraphQL cursors mean `hasNextPage=false`, not a guessed count. Git diffs use the pinned merge base and head, never today's main. Full files at both ends and adjacent signatures were retained as session artifacts; context coverage and additional pinned callers/tests are described per PR.

<!-- BEGIN COMPLETENESS -->
PR | Files: all 3 agree | R/I/C/T | Resolved / outdated | Review states | Dismissed / deleted | REST pages F/R/I/C/timeline/commits; threads | Timeline nodes | Diff availability
--- | --- | --- | --- | --- | --- | --- | --- | ---
[PR-19683](https://github.com/dotnet/fsharp/pull/19683) | 1 | 2 / 1 / 0 / 0 | 0 / 0 | APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 24 REST; 24 GraphQL nodes / 24 total / 1 pages | 31 lines; full binary-capable Git diff; all REST file patches present
[PR-19689](https://github.com/dotnet/fsharp/pull/19689) | 2 | 0 / 1 / 0 / 0 | 0 / 0 | observed zero | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 10 REST; 10 GraphQL nodes / 6 total / 1 pages | 149 lines; full binary-capable Git diff; all REST file patches present
[PR-19703](https://github.com/dotnet/fsharp/pull/19703) | 1 | 1 / 1 / 0 / 0 | 0 / 0 | APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 17 REST; 17 GraphQL nodes / 17 total / 1 pages | 34 lines; full binary-capable Git diff; all REST file patches present
[PR-19995](https://github.com/dotnet/fsharp/pull/19995) | 8 | 14 / 2 / 11 / 5 | 5 / 3 | COMMENTED=11, APPROVED=3 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=5 | 39 REST; 39 GraphQL nodes / 41 total / 1 pages | 481 lines; full binary-capable Git diff; all REST file patches present
[PR-20088](https://github.com/dotnet/fsharp/pull/20088) | 3 | 3 / 5 / 1 / 1 | 1 / 0 | COMMENTED=1, APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=1 | 31 REST; 31 GraphQL nodes / 29 total / 1 pages | 99 lines; full binary-capable Git diff; all REST file patches present
[PR-20090](https://github.com/dotnet/fsharp/pull/20090) | 2 | 2 / 2 / 0 / 0 | 0 / 0 | APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 25 REST; 25 GraphQL nodes / 23 total / 1 pages | 29 lines; full binary-capable Git diff; all REST file patches present
[PR-20092](https://github.com/dotnet/fsharp/pull/20092) | 18 | 3 / 5 / 1 / 1 | 1 / 1 | COMMENTED=1, APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=1 | 41 REST; 41 GraphQL nodes / 39 total / 1 pages | 2510 lines; full binary-capable Git diff; all REST file patches present
[PR-20220](https://github.com/dotnet/fsharp/pull/20220) | 2 | 2 / 1 / 0 / 0 | 0 / 0 | APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 17 REST; 17 GraphQL nodes / 17 total / 1 pages | 27 lines; full binary-capable Git diff; all REST file patches present
[PR-20244](https://github.com/dotnet/fsharp/pull/20244) | 8 | 3 / 6 / 2 / 1 | 1 / 1 | COMMENTED=2, APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=1 | 45 REST; 45 GraphQL nodes / 44 total / 1 pages | 469 lines; full binary-capable Git diff; all REST file patches present
[PR-20249](https://github.com/dotnet/fsharp/pull/20249) | 2 | 1 / 2 / 0 / 0 | 0 / 0 | APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 27 REST; 27 GraphQL nodes / 23 total / 1 pages | 260 lines; full binary-capable Git diff; all REST file patches present
[PR-20250](https://github.com/dotnet/fsharp/pull/20250) | 4 | 1 / 1 / 0 / 0 | 0 / 0 | APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 24 REST; 24 GraphQL nodes / 22 total / 1 pages | 122 lines; full binary-capable Git diff; all REST file patches present
[PR-20254](https://github.com/dotnet/fsharp/pull/20254) | 11 | 2 / 3 / 0 / 0 | 0 / 0 | COMMENTED=1, APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 29 REST; 29 GraphQL nodes / 29 total / 1 pages | 294 lines; full binary-capable Git diff; all REST file patches present
[PR-20255](https://github.com/dotnet/fsharp/pull/20255) | 2 | 3 / 1 / 0 / 0 | 0 / 0 | APPROVED=3 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 26 REST; 26 GraphQL nodes / 26 total / 1 pages | 42 lines; full binary-capable Git diff; all REST file patches present
[PR-20256](https://github.com/dotnet/fsharp/pull/20256) | 7 | 2 / 1 / 0 / 0 | 0 / 0 | APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 21 REST; 21 GraphQL nodes / 19 total / 1 pages | 197 lines; full binary-capable Git diff; all REST file patches present
[PR-20259](https://github.com/dotnet/fsharp/pull/20259) | 2 | 2 / 1 / 0 / 0 | 0 / 0 | APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 24 REST; 24 GraphQL nodes / 22 total / 1 pages | 53 lines; full binary-capable Git diff; all REST file patches present
[PR-20261](https://github.com/dotnet/fsharp/pull/20261) | 2 | 6 / 5 / 0 / 0 | 0 / 0 | COMMENTED=1, APPROVED=5 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 37 REST; 37 GraphQL nodes / 35 total / 1 pages | 62 lines; full binary-capable Git diff; all REST file patches present
[PR-20285](https://github.com/dotnet/fsharp/pull/20285) | 13 | 7 / 2 / 4 / 3 | 3 / 2 | COMMENTED=4, APPROVED=3 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=3 | 38 REST; 38 GraphQL nodes / 39 total / 1 pages | 629 lines; full binary-capable Git diff; all REST file patches present
[PR-20286](https://github.com/dotnet/fsharp/pull/20286) | 6 | 4 / 1 / 0 / 0 | 0 / 0 | APPROVED=4 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 25 REST; 25 GraphQL nodes / 25 total / 1 pages | 220 lines; full binary-capable Git diff; all REST file patches present
[PR-20287](https://github.com/dotnet/fsharp/pull/20287) | 2 | 8 / 2 / 4 / 1 | 1 / 0 | APPROVED=4, COMMENTED=4 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=1 | 27 REST; 27 GraphQL nodes / 30 total / 1 pages | 73 lines; full binary-capable Git diff; all REST file patches present
[PR-20296](https://github.com/dotnet/fsharp/pull/20296) | 14 | 8 / 2 / 6 / 4 | 4 / 4 | COMMENTED=6, APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=4 | 42 REST; 42 GraphQL nodes / 42 total / 1 pages | 1128 lines; full binary-capable Git diff; all REST file patches present
[PR-20298](https://github.com/dotnet/fsharp/pull/20298) | 3 | 1 / 1 / 0 / 0 | 0 / 0 | APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 16 REST; 16 GraphQL nodes / 16 total / 1 pages | 184 lines; full binary-capable Git diff; all REST file patches present
[PR-20301](https://github.com/dotnet/fsharp/pull/20301) | 2 | 3 / 2 / 0 / 0 | 0 / 0 | APPROVED=3 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 24 REST; 24 GraphQL nodes / 22 total / 1 pages | 88 lines; full binary-capable Git diff; all REST file patches present
[PR-20337](https://github.com/dotnet/fsharp/pull/20337) | 2 | 1 / 2 / 0 / 0 | 0 / 0 | APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 32 REST; 32 GraphQL nodes / 30 total / 1 pages | 271 lines; full binary-capable Git diff; all REST file patches present
[PR-20352](https://github.com/dotnet/fsharp/pull/20352) | 3 | 0 / 2 / 0 / 0 | 0 / 0 | observed zero | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 14 REST; 14 GraphQL nodes / 12 total / 1 pages | 427 lines; full binary-capable Git diff; all REST file patches present
[PR-20363](https://github.com/dotnet/fsharp/pull/20363) | 2 | 1 / 2 / 0 / 0 | 0 / 0 | APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 25 REST; 25 GraphQL nodes / 23 total / 1 pages | 45 lines; full binary-capable Git diff; all REST file patches present
[PR-20364](https://github.com/dotnet/fsharp/pull/20364) | 1 | 1 / 1 / 0 / 0 | 0 / 0 | APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 18 REST; 18 GraphQL nodes / 16 total / 1 pages | 55 lines; full binary-capable Git diff; all REST file patches present
[PR-20394](https://github.com/dotnet/fsharp/pull/20394) | 3 | 2 / 2 / 0 / 0 | 0 / 0 | APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 21 REST; 21 GraphQL nodes / 21 total / 1 pages | 85 lines; full binary-capable Git diff; all REST file patches present
[PR-20416](https://github.com/dotnet/fsharp/pull/20416) | 19 | 3 / 6 / 6 / 6 | 6 / 1 | COMMENTED=2, APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=6 | 33 REST; 33 GraphQL nodes / 27 total / 1 pages | 2417 lines; full binary-capable Git diff; all REST file patches present
[PR-20481](https://github.com/dotnet/fsharp/pull/20481) | 5 | 3 / 2 / 1 / 1 | 1 / 1 | COMMENTED=1, APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=1 | 27 REST; 27 GraphQL nodes / 25 total / 1 pages | 328 lines; full binary-capable Git diff; all REST file patches present
[PR-20486](https://github.com/dotnet/fsharp/pull/20486) | 2 | 3 / 2 / 2 / 1 | 1 / 0 | COMMENTED=2, APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=1 | 24 REST; 24 GraphQL nodes / 23 total / 1 pages | 175 lines; full binary-capable Git diff; all REST file patches present
[PR-20489](https://github.com/dotnet/fsharp/pull/20489) | 3 | 2 / 2 / 1 / 1 | 1 / 0 | COMMENTED=1, APPROVED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=1 | 27 REST; 27 GraphQL nodes / 25 total / 1 pages | 114 lines; full binary-capable Git diff; all REST file patches present
[PR-20490](https://github.com/dotnet/fsharp/pull/20490) | 3 | 2 / 2 / 0 / 0 | 0 / 0 | APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 21 REST; 21 GraphQL nodes / 19 total / 1 pages | 48 lines; full binary-capable Git diff; all REST file patches present
[PR-20494](https://github.com/dotnet/fsharp/pull/20494) | 9 | 2 / 2 / 0 / 0 | 0 / 0 | APPROVED=2 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=0 | 24 REST; 24 GraphQL nodes / 22 total / 1 pages | 376 lines; full binary-capable Git diff; all REST file patches present
[PR-20524](https://github.com/dotnet/fsharp/pull/20524) | 16 | 1 / 2 / 1 / 1 | 0 / 0 | COMMENTED=1 | 0 / 0 | 1/1/1/1/1/1; T=1, nested=1 | 14 REST; 14 GraphQL nodes / 14 total / 1 pages | 774 lines; full binary-capable Git diff; all REST file patches present

For every row: outer and nested thread cursors, review-metadata cursors and unfiltered timeline cursors exhausted. REST inline IDs equal GraphQL inline IDs exactly. Submitted commit totals match pull metadata. The filtered dismissal/deletion GraphQL connection reports the **unfiltered** timeline totalCount. Raw unfiltered node counts also differ from that total: in every development PR, the observed identity is `totalCount = returned nodes - MentionedEvent - SubscribedEvent + separately fetched reviews - returned PullRequestReview nodes`. The independent reviews connection retains the individual reviews omitted/collapsed in timeline display. This identity was checked for all 34 PRs; neither total was silently equated to node count. Local filtering and the filtered connection both returned zero dismissal/deletion events for all development PRs. A deleted event/body elsewhere is not ruled out by this observation.

<!-- END COMPLETENESS -->
### Provenance notation

* **author rationale**: PR author account describing intent, measurements or responses; not independent review evidence.
* **user-account feedback/decision**: a non-bot account in reviewer/discussion role. `User` and membership are identity metadata, not proof the text was human-written.
* **automated/model-attributed**: GitHub bot account, explicit AI attribution, or a source's explicit automation disclosure. Replies do not turn the preceding model text into human precedent.
* **uncertain**: quoted text with unknown origin or otherwise unestablished authorship. No classification is based on writing style.

Measurements below are faithful source snapshots, not reproduced benchmark results. Empty approvals have no invented rationale. Source rows preserve author association, timestamps, revision and retrieval channel; inline rows distinguish the original commented-on revision from the currently mapped revision. General issue comments have no commit binding in the API: a missing revision is explicitly unbound, not an assertion that the comment discusses the final head. Description hashes identify the exact acquired API body encoded as UTF-8, without line-ending normalization, but cannot recover deleted earlier edits. Diff hashes use UTF-8 text normalized to LF line endings.

<!-- BEGIN SOURCE_NOTES -->
### PR-19683 source record

[PR-19683](https://github.com/dotnet/fsharp/pull/19683) - **FAMILY-vs-insertion**.

**Pinned comparison:** base `993c9276f05109fc4b2ad7ae26b02cfc6a468ce6`; head `16ab3858f4c7400d4c918070b94bfe4714c83c84`; merge base `993c9276f05109fc4b2ad7ae26b02cfc6a468ce6`. Full diff SHA-256 `28c78234ed5c2a2106aa676a7a3eabe77b896ee69947677dba87c201dcbc10b1`.

**Other recovered review/original revisions:** [`279d88c141`](https://github.com/dotnet/fsharp/commit/279d88c141444445448fc7aadf3d0cf923c0ce8c).

**Description:** ID `PR_kwDOAbtAO87YjHTB` (REST pull ID `3633083585`), missymessa/User, author role, text origin unverified, association MEMBER; PR created `2026-05-05T21:10:41Z`, updated `2026-05-07T10:34:03Z`; body lastEditedAt `null`. Captured `2026-09-22T09:41:55Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `b76c88b8cbdf75747483272000c4eef66cb2ff9ad83992220b7f75b47c3fd09e`.

WIF credential migration preceding PR-19703; retained as the same revision family, not an independent performance claim.

**Diff and surrounding context:** The one-file insertion-pipeline diff replaces the PAT variable group with an AzureCLI token acquisition step feeding the existing MicroBuild insertion task. PR-19703 adds the credential-helper change. No compiler signature or test changes.

**Pinned head files/signatures acquired:** [`eng/release/insert-into-vs.yml`](https://github.com/dotnet/fsharp/blob/16ab3858f4c7400d4c918070b94bfe4714c83c84/eng/release/insert-into-vs.yml).

**Source gaps/qualifications:** Private dnceng work-item and service-connection state are not public evidence; no insertion run or timing was independently reproduced.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4235930675](https://github.com/dotnet/fsharp/pull/19683#pullrequestreview-4235930675) | T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-05-06T12:17:04Z / 2026-05-07T10:30:48Z | [`16ab3858f4`](https://github.com/dotnet/fsharp/commit/16ab3858f4c7400d4c918070b94bfe4714c83c84) | APPROVED; submitted 2026-05-06T12:17:04Z | Empty-body APPROVED; no written rationale.
[reviews:4243184094](https://github.com/dotnet/fsharp/pull/19683#pullrequestreview-4243184094) | abonie; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-05-07T10:31:26Z / 2026-05-07T10:31:26Z | [`279d88c141`](https://github.com/dotnet/fsharp/commit/279d88c141444445448fc7aadf3d0cf923c0ce8c) | APPROVED; submitted 2026-05-07T10:31:26Z | Empty-body APPROVED; no written rationale.
[issue-comments:4383080922](https://github.com/dotnet/fsharp/pull/19683#issuecomment-4383080922) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-05-05T21:11:35Z / 2026-05-05T21:11:35Z | - | - | Automated release-note gate status; not human performance evidence.

**Channel capture UTC:** reviews `2026-09-22T09:45:52Z`, issue-comments `2026-09-22T09:45:52Z`, inline-comments `2026-09-22T09:45:53Z`, threads `2026-09-22T09:45:56Z`, timeline `2026-09-22T09:45:55Z`.

### PR-19689 source record

[PR-19689](https://github.com/dotnet/fsharp/pull/19689) - **FAMILY-ce-method-cache**.

**Pinned comparison:** base `2feeea6baa880c86a6ea9b65387c6e9509f5943f`; head `0356d321ea15fc963e68d272cd5785363a30e086`; merge base `2feeea6baa880c86a6ea9b65387c6e9509f5943f`. Full diff SHA-256 `2ea1d89199f223a58df083d8f29547c25c92e7612c44ea7376f2f4ce286a634c`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO87YlDk1` (REST pull ID `3633592629`), rodrigovidal/User, author role, text origin unverified, association NONE; PR created `2026-05-05T23:34:38Z`, updated `2026-05-05T23:57:14Z`; body lastEditedAt `null`. Captured `2026-09-22T09:34:52Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `c2b2fb94d8431b454931bcfe994fcd8fd017f30cb811004880e3aa9fc94fd480`.

Centralizes CE builder-method lookup in a per-computation-expression dictionary and adds missing-member diagnostic tests; the body supplies the cache claim although the title and labels do not. Published build/test logs are author assertions, not performance measurements.

**Diff and surrounding context:** Full two-file diff changes lookup from AtMostOneResult to AllResults, adds tryFindBuilderMethod to ComputationExpressionContext and routes Source/Quote/Yield/Combine/Delay presence checks through it. Historical CheckComputationExpressions call sites and its TryFindIntrinsicOrExtensionMethInfo wrapper over AllMethInfosOfTypeInScope were inspected. Two new component tests assert FS0708 for missing Return/Delay. No signature changes.

**Pinned head files/signatures acquired:** [`src/Compiler/Checking/Expressions/CheckComputationExpressions.fs`](https://github.com/dotnet/fsharp/blob/0356d321ea15fc963e68d272cd5785363a30e086/src/Compiler/Checking/Expressions/CheckComputationExpressions.fs), [`src/Compiler/Checking/Expressions/CheckComputationExpressions.fsi`](https://github.com/dotnet/fsharp/blob/0356d321ea15fc963e68d272cd5785363a30e086/src/Compiler/Checking/Expressions/CheckComputationExpressions.fsi), [`tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ComputationExpressions/ComputationExpressions.fs`](https://github.com/dotnet/fsharp/blob/0356d321ea15fc963e68d272cd5785363a30e086/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ComputationExpressions/ComputationExpressions.fs).

**Source gaps/qualifications:** No human review or explanation of closure was returned; closed-unmerged is not classified as rejection.; The description says Closes #36; the local issue is unrelated, so that link is not adopted as rationale.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[issue-comments:4383966400](https://github.com/dotnet/fsharp/pull/19689#issuecomment-4383966400) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-05-05T23:35:27Z / 2026-05-05T23:35:27Z | - | - | Automated release-note gate status; not human performance evidence.

**Channel capture UTC:** reviews `2026-09-22T09:40:27Z`, issue-comments `2026-09-22T09:40:28Z`, inline-comments `2026-09-22T09:40:28Z`, threads `2026-09-22T09:40:31Z`, timeline `2026-09-22T09:40:30Z`.

### PR-19703 source record

[PR-19703](https://github.com/dotnet/fsharp/pull/19703) - **FAMILY-vs-insertion**.

**Pinned comparison:** base `f03143ac2f82ec39568009700b53308425ad1efc`; head `14769f8d5f8fd0ccaba4ef0659e841bd3f2dafe4`; merge base `f03143ac2f82ec39568009700b53308425ad1efc`. Full diff SHA-256 `b6f59b48afe14a2ac8eebda78fa23921089bb4e294434fc258cfdf47eac37692`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO87ZSL2q` (REST pull ID `3645423018`), missymessa/User, author role, text origin unverified, association MEMBER; PR created `2026-05-07T19:42:25Z`, updated `2026-05-12T08:19:59Z`; body lastEditedAt `null`. Captured `2026-09-22T09:34:52Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `5d7df75607bae750e016c6121126b4f74ef9a82a368869bce473540e62569965`.

Reapplies the WIF insertion migration and disables GCM for the insertion step; describes an approximately eight-minute clone delay from oversized Entra credentials. This is build-pipeline latency, not compiler or generated-program speed.

**Diff and surrounding context:** Full one-file diff and the historical insertion-task inputs/conditions connect the AzureCLI secret variable to MicroBuildInsertVsPayload; the GCM step uses the same branch condition. PR-19683 is the preceding version. No compiler/test changes.

**Pinned head files/signatures acquired:** [`eng/release/insert-into-vs.yml`](https://github.com/dotnet/fsharp/blob/14769f8d5f8fd0ccaba4ef0659e841bd3f2dafe4/eng/release/insert-into-vs.yml).

**Source gaps/qualifications:** Private dnceng work-item and service-connection permissions are not acquired; claimed insertion latency is not independently reproducible from public source alone.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4270470870](https://github.com/dotnet/fsharp/pull/19703#pullrequestreview-4270470870) | T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-05-12T08:19:50Z / 2026-05-12T08:19:50Z | [`14769f8d5f`](https://github.com/dotnet/fsharp/commit/14769f8d5f8fd0ccaba4ef0659e841bd3f2dafe4) | APPROVED; submitted 2026-05-12T08:19:50Z | Empty-body APPROVED; no written rationale.
[issue-comments:4400512105](https://github.com/dotnet/fsharp/pull/19703#issuecomment-4400512105) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-05-07T19:43:16Z / 2026-05-07T19:43:16Z | - | - | Automated release-note gate status; not human performance evidence.

**Channel capture UTC:** reviews `2026-09-22T09:40:27Z`, issue-comments `2026-09-22T09:40:28Z`, inline-comments `2026-09-22T09:40:29Z`, threads `2026-09-22T09:40:32Z`, timeline `2026-09-22T09:40:30Z`.

### PR-19995 source record

[PR-19995](https://github.com/dotnet/fsharp/pull/19995) - **FAMILY-cache-listener**.

**Pinned comparison:** base `ea3908edab08f1009d0bde1883778797c785170a`; head `bd2148ba7aff3a9f365be52a4e4769a56fef8acf`; merge base `ea3908edab08f1009d0bde1883778797c785170a`. Full diff SHA-256 `cea7ce3aab83ab7935bc8a70226ac03a6abb8b75ab83c89e4bfd8faafdaa2440`.

**Other recovered review/original revisions:** [`18f7fd5abc`](https://github.com/dotnet/fsharp/commit/18f7fd5abcb8f606b8e6cce8ad782c058ee7aa14); [`1c1f7a9f7a`](https://github.com/dotnet/fsharp/commit/1c1f7a9f7a222f823f1659234bfa49921d81427d); [`239b6ee3c3`](https://github.com/dotnet/fsharp/commit/239b6ee3c36e5dec58ed2bf00ff78611abff1087); [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2).

**Description:** ID `PR_kwDOAbtAO87qrz1p` (REST pull ID `3937353065`), NatElkins/User, author role, text origin unverified, association CONTRIBUTOR; PR created `2026-06-25T18:08:34Z`, updated `2026-07-08T17:27:04Z`; body lastEditedAt `2026-06-25T18:26:40Z`. Captured `2026-09-22T09:35:29Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `1328b8c85cd21b89c7375054ee47c2920fc547ed27ce7b9ce1165d78230d4405`.

Reports Debug per-edit checks growing from 945 ms to 7758 ms with 16,338 leaked listeners, and a flat loop after removal. The description still describes direct per-cache Stats at acquisition, whereas final code uses shared name-aggregated Stats; preserve this revision mismatch rather than silently rewriting the author's account.

**Diff and surrounding context:** Entire eight-file diff inspected: removes per-cache listener and cacheId, uses existing ListenToAll/getStatsByName, removes internal checker helper and public listener surface, updates Caches.fsi/service.fsi and surface baseline, and changes cache/overload tests to name totals and deltas. Historical listener lifecycle/callers and all original review hunks inspected. Comments at f96b70e1 discuss the earlier per-cache Stats proposal; comments at 1c1f7a9f discuss name aggregation and serialized tests. Final approval is at bd2148ba.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/bd2148ba7aff3a9f365be52a4e4769a56fef8acf/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Service/service.fs`](https://github.com/dotnet/fsharp/blob/bd2148ba7aff3a9f365be52a4e4769a56fef8acf/src/Compiler/Service/service.fs), [`src/Compiler/Service/service.fsi`](https://github.com/dotnet/fsharp/blob/bd2148ba7aff3a9f365be52a4e4769a56fef8acf/src/Compiler/Service/service.fsi), [`src/Compiler/Utilities/Caches.fs`](https://github.com/dotnet/fsharp/blob/bd2148ba7aff3a9f365be52a4e4769a56fef8acf/src/Compiler/Utilities/Caches.fs), [`src/Compiler/Utilities/Caches.fsi`](https://github.com/dotnet/fsharp/blob/bd2148ba7aff3a9f365be52a4e4769a56fef8acf/src/Compiler/Utilities/Caches.fsi), [`tests/FSharp.Compiler.ComponentTests/CompilerService/Caches.fs`](https://github.com/dotnet/fsharp/blob/bd2148ba7aff3a9f365be52a4e4769a56fef8acf/tests/FSharp.Compiler.ComponentTests/CompilerService/Caches.fs), [`tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl`](https://github.com/dotnet/fsharp/blob/bd2148ba7aff3a9f365be52a4e4769a56fef8acf/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl), [`tests/FSharp.Compiler.Service.Tests/OverloadCacheTests.fs`](https://github.com/dotnet/fsharp/blob/bd2148ba7aff3a9f365be52a4e4769a56fef8acf/tests/FSharp.Compiler.Service.Tests/OverloadCacheTests.fs).

**Source gaps/qualifications:** Heap dump and raw timing runs were not attached in the acquired description; numbers remain author-reported.; Description/final-diff mismatch is material and explicitly retained.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4578589998](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4578589998) | majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-06-26T10:05:16Z / 2026-06-26T10:05:17Z | [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2) | COMMENTED; submitted 2026-06-26T10:05:16Z | Empty-body COMMENTED; no written rationale.
[reviews:4578821416](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4578821416) | majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-06-26T10:48:49Z / 2026-06-26T10:48:49Z | [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2) | COMMENTED; submitted 2026-06-26T10:48:49Z | Empty-body COMMENTED; no written rationale.
[reviews:4590875261](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4590875261) | T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-06-29T10:11:00Z / 2026-06-29T10:11:00Z | [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2) | COMMENTED; submitted 2026-06-29T10:11:00Z | Empty-body COMMENTED; no written rationale.
[reviews:4640692609](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4640692609) | NatElkins; CONTRIBUTOR; author rationale; User | 2026-07-07T00:30:27Z / 2026-07-07T00:30:27Z | [`18f7fd5abc`](https://github.com/dotnet/fsharp/commit/18f7fd5abcb8f606b8e6cce8ad782c058ee7aa14) | COMMENTED; submitted 2026-07-07T00:30:27Z | Empty-body COMMENTED; no written rationale.
[reviews:4640693034](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4640693034) | NatElkins; CONTRIBUTOR; author rationale; User | 2026-07-07T00:30:36Z / 2026-07-07T00:30:36Z | [`18f7fd5abc`](https://github.com/dotnet/fsharp/commit/18f7fd5abcb8f606b8e6cce8ad782c058ee7aa14) | COMMENTED; submitted 2026-07-07T00:30:36Z | Empty-body COMMENTED; no written rationale.
[reviews:4640693074](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4640693074) | NatElkins; CONTRIBUTOR; author rationale; User | 2026-07-07T00:30:37Z / 2026-07-07T00:30:37Z | [`18f7fd5abc`](https://github.com/dotnet/fsharp/commit/18f7fd5abcb8f606b8e6cce8ad782c058ee7aa14) | COMMENTED; submitted 2026-07-07T00:30:37Z | Empty-body COMMENTED; no written rationale.
[reviews:4642422086](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4642422086) | majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-07-07T06:44:53Z / 2026-07-07T06:44:53Z | [`1c1f7a9f7a`](https://github.com/dotnet/fsharp/commit/1c1f7a9f7a222f823f1659234bfa49921d81427d) | COMMENTED; submitted 2026-07-07T06:44:53Z | Empty-body COMMENTED; no written rationale.
[reviews:4642480681](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4642480681) | majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-07-07T06:55:28Z / 2026-07-07T06:55:28Z | [`1c1f7a9f7a`](https://github.com/dotnet/fsharp/commit/1c1f7a9f7a222f823f1659234bfa49921d81427d) | COMMENTED; submitted 2026-07-07T06:55:28Z | Empty-body COMMENTED; no written rationale.
[reviews:4642793675](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4642793675) | majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-07-07T07:40:03Z / 2026-07-07T07:40:03Z | [`1c1f7a9f7a`](https://github.com/dotnet/fsharp/commit/1c1f7a9f7a222f823f1659234bfa49921d81427d) | COMMENTED; submitted 2026-07-07T07:40:03Z | Empty-body COMMENTED; no written rationale.
[reviews:4644745934](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4644745934) | T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-07-07T11:51:09Z / 2026-07-07T11:51:09Z | [`1c1f7a9f7a`](https://github.com/dotnet/fsharp/commit/1c1f7a9f7a222f823f1659234bfa49921d81427d) | APPROVED; submitted 2026-07-07T11:51:09Z | Empty-body APPROVED; no written rationale.
[reviews:4645340519](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4645340519) | NatElkins; CONTRIBUTOR; author rationale; User | 2026-07-07T13:01:42Z / 2026-07-07T13:01:42Z | [`239b6ee3c3`](https://github.com/dotnet/fsharp/commit/239b6ee3c36e5dec58ed2bf00ff78611abff1087) | COMMENTED; submitted 2026-07-07T13:01:42Z | Empty-body COMMENTED; no written rationale.
[reviews:4645340738](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4645340738) | NatElkins; CONTRIBUTOR; author rationale; User | 2026-07-07T13:01:44Z / 2026-07-07T13:01:44Z | [`239b6ee3c3`](https://github.com/dotnet/fsharp/commit/239b6ee3c36e5dec58ed2bf00ff78611abff1087) | COMMENTED; submitted 2026-07-07T13:01:44Z | Empty-body COMMENTED; no written rationale.
[reviews:4655124651](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4655124651) | T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-07-08T14:32:03Z / 2026-07-08T14:32:03Z | [`bd2148ba7a`](https://github.com/dotnet/fsharp/commit/bd2148ba7aff3a9f365be52a4e4769a56fef8acf) | APPROVED; submitted 2026-07-08T14:32:03Z | Empty-body APPROVED; no written rationale.
[reviews:4655202245](https://github.com/dotnet/fsharp/pull/19995#pullrequestreview-4655202245) | abonie; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-07-08T14:41:36Z / 2026-07-08T14:41:36Z | [`bd2148ba7a`](https://github.com/dotnet/fsharp/commit/bd2148ba7aff3a9f365be52a4e4769a56fef8acf) | APPROVED; submitted 2026-07-08T14:41:36Z | Empty-body APPROVED; no written rationale.
[issue-comments:4802749344](https://github.com/dotnet/fsharp/pull/19995#issuecomment-4802749344) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-06-25T18:09:17Z / 2026-06-25T18:10:00Z | - | - | Automated release-note gate status; not human performance evidence.
[issue-comments:4904202835](https://github.com/dotnet/fsharp/pull/19995#issuecomment-4904202835) | NatElkins; CONTRIBUTOR; author rationale; User | 2026-07-07T13:14:29Z / 2026-07-07T13:14:29Z | - | - | Author considers the PR ready once CI is green; no new performance measurement.
[inline-comments:3480645644](https://github.com/dotnet/fsharp/pull/19995#discussion_r3480645644) | majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-06-26T10:05:17Z / 2026-06-26T10:05:17Z | original [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2); mapped [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2) | src/Compiler/Utilities/Caches.fs:440; thread `PRRT_kwDOAbtAO86Me_hs`; resolved=True, outdated=True | Majocha asks to remove CacheMetricsListener, which is only used in tests and wraps Stats.
[inline-comments:3480852672](https://github.com/dotnet/fsharp/pull/19995#discussion_r3480852672) | majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-06-26T10:48:49Z / 2026-06-26T10:48:49Z | original [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2); mapped [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2) | src/Compiler/Utilities/Caches.fs:32; thread `PRRT_kwDOAbtAO86MflSB`; resolved=True, outdated=True | Majocha asks to remove the cacheId tag as well, citing exporter overhead from per-instance filtering.
[inline-comments:3490903438](https://github.com/dotnet/fsharp/pull/19995#discussion_r3490903438) | T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-06-29T10:11:00Z / 2026-06-29T10:11:00Z | original [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2); mapped [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2) | src/Compiler/Utilities/Caches.fs:281; thread `PRRT_kwDOAbtAO86M7qlI`; resolved=True, outdated=True | T-Gro says cache instrumentation is development-oriented and suggests a narrower DEBUG_COMPILER_CACHES directive if necessary; also notes its investigative value.
[inline-comments:3532823827](https://github.com/dotnet/fsharp/pull/19995#discussion_r3532823827) | NatElkins; CONTRIBUTOR; author rationale; User | 2026-07-07T00:30:27Z / 2026-07-07T00:30:27Z | original [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2); mapped [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2) | src/Compiler/Utilities/Caches.fs:440; thread `PRRT_kwDOAbtAO86Me_hs`; resolved=True, outdated=True | Author says the per-cache listener and checker helper were removed; tests and DebugDisplay now use name-aggregated totals.
[inline-comments:3532824272](https://github.com/dotnet/fsharp/pull/19995#discussion_r3532824272) | NatElkins; CONTRIBUTOR; author rationale; User | 2026-07-07T00:30:36Z / 2026-07-07T00:30:36Z | original [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2); mapped [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2) | src/Compiler/Utilities/Caches.fs:32; thread `PRRT_kwDOAbtAO86MflSB`; resolved=True, outdated=True | Author says cacheId/nextCacheId were removed and only the name tag remains.
[inline-comments:3532824298](https://github.com/dotnet/fsharp/pull/19995#discussion_r3532824298) | NatElkins; CONTRIBUTOR; author rationale; User | 2026-07-07T00:30:37Z / 2026-07-07T00:30:37Z | original [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2); mapped [`f96b70e1c1`](https://github.com/dotnet/fsharp/commit/f96b70e1c112af68b5e14fd75fca4bc6ca7308c2) | src/Compiler/Utilities/Caches.fs:281; thread `PRRT_kwDOAbtAO86M7qlI`; resolved=True, outdated=True | Author says direct per-cache tracking is gone, listener lifetime makes accumulation opt-in, and a separate directive was unnecessary.
[inline-comments:3534222679](https://github.com/dotnet/fsharp/pull/19995#discussion_r3534222679) | majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-07-07T06:44:53Z / 2026-07-07T06:44:53Z | original [`1c1f7a9f7a`](https://github.com/dotnet/fsharp/commit/1c1f7a9f7a222f823f1659234bfa49921d81427d); mapped [`bd2148ba7a`](https://github.com/dotnet/fsharp/commit/bd2148ba7aff3a9f365be52a4e4769a56fef8acf) | tests/FSharp.Compiler.Service.Tests/OverloadCacheTests.fs:57; thread `PRRT_kwDOAbtAO86O0MTP`; resolved=True, outdated=False | Majocha asks to document the global state that requires serialized OverloadCacheTests.
[inline-comments:3534273208](https://github.com/dotnet/fsharp/pull/19995#discussion_r3534273208) | majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-07-07T06:55:28Z / 2026-07-07T06:55:28Z | original [`1c1f7a9f7a`](https://github.com/dotnet/fsharp/commit/1c1f7a9f7a222f823f1659234bfa49921d81427d); mapped [`bd2148ba7a`](https://github.com/dotnet/fsharp/commit/bd2148ba7aff3a9f365be52a4e4769a56fef8acf) | src/Compiler/Utilities/Caches.fs:404; thread `PRRT_kwDOAbtAO86O0VXZ`; resolved=True, outdated=False | Majocha observes that a lightweight Stats object could preserve per-instance debugging information without a listener.
[inline-comments:3534528513](https://github.com/dotnet/fsharp/pull/19995#discussion_r3534528513) | majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-07-07T07:40:03Z / 2026-07-07T07:40:03Z | original [`1c1f7a9f7a`](https://github.com/dotnet/fsharp/commit/1c1f7a9f7a222f823f1659234bfa49921d81427d); mapped [`bd2148ba7a`](https://github.com/dotnet/fsharp/commit/bd2148ba7aff3a9f365be52a4e4769a56fef8acf) | src/Compiler/Utilities/Caches.fs:404; thread `PRRT_kwDOAbtAO86O0VXZ`; resolved=True, outdated=False | Majocha also accepts the name-aggregated form, explicitly expressing no preference between those approaches.
[inline-comments:3536631395](https://github.com/dotnet/fsharp/pull/19995#discussion_r3536631395) | NatElkins; CONTRIBUTOR; author rationale; User | 2026-07-07T13:01:42Z / 2026-07-07T13:01:42Z | original [`1c1f7a9f7a`](https://github.com/dotnet/fsharp/commit/1c1f7a9f7a222f823f1659234bfa49921d81427d); mapped [`bd2148ba7a`](https://github.com/dotnet/fsharp/commit/bd2148ba7aff3a9f365be52a4e4769a56fef8acf) | tests/FSharp.Compiler.Service.Tests/OverloadCacheTests.fs:57; thread `PRRT_kwDOAbtAO86O0MTP`; resolved=True, outdated=False | Author says the module-level comment now explains the shared checker, global name totals and why concurrent activity contaminates deltas.
[inline-comments:3536631511](https://github.com/dotnet/fsharp/pull/19995#discussion_r3536631511) | NatElkins; CONTRIBUTOR; author rationale; User | 2026-07-07T13:01:44Z / 2026-07-07T13:01:44Z | original [`1c1f7a9f7a`](https://github.com/dotnet/fsharp/commit/1c1f7a9f7a222f823f1659234bfa49921d81427d); mapped [`bd2148ba7a`](https://github.com/dotnet/fsharp/commit/bd2148ba7aff3a9f365be52a4e4769a56fef8acf) | src/Compiler/Utilities/Caches.fs:404; thread `PRRT_kwDOAbtAO86O0VXZ`; resolved=True, outdated=False | Author keeps shared name-aggregated Stats to avoid per-operation tracking overhead.

**Channel capture UTC:** reviews `2026-09-22T09:40:27Z`, issue-comments `2026-09-22T09:40:28Z`, inline-comments `2026-09-22T09:40:29Z`, threads `2026-09-22T09:40:32Z`, timeline `2026-09-22T09:40:30Z`.

### PR-20088 source record

[PR-20088](https://github.com/dotnet/fsharp/pull/20088) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `ce9b62a6632215f166b5f11c042d4584e40dfe48`; head `94167098d599a244ba37b5b5d1dcf31e8426505a`; merge base `ce9b62a6632215f166b5f11c042d4584e40dfe48`. Full diff SHA-256 `ff07f526fdf40d940831e7218f188e9a3d8a016e75fde34fdd08f7fbe7e69c38`.

**Other recovered review/original revisions:** [`bdb5b043ed`](https://github.com/dotnet/fsharp/commit/bdb5b043ed1900349810c2be04db37adc1d78543); [`eed9571a40`](https://github.com/dotnet/fsharp/commit/eed9571a4017ef1f2ec6abfc8eb07220da6bc514).

**Description:** ID `PR_kwDOAbtAO873Yauc` (REST pull ID `4150373276`), auduchinok/User, author role, text origin unverified, association MEMBER; PR created `2026-07-28T10:12:45Z`, updated `2026-08-12T12:33:05Z`; body lastEditedAt `null`. Captured `2026-09-22T09:35:43Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `c1ff5a1fb85706dcaea72c265d6622efa950e3da32786862922a3cbbb08afecd`.

Removes per-instance synchronization objects from InterruptibleLazy and DelayInitArrayMap, acknowledging locking-on-this risk. Author comment 5109201253 states its savings overlap PR-20090 and do not add; this caused the entire IL-import family to be promoted to development before reading that family's feedback.

**Diff and surrounding context:** Full three-file diff inspected with illib implementation and signature: Monitor.Enter/Exit moves to this, the separate field disappears, and InterruptibleLazy gets a do-not-lock documentation warning. Historical ILMethodDefs/ILTypeDefs subclasses and use sites inspected; no test changes. Original review revision bdb5b043 and later approved eed9571a/94167098 objects recovered.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/94167098d599a244ba37b5b5d1dcf31e8426505a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Utilities/illib.fs`](https://github.com/dotnet/fsharp/blob/94167098d599a244ba37b5b5d1dcf31e8426505a/src/Compiler/Utilities/illib.fs), [`src/Compiler/Utilities/illib.fsi`](https://github.com/dotnet/fsharp/blob/94167098d599a244ba37b5b5d1dcf31e8426505a/src/Compiler/Utilities/illib.fsi).

**Source gaps/qualifications:** Review 4847726827 explicitly attributes itself to AI expert-reviewer; its inline comment 3706983749 is model-attributed despite T-Gro's User account.; The quoted measurement account in author comment 5109201253 has uncertain original authorship, not independently established human precedent.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4847726827](https://github.com/dotnet/fsharp/pull/20088#pullrequestreview-4847726827) | T-Gro; MEMBER; model-attributed; User | 2026-08-03T19:11:24Z / 2026-08-03T19:11:24Z | [`bdb5b043ed`](https://github.com/dotnet/fsharp/commit/bdb5b043ed1900349810c2be04db37adc1d78543) | COMMENTED; submitted 2026-08-03T19:11:24Z | Explicit AI expert-reviewer attribution; describes current subclasses/locking and recommends documenting the lock-on-this contract. Not human review evidence.
[reviews:4914647281](https://github.com/dotnet/fsharp/pull/20088#pullrequestreview-4914647281) | T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-08-12T08:46:34Z / 2026-08-12T08:46:34Z | [`eed9571a40`](https://github.com/dotnet/fsharp/commit/eed9571a4017ef1f2ec6abfc8eb07220da6bc514) | APPROVED; submitted 2026-08-12T08:46:34Z | Empty-body APPROVED; no written rationale.
[reviews:4916254048](https://github.com/dotnet/fsharp/pull/20088#pullrequestreview-4916254048) | T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-08-12T12:03:20Z / 2026-08-12T12:03:20Z | [`94167098d5`](https://github.com/dotnet/fsharp/commit/94167098d599a244ba37b5b5d1dcf31e8426505a) | APPROVED; submitted 2026-08-12T12:03:20Z | Empty-body APPROVED; no written rationale.
[issue-comments:5108896958](https://github.com/dotnet/fsharp/pull/20088#issuecomment-5108896958) | majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-07-28T19:44:03Z / 2026-07-28T19:44:03Z | - | - | Majocha suggests System.Lazy's alternative of clearing the synchronization-object field after initialization, while noting complexity.
[issue-comments:5108956145](https://github.com/dotnet/fsharp/pull/20088#issuecomment-5108956145) | auduchinok; MEMBER; author rationale; User | 2026-07-28T19:50:32Z / 2026-07-28T19:50:32Z | - | - | Author replies that clearing the object still leaves the field's retained size across thousands of types.
[issue-comments:5109201253](https://github.com/dotnet/fsharp/pull/20088#issuecomment-5109201253) | auduchinok; MEMBER; author rationale; quoted origin uncertain; User | 2026-07-28T20:15:49Z / 2026-07-28T20:15:49Z | - | - | Author quotes an overlap analysis: importing fewer types in PR-20090 reduces the lock-object opportunity, so the savings do not add. Quoted text's original authorship is uncertain.
[issue-comments:5238762632](https://github.com/dotnet/fsharp/pull/20088#issuecomment-5238762632) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-10T10:08:14Z / 2026-08-10T10:11:26Z | - | - | Automated release-note gate status; not human performance evidence.
[issue-comments:5264463466](https://github.com/dotnet/fsharp/pull/20088#issuecomment-5264463466) | T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-08-12T08:46:24Z / 2026-08-12T08:46:24Z | - | - | T-Gro proposes an annotation/scanner against future locking on these instances and distinguishes future-regression risk from a one-off current audit.
[inline-comments:3706983749](https://github.com/dotnet/fsharp/pull/20088#discussion_r3706983749) | T-Gro; MEMBER; model-attributed; User | 2026-08-03T19:11:24Z / 2026-08-03T19:11:24Z | original [`bdb5b043ed`](https://github.com/dotnet/fsharp/commit/bdb5b043ed1900349810c2be04db37adc1d78543); mapped [`94167098d5`](https://github.com/dotnet/fsharp/commit/94167098d599a244ba37b5b5d1dcf31e8426505a) | src/Compiler/Utilities/illib.fs:35; thread `PRRT_kwDOAbtAO86WGA-8`; resolved=True, outdated=False | Inline from explicitly AI-attributed review 4847726827: warns about exposing the initialization monitor and recommends a caller-visible warning.

**Channel capture UTC:** reviews `2026-09-22T09:40:34Z`, issue-comments `2026-09-22T09:40:34Z`, inline-comments `2026-09-22T09:40:35Z`, threads `2026-09-22T09:40:38Z`, timeline `2026-09-22T09:40:37Z`.

### PR-20090 source record

[PR-20090](https://github.com/dotnet/fsharp/pull/20090) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `22a8a5dcc724ea58041b8bc0b95e51268d7b656d`; head `0f5a9f3302a34a2243b6c0c019a59a9bbf5f55e1`; merge base `22a8a5dcc724ea58041b8bc0b95e51268d7b656d`. Full diff SHA-256 `bceabfebda2f061339dc5b8728636460aa93c6abb34b9bc82bfa2f64d587709b`.

**Other recovered review/original revisions:** [`4b348b54c5`](https://github.com/dotnet/fsharp/commit/4b348b54c57e2e821fcbe79b214be0a725d2960a).

**Description:** ID `PR_kwDOAbtAO873hYRQ` (REST pull ID `4152722512`), auduchinok/User, author role, text origin model, association MEMBER; PR created `2026-07-28T15:17:58Z`, updated `2026-08-17T16:36:40Z`; body lastEditedAt `2026-07-28T15:32:24Z`. Captured `2026-09-22T09:35:44Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `915c92fc44263559a52ec1ed7fbe51cb4be969f17574b9acc7d886105bcb4e4f`.

Author says the trait-source walk eagerly imports all namespaces of non-F# references even though their value lists cannot supply F# trait constraints. Skipping those CCUs reportedly reduces retained memory 27.8% on a 486-reference project and 10.2% on a console project; FCS itself is within noise. The detailed description explicitly identifies itself as AI-generated.

**Diff and surrounding context:** Final 2-path/29-line diff adds an IsFSharp guard around the existing constraint-source traversal and a release note. Historical context reads the complete traversal, IL namespace/type import producing empty value lists and CcuThunk.IsFSharp. No test or signature change in this diff; related member-constraint fixture and the separate namespace tests in assigned #20092 provide context, not a claimed validation run.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/0f5a9f3302a34a2243b6c0c019a59a9bbf5f55e1/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Driver/CompilerImports.fs`](https://github.com/dotnet/fsharp/blob/0f5a9f3302a34a2243b6c0c019a59a9bbf5f55e1/src/Compiler/Driver/CompilerImports.fs), [`src/Compiler/Driver/CompilerImports.fsi`](https://github.com/dotnet/fsharp/blob/0f5a9f3302a34a2243b6c0c019a59a9bbf5f55e1/src/Compiler/Driver/CompilerImports.fsi).

**Additional pinned context regions:** [`src/Compiler/Driver/CompilerImports.fs:495-537`](https://github.com/dotnet/fsharp/blob/0f5a9f3302a34a2243b6c0c019a59a9bbf5f55e1/src/Compiler/Driver/CompilerImports.fs#L495-L537), [`src/Compiler/Checking/import.fs:699-764`](https://github.com/dotnet/fsharp/blob/0f5a9f3302a34a2243b6c0c019a59a9bbf5f55e1/src/Compiler/Checking/import.fs#L699-L764), [`src/Compiler/TypedTree/TypedTree.fs:6004-6011`](https://github.com/dotnet/fsharp/blob/0f5a9f3302a34a2243b6c0c019a59a9bbf5f55e1/src/Compiler/TypedTree/TypedTree.fs#L6004-L6011), [`tests/FSharp.Compiler.ComponentTests/ConstraintSolver/MemberConstraints.fs:1-22`](https://github.com/dotnet/fsharp/blob/0f5a9f3302a34a2243b6c0c019a59a9bbf5f55e1/tests/FSharp.Compiler.ComponentTests/ConstraintSolver/MemberConstraints.fs#L1-L22).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4847719777](https://github.com/dotnet/fsharp/pull/20090#pullrequestreview-4847719777) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-08-03T19:10:21Z / 2026-08-10T10:14:15Z | [`4b348b54c5`](https://github.com/dotnet/fsharp/commit/4b348b54c57e2e821fcbe79b214be0a725d2960a) | APPROVED; submitted 2026-08-03T19:10:22Z | Explicit AI expert-reviewer approval says IsFSharp guard is cheap, non-recursive shadowing delegates correctly and only F# CCUs can carry the constraints; asks independent verification.
[reviews:4914514740](https://github.com/dotnet/fsharp/pull/20090#pullrequestreview-4914514740) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-12T08:29:35Z / 2026-08-12T08:29:35Z | [`0f5a9f3302`](https://github.com/dotnet/fsharp/commit/0f5a9f3302a34a2243b6c0c019a59a9bbf5f55e1) | APPROVED; submitted 2026-08-12T08:29:35Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5238831470](https://github.com/dotnet/fsharp/pull/20090#issuecomment-5238831470) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-10T10:14:33Z / 2026-08-10T10:26:24Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5242558286](https://github.com/dotnet/fsharp/pull/20090#issuecomment-5242558286) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-10T15:45:32Z / 2026-08-10T15:45:32Z | - | - | Author reports the PR is ready.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABKgh_t88AAAAGzWU_ow` | auduchinok/User | 2026-08-10T10:14:16Z | [`e991f3a00a`](https://github.com/dotnet/fsharp/commit/e991f3a00a8c24754bfadae7465dce80790af4d3) / [`4b348b54c5`](https://github.com/dotnet/fsharp/commit/4b348b54c57e2e821fcbe79b214be0a725d2960a)

**Channel capture UTC:** reviews `2026-09-22T09:44:08Z`, issue-comments `2026-09-22T09:44:09Z`, inline-comments `2026-09-22T09:44:09Z`, threads `2026-09-22T09:44:12Z`, timeline `2026-09-22T09:44:10Z`.

### PR-20092 source record

[PR-20092](https://github.com/dotnet/fsharp/pull/20092) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `ffa6ef193665e8a03c00b71b394a4fc72c686255`; head `6d95690dfc265bfd2ce465997d70ebf14bd073f7`; merge base `ffa6ef193665e8a03c00b71b394a4fc72c686255`. Full diff SHA-256 `e64ad2927ad5aba472dd39a87fa40a722a577fee60c07a831f4334256c85a2b4`.

**Other recovered review/original revisions:** [`7a4c3cc79a`](https://github.com/dotnet/fsharp/commit/7a4c3cc79aa4613b95883fb78182d43d27c5019f); [`802966193b`](https://github.com/dotnet/fsharp/commit/802966193b9050f71cf713021f1f4f82bc6ed40f).

**Description:** ID `PR_kwDOAbtAO873pRQc` (REST pull ID `4154790940`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-07-28T20:09:05Z`, updated `2026-08-13T10:30:34Z`; body lastEditedAt `2026-07-29T06:37:09Z`. Captured `2026-09-22T09:35:44Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `1c816b86451dab2484db5a343d0515ccedc4b9b1a92c4d9d2b9c9c8ca134945c`.

Groups lazy type definitions into lazy namespaces, including custom Rider readers, and adds laziness tests. Description explicitly combines measurements with #20088 and #20090: console retained memory 77.7 to 59.9 MB and FSharp.Common 1319.2 to 766.0 MB; FCS retention is noise. Separate read-count, warm-time and allocation tables are source claims, not isolated effects of this PR.

**Diff and surrounding context:** Final 18-path/2510-line diff introduces independent lazy namespace/types realization, ILPreNamespace abstract class, deferred type-name indices and DelayInitValue; changes grouping/lookup/flattening, import granularity, nullness fallback closures, no-typar singleton, name/AutoOpen forcing and empty QueueLists. Static linking restores metadata-index order; generated flat tables retain order. il.fsi/illib.fsi and service surface baseline change. Reads full cancellation/order and 676-line namespace tests, 454-line benchmark/probe source plus project/README wiring; emitter consumers and original guard inline are pinned. Initial guard overlap with #20090 is absent from final diff after rebasing.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/AbstractIL/il.fs`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/AbstractIL/il.fs), [`src/Compiler/AbstractIL/il.fsi`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/AbstractIL/il.fsi), [`src/Compiler/AbstractIL/ilread.fs`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/AbstractIL/ilread.fs), [`src/Compiler/AbstractIL/ilread.fsi`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/AbstractIL/ilread.fsi), [`src/Compiler/Checking/NameResolution.fs`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/Checking/NameResolution.fs), [`src/Compiler/Checking/NameResolution.fsi`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/Checking/NameResolution.fsi), [`src/Compiler/Checking/import.fs`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/Checking/import.fs), [`src/Compiler/Checking/import.fsi`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/Checking/import.fsi), [`src/Compiler/Driver/StaticLinking.fs`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/Driver/StaticLinking.fs), [`src/Compiler/Driver/StaticLinking.fsi`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/Driver/StaticLinking.fsi), [`src/Compiler/TypedTree/TypedTree.fs`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/TypedTree/TypedTree.fs), [`src/Compiler/TypedTree/TypedTree.fsi`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/TypedTree/TypedTree.fsi), [`src/Compiler/Utilities/illib.fs`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/Utilities/illib.fs), [`src/Compiler/Utilities/illib.fsi`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/Utilities/illib.fsi), [`tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl), [`tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj), [`tests/FSharp.Compiler.Service.Tests/ModuleReaderCancellationTests.fs`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/tests/FSharp.Compiler.Service.Tests/ModuleReaderCancellationTests.fs), [`tests/FSharp.Compiler.Service.Tests/ModuleReaderNamespaceTests.fs`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/tests/FSharp.Compiler.Service.Tests/ModuleReaderNamespaceTests.fs), [`tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj), [`tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/NamespaceImportBenchmarks.fs`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/NamespaceImportBenchmarks.fs), [`tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/Program.fs`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/Program.fs), [`tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/README.md`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/README.md).

**Additional pinned context regions:** [`src/Compiler/AbstractIL/ilreflect.fs:2467-2485`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/AbstractIL/ilreflect.fs#L2467-L2485), [`src/Compiler/Utilities/illib.fs:151-221`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/Utilities/illib.fs#L151-L221), [`src/Compiler/Driver/CompilerImports.fs:2329-2379`](https://github.com/dotnet/fsharp/blob/802966193b9050f71cf713021f1f4f82bc6ed40f/src/Compiler/Driver/CompilerImports.fs#L2329-L2379), [`src/Compiler/AbstractIL/ilwrite.fs:3070-3095`](https://github.com/dotnet/fsharp/blob/6d95690dfc265bfd2ce465997d70ebf14bd073f7/src/Compiler/AbstractIL/ilwrite.fs#L3070-L3095).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4847793644](https://github.com/dotnet/fsharp/pull/20092#pullrequestreview-4847793644) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-08-03T19:20:44Z / 2026-08-03T19:20:44Z | [`802966193b`](https://github.com/dotnet/fsharp/commit/802966193b9050f71cf713021f1f4f82bc6ed40f) | COMMENTED; submitted 2026-08-03T19:20:44Z | Explicit AI expert-reviewer review reports no correctness defect after checking concurrency, enumeration/static-link order, exported-type diagnostics, forcing order and shared empty type parameters; leaves naming/readability inline.
[reviews:4916240974](https://github.com/dotnet/fsharp/pull/20092#pullrequestreview-4916240974) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-12T12:01:35Z / 2026-08-12T12:01:35Z | [`7a4c3cc79a`](https://github.com/dotnet/fsharp/commit/7a4c3cc79aa4613b95883fb78182d43d27c5019f) | APPROVED; submitted 2026-08-12T12:01:35Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:4920475291](https://github.com/dotnet/fsharp/pull/20092#pullrequestreview-4920475291) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-12T19:38:56Z / 2026-08-12T19:38:56Z | [`6d95690dfc`](https://github.com/dotnet/fsharp/commit/6d95690dfc265bfd2ce465997d70ebf14bd073f7) | APPROVED; submitted 2026-08-12T19:38:56Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5128951305](https://github.com/dotnet/fsharp/pull/20092#issuecomment-5128951305) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-07-30T09:21:24Z / 2026-07-30T09:21:24Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Compiler-Output Affects-Compiler-Output: modifies IL reader (&#96;il.fs&#96;, &#96;ilread.fs&#96;), import, and static linking
[issue-comments:5131259225](https://github.com/dotnet/fsharp/pull/20092#issuecomment-5131259225) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-07-30T13:11:59Z / 2026-07-30T13:11:59Z | - | - | Author reports the PR is ready.
[issue-comments:5265328173](https://github.com/dotnet/fsharp/pull/20092#issuecomment-5265328173) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-12T10:11:48Z / 2026-08-12T10:11:48Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5266535118](https://github.com/dotnet/fsharp/pull/20092#issuecomment-5266535118) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-12T12:01:57Z / 2026-08-12T12:01:57Z | - | - | Reviewer likes the change but asks for reapproval once red CI is green.
[issue-comments:5268425126](https://github.com/dotnet/fsharp/pull/20092#issuecomment-5268425126) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-12T14:48:56Z / 2026-08-12T14:48:56Z | - | - | Author reports CI is green.
[inline-comments:3707042325](https://github.com/dotnet/fsharp/pull/20092#discussion_r3707042325) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-08-03T19:20:44Z / 2026-08-03T19:20:44Z | original [`802966193b`](https://github.com/dotnet/fsharp/commit/802966193b9050f71cf713021f1f4f82bc6ed40f); mapped [`802966193b`](https://github.com/dotnet/fsharp/commit/802966193b9050f71cf713021f1f4f82bc6ed40f) | src/Compiler/Driver/CompilerImports.fs:2349; thread `PRRT_kwDOAbtAO86WGLAV`; resolved=True, outdated=True | Model-attributed inline says same-name non-recursive guard wrapper works but could be confused into recursion by a future refactor; suggests distinct naming, nonblocking.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABKi01D88AAAAGr0Np9A` | auduchinok/User | 2026-07-30T08:54:41Z | [`5ddd1ca5e9`](https://github.com/dotnet/fsharp/commit/5ddd1ca5e989d02bcb6934a329368e4fb292bcbe) / [`28c10e2f43`](https://github.com/dotnet/fsharp/commit/28c10e2f43941a28f5dff533b38728c267103320)
`HRFPE_lADOAbtAO88AAAABKi01D88AAAAGr4pQiQ` | auduchinok/User | 2026-07-30T10:36:50Z | [`28c10e2f43`](https://github.com/dotnet/fsharp/commit/28c10e2f43941a28f5dff533b38728c267103320) / [`2e7cbc0344`](https://github.com/dotnet/fsharp/commit/2e7cbc0344b4b42b24b6613c38b5b5db12a4f3d1)
`HRFPE_lADOAbtAO88AAAABKi01D88AAAAGr_sNEg` | auduchinok/User | 2026-07-30T13:16:36Z | [`2e7cbc0344`](https://github.com/dotnet/fsharp/commit/2e7cbc0344b4b42b24b6613c38b5b5db12a4f3d1) / [`802966193b`](https://github.com/dotnet/fsharp/commit/802966193b9050f71cf713021f1f4f82bc6ed40f)
`HRFPE_lADOAbtAO88AAAABKi01D88AAAAG1GH7BQ` | auduchinok/User | 2026-08-12T10:11:35Z | [`802966193b`](https://github.com/dotnet/fsharp/commit/802966193b9050f71cf713021f1f4f82bc6ed40f) / [`7a92a6d825`](https://github.com/dotnet/fsharp/commit/7a92a6d82589982988a94083c2ee9742cd6d39db)
`HRFPE_lADOAbtAO88AAAABKi01D88AAAAG1MhpRQ` | auduchinok/User | 2026-08-12T12:37:10Z | [`f6e4a9db42`](https://github.com/dotnet/fsharp/commit/f6e4a9db420dacbb79c1a49ca90243878ad3ff4d) / [`0beabc78ec`](https://github.com/dotnet/fsharp/commit/0beabc78ec19fc32185cdf88022d4680396498de)
`HRFPE_lADOAbtAO88AAAABKi01D88AAAAG1O35og` | auduchinok/User | 2026-08-12T13:23:41Z | [`0beabc78ec`](https://github.com/dotnet/fsharp/commit/0beabc78ec19fc32185cdf88022d4680396498de) / [`6d95690dfc`](https://github.com/dotnet/fsharp/commit/6d95690dfc265bfd2ce465997d70ebf14bd073f7)

**Channel capture UTC:** reviews `2026-09-22T09:44:08Z`, issue-comments `2026-09-22T09:44:09Z`, inline-comments `2026-09-22T09:44:09Z`, threads `2026-09-22T09:44:12Z`, timeline `2026-09-22T09:44:10Z`.

### PR-20220 source record

[PR-20220](https://github.com/dotnet/fsharp/pull/20220) - **FAMILY-build-node-reuse**.

**Pinned comparison:** base `93659f336bd5c4fe9029225e3ea13f5b20d508bc`; head `769074c90f08754183845d1655b7c4e72f1a27d4`; merge base `93659f336bd5c4fe9029225e3ea13f5b20d508bc`. Full diff SHA-256 `462e6ea48b1dcc76f1144cf8761d05db9dc1391ffaa88063af7b3201547b46d9`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO877lHcl` (REST pull ID `4220811045`), T-Gro/User, author role, text origin unverified, association MEMBER; PR created `2026-08-06T12:22:46Z`, updated `2026-08-10T09:14:07Z`; body lastEditedAt `null`. Captured `2026-09-22T09:36:28Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `1145f6fd20c480c03b17398ce2c529b073e74cb6045b53dd213303345719c149`.

Removes hard overrides of MSBuild node reuse on both platforms, restoring Arcade's local/CI defaults and enabling MSBuild Server. Body explicitly identifies a historical bootstrap assembly-version-conflict risk rather than claiming it was disproved.

**Diff and surrounding context:** Entire five-line deletion across Build.ps1/build.sh inspected with pinned eng/common/tools.ps1/tools.sh defaults and EndToEndBuildTests wiring. No tests/signatures changed. Linked issue 20217 supplies the original inner-loop claim; historical script comments identify the bootstrap reason.

**Pinned head files/signatures acquired:** [`eng/Build.ps1`](https://github.com/dotnet/fsharp/blob/769074c90f08754183845d1655b7c4e72f1a27d4/eng/Build.ps1), [`eng/build.sh`](https://github.com/dotnet/fsharp/blob/769074c90f08754183845d1655b7c4e72f1a27d4/eng/build.sh).

**Source gaps/qualifications:** No timing data or independent bootstrap validation executed in this acquisition sprint; two empty approvals are decisions, not performance arguments.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4882745688](https://github.com/dotnet/fsharp/pull/20220#pullrequestreview-4882745688) | ViktorHofer; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-08-07T12:17:53Z / 2026-08-07T12:17:53Z | [`769074c90f`](https://github.com/dotnet/fsharp/commit/769074c90f08754183845d1655b7c4e72f1a27d4) | APPROVED; submitted 2026-08-07T12:17:53Z | Empty-body APPROVED; no written rationale.
[reviews:4895236869](https://github.com/dotnet/fsharp/pull/20220#pullrequestreview-4895236869) | abonie; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-08-10T09:11:42Z / 2026-08-10T09:11:42Z | [`769074c90f`](https://github.com/dotnet/fsharp/commit/769074c90f08754183845d1655b7c4e72f1a27d4) | APPROVED; submitted 2026-08-10T09:11:42Z | Empty-body APPROVED; no written rationale.
[issue-comments:5204575192](https://github.com/dotnet/fsharp/pull/20220#issuecomment-5204575192) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-06T12:22:59Z / 2026-08-10T08:36:48Z | - | - | Automated release-note gate status; not human performance evidence.

**Channel capture UTC:** reviews `2026-09-22T09:40:34Z`, issue-comments `2026-09-22T09:40:35Z`, inline-comments `2026-09-22T09:40:35Z`, threads `2026-09-22T09:40:38Z`, timeline `2026-09-22T09:40:37Z`.

### PR-20244 source record

[PR-20244](https://github.com/dotnet/fsharp/pull/20244) - **FAMILY-pattern-memo**.

**Pinned comparison:** base `1361727543589b7a2997cbae48302025cc93564a`; head `da1d79e3b7be82b430df95491dc9bcba5e904960`; merge base `1361727543589b7a2997cbae48302025cc93564a`. Full diff SHA-256 `2959a1e54b3a12e3b7095f4a9360839bd12bdb34d53988796b96de7ca200f3d9`.

**Other recovered review/original revisions:** [`6eb4cae74b`](https://github.com/dotnet/fsharp/commit/6eb4cae74b1ed3b312d6c50933323efb378c234e); [`8fbba3b7f1`](https://github.com/dotnet/fsharp/commit/8fbba3b7f1bf9380fdb3384a516f912746ee20d1).

**Description:** ID `PR_kwDOAbtAO879ggNp` (REST pull ID `4253156201`), T-Gro/User, author role, text origin unverified, association MEMBER; PR created `2026-08-11T12:29:05Z`, updated `2026-08-19T13:04:20Z`; body lastEditedAt `2026-08-18T09:59:21Z`. Captured `2026-09-22T09:37:54Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `6ac636243a5d5c598f44cbaeaf096817003ba2d7a9114319dfe082d8bc6b39ca`.

Memoizes repeated guarded active-pattern residual states, promoting after 32 visits. Author reports N=20 changing from over 90 seconds to 3.3 seconds, plus IL size/runtime/side-effect comparisons; ordinary matches and byref-like boundaries are explicitly discussed.

**Diff and surrounding context:** Entire eight-file diff inspected, including diagnostic and compilation paths, thunk lifting/clone guards, CompilePattern's new bindings result, CheckExpressionsOps caller, .fsi, quotation assertions, runtime/byref/rethrow tests, project inclusion, and pinned downstream regression repository. The original review at 6eb4cae7 concerns conditional CloneAll, not the final unconditional clone. Structural-key successor PR-20337 stays in this family.

**Pinned head files/signatures acquired:** [`azure-pipelines-PR.yml`](https://github.com/dotnet/fsharp/blob/da1d79e3b7be82b430df95491dc9bcba5e904960/azure-pipelines-PR.yml), [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/da1d79e3b7be82b430df95491dc9bcba5e904960/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Checking/Expressions/CheckExpressionsOps.fs`](https://github.com/dotnet/fsharp/blob/da1d79e3b7be82b430df95491dc9bcba5e904960/src/Compiler/Checking/Expressions/CheckExpressionsOps.fs), [`src/Compiler/Checking/PatternMatchCompilation.fs`](https://github.com/dotnet/fsharp/blob/da1d79e3b7be82b430df95491dc9bcba5e904960/src/Compiler/Checking/PatternMatchCompilation.fs), [`src/Compiler/Checking/PatternMatchCompilation.fsi`](https://github.com/dotnet/fsharp/blob/da1d79e3b7be82b430df95491dc9bcba5e904960/src/Compiler/Checking/PatternMatchCompilation.fsi), [`tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ExpressionQuotations/QuotationRendering/QuotationRenderingTests.fs`](https://github.com/dotnet/fsharp/blob/da1d79e3b7be82b430df95491dc9bcba5e904960/tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ExpressionQuotations/QuotationRendering/QuotationRenderingTests.fs), [`tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/GuardedOrPatternComplexity.fs`](https://github.com/dotnet/fsharp/blob/da1d79e3b7be82b430df95491dc9bcba5e904960/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/GuardedOrPatternComplexity.fs), [`tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj`](https://github.com/dotnet/fsharp/blob/da1d79e3b7be82b430df95491dc9bcba5e904960/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj).

**Source gaps/qualifications:** No raw profiler archive or timing harness attachment was returned. Workload measurements are author reports, not rerun here.; Abonie's inline prose has no explicit model disclosure in its source; account-type User alone does not certify authorship.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4961344610](https://github.com/dotnet/fsharp/pull/20244#pullrequestreview-4961344610) | abonie; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-08-18T13:08:52Z / 2026-08-18T13:08:52Z | [`6eb4cae74b`](https://github.com/dotnet/fsharp/commit/6eb4cae74b1ed3b312d6c50933323efb378c234e) | COMMENTED; submitted 2026-08-18T13:08:52Z | Empty-body COMMENTED; no written rationale.
[reviews:4971393075](https://github.com/dotnet/fsharp/pull/20244#pullrequestreview-4971393075) | T-Gro; MEMBER; author rationale; User | 2026-08-19T11:03:22Z / 2026-08-19T11:03:22Z | [`8fbba3b7f1`](https://github.com/dotnet/fsharp/commit/8fbba3b7f1bf9380fdb3384a516f912746ee20d1) | COMMENTED; submitted 2026-08-19T11:03:22Z | Empty-body COMMENTED; no written rationale.
[reviews:4972397940](https://github.com/dotnet/fsharp/pull/20244#pullrequestreview-4972397940) | abonie; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-08-19T13:04:16Z / 2026-08-19T13:04:16Z | [`da1d79e3b7`](https://github.com/dotnet/fsharp/commit/da1d79e3b7be82b430df95491dc9bcba5e904960) | APPROVED; submitted 2026-08-19T13:04:15Z | Empty-body APPROVED; no written rationale.
[issue-comments:5253160057](https://github.com/dotnet/fsharp/pull/20244#issuecomment-5253160057) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-11T12:29:17Z / 2026-08-13T15:12:25Z | - | - | Automated release-note gate status; not human performance evidence.
[issue-comments:5253274211](https://github.com/dotnet/fsharp/pull/20244#issuecomment-5253274211) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-11T12:39:32Z / 2026-08-18T12:37:16Z | - | - | Automated/model tooling-safety classification; not human performance evidence.
[issue-comments:5326993921](https://github.com/dotnet/fsharp/pull/20244#issuecomment-5326993921) | T-Gro; MEMBER; author rationale; User | 2026-08-18T10:36:45Z / 2026-08-18T10:36:45Z | - | - | Author reports difficult before/after reproduction and asks for an OSS regression workload.
[issue-comments:5328256175](https://github.com/dotnet/fsharp/pull/20244#issuecomment-5328256175) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-18T12:37:17Z / 2026-08-19T11:36:52Z | - | - | Automated/model tooling-safety classification; not human performance evidence.
[issue-comments:5331207793](https://github.com/dotnet/fsharp/pull/20244#issuecomment-5331207793) | Thorium; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User | 2026-08-18T16:35:54Z / 2026-08-18T16:35:54Z | - | - | Thorium names Linq.Expression.Optimizer and explains that its code was already rewritten with intermediate clauses to compile.
[issue-comments:5341575624](https://github.com/dotnet/fsharp/pull/20244#issuecomment-5341575624) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-19T11:36:53Z / 2026-08-19T11:36:53Z | - | - | Automated/model tooling-safety classification; not human performance evidence.
[inline-comments:3804324304](https://github.com/dotnet/fsharp/pull/20244#discussion_r3804324304) | abonie; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-08-18T13:08:52Z / 2026-08-18T13:08:52Z | original [`6eb4cae74b`](https://github.com/dotnet/fsharp/commit/6eb4cae74b1ed3b312d6c50933323efb378c234e); mapped [`6eb4cae74b`](https://github.com/dotnet/fsharp/commit/6eb4cae74b1ed3b312d6c50933323efb378c234e) | src/Compiler/Checking/PatternMatchCompilation.fs:1412; thread `PRRT_kwDOAbtAO86aHeVU`; resolved=True, outdated=True | Abonie requests unconditional CloneAll, including capture-free promoted joins, to keep fresh binder stamps across methods and protect the optimizer's stamp-keyed cache.
[inline-comments:3812377984](https://github.com/dotnet/fsharp/pull/20244#discussion_r3812377984) | T-Gro; MEMBER; author rationale; User | 2026-08-19T11:03:22Z / 2026-08-19T11:03:22Z | original [`6eb4cae74b`](https://github.com/dotnet/fsharp/commit/6eb4cae74b1ed3b312d6c50933323efb378c234e); mapped [`6eb4cae74b`](https://github.com/dotnet/fsharp/commit/6eb4cae74b1ed3b312d6c50933323efb378c234e) | src/Compiler/Checking/PatternMatchCompilation.fs:1412; thread `PRRT_kwDOAbtAO86aHeVU`; resolved=True, outdated=True | Author says CloneAll now runs unconditionally for capture-free joins as requested.

**Channel capture UTC:** reviews `2026-09-22T09:40:35Z`, issue-comments `2026-09-22T09:40:36Z`, inline-comments `2026-09-22T09:40:37Z`, threads `2026-09-22T09:40:40Z`, timeline `2026-09-22T09:40:38Z`.

### PR-20249 source record

[PR-20249](https://github.com/dotnet/fsharp/pull/20249) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `d3fab443a1cde90f68d9a272e7e776959936a84c`; head `8f5aba0f2d53ab45200532b020527f3b51b4c7a4`; merge base `d3fab443a1cde90f68d9a272e7e776959936a84c`. Full diff SHA-256 `6c551db77c7bb661670bcb2b3fc1ca48d0a5ac9e9be564c2354bccf82e046db5`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO87-Enhs` (REST pull ID `4262623340`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-12T13:18:16Z`, updated `2026-08-13T15:21:32Z`; body lastEditedAt `null`. Captured `2026-09-22T09:36:37Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `c9d25951ebb70e55b799b2ca47b11345d42f4c84462c087575278cd050c01db2`.

Description consists of retained-memory measurements: realizing all type definitions across 181 runtime assemblies falls 28.4 to 17.3 MB; console and FSharp.Common fall 5.5% and 5.2%; FCS falls 0.1%. Title identifies reuse of empty member tables.

**Diff and surrounding context:** Final 2-path/260-line diff probes EventMap/PropertyMap/MethodImpl row ranges while realizing the type, returns existing empty field/method/event/property/implementation tables when absent, and defers nonempty reads while reacquiring metadata views. Reads row-range helper, all empty-table definitions and signatures; typeDefReader callers are in diff. Release note included; no tests added.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/AbstractIL/ilread.fs`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/ilread.fs), [`src/Compiler/AbstractIL/ilread.fsi`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/ilread.fsi).

**Additional pinned context regions:** [`src/Compiler/AbstractIL/ilread.fs:1177-1247`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/ilread.fs#L1177-L1247), [`src/Compiler/AbstractIL/il.fs:3754-3760`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/il.fs#L3754-L3760), [`src/Compiler/AbstractIL/il.fs:4601-4607`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/il.fs#L4601-L4607), [`src/Compiler/AbstractIL/il.fs:4608-4614`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/il.fs#L4608-L4614), [`src/Compiler/AbstractIL/il.fs:4615-4621`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/il.fs#L4615-L4621), [`src/Compiler/AbstractIL/il.fs:4657-4663`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/il.fs#L4657-L4663), [`src/Compiler/AbstractIL/il.fsi:2380-2384`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/il.fsi#L2380-L2384), [`src/Compiler/AbstractIL/il.fsi:2384-2388`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/il.fsi#L2384-L2388), [`src/Compiler/AbstractIL/il.fsi:2389-2393`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/il.fsi#L2389-L2393), [`src/Compiler/AbstractIL/il.fsi:2393-2397`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/il.fsi#L2393-L2397), [`src/Compiler/AbstractIL/il.fsi:2397-2401`](https://github.com/dotnet/fsharp/blob/8f5aba0f2d53ab45200532b020527f3b51b4c7a4/src/Compiler/AbstractIL/il.fsi#L2397-L2401).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4928656852](https://github.com/dotnet/fsharp/pull/20249#pullrequestreview-4928656852) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-13T15:20:17Z / 2026-08-13T15:20:17Z | [`8f5aba0f2d`](https://github.com/dotnet/fsharp/commit/8f5aba0f2d53ab45200532b020527f3b51b4c7a4) | APPROVED; submitted 2026-08-13T15:20:16Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5267347999](https://github.com/dotnet/fsharp/pull/20249#issuecomment-5267347999) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-12T13:18:27Z / 2026-08-12T13:22:19Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5279794924](https://github.com/dotnet/fsharp/pull/20249#issuecomment-5279794924) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-13T11:26:56Z / 2026-08-13T11:26:56Z | - | - | Author reports the PR is ready.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABMdnDBM8AAAAG1O0OHQ` | auduchinok/User | 2026-08-12T13:22:34Z | [`67422acaf5`](https://github.com/dotnet/fsharp/commit/67422acaf5ae4fef4e7f3f8211b032ab47b269b3) / [`c6e8644035`](https://github.com/dotnet/fsharp/commit/c6e86440357bf2b2de3d4de88fe2ba2e4a7d5845)

**Channel capture UTC:** reviews `2026-09-22T09:44:08Z`, issue-comments `2026-09-22T09:44:09Z`, inline-comments `2026-09-22T09:44:09Z`, threads `2026-09-22T09:44:12Z`, timeline `2026-09-22T09:44:10Z`.

### PR-20250 source record

[PR-20250](https://github.com/dotnet/fsharp/pull/20250) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `d3fab443a1cde90f68d9a272e7e776959936a84c`; head `c3fff8125fc91d97c6cd0d84fed539bd5cd3147f`; merge base `d3fab443a1cde90f68d9a272e7e776959936a84c`. Full diff SHA-256 `52ba06cf2524b0c22e5fbd9ec5ddf215db7b329205f52d7a9e3d0c612db52dd6`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO87-IoDt` (REST pull ID `4263674093`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-12T15:30:43Z`, updated `2026-08-13T14:14:04Z`; body lastEditedAt `2026-08-12T20:59:49Z`. Captured `2026-09-22T09:36:37Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `e571c2a44ca19adffced439642ada9214ebddabd4b58148e74c5afc5485fd006`.

Author identifies a metadata view captured by the interface-implementation lazy, defeating WeakByteFile for stable non-framework references. Reports retained-memory changes ranging from negligible framework-only projects to 33.1% on FSharp.Common, alongside reference counts and weak-versus-strong bytes.

**Diff and surrounding context:** Final 4-path/122-line diff moves mdfile.GetView inside the interface-implementation lazy and removes its mdv argument/call-site capture. Adds an object-graph retention test over stable-package metadata with unforced lazy members and service project wiring. Reads WeakByteFile, BinaryFile ownership and filesystem-shim contract; ilread.fsi snapshot preserved unchanged.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/c3fff8125fc91d97c6cd0d84fed539bd5cd3147f/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/AbstractIL/ilread.fs`](https://github.com/dotnet/fsharp/blob/c3fff8125fc91d97c6cd0d84fed539bd5cd3147f/src/Compiler/AbstractIL/ilread.fs), [`src/Compiler/AbstractIL/ilread.fsi`](https://github.com/dotnet/fsharp/blob/c3fff8125fc91d97c6cd0d84fed539bd5cd3147f/src/Compiler/AbstractIL/ilread.fsi), [`tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj`](https://github.com/dotnet/fsharp/blob/c3fff8125fc91d97c6cd0d84fed539bd5cd3147f/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj), [`tests/FSharp.Compiler.Service.Tests/ILBinaryReaderMemoryTests.fs`](https://github.com/dotnet/fsharp/blob/c3fff8125fc91d97c6cd0d84fed539bd5cd3147f/tests/FSharp.Compiler.Service.Tests/ILBinaryReaderMemoryTests.fs).

**Additional pinned context regions:** [`src/Compiler/AbstractIL/ilread.fs:186-241`](https://github.com/dotnet/fsharp/blob/c3fff8125fc91d97c6cd0d84fed539bd5cd3147f/src/Compiler/AbstractIL/ilread.fs#L186-L241), [`src/Compiler/AbstractIL/ilread.fs:221-276`](https://github.com/dotnet/fsharp/blob/c3fff8125fc91d97c6cd0d84fed539bd5cd3147f/src/Compiler/AbstractIL/ilread.fs#L221-L276), [`src/Compiler/Utilities/FileSystem.fs:501-527`](https://github.com/dotnet/fsharp/blob/c3fff8125fc91d97c6cd0d84fed539bd5cd3147f/src/Compiler/Utilities/FileSystem.fs#L501-L527).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4927716177](https://github.com/dotnet/fsharp/pull/20250#pullrequestreview-4927716177) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-13T13:42:37Z / 2026-08-13T13:42:37Z | [`c3fff8125f`](https://github.com/dotnet/fsharp/commit/c3fff8125fc91d97c6cd0d84fed539bd5cd3147f) | APPROVED; submitted 2026-08-13T13:42:37Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5268919999](https://github.com/dotnet/fsharp/pull/20250#issuecomment-5268919999) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-12T15:31:02Z / 2026-08-13T10:33:24Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABMey7Kc8AAAAG2Adb9Q` | auduchinok/User | 2026-08-13T10:33:13Z | [`15a45f3d7f`](https://github.com/dotnet/fsharp/commit/15a45f3d7feccc782decb482701a5d33ff61d351) / [`c3fff8125f`](https://github.com/dotnet/fsharp/commit/c3fff8125fc91d97c6cd0d84fed539bd5cd3147f)

**Channel capture UTC:** reviews `2026-09-22T09:44:14Z`, issue-comments `2026-09-22T09:44:14Z`, inline-comments `2026-09-22T09:44:15Z`, threads `2026-09-22T09:44:18Z`, timeline `2026-09-22T09:44:16Z`.

### PR-20254 source record

[PR-20254](https://github.com/dotnet/fsharp/pull/20254) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `e09605cdcf4e98fc1380a052b11694dcd8d747a7`; head `43f10ea5d3ba5b634703eebb491688b36592fd2e`; merge base `e09605cdcf4e98fc1380a052b11694dcd8d747a7`. Full diff SHA-256 `c00cb5713bc23e710b56da120c48a680dddd23062126bd2b7783256f5aac4a89`.

**Other recovered review/original revisions:** [`ed354f27f6`](https://github.com/dotnet/fsharp/commit/ed354f27f68535badd9a3f9019b9942493b0f30e).

**Description:** ID `PR_kwDOAbtAO87-ifiX` (REST pull ID `4270454935`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-13T10:55:57Z`, updated `2026-08-19T09:45:04Z`; body lastEditedAt `null`. Captured `2026-09-22T09:36:37Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `c6cbf768c51f943931517f20d92c096b7bfa3c032ce03ddc5c80dd75860803aa`.

Adds ILCallingConv.Create backed by all 18 convention combinations. Author's heap snapshot reports 60,239 live convention objects becoming 18, with project retained-memory changes of 0.08–0.55%.

**Diff and surrounding context:** Final 11-path/294-line diff builds 18 calling-convention singletons, exposes Create/member access and privatizes the union in il.fsi. Migrates reader, parser, printer, reflector, writer and pickle construction/matches; service surface baseline reflects removed union access and added factory/properties. Cancellation-test constructor adapted; no identity assertion added. Reads calling-convention and pickle-tag contexts. Final stride remains literal 6; release-note placement/link changes retained.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/AbstractIL/il.fs`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/il.fs), [`src/Compiler/AbstractIL/il.fsi`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/il.fsi), [`src/Compiler/AbstractIL/ilpars.fsy`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/ilpars.fsy), [`src/Compiler/AbstractIL/ilprint.fs`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/ilprint.fs), [`src/Compiler/AbstractIL/ilprint.fsi`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/ilprint.fsi), [`src/Compiler/AbstractIL/ilread.fs`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/ilread.fs), [`src/Compiler/AbstractIL/ilread.fsi`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/ilread.fsi), [`src/Compiler/AbstractIL/ilreflect.fs`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/ilreflect.fs), [`src/Compiler/AbstractIL/ilreflect.fsi`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/ilreflect.fsi), [`src/Compiler/AbstractIL/ilwrite.fs`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/ilwrite.fs), [`src/Compiler/AbstractIL/ilwrite.fsi`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/ilwrite.fsi), [`src/Compiler/TypedTree/TypedTreePickle.fs`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/TypedTree/TypedTreePickle.fs), [`src/Compiler/TypedTree/TypedTreePickle.fsi`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/TypedTree/TypedTreePickle.fsi), [`tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl), [`tests/FSharp.Compiler.Service.Tests/ModuleReaderCancellationTests.fs`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/tests/FSharp.Compiler.Service.Tests/ModuleReaderCancellationTests.fs).

**Additional pinned context regions:** [`src/Compiler/AbstractIL/il.fs:659-691`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/AbstractIL/il.fs#L659-L691), [`src/Compiler/TypedTree/TypedTreePickle.fs:1277-1299`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/TypedTree/TypedTreePickle.fs#L1277-L1299), [`src/Compiler/TypedTree/TypedTreePickle.fs:1300-1322`](https://github.com/dotnet/fsharp/blob/43f10ea5d3ba5b634703eebb491688b36592fd2e/src/Compiler/TypedTree/TypedTreePickle.fs#L1300-L1322).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4949735328](https://github.com/dotnet/fsharp/pull/20254#pullrequestreview-4949735328) | T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User | 2026-08-17T08:27:22Z / 2026-08-17T08:27:22Z | [`ed354f27f6`](https://github.com/dotnet/fsharp/commit/ed354f27f68535badd9a3f9019b9942493b0f30e) | COMMENTED; submitted 2026-08-17T08:27:22Z | Review praises measured convention sharing, says equality/pickle/call-site migration preserve semantics, notes malformed release link and literal table stride versus comment, and optionally suggests ReferenceEquals coverage; none stated blocking.
[reviews:4970749089](https://github.com/dotnet/fsharp/pull/20254#pullrequestreview-4970749089) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-19T09:44:51Z / 2026-08-19T09:44:51Z | [`43f10ea5d3`](https://github.com/dotnet/fsharp/commit/43f10ea5d3ba5b634703eebb491688b36592fd2e) | APPROVED; submitted 2026-08-19T09:44:51Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5279497259](https://github.com/dotnet/fsharp/pull/20254#issuecomment-5279497259) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-13T10:56:13Z / 2026-08-13T10:57:00Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5282681435](https://github.com/dotnet/fsharp/pull/20254#issuecomment-5282681435) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-08-13T15:43:23Z / 2026-08-13T15:43:23Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Compiler-Output Affects-Compiler-Output: modifies ilwrite.fs/ilreflect.fs IL emission paths
[issue-comments:5328937339](https://github.com/dotnet/fsharp/pull/20254#issuecomment-5328937339) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-18T13:35:04Z / 2026-08-18T13:35:04Z | - | - | Author reports the PR is ready.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABMmeQdc8AAAAG2B3zKw` | auduchinok/User | 2026-08-13T11:04:58Z | [`1c1b4ab2ea`](https://github.com/dotnet/fsharp/commit/1c1b4ab2eaf361191b47e4600f6117d919b11316) / [`cd07753658`](https://github.com/dotnet/fsharp/commit/cd07753658d053ca966f5c1507d43e10998c8d97)
`HRFPE_lADOAbtAO88AAAABMmeQdc8AAAAG2C1vuw` | auduchinok/User | 2026-08-13T11:28:10Z | [`3bf38083f5`](https://github.com/dotnet/fsharp/commit/3bf38083f5a6d613c72279d216748814d2ec0bdd) / [`eeff5f0a17`](https://github.com/dotnet/fsharp/commit/eeff5f0a173c2735aecdec886032bf16dcd90861)

**Channel capture UTC:** reviews `2026-09-22T09:44:14Z`, issue-comments `2026-09-22T09:44:15Z`, inline-comments `2026-09-22T09:44:15Z`, threads `2026-09-22T09:44:18Z`, timeline `2026-09-22T09:44:16Z`.

### PR-20255 source record

[PR-20255](https://github.com/dotnet/fsharp/pull/20255) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `8e00165b017d13beb3984a1c25b04abf62ed1e13`; head `f484085891f6ec555aed5aa9224c374e041e26de`; merge base `8e00165b017d13beb3984a1c25b04abf62ed1e13`. Full diff SHA-256 `88e6e9e7997dfd3fdc9a5a54a9f8716ef6fae80b36022adb2400a73fc8795a0f`.

**Other recovered review/original revisions:** [`14b5b11a13`](https://github.com/dotnet/fsharp/commit/14b5b11a13180a56a62d7e47b68a425b0f04d839).

**Description:** ID `PR_kwDOAbtAO87-iocz` (REST pull ID `4270491443`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-13T11:01:04Z`, updated `2026-08-27T09:07:35Z`; body lastEditedAt `null`. Captured `2026-09-22T09:36:38Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `fade612de0fb5aa7ff041e0f44a7f5c4d2a03c3ced254dcd506a2b26807ce634`.

Reuses Entity.CompiledRepresentationForNamedType instead of rebuilding the same ILTypeRef per ILTypeInfo, in tuple and ordinary IL-application branches. Author reports 150,928 to 53,262 ILTypeRef objects and 5.07 MB less retention on FSharp.Common.

**Diff and surrounding context:** Final 2-path/42-line diff obtains cached named ILTypeRef in the tuple and isILAppTy branches, keeps the ILTypeDef and adds a release note/newline. Reads cached Entity.CompiledRepresentation, its TILObjectRepr branch, FromType/CreateILMeth and infos.fsi. No added test or signature edit.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/f484085891f6ec555aed5aa9224c374e041e26de/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Checking/infos.fs`](https://github.com/dotnet/fsharp/blob/f484085891f6ec555aed5aa9224c374e041e26de/src/Compiler/Checking/infos.fs), [`src/Compiler/Checking/infos.fsi`](https://github.com/dotnet/fsharp/blob/f484085891f6ec555aed5aa9224c374e041e26de/src/Compiler/Checking/infos.fsi).

**Additional pinned context regions:** [`src/Compiler/TypedTree/TypedTree.fs:1325-1395`](https://github.com/dotnet/fsharp/blob/f484085891f6ec555aed5aa9224c374e041e26de/src/Compiler/TypedTree/TypedTree.fs#L1325-L1395), [`src/Compiler/Checking/infos.fs:420-442`](https://github.com/dotnet/fsharp/blob/f484085891f6ec555aed5aa9224c374e041e26de/src/Compiler/Checking/infos.fs#L420-L442), [`src/Compiler/Checking/infos.fs:1148-1170`](https://github.com/dotnet/fsharp/blob/f484085891f6ec555aed5aa9224c374e041e26de/src/Compiler/Checking/infos.fs#L1148-L1170), [`src/Compiler/Checking/infos.fsi:153-183`](https://github.com/dotnet/fsharp/blob/f484085891f6ec555aed5aa9224c374e041e26de/src/Compiler/Checking/infos.fsi#L153-L183), [`src/Compiler/Checking/infos.fsi:156-186`](https://github.com/dotnet/fsharp/blob/f484085891f6ec555aed5aa9224c374e041e26de/src/Compiler/Checking/infos.fsi#L156-L186).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4929048943](https://github.com/dotnet/fsharp/pull/20255#pullrequestreview-4929048943) | T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User | 2026-08-13T16:00:21Z / 2026-08-19T10:39:28Z | [`14b5b11a13`](https://github.com/dotnet/fsharp/commit/14b5b11a13180a56a62d7e47b68a425b0f04d839) | APPROVED; submitted 2026-08-13T16:00:21Z | Approval traces cached-reference equivalence through ILTyconInfo/TILObjectRepr, discusses exception precedence, reports local two-target build and suggests release-note category as nonblocking.
[reviews:5007960235](https://github.com/dotnet/fsharp/pull/20255#pullrequestreview-5007960235) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:50:44Z / 2026-08-24T12:50:44Z | [`f484085891`](https://github.com/dotnet/fsharp/commit/f484085891f6ec555aed5aa9224c374e041e26de) | APPROVED; submitted 2026-08-24T12:50:44Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:5039072764](https://github.com/dotnet/fsharp/pull/20255#pullrequestreview-5039072764) | abonie; MEMBER; reviewer; text origin uncertain; User | 2026-08-27T09:06:17Z / 2026-08-27T09:06:17Z | [`f484085891`](https://github.com/dotnet/fsharp/commit/f484085891f6ec555aed5aa9224c374e041e26de) | APPROVED; submitted 2026-08-27T09:06:17Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5279546423](https://github.com/dotnet/fsharp/pull/20255#issuecomment-5279546423) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-13T11:01:21Z / 2026-08-13T11:02:11Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABMmg3Ss8AAAAG6NehvQ` | auduchinok/User | 2026-08-19T10:39:29Z | [`3953d3dc9f`](https://github.com/dotnet/fsharp/commit/3953d3dc9f6b1151becb067c872677ae630e7c38) / [`14b5b11a13`](https://github.com/dotnet/fsharp/commit/14b5b11a13180a56a62d7e47b68a425b0f04d839)

**Channel capture UTC:** reviews `2026-09-22T09:44:14Z`, issue-comments `2026-09-22T09:44:15Z`, inline-comments `2026-09-22T09:44:15Z`, threads `2026-09-22T09:44:18Z`, timeline `2026-09-22T09:44:17Z`.

### PR-20256 source record

[PR-20256](https://github.com/dotnet/fsharp/pull/20256) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `d3fab443a1cde90f68d9a272e7e776959936a84c`; head `6d8b89f8015521f3ce288df0ac178e6e249ecd90`; merge base `d3fab443a1cde90f68d9a272e7e776959936a84c`. Full diff SHA-256 `69f655f59bc373cb5301b7375d91c9477f092b40291443743dc7ef9a0737e26c`.

**Other recovered review/original revisions:** [`dea1091329`](https://github.com/dotnet/fsharp/commit/dea1091329e6571037b83bab78493c95cea36f29).

**Description:** ID `PR_kwDOAbtAO87-kiyA` (REST pull ID `4270992512`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-13T12:10:07Z`, updated `2026-08-19T10:06:58Z`; body lastEditedAt `2026-08-13T12:11:06Z`. Captured `2026-09-22T09:37:54Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `be0175a21748c832898e6f8fb586d4c4b62ed8febbb00245baa3d33911b0ae17`.

Caches imported C#-style extension method shapes per CCU rather than rebuilding method information and type parameters on every open. Description reports 98,986 MethInfos for 6,782 methods, and retained-memory reductions of 31.80 MB on FSharp.Common and 40.23 MB on FCS.

**Diff and surrounding context:** Final 7-path/197-line diff separates unprioritized extension-shape computation from per-open priority; caches imported-class results by stamp on CCU, leaves local classes uncached, skips caching observed import failure, and stores shapes as obj due declaration ordering. All four CcuData creation routes and TypedTree.fsi updated. Reads AddStaticPartsOfTyconRefToNameEnv fold and extension fixtures; no test edit. Release note included.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Checking/NameResolution.fs`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/src/Compiler/Checking/NameResolution.fs), [`src/Compiler/Checking/NameResolution.fsi`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/src/Compiler/Checking/NameResolution.fsi), [`src/Compiler/Checking/import.fs`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/src/Compiler/Checking/import.fs), [`src/Compiler/Checking/import.fsi`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/src/Compiler/Checking/import.fsi), [`src/Compiler/Driver/CompilerImports.fs`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/src/Compiler/Driver/CompilerImports.fs), [`src/Compiler/Driver/CompilerImports.fsi`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/src/Compiler/Driver/CompilerImports.fsi), [`src/Compiler/Driver/ParseAndCheckInputs.fs`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/src/Compiler/Driver/ParseAndCheckInputs.fs), [`src/Compiler/Driver/ParseAndCheckInputs.fsi`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/src/Compiler/Driver/ParseAndCheckInputs.fsi), [`src/Compiler/TypedTree/TypedTree.fs`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/src/Compiler/TypedTree/TypedTree.fs), [`src/Compiler/TypedTree/TypedTree.fsi`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/src/Compiler/TypedTree/TypedTree.fsi).

**Additional pinned context regions:** [`src/Compiler/Checking/NameResolution.fs:1346-1376`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/src/Compiler/Checking/NameResolution.fs#L1346-L1376), [`tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs:10-55`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs#L10-L55), [`tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs:27-72`](https://github.com/dotnet/fsharp/blob/6d8b89f8015521f3ce288df0ac178e6e249ecd90/tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs#L27-L72).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4929140331](https://github.com/dotnet/fsharp/pull/20256#pullrequestreview-4929140331) | T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User | 2026-08-13T16:09:43Z / 2026-08-13T16:09:43Z | [`dea1091329`](https://github.com/dotnet/fsharp/commit/dea1091329e6571037b83bab78493c95cea36f29) | APPROVED; submitted 2026-08-13T16:09:43Z | Approval reports Debug build and 28 extension tests, discusses imported/local cache split, CCU lifetime, immutable/shared method infos, per-open priority and failure noncaching; optional dictionary/empty-priority/type-erasure observations.
[reviews:4970942781](https://github.com/dotnet/fsharp/pull/20256#pullrequestreview-4970942781) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-19T10:06:48Z / 2026-08-19T10:06:48Z | [`6d8b89f801`](https://github.com/dotnet/fsharp/commit/6d8b89f8015521f3ce288df0ac178e6e249ecd90) | APPROVED; submitted 2026-08-19T10:06:48Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5280207626](https://github.com/dotnet/fsharp/pull/20256#issuecomment-5280207626) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-13T12:10:18Z / 2026-08-13T16:25:59Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.

**Channel capture UTC:** reviews `2026-09-22T09:44:20Z`, issue-comments `2026-09-22T09:44:20Z`, inline-comments `2026-09-22T09:44:21Z`, threads `2026-09-22T09:44:23Z`, timeline `2026-09-22T09:44:22Z`.

### PR-20259 source record

[PR-20259](https://github.com/dotnet/fsharp/pull/20259) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `8e00165b017d13beb3984a1c25b04abf62ed1e13`; head `c8239e1737f8a5ff9bacb49cbe538289e888261b`; merge base `8e00165b017d13beb3984a1c25b04abf62ed1e13`. Full diff SHA-256 `26b87fba95aaa655d7722a700a311ef07aac76946284f03bf18c0341aac8ad69`.

**Other recovered review/original revisions:** [`6bf03ba46e`](https://github.com/dotnet/fsharp/commit/6bf03ba46e204ecb8dd0c23683037b18f231dfca).

**Description:** ID `PR_kwDOAbtAO87-pU8E` (REST pull ID `4272246532`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-13T14:54:58Z`, updated `2026-08-24T14:46:42Z`; body lastEditedAt `null`. Captured `2026-09-22T09:37:54Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `55325dfc21bdc36bd3ad8265b3c925ecaf210b092aacfa996d1a7a1d500d8479`.

Caches TypeDef-row-to-ILTypeRef results per metadata reader, including nested enclosing chains, rather than rereading immutable metadata. Author attributes 30% of type-name reads to the old path and reports 2.08 MB and 1.88 MB retention reductions on FSharp.Common and FCS.

**Diff and surrounding context:** Final 2-path/53-line diff adds reader-held seekReadTypeDefAsTypeRef and uncached worker, wraps it in an always-enabled zero-capacity initial cache and retains recursive cached enclosing-type lookup. Reads full nested-row worker and mkCacheGeneric, including reduce-memory bypass distinction. Release note; no added tests/signature edits.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/c8239e1737f8a5ff9bacb49cbe538289e888261b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/AbstractIL/ilread.fs`](https://github.com/dotnet/fsharp/blob/c8239e1737f8a5ff9bacb49cbe538289e888261b/src/Compiler/AbstractIL/ilread.fs), [`src/Compiler/AbstractIL/ilread.fsi`](https://github.com/dotnet/fsharp/blob/c8239e1737f8a5ff9bacb49cbe538289e888261b/src/Compiler/AbstractIL/ilread.fsi).

**Additional pinned context regions:** [`src/Compiler/AbstractIL/ilread.fs:2366-2408`](https://github.com/dotnet/fsharp/blob/c8239e1737f8a5ff9bacb49cbe538289e888261b/src/Compiler/AbstractIL/ilread.fs#L2366-L2408), [`src/Compiler/AbstractIL/ilread.fs:928-973`](https://github.com/dotnet/fsharp/blob/c8239e1737f8a5ff9bacb49cbe538289e888261b/src/Compiler/AbstractIL/ilread.fs#L928-L973).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4937461115](https://github.com/dotnet/fsharp/pull/20259#pullrequestreview-4937461115) | T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User | 2026-08-14T13:16:24Z / 2026-08-14T13:16:24Z | [`6bf03ba46e`](https://github.com/dotnet/fsharp/commit/6bf03ba46e204ecb8dd0c23683037b18f231dfca) | APPROVED; submitted 2026-08-14T13:16:24Z | Approval says immutable row/enclosing-chain key is memoizable and always-on cache matches retained-memory goal; reports clean build and optional initial-capacity hint.
[reviews:5007942346](https://github.com/dotnet/fsharp/pull/20259#pullrequestreview-5007942346) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:48:37Z / 2026-08-24T12:48:37Z | [`c8239e1737`](https://github.com/dotnet/fsharp/commit/c8239e1737f8a5ff9bacb49cbe538289e888261b) | APPROVED; submitted 2026-08-24T12:48:37Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5282065871](https://github.com/dotnet/fsharp/pull/20259#issuecomment-5282065871) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-13T14:55:11Z / 2026-08-19T12:08:10Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABMody6s8AAAAG6RVfBQ` | auduchinok/User | 2026-08-19T12:08:00Z | [`6bf03ba46e`](https://github.com/dotnet/fsharp/commit/6bf03ba46e204ecb8dd0c23683037b18f231dfca) / [`87e0434e3b`](https://github.com/dotnet/fsharp/commit/87e0434e3b11e47e2d63b30a6cb16b7df36e0ad9)

**Channel capture UTC:** reviews `2026-09-22T09:44:20Z`, issue-comments `2026-09-22T09:44:21Z`, inline-comments `2026-09-22T09:44:21Z`, threads `2026-09-22T09:44:23Z`, timeline `2026-09-22T09:44:22Z`.

### PR-20261 source record

[PR-20261](https://github.com/dotnet/fsharp/pull/20261) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `4824d92223908a73c008a7e5b015377394f1ce5f`; head `9d8662d93106e401d67e480e5fb0d812b04cb57c`; merge base `4824d92223908a73c008a7e5b015377394f1ce5f`. Full diff SHA-256 `44c3ebd7b91b319574430e1d469ebc45bd84a0e4efd3302faefd647a489d5178`.

**Other recovered review/original revisions:** [`1def7e689f`](https://github.com/dotnet/fsharp/commit/1def7e689f9a7ee2b16c879cceb178b69ea17d80); [`5b1a724e08`](https://github.com/dotnet/fsharp/commit/5b1a724e089cee38e71ca61f2a8a5093a1b1014d); [`baf8d89e9c`](https://github.com/dotnet/fsharp/commit/baf8d89e9cdc412a73b04d34b0981eaafd340020); [`d3fdcde52a`](https://github.com/dotnet/fsharp/commit/d3fdcde52aeaf153a0cc28c99bb1bfbaac772691).

**Description:** ID `PR_kwDOAbtAO87_Dw8i` (REST pull ID `4279176994`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-14T10:57:17Z`, updated `2026-09-17T10:48:14Z`; body lastEditedAt `null`. Captured `2026-09-22T09:37:54Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `c72a761e6fbebeb3c87112011553475d8ee703471bd22a26d81640db6f6a0739`.

Changes the string-heap cache to grow from zero and removes the computed type-name intern table, whose fixed buckets cost more than duplicate strings saved. Reports 1.5–10.1 MB retention reductions, noise-level time changes and approximately 0.24 MB of remaining duplicates; Tables.memoize remains for ilmorph.

**Diff and surrounding context:** Final 2-path/62-line diff removes memoizeString state/initialization, concatenates names directly and changes cacheStringHeap initial capacity from stream-derived to zero. Reads ILTypeRef value comparison, Tables.memoize's fixed 1000 capacity and surviving ilmorph caller. Release note; no added tests/signature edits. Multiple superseded review/force-push SHAs are retained despite final REST commit count one.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/9d8662d93106e401d67e480e5fb0d812b04cb57c/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/AbstractIL/ilread.fs`](https://github.com/dotnet/fsharp/blob/9d8662d93106e401d67e480e5fb0d812b04cb57c/src/Compiler/AbstractIL/ilread.fs), [`src/Compiler/AbstractIL/ilread.fsi`](https://github.com/dotnet/fsharp/blob/9d8662d93106e401d67e480e5fb0d812b04cb57c/src/Compiler/AbstractIL/ilread.fsi).

**Additional pinned context regions:** [`src/Compiler/Utilities/illib.fs:1194-1214`](https://github.com/dotnet/fsharp/blob/9d8662d93106e401d67e480e5fb0d812b04cb57c/src/Compiler/Utilities/illib.fs#L1194-L1214), [`src/Compiler/AbstractIL/ilmorph.fs:434-444`](https://github.com/dotnet/fsharp/blob/9d8662d93106e401d67e480e5fb0d812b04cb57c/src/Compiler/AbstractIL/ilmorph.fs#L434-L444), [`src/Compiler/AbstractIL/il.fs:474-493`](https://github.com/dotnet/fsharp/blob/9d8662d93106e401d67e480e5fb0d812b04cb57c/src/Compiler/AbstractIL/il.fs#L474-L493), [`src/Compiler/AbstractIL/il.fs:795-814`](https://github.com/dotnet/fsharp/blob/9d8662d93106e401d67e480e5fb0d812b04cb57c/src/Compiler/AbstractIL/il.fs#L795-L814).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4949741702](https://github.com/dotnet/fsharp/pull/20261#pullrequestreview-4949741702) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-17T08:28:19Z / 2026-08-17T08:28:19Z | [`d3fdcde52a`](https://github.com/dotnet/fsharp/commit/d3fdcde52aeaf153a0cc28c99bb1bfbaac772691) | COMMENTED; submitted 2026-08-17T08:28:19Z | Review says removing computed-name interning preserves value equality and cached/one-shot callers, validates zero initial capacity and retained-memory tradeoff, and asks only for release-note link. Sprint-10 envelope audit found no explicit automation disclosure for this review; the earlier model-associated classification is unsupported, not inferred from prose style. Separate tooling bots below do not establish this review's composition.
[reviews:4970705961](https://github.com/dotnet/fsharp/pull/20261#pullrequestreview-4970705961) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-19T09:39:18Z / 2026-08-19T09:39:18Z | [`1def7e689f`](https://github.com/dotnet/fsharp/commit/1def7e689f9a7ee2b16c879cceb178b69ea17d80) | APPROVED; submitted 2026-08-19T09:39:18Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:4984197106](https://github.com/dotnet/fsharp/pull/20261#pullrequestreview-4984197106) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-20T15:02:37Z / 2026-08-20T17:09:55Z | [`baf8d89e9c`](https://github.com/dotnet/fsharp/commit/baf8d89e9cdc412a73b04d34b0981eaafd340020) | APPROVED; submitted 2026-08-20T15:02:37Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:5007931749](https://github.com/dotnet/fsharp/pull/20261#pullrequestreview-5007931749) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:47:22Z / 2026-08-24T12:47:22Z | [`5b1a724e08`](https://github.com/dotnet/fsharp/commit/5b1a724e089cee38e71ca61f2a8a5093a1b1014d) | APPROVED; submitted 2026-08-24T12:47:22Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:5039075066](https://github.com/dotnet/fsharp/pull/20261#pullrequestreview-5039075066) | abonie; MEMBER; reviewer; text origin uncertain; User | 2026-08-27T09:06:33Z / 2026-08-27T09:06:33Z | [`5b1a724e08`](https://github.com/dotnet/fsharp/commit/5b1a724e089cee38e71ca61f2a8a5093a1b1014d) | APPROVED; submitted 2026-08-27T09:06:33Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:5222306153](https://github.com/dotnet/fsharp/pull/20261#pullrequestreview-5222306153) | abonie; MEMBER; reviewer; text origin uncertain; User | 2026-09-16T11:57:08Z / 2026-09-16T11:57:08Z | [`9d8662d931`](https://github.com/dotnet/fsharp/commit/9d8662d93106e401d67e480e5fb0d812b04cb57c) | APPROVED; submitted 2026-09-16T11:57:08Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5292520729](https://github.com/dotnet/fsharp/pull/20261#issuecomment-5292520729) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-14T10:57:31Z / 2026-09-10T07:55:04Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5491563207](https://github.com/dotnet/fsharp/pull/20261#issuecomment-5491563207) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-09-01T09:01:08Z / 2026-09-01T09:01:08Z | - | - | Account requests Copilot resolve merge conflicts; no implementation/review outcome asserted.
[issue-comments:5616591196](https://github.com/dotnet/fsharp/pull/20261#issuecomment-5616591196) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-09-10T09:47:53Z / 2026-09-10T09:47:53Z | - | - | Author reports the PR is ready.
[issue-comments:5670499938](https://github.com/dotnet/fsharp/pull/20261#issuecomment-5670499938) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-09-14T20:40:03Z / 2026-09-16T21:35:34Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Bootstrap, Affects-Compiler-Output Affects-Bootstrap: Changes compiler metadata reading during self-build. Affects-Compiler-Output: Changes metadata interpretation used during compilation.
[issue-comments:5704883343](https://github.com/dotnet/fsharp/pull/20261#issuecomment-5704883343) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-09-16T21:35:35Z / 2026-09-16T21:35:35Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Bootstrap, Affects-Compiler-Output Affects-Bootstrap: Compiler metadata reader participates in self-hosted compiler builds. Affects-Compiler-Output: Metadata interpretation can change emitted binaries.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABMwTPCc8AAAAG6RZTSg` | auduchinok/User | 2026-08-19T12:09:19Z | [`1def7e689f`](https://github.com/dotnet/fsharp/commit/1def7e689f9a7ee2b16c879cceb178b69ea17d80) / [`b9d338560a`](https://github.com/dotnet/fsharp/commit/b9d338560a7d77cfce452f19f53ef606f42d0c3a)
`HRFPE_lADOAbtAO88AAAABMwTPCc8AAAAG7bWf0Q` | auduchinok/User | 2026-08-20T17:09:56Z | [`b9d338560a`](https://github.com/dotnet/fsharp/commit/b9d338560a7d77cfce452f19f53ef606f42d0c3a) / [`baf8d89e9c`](https://github.com/dotnet/fsharp/commit/baf8d89e9cdc412a73b04d34b0981eaafd340020)
`HRFPE_lADOAbtAO88AAAABMwTPCc8AAAAHMOtW_w` | auduchinok/User | 2026-09-10T07:54:53Z | [`5b1a724e08`](https://github.com/dotnet/fsharp/commit/5b1a724e089cee38e71ca61f2a8a5093a1b1014d) / [`9d8662d931`](https://github.com/dotnet/fsharp/commit/9d8662d93106e401d67e480e5fb0d812b04cb57c)

**Channel capture UTC:** reviews `2026-09-22T09:44:21Z`, issue-comments `2026-09-22T09:44:22Z`, inline-comments `2026-09-22T09:44:22Z`, threads `2026-09-22T09:44:25Z`, timeline `2026-09-22T09:44:23Z`.

### PR-20285 source record

[PR-20285](https://github.com/dotnet/fsharp/pull/20285) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `8e00165b017d13beb3984a1c25b04abf62ed1e13`; head `2b7b6ab7f6caccb9da3bf27152c939eddd68c046`; merge base `8e00165b017d13beb3984a1c25b04abf62ed1e13`. Full diff SHA-256 `05304e67f8e2e079d6494d095bb8e37677c4a8abad3645685b2ff228a6567f69`.

**Other recovered review/original revisions:** [`14d2e9f64c`](https://github.com/dotnet/fsharp/commit/14d2e9f64c361966bab05a4d21b493616ac4d71e); [`238a6720a3`](https://github.com/dotnet/fsharp/commit/238a6720a3b79804f7be5f124eb26617c2d0f608); [`8af1cc04e2`](https://github.com/dotnet/fsharp/commit/8af1cc04e2bbe4e3832ed422b71d6e3716e62e72); [`ba4843bcdc`](https://github.com/dotnet/fsharp/commit/ba4843bcdc550b35af290fa6e06beb8df8e780d8).

**Description:** ID `PR_kwDOAbtAO88AAAABAJVlDw` (REST pull ID `4304758031`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-18T12:52:10Z`, updated `2026-08-26T14:22:34Z`; body lastEditedAt `null`. Captured `2026-09-22T09:37:58Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `31277bd634677b0f19add8faa737dab4233b7924f50e880cf83e5bf60895c277`.

Describes replacing stored entity public paths with struct views over compilation path plus name and value-option accessors, while keeping the pickle format. The description discusses custom equality and EqualsFullPath from an earlier version. Reports 2.68 MB less retained memory on one FSharp.Common project and 20.69 MB on ReSharper solution.

**Diff and surrounding context:** Final 13-path/629-line diff removes entity_pubpath, derives struct PublicPath/voption, adapts constructors/linking, symbol/tooltip/provided-type/overload consumers and pickle path read/write. Final PublicPath is NoEquality; short-circuit pubPathEq is a function over access-path names, while fslibRefEq allocates FullPath. This differs from description/early reviewed CustomEquality/EqualsFullPath version; both original versions inspected. Internal .fsi updated; no test files changed.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Checking/NameResolution.fs`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/Checking/NameResolution.fs), [`src/Compiler/Checking/NameResolution.fsi`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/Checking/NameResolution.fsi), [`src/Compiler/Checking/OverloadResolutionRules.fs`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/Checking/OverloadResolutionRules.fs), [`src/Compiler/Checking/OverloadResolutionRules.fsi`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/Checking/OverloadResolutionRules.fsi), [`src/Compiler/Service/FSharpCheckerResults.fs`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/Service/FSharpCheckerResults.fs), [`src/Compiler/Service/FSharpCheckerResults.fsi`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/Service/FSharpCheckerResults.fsi), [`src/Compiler/Service/ServiceDeclarationLists.fs`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/Service/ServiceDeclarationLists.fs), [`src/Compiler/Service/ServiceDeclarationLists.fsi`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/Service/ServiceDeclarationLists.fsi), [`src/Compiler/Symbols/Exprs.fs`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/Symbols/Exprs.fs), [`src/Compiler/Symbols/Exprs.fsi`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/Symbols/Exprs.fsi), [`src/Compiler/TypedTree/TypedTree.fs`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTree.fs), [`src/Compiler/TypedTree/TypedTree.fsi`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTree.fsi), [`src/Compiler/TypedTree/TypedTreeBasics.fs`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreeBasics.fs), [`src/Compiler/TypedTree/TypedTreeBasics.fsi`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreeBasics.fsi), [`src/Compiler/TypedTree/TypedTreeOps.Attributes.fs`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreeOps.Attributes.fs), [`src/Compiler/TypedTree/TypedTreeOps.Attributes.fsi`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreeOps.Attributes.fsi), [`src/Compiler/TypedTree/TypedTreeOps.ExprConstruction.fs`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreeOps.ExprConstruction.fs), [`src/Compiler/TypedTree/TypedTreeOps.ExprConstruction.fsi`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreeOps.ExprConstruction.fsi), [`src/Compiler/TypedTree/TypedTreeOps.FreeVars.fs`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreeOps.FreeVars.fs), [`src/Compiler/TypedTree/TypedTreeOps.FreeVars.fsi`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreeOps.FreeVars.fsi), [`src/Compiler/TypedTree/TypedTreePickle.fs`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreePickle.fs), [`src/Compiler/TypedTree/TypedTreePickle.fsi`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreePickle.fsi).

**Additional pinned context regions:** [`src/Compiler/TypedTree/TypedTreeBasics.fs:419-441`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreeBasics.fs#L419-L441), [`src/Compiler/TypedTree/TypedTreeBasics.fs:429-451`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreeBasics.fs#L429-L451), [`src/Compiler/TypedTree/TypedTreePickle.fs:2674-2696`](https://github.com/dotnet/fsharp/blob/2b7b6ab7f6caccb9da3bf27152c939eddd68c046/src/Compiler/TypedTree/TypedTreePickle.fs#L2674-L2696), [`src/Compiler/TypedTree/TypedTree.fs:575-625`](https://github.com/dotnet/fsharp/blob/8af1cc04e2bbe4e3832ed422b71d6e3716e62e72/src/Compiler/TypedTree/TypedTree.fs#L575-L625), [`src/Compiler/TypedTree/TypedTree.fs:600-650`](https://github.com/dotnet/fsharp/blob/8af1cc04e2bbe4e3832ed422b71d6e3716e62e72/src/Compiler/TypedTree/TypedTree.fs#L600-L650), [`src/Compiler/TypedTree/TypedTree.fs:600-650`](https://github.com/dotnet/fsharp/blob/8af1cc04e2bbe4e3832ed422b71d6e3716e62e72/src/Compiler/TypedTree/TypedTree.fs#L600-L650), [`src/Compiler/TypedTree/TypedTreeBasics.fs:409-459`](https://github.com/dotnet/fsharp/blob/238a6720a3b79804f7be5f124eb26617c2d0f608/src/Compiler/TypedTree/TypedTreeBasics.fs#L409-L459).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4970597791](https://github.com/dotnet/fsharp/pull/20285#pullrequestreview-4970597791) | T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User | 2026-08-19T09:26:33Z / 2026-08-20T11:40:24Z | [`8af1cc04e2`](https://github.com/dotnet/fsharp/commit/8af1cc04e2bbe4e3832ed422b71d6e3716e62e72) | COMMENTED; submitted 2026-08-19T09:26:33Z | Review traces stored/derived public-path constructor invariant, name-only equality and both pickle directions; reports clean build/self-host and optional boxing/transient-allocation notes. Refers to the earlier CustomEquality version.
[reviews:4982245725](https://github.com/dotnet/fsharp/pull/20285#pullrequestreview-4982245725) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-08-20T11:40:53Z / 2026-08-20T11:40:53Z | [`8af1cc04e2`](https://github.com/dotnet/fsharp/commit/8af1cc04e2bbe4e3832ed422b71d6e3716e62e72) | APPROVED; submitted 2026-08-20T11:40:53Z | Robot-marked approval lists invariant/equality/pickle/allocation/self-host dimensions; one optional robot-marked inline accompanies it.
[reviews:4982447776](https://github.com/dotnet/fsharp/pull/20285#pullrequestreview-4982447776) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-20T12:01:57Z / 2026-08-20T12:01:58Z | [`8af1cc04e2`](https://github.com/dotnet/fsharp/commit/8af1cc04e2bbe4e3832ed422b71d6e3716e62e72) | COMMENTED; submitted 2026-08-20T12:01:57Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:4982605940](https://github.com/dotnet/fsharp/pull/20285#pullrequestreview-4982605940) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-20T12:19:19Z / 2026-08-20T12:19:43Z | [`ba4843bcdc`](https://github.com/dotnet/fsharp/commit/ba4843bcdc550b35af290fa6e06beb8df8e780d8) | COMMENTED; submitted 2026-08-20T12:19:43Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:4992792471](https://github.com/dotnet/fsharp/pull/20285#pullrequestreview-4992792471) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-21T11:30:14Z / 2026-08-21T11:30:14Z | [`238a6720a3`](https://github.com/dotnet/fsharp/commit/238a6720a3b79804f7be5f124eb26617c2d0f608) | COMMENTED; submitted 2026-08-21T11:30:14Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:4992795062](https://github.com/dotnet/fsharp/pull/20285#pullrequestreview-4992795062) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-21T11:30:30Z / 2026-08-24T12:46:38Z | [`14d2e9f64c`](https://github.com/dotnet/fsharp/commit/14d2e9f64c361966bab05a4d21b493616ac4d71e) | APPROVED; submitted 2026-08-21T11:30:30Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:5031325201](https://github.com/dotnet/fsharp/pull/20285#pullrequestreview-5031325201) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-26T14:00:56Z / 2026-08-26T14:00:56Z | [`2b7b6ab7f6`](https://github.com/dotnet/fsharp/commit/2b7b6ab7f6caccb9da3bf27152c939eddd68c046) | APPROVED; submitted 2026-08-26T14:00:56Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5328421983](https://github.com/dotnet/fsharp/pull/20285#issuecomment-5328421983) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-18T12:52:21Z / 2026-08-18T13:18:25Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5369377834](https://github.com/dotnet/fsharp/pull/20285#issuecomment-5369377834) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-08-21T11:41:22Z / 2026-08-21T11:41:22Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Bootstrap, Affects-Compiler-Output Affects-Bootstrap: Modifies TypedTree core data structures used by bootstrap compiler Affects-Compiler-Output: Changes TypedTreePickle serialization (PublicPath encoding)
[inline-comments:3821181476](https://github.com/dotnet/fsharp/pull/20285#discussion_r3821181476) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-08-20T11:40:53Z / 2026-08-20T11:40:53Z | original [`8af1cc04e2`](https://github.com/dotnet/fsharp/commit/8af1cc04e2bbe4e3832ed422b71d6e3716e62e72); mapped [`ba4843bcdc`](https://github.com/dotnet/fsharp/commit/ba4843bcdc550b35af290fa6e06beb8df8e780d8) | src/Compiler/TypedTree/TypedTree.fs:595; thread `PRRT_kwDOAbtAO86aysCH`; resolved=True, outdated=True | Robot-marked inline suggests IEquatable&lt;PublicPath&gt; to avoid boxed struct comparisons; explicitly optional and cold-path.
[inline-comments:3821353600](https://github.com/dotnet/fsharp/pull/20285#discussion_r3821353600) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-20T12:01:58Z / 2026-08-20T12:01:58Z | original [`8af1cc04e2`](https://github.com/dotnet/fsharp/commit/8af1cc04e2bbe4e3832ed422b71d6e3716e62e72); mapped [`ba4843bcdc`](https://github.com/dotnet/fsharp/commit/ba4843bcdc550b35af290fa6e06beb8df8e780d8) | src/Compiler/TypedTree/TypedTree.fs:620; thread `PRRT_kwDOAbtAO86azIDw`; resolved=True, outdated=True | Reviewer asks to restore short-circuit path comparison and supplies recursive access-list example.
[inline-comments:3821474967](https://github.com/dotnet/fsharp/pull/20285#discussion_r3821474967) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-20T12:19:20Z / 2026-08-20T12:19:43Z | original [`8af1cc04e2`](https://github.com/dotnet/fsharp/commit/8af1cc04e2bbe4e3832ed422b71d6e3716e62e72); mapped [`ba4843bcdc`](https://github.com/dotnet/fsharp/commit/ba4843bcdc550b35af290fa6e06beb8df8e780d8) | src/Compiler/TypedTree/TypedTree.fs:620; thread `PRRT_kwDOAbtAO86azIDw`; resolved=True, outdated=True | Author says requested comparison change is done.
[inline-comments:3829823873](https://github.com/dotnet/fsharp/pull/20285#discussion_r3829823873) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-21T11:30:14Z / 2026-08-21T11:30:14Z | original [`238a6720a3`](https://github.com/dotnet/fsharp/commit/238a6720a3b79804f7be5f124eb26617c2d0f608); mapped [`2b7b6ab7f6`](https://github.com/dotnet/fsharp/commit/2b7b6ab7f6caccb9da3bf27152c939eddd68c046) | src/Compiler/TypedTree/TypedTreeBasics.fs:429; thread `PRRT_kwDOAbtAO86bIxfP`; resolved=True, outdated=False | Reviewer says FullPath still constructs list/array, but accepts the expense as affecting FSharp.Core compilation.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABNN7Pqs8AAAAG7Mpjqg` | auduchinok/User | 2026-08-20T12:19:11Z | [`74bca1095f`](https://github.com/dotnet/fsharp/commit/74bca1095f8ccc3977a0522c27e0f227f8eab485) / [`ba4843bcdc`](https://github.com/dotnet/fsharp/commit/ba4843bcdc550b35af290fa6e06beb8df8e780d8)

**Channel capture UTC:** reviews `2026-09-22T09:44:25Z`, issue-comments `2026-09-22T09:44:26Z`, inline-comments `2026-09-22T09:44:26Z`, threads `2026-09-22T09:44:29Z`, timeline `2026-09-22T09:44:28Z`.

### PR-20286 source record

[PR-20286](https://github.com/dotnet/fsharp/pull/20286) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `c01bfbd46e671721501c4d68db8f8576326cf815`; head `1ff81814e149d4af97ded2d9cac956f9d10320bf`; merge base `c01bfbd46e671721501c4d68db8f8576326cf815`. Full diff SHA-256 `cddf32e09687bc44db7adc404cdb83bdf85b6ded3d896cbb68ffc2c3c9eeb2e7`.

**Other recovered review/original revisions:** [`2079b014fa`](https://github.com/dotnet/fsharp/commit/2079b014fa70c9b56c37c4c0ce80527fba5e00f7).

**Description:** ID `PR_kwDOAbtAO88AAAABAJbJhw` (REST pull ID `4304849287`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-18T13:03:58Z`, updated `2026-08-20T10:17:33Z`; body lastEditedAt `null`. Captured `2026-09-22T09:37:58Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `1efd707d5550d896d1ed1a45c10593ea7173d40825fd394bec970fda39ff8702`.

Makes the ad-hoc member ResizeArray and compiled-representation cache lazy, retaining member-level interfaces. Reports 1.32 MB less retention on FSharp.Common, with heap counts indicating 95% unused ad-hoc lists and 89% unused cache cells; provides project and whole-solution measurements with noise qualifications.

**Diff and surrounding context:** Final 6-path/220-line diff adds nullable ad-hoc member storage with AddAdhocMember/AdhocMembers, adapts the publisher/pickler/remapper, and lazily creates entity compiled-representation cache cells at access. Nullable fields and helper declarations updated in .fsi. Unpickling still calls newCache, as the review notes. Reads NewILTycon and actual cached CompiledRepresentation consumer; no tests changed.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Checking/Expressions/CheckExpressions.fs`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/src/Compiler/Checking/Expressions/CheckExpressions.fs), [`src/Compiler/Checking/Expressions/CheckExpressions.fsi`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/src/Compiler/Checking/Expressions/CheckExpressions.fsi), [`src/Compiler/TypedTree/TypedTree.fs`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/src/Compiler/TypedTree/TypedTree.fs), [`src/Compiler/TypedTree/TypedTree.fsi`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/src/Compiler/TypedTree/TypedTree.fsi), [`src/Compiler/TypedTree/TypedTreeOps.Remapping.fs`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs), [`src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi), [`src/Compiler/TypedTree/TypedTreePickle.fs`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/src/Compiler/TypedTree/TypedTreePickle.fs), [`src/Compiler/TypedTree/TypedTreePickle.fsi`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/src/Compiler/TypedTree/TypedTreePickle.fsi).

**Additional pinned context regions:** [`src/Compiler/TypedTree/TypedTree.fs:6495-6511`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/src/Compiler/TypedTree/TypedTree.fs#L6495-L6511), [`src/Compiler/TypedTree/TypedTreePickle.fs:3160-3172`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/src/Compiler/TypedTree/TypedTreePickle.fs#L3160-L3172), [`src/Compiler/TypedTree/TypedTree.fs:1353-1379`](https://github.com/dotnet/fsharp/blob/1ff81814e149d4af97ded2d9cac956f9d10320bf/src/Compiler/TypedTree/TypedTree.fs#L1353-L1379).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4970613673](https://github.com/dotnet/fsharp/pull/20286#pullrequestreview-4970613673) | T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User | 2026-08-19T09:28:36Z / 2026-08-19T09:28:36Z | [`2079b014fa`](https://github.com/dotnet/fsharp/commit/2079b014fa70c9b56c37c4c0ce80527fba5e00f7) | APPROVED; submitted 2026-08-19T09:28:36Z | Approval discusses nullable/nonempty ad-hoc list, consumers and benign duplicate cache creation; reports clean nullness-enabled build and suggests imported unpickle cache could also be lazy.
[reviews:4970773005](https://github.com/dotnet/fsharp/pull/20286#pullrequestreview-4970773005) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-19T09:47:22Z / 2026-08-19T09:47:22Z | [`1ff81814e1`](https://github.com/dotnet/fsharp/commit/1ff81814e149d4af97ded2d9cac956f9d10320bf) | APPROVED; submitted 2026-08-19T09:47:22Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:4970794357](https://github.com/dotnet/fsharp/pull/20286#pullrequestreview-4970794357) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-19T09:49:33Z / 2026-08-19T09:49:33Z | [`1ff81814e1`](https://github.com/dotnet/fsharp/commit/1ff81814e149d4af97ded2d9cac956f9d10320bf) | APPROVED; submitted 2026-08-19T09:49:33Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:4981536140](https://github.com/dotnet/fsharp/pull/20286#pullrequestreview-4981536140) | abonie; MEMBER; reviewer; text origin uncertain; User | 2026-08-20T10:11:48Z / 2026-08-20T10:11:48Z | [`1ff81814e1`](https://github.com/dotnet/fsharp/commit/1ff81814e149d4af97ded2d9cac956f9d10320bf) | APPROVED; submitted 2026-08-20T10:11:48Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5328557388](https://github.com/dotnet/fsharp/pull/20286#issuecomment-5328557388) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-18T13:04:10Z / 2026-08-18T13:22:31Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.

**Channel capture UTC:** reviews `2026-09-22T09:44:25Z`, issue-comments `2026-09-22T09:44:26Z`, inline-comments `2026-09-22T09:44:27Z`, threads `2026-09-22T09:44:29Z`, timeline `2026-09-22T09:44:28Z`.

### PR-20287 source record

[PR-20287](https://github.com/dotnet/fsharp/pull/20287) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `e631ed7f4f210cb3dade65b1d6341bb7106e51bb`; head `9252af630067c59e8fd087380a5d52ecd95c15a6`; merge base `e631ed7f4f210cb3dade65b1d6341bb7106e51bb`. Full diff SHA-256 `2a8e2073f3957127de231d0bc17a9e83f9471d7121dca3f6a41d10d7a9975eee`.

**Other recovered review/original revisions:** [`63df5b0fb8`](https://github.com/dotnet/fsharp/commit/63df5b0fb83a5439dcad47672c01df9b6ad6fe57); [`c7fdf41b25`](https://github.com/dotnet/fsharp/commit/c7fdf41b25f6cace5af8873effe26add0fa56448); [`e0a9274f3f`](https://github.com/dotnet/fsharp/commit/e0a9274f3fbb12dd94d1d304ac399ff91ce4ae8e).

**Description:** ID `PR_kwDOAbtAO88AAAABAJg7hw` (REST pull ID `4304944007`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-18T13:15:25Z`, updated `2026-09-01T09:01:28Z`; body lastEditedAt `2026-08-18T13:26:57Z`. Captured `2026-09-22T09:37:58Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `b66353acdc5419ada78a52009c06d7883867e99ccc9df285898c1fcc2d9c9255`.

Replaces Reader/Given union wrappers in ILAttributesStored with reader and nullable-array fields. Author reports 78% of attribute owners were never forced, predicts approximately 1.34 MB net savings and measures 1.32 MB on FSharp.Common; preserves volatile publication and the public factory/member signatures.

**Diff and surrounding context:** Final 2-path/73-line diff deletes internal Reader/Given representation and keeps shared reader plus volatile nullable array; CreateGiven retains a noReader sentinel and CustomAttrs wraps cached arrays as a struct. Reads factories, attribute-row reader, public il.fsi contract and original closure discussion location. Release note; no tests or signature edits.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/9252af630067c59e8fd087380a5d52ecd95c15a6/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/AbstractIL/il.fs`](https://github.com/dotnet/fsharp/blob/9252af630067c59e8fd087380a5d52ecd95c15a6/src/Compiler/AbstractIL/il.fs), [`src/Compiler/AbstractIL/il.fsi`](https://github.com/dotnet/fsharp/blob/9252af630067c59e8fd087380a5d52ecd95c15a6/src/Compiler/AbstractIL/il.fsi).

**Additional pinned context regions:** [`src/Compiler/AbstractIL/ilread.fs:3309-3345`](https://github.com/dotnet/fsharp/blob/9252af630067c59e8fd087380a5d52ecd95c15a6/src/Compiler/AbstractIL/ilread.fs#L3309-L3345), [`src/Compiler/AbstractIL/il.fs:1360-1382`](https://github.com/dotnet/fsharp/blob/9252af630067c59e8fd087380a5d52ecd95c15a6/src/Compiler/AbstractIL/il.fs#L1360-L1382), [`src/Compiler/AbstractIL/il.fs:1366-1388`](https://github.com/dotnet/fsharp/blob/9252af630067c59e8fd087380a5d52ecd95c15a6/src/Compiler/AbstractIL/il.fs#L1366-L1388), [`src/Compiler/AbstractIL/il.fs:1373-1395`](https://github.com/dotnet/fsharp/blob/9252af630067c59e8fd087380a5d52ecd95c15a6/src/Compiler/AbstractIL/il.fs#L1373-L1395), [`src/Compiler/AbstractIL/il.fsi:926-950`](https://github.com/dotnet/fsharp/blob/9252af630067c59e8fd087380a5d52ecd95c15a6/src/Compiler/AbstractIL/il.fsi#L926-L950), [`src/Compiler/AbstractIL/il.fs:1246-1296`](https://github.com/dotnet/fsharp/blob/63df5b0fb83a5439dcad47672c01df9b6ad6fe57/src/Compiler/AbstractIL/il.fs#L1246-L1296), [`src/Compiler/AbstractIL/il.fs:1246-1296`](https://github.com/dotnet/fsharp/blob/63df5b0fb83a5439dcad47672c01df9b6ad6fe57/src/Compiler/AbstractIL/il.fs#L1246-L1296), [`src/Compiler/AbstractIL/il.fs:1246-1296`](https://github.com/dotnet/fsharp/blob/63df5b0fb83a5439dcad47672c01df9b6ad6fe57/src/Compiler/AbstractIL/il.fs#L1246-L1296), [`src/Compiler/AbstractIL/il.fs:1246-1296`](https://github.com/dotnet/fsharp/blob/63df5b0fb83a5439dcad47672c01df9b6ad6fe57/src/Compiler/AbstractIL/il.fs#L1246-L1296).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4970533131](https://github.com/dotnet/fsharp/pull/20287#pullrequestreview-4970533131) | T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User | 2026-08-19T09:18:20Z / 2026-08-19T09:57:38Z | [`e0a9274f3f`](https://github.com/dotnet/fsharp/commit/e0a9274f3fbb12dd94d1d304ac399ff91ce4ae8e) | APPROVED; submitted 2026-08-19T09:18:20Z | Approval checks non-null reader arrays, CreateGiven sentinel and volatile single-read behavior; notes missing release link and deleted-type name in comment.
[reviews:4970838372](https://github.com/dotnet/fsharp/pull/20287#pullrequestreview-4970838372) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-19T09:54:33Z / 2026-08-19T09:54:34Z | [`63df5b0fb8`](https://github.com/dotnet/fsharp/commit/63df5b0fb83a5439dcad47672c01df9b6ad6fe57) | COMMENTED; submitted 2026-08-19T09:54:33Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:4970857464](https://github.com/dotnet/fsharp/pull/20287#pullrequestreview-4970857464) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-19T09:56:39Z / 2026-08-19T09:56:40Z | [`63df5b0fb8`](https://github.com/dotnet/fsharp/commit/63df5b0fb83a5439dcad47672c01df9b6ad6fe57) | COMMENTED; submitted 2026-08-19T09:56:40Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:4970869310](https://github.com/dotnet/fsharp/pull/20287#pullrequestreview-4970869310) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-19T09:57:52Z / 2026-08-19T09:57:52Z | [`63df5b0fb8`](https://github.com/dotnet/fsharp/commit/63df5b0fb83a5439dcad47672c01df9b6ad6fe57) | COMMENTED; submitted 2026-08-19T09:57:52Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:4970925639](https://github.com/dotnet/fsharp/pull/20287#pullrequestreview-4970925639) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-19T10:04:37Z / 2026-08-19T10:04:37Z | [`63df5b0fb8`](https://github.com/dotnet/fsharp/commit/63df5b0fb83a5439dcad47672c01df9b6ad6fe57) | COMMENTED; submitted 2026-08-19T10:04:37Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:5007919923](https://github.com/dotnet/fsharp/pull/20287#pullrequestreview-5007919923) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:45:57Z / 2026-08-24T12:45:57Z | [`c7fdf41b25`](https://github.com/dotnet/fsharp/commit/c7fdf41b25f6cace5af8873effe26add0fa56448) | APPROVED; submitted 2026-08-24T12:45:57Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:5039076491](https://github.com/dotnet/fsharp/pull/20287#pullrequestreview-5039076491) | abonie; MEMBER; reviewer; text origin uncertain; User | 2026-08-27T09:06:43Z / 2026-08-27T09:06:43Z | [`c7fdf41b25`](https://github.com/dotnet/fsharp/commit/c7fdf41b25f6cace5af8873effe26add0fa56448) | APPROVED; submitted 2026-08-27T09:06:43Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:5066669218](https://github.com/dotnet/fsharp/pull/20287#pullrequestreview-5066669218) | abonie; MEMBER; reviewer; text origin uncertain; User | 2026-08-31T12:52:32Z / 2026-08-31T12:52:32Z | [`9252af6300`](https://github.com/dotnet/fsharp/commit/9252af630067c59e8fd087380a5d52ecd95c15a6) | APPROVED; submitted 2026-08-31T12:52:32Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5328696528](https://github.com/dotnet/fsharp/pull/20287#issuecomment-5328696528) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-18T13:15:40Z / 2026-08-19T09:24:29Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5452222497](https://github.com/dotnet/fsharp/pull/20287#issuecomment-5452222497) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-28T11:57:57Z / 2026-08-28T11:57:57Z | - | - | Author reports the PR is ready.
[inline-comments:3811931627](https://github.com/dotnet/fsharp/pull/20287#discussion_r3811931627) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-19T09:54:34Z / 2026-08-19T09:54:34Z | original [`63df5b0fb8`](https://github.com/dotnet/fsharp/commit/63df5b0fb83a5439dcad47672c01df9b6ad6fe57); mapped [`9252af6300`](https://github.com/dotnet/fsharp/commit/9252af630067c59e8fd087380a5d52ecd95c15a6) | src/Compiler/AbstractIL/il.fs:1266; thread `PRRT_kwDOAbtAO86aa9kq`; resolved=True, outdated=False | Reviewer asks whether forcing attributes should release reader closure for collection.
[inline-comments:3811945510](https://github.com/dotnet/fsharp/pull/20287#discussion_r3811945510) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-19T09:56:40Z / 2026-08-19T09:56:40Z | original [`63df5b0fb8`](https://github.com/dotnet/fsharp/commit/63df5b0fb83a5439dcad47672c01df9b6ad6fe57); mapped [`9252af6300`](https://github.com/dotnet/fsharp/commit/9252af630067c59e8fd087380a5d52ecd95c15a6) | src/Compiler/AbstractIL/il.fs:1266; thread `PRRT_kwDOAbtAO86aa9kq`; resolved=True, outdated=False | Reviewer follows up that sharing one reader per metadata may prevent any saving.
[inline-comments:3811953775](https://github.com/dotnet/fsharp/pull/20287#discussion_r3811953775) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-19T09:57:52Z / 2026-08-19T09:57:52Z | original [`63df5b0fb8`](https://github.com/dotnet/fsharp/commit/63df5b0fb83a5439dcad47672c01df9b6ad6fe57); mapped [`9252af6300`](https://github.com/dotnet/fsharp/commit/9252af630067c59e8fd087380a5d52ecd95c15a6) | src/Compiler/AbstractIL/il.fs:1266; thread `PRRT_kwDOAbtAO86aa9kq`; resolved=True, outdated=False | Author initially agrees and says they will measure.
[inline-comments:3811998107](https://github.com/dotnet/fsharp/pull/20287#discussion_r3811998107) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-19T10:04:37Z / 2026-08-19T10:04:37Z | original [`63df5b0fb8`](https://github.com/dotnet/fsharp/commit/63df5b0fb83a5439dcad47672c01df9b6ad6fe57); mapped [`9252af6300`](https://github.com/dotnet/fsharp/commit/9252af630067c59e8fd087380a5d52ecd95c15a6) | src/Compiler/AbstractIL/il.fs:1266; thread `PRRT_kwDOAbtAO86aa9kq`; resolved=True, outdated=False | Author confirms reader functions are shared, so clearing would save nothing.

**Channel capture UTC:** reviews `2026-09-22T09:44:27Z`, issue-comments `2026-09-22T09:44:27Z`, inline-comments `2026-09-22T09:44:28Z`, threads `2026-09-22T09:44:31Z`, timeline `2026-09-22T09:44:29Z`.

### PR-20296 source record

[PR-20296](https://github.com/dotnet/fsharp/pull/20296) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `cecab991fb8c8e47058c0fad5426235b99f3a293`; head `86ece46d9e5a7ae67aca866749ae4f377dab5ff1`; merge base `cecab991fb8c8e47058c0fad5426235b99f3a293`. Full diff SHA-256 `f57672b1335cad7415a0cd74d154d638f97f3c161c84e912edddbef256074d9c`.

**Other recovered review/original revisions:** [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0); [`aa7a9aecfc`](https://github.com/dotnet/fsharp/commit/aa7a9aecfce84311f6a580ad410d3be816ed4068).

**Description:** ID `PR_kwDOAbtAO88AAAABAR3u1A` (REST pull ID `4313706196`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-19T12:26:35Z`, updated `2026-08-27T22:19:13Z`; body lastEditedAt `2026-08-19T12:49:16Z`. Captured `2026-09-22T09:37:59Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `dfa516b5ad4ea0b9ed5120fe6999fcd94a1dc3c6140383abbbaf73c30cfb1dbd`.

Shares imported binary assembly CCUs across projects using file/closure/configuration keys, weak entries and closure-pinned import contexts. Excludes project outputs, type providers, multi-module and unaccounted closures. Describes removing four project TcImports captures; reports 545 MB retention and 8.9% warm-time savings on ReSharper, much smaller effects elsewhere.

**Diff and surrounding context:** Final 14-path/1128-line diff adds typed import-reuse settings, closure/file/framework-stamp keys, weak shared CCUs, pinned import contexts, delayed publication, binary/F# import hit/miss handling and exclusions. Threads shareImportedAssemblies through both compiler modes and makes it default true; ClearCaches clears it. CompilerConfig/Imports/service signatures and surface baseline change. Original string-key/default-false/config inline contexts and adjacent framework cache/multiproject symbol tests inspected. No behavioral test added by this diff.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Driver/CompilerConfig.fs`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Driver/CompilerConfig.fs), [`src/Compiler/Driver/CompilerConfig.fsi`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Driver/CompilerConfig.fsi), [`src/Compiler/Driver/CompilerImports.fs`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Driver/CompilerImports.fs), [`src/Compiler/Driver/CompilerImports.fsi`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Driver/CompilerImports.fsi), [`src/Compiler/Service/BackgroundCompiler.fs`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Service/BackgroundCompiler.fs), [`src/Compiler/Service/BackgroundCompiler.fsi`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Service/BackgroundCompiler.fsi), [`src/Compiler/Service/IncrementalBuild.fs`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Service/IncrementalBuild.fs), [`src/Compiler/Service/IncrementalBuild.fsi`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Service/IncrementalBuild.fsi), [`src/Compiler/Service/TransparentCompiler.fs`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Service/TransparentCompiler.fs), [`src/Compiler/Service/TransparentCompiler.fsi`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Service/TransparentCompiler.fsi), [`src/Compiler/Service/service.fs`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Service/service.fs), [`src/Compiler/Service/service.fsi`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Service/service.fsi), [`tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl).

**Additional pinned context regions:** [`src/Compiler/Service/IncrementalBuild.fs:490-522`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Service/IncrementalBuild.fs#L490-L522), [`src/Compiler/Service/IncrementalBuild.fs:503-535`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/src/Compiler/Service/IncrementalBuild.fs#L503-L535), [`tests/FSharp.Compiler.Service.Tests/MultiProjectAnalysisTests.fs:130-165`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/tests/FSharp.Compiler.Service.Tests/MultiProjectAnalysisTests.fs#L130-L165), [`tests/FSharp.Compiler.Service.Tests/MultiProjectAnalysisTests.fs:143-178`](https://github.com/dotnet/fsharp/blob/86ece46d9e5a7ae67aca866749ae4f377dab5ff1/tests/FSharp.Compiler.Service.Tests/MultiProjectAnalysisTests.fs#L143-L178), [`src/Compiler/Driver/CompilerImports.fs:474-524`](https://github.com/dotnet/fsharp/blob/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0/src/Compiler/Driver/CompilerImports.fs#L474-L524), [`src/Compiler/Driver/CompilerImports.fs:2307-2357`](https://github.com/dotnet/fsharp/blob/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0/src/Compiler/Driver/CompilerImports.fs#L2307-L2357), [`src/Compiler/Service/service.fs:202-252`](https://github.com/dotnet/fsharp/blob/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0/src/Compiler/Service/service.fs#L202-L252), [`src/Compiler/Driver/CompilerImports.fs:2525-2575`](https://github.com/dotnet/fsharp/blob/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0/src/Compiler/Driver/CompilerImports.fs#L2525-L2575), [`src/Compiler/Service/service.fs:202-252`](https://github.com/dotnet/fsharp/blob/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0/src/Compiler/Service/service.fs#L202-L252), [`src/Compiler/Driver/CompilerImports.fs:2307-2357`](https://github.com/dotnet/fsharp/blob/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0/src/Compiler/Driver/CompilerImports.fs#L2307-L2357).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5007592882](https://github.com/dotnet/fsharp/pull/20296#pullrequestreview-5007592882) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:06:33Z / 2026-08-24T12:06:33Z | [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | COMMENTED; submitted 2026-08-24T12:06:33Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:5007600338](https://github.com/dotnet/fsharp/pull/20296#pullrequestreview-5007600338) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:07:32Z / 2026-08-24T12:07:32Z | [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | COMMENTED; submitted 2026-08-24T12:07:32Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:5007613055](https://github.com/dotnet/fsharp/pull/20296#pullrequestreview-5007613055) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:09:11Z / 2026-08-24T12:09:12Z | [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | COMMENTED; submitted 2026-08-24T12:09:11Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:5007678895](https://github.com/dotnet/fsharp/pull/20296#pullrequestreview-5007678895) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:17:36Z / 2026-08-24T12:17:36Z | [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | COMMENTED; submitted 2026-08-24T12:17:36Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:5028198491](https://github.com/dotnet/fsharp/pull/20296#pullrequestreview-5028198491) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-26T08:18:59Z / 2026-08-26T08:18:59Z | [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | COMMENTED; submitted 2026-08-26T08:18:59Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:5028484426](https://github.com/dotnet/fsharp/pull/20296#pullrequestreview-5028484426) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-26T08:53:29Z / 2026-08-26T08:53:29Z | [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | COMMENTED; submitted 2026-08-26T08:53:29Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:5028686362](https://github.com/dotnet/fsharp/pull/20296#pullrequestreview-5028686362) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-26T09:17:28Z / 2026-08-26T09:17:28Z | [`aa7a9aecfc`](https://github.com/dotnet/fsharp/commit/aa7a9aecfce84311f6a580ad410d3be816ed4068) | APPROVED; submitted 2026-08-26T09:17:28Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:5046142384](https://github.com/dotnet/fsharp/pull/20296#pullrequestreview-5046142384) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-27T22:18:58Z / 2026-08-27T22:18:58Z | [`86ece46d9e`](https://github.com/dotnet/fsharp/commit/86ece46d9e5a7ae67aca866749ae4f377dab5ff1) | APPROVED; submitted 2026-08-27T22:18:58Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5342084849](https://github.com/dotnet/fsharp/pull/20296#issuecomment-5342084849) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-19T12:26:50Z / 2026-08-19T12:28:53Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5440999794](https://github.com/dotnet/fsharp/pull/20296#issuecomment-5440999794) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-27T14:59:10Z / 2026-08-27T14:59:10Z | - | - | Author asks whether the PR can be merged.
[inline-comments:3843282327](https://github.com/dotnet/fsharp/pull/20296#discussion_r3843282327) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:06:33Z / 2026-08-24T12:06:33Z | original [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0); mapped [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | src/Compiler/Driver/CompilerImports.fs:494; thread `PRRT_kwDOAbtAO86bryOj`; resolved=True, outdated=True | Reviewer asks for typed representation instead of semantically opaque strings.
[inline-comments:3843288879](https://github.com/dotnet/fsharp/pull/20296#discussion_r3843288879) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:07:32Z / 2026-08-24T12:07:32Z | original [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0); mapped [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | src/Compiler/Driver/CompilerImports.fs:2327; thread `PRRT_kwDOAbtAO86brzVz`; resolved=True, outdated=True | Reviewer posts only a question mark on moved CcuData code; no substantive objection stated.
[inline-comments:3843300077](https://github.com/dotnet/fsharp/pull/20296#discussion_r3843300077) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:09:12Z / 2026-08-24T12:09:12Z | original [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0); mapped [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | src/Compiler/Service/service.fs:222; thread `PRRT_kwDOAbtAO86br1P1`; resolved=True, outdated=True | Reviewer asks why sharing defaults false and whether risks justify that.
[inline-comments:3843357224](https://github.com/dotnet/fsharp/pull/20296#discussion_r3843357224) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:17:36Z / 2026-08-24T12:17:36Z | original [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0); mapped [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | src/Compiler/Driver/CompilerImports.fs:2545; thread `PRRT_kwDOAbtAO86br-7W`; resolved=True, outdated=True | Reviewer recalls prior missing-flag reuse bugs and asks for one typed definition of import-relevant switches.
[inline-comments:3860880778](https://github.com/dotnet/fsharp/pull/20296#discussion_r3860880778) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-26T08:18:59Z / 2026-08-26T08:18:59Z | original [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0); mapped [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | src/Compiler/Service/service.fs:222; thread `PRRT_kwDOAbtAO86br1P1`; resolved=True, outdated=True | Author agrees and says the default was changed.
[inline-comments:3861124680](https://github.com/dotnet/fsharp/pull/20296#discussion_r3861124680) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-08-26T08:53:29Z / 2026-08-26T08:53:29Z | original [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0); mapped [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0) | src/Compiler/Driver/CompilerImports.fs:2327; thread `PRRT_kwDOAbtAO86brzVz`; resolved=True, outdated=True | Author explains the questioned block was an indentation change.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABNYCrls8AAAAG6WAHrw` | auduchinok/User | 2026-08-19T13:38:58Z | [`0a45380dcb`](https://github.com/dotnet/fsharp/commit/0a45380dcb05260e76a0a2e49ce678295c9ea7dc) / [`09a3cb1dbc`](https://github.com/dotnet/fsharp/commit/09a3cb1dbc832f9e2d4e8711e4726f9043eb91c0)

**Channel capture UTC:** reviews `2026-09-22T09:44:31Z`, issue-comments `2026-09-22T09:44:32Z`, inline-comments `2026-09-22T09:44:32Z`, threads `2026-09-22T09:44:35Z`, timeline `2026-09-22T09:44:33Z`.

### PR-20298 source record

[PR-20298](https://github.com/dotnet/fsharp/pull/20298) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `732b9ebd4504e8f111df592921f12eb8b0c5f807`; head `93b59f63834fb3398ea0a0350ea94005b9c4ec87`; merge base `732b9ebd4504e8f111df592921f12eb8b0c5f807`. Full diff SHA-256 `5d87a18dd2753a820fc5e06f99c9005f711dd2f428511717ce9109c0f7bdec3d`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO88AAAABASF4dw` (REST pull ID `4313938039`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-19T12:57:29Z`, updated `2026-08-24T12:04:29Z`; body lastEditedAt `null`. Captured `2026-09-22T09:38:00Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `0991b0d078311f2b0f4073cb2f733c6ed446ec4b8aad0f3fbc2d36c4534992ec`.

Groups C#-style extension methods by static class, open priority and extended type, sharing cached method lists and deduplicating individual candidates. Author reports 95,408 wrappers for 9,741 methods before grouping, 6.12 methods per group, and 5.64 MB less retained memory on FSharp.Common; claims candidate order unchanged.

**Diff and surrounding context:** Final 3-path/184-line diff changes ILExtMem to MethInfo list, groups shape by extended-type stamp plus unindexed group, reverses each group to preserve fold order, caches grouped lists and deduplicates candidates by method definition. NameResolution.fsi and release note change. Reads candidate hierarchy/selection callers and existing extension fixture; no new tests.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/93b59f63834fb3398ea0a0350ea94005b9c4ec87/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Checking/NameResolution.fs`](https://github.com/dotnet/fsharp/blob/93b59f63834fb3398ea0a0350ea94005b9c4ec87/src/Compiler/Checking/NameResolution.fs), [`src/Compiler/Checking/NameResolution.fsi`](https://github.com/dotnet/fsharp/blob/93b59f63834fb3398ea0a0350ea94005b9c4ec87/src/Compiler/Checking/NameResolution.fsi).

**Additional pinned context regions:** [`src/Compiler/Checking/NameResolution.fs:843-870`](https://github.com/dotnet/fsharp/blob/93b59f63834fb3398ea0a0350ea94005b9c4ec87/src/Compiler/Checking/NameResolution.fs#L843-L870), [`src/Compiler/Checking/NameResolution.fs:859-886`](https://github.com/dotnet/fsharp/blob/93b59f63834fb3398ea0a0350ea94005b9c4ec87/src/Compiler/Checking/NameResolution.fs#L859-L886), [`tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs:10-42`](https://github.com/dotnet/fsharp/blob/93b59f63834fb3398ea0a0350ea94005b9c4ec87/tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs#L10-L42).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5007575579](https://github.com/dotnet/fsharp/pull/20298#pullrequestreview-5007575579) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-24T12:04:21Z / 2026-08-24T12:04:21Z | [`93b59f6383`](https://github.com/dotnet/fsharp/commit/93b59f63834fb3398ea0a0350ea94005b9c4ec87) | APPROVED; submitted 2026-08-24T12:04:21Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5342431199](https://github.com/dotnet/fsharp/pull/20298#issuecomment-5342431199) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-19T12:57:40Z / 2026-08-19T12:58:53Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.

**Channel capture UTC:** reviews `2026-09-22T09:44:31Z`, issue-comments `2026-09-22T09:44:32Z`, inline-comments `2026-09-22T09:44:32Z`, threads `2026-09-22T09:44:35Z`, timeline `2026-09-22T09:44:33Z`.

### PR-20301 source record

[PR-20301](https://github.com/dotnet/fsharp/pull/20301) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `6b77e6cc133f48fc90035d25d86adf37e7993556`; head `ecbc914dec797ca285eaf553cf0e9dc6fdfa0113`; merge base `d3fab443a1cde90f68d9a272e7e776959936a84c`. Full diff SHA-256 `37ff5cceca5d49ad6296034d14a4125778b5901b45a0f25b9e40078c5753cff9`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO88AAAABAUFgsw` (REST pull ID `4316029107`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-19T17:22:19Z`, updated `2026-09-01T12:36:31Z`; body lastEditedAt `null`. Captured `2026-09-22T09:38:00Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `ae947d2d038c1e4e2d2af2a71671429c6dcfbc8822ad8b1b85881d426d68b184`.

Interns IL scope, type and method references within each unpickled blob without changing the format. Description reports enormous per-blob repetition (FCS scopes 55,721 reads for two values) and whole-solution retention savings of 63.9 MB on ReSharper and 21 MB on Fantomas, using netstandard2.0-compatible dictionaries.

**Diff and surrounding context:** Final 2-path/88-line diff adds three ReaderState dictionaries, initializes both states and interns after scope rescoping and type/method construction. Reads ILTypeRef key/cache implementation, eager u_lazy behavior, type-reader callers and abstract ReaderState signature. Release note; no behavioral tests added.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/ecbc914dec797ca285eaf553cf0e9dc6fdfa0113/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/TypedTree/TypedTreePickle.fs`](https://github.com/dotnet/fsharp/blob/ecbc914dec797ca285eaf553cf0e9dc6fdfa0113/src/Compiler/TypedTree/TypedTreePickle.fs), [`src/Compiler/TypedTree/TypedTreePickle.fsi`](https://github.com/dotnet/fsharp/blob/ecbc914dec797ca285eaf553cf0e9dc6fdfa0113/src/Compiler/TypedTree/TypedTreePickle.fsi).

**Additional pinned context regions:** [`src/Compiler/AbstractIL/il.fs:706-801`](https://github.com/dotnet/fsharp/blob/ecbc914dec797ca285eaf553cf0e9dc6fdfa0113/src/Compiler/AbstractIL/il.fs#L706-L801), [`src/Compiler/TypedTree/TypedTreePickle.fsi:91-103`](https://github.com/dotnet/fsharp/blob/ecbc914dec797ca285eaf553cf0e9dc6fdfa0113/src/Compiler/TypedTree/TypedTreePickle.fsi#L91-L103), [`src/Compiler/TypedTree/TypedTreePickle.fs:811-825`](https://github.com/dotnet/fsharp/blob/ecbc914dec797ca285eaf553cf0e9dc6fdfa0113/src/Compiler/TypedTree/TypedTreePickle.fs#L811-L825), [`src/Compiler/TypedTree/TypedTreePickle.fs:1341-1355`](https://github.com/dotnet/fsharp/blob/ecbc914dec797ca285eaf553cf0e9dc6fdfa0113/src/Compiler/TypedTree/TypedTreePickle.fs#L1341-L1355).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:4990011451](https://github.com/dotnet/fsharp/pull/20301#pullrequestreview-4990011451) | T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User | 2026-08-21T05:47:23Z / 2026-08-21T05:47:23Z | [`ecbc914dec`](https://github.com/dotnet/fsharp/commit/ecbc914dec797ca285eaf553cf0e9dc6fdfa0113) | APPROVED; submitted 2026-08-21T05:47:23Z | Approval discusses stable ILTypeRef equality/hash excluding mutable boxed cache, post-rescope/transitive interning and synchronous reader lifetime; optionally mentions field references.
[reviews:4996890612](https://github.com/dotnet/fsharp/pull/20301#pullrequestreview-4996890612) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-21T19:50:22Z / 2026-08-21T19:50:22Z | [`ecbc914dec`](https://github.com/dotnet/fsharp/commit/ecbc914dec797ca285eaf553cf0e9dc6fdfa0113) | APPROVED; submitted 2026-08-21T19:50:21Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:4996905122](https://github.com/dotnet/fsharp/pull/20301#pullrequestreview-4996905122) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-21T19:52:20Z / 2026-08-21T19:52:20Z | [`ecbc914dec`](https://github.com/dotnet/fsharp/commit/ecbc914dec797ca285eaf553cf0e9dc6fdfa0113) | APPROVED; submitted 2026-08-21T19:52:20Z | Approving reviewer asks to reconsider shareIL name because the operation is interning.
[issue-comments:5345627459](https://github.com/dotnet/fsharp/pull/20301#issuecomment-5345627459) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-19T17:22:33Z / 2026-08-20T12:23:57Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5355363854](https://github.com/dotnet/fsharp/pull/20301#issuecomment-5355363854) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-20T11:40:56Z / 2026-08-20T11:40:56Z | - | - | Issue comment approves subject to release-note check, explains stable keys/complete refs/eager unpickling and proposes release text; optionally mentions further embedded type references.

**Channel capture UTC:** reviews `2026-09-22T09:44:33Z`, issue-comments `2026-09-22T09:44:33Z`, inline-comments `2026-09-22T09:44:34Z`, threads `2026-09-22T09:44:37Z`, timeline `2026-09-22T09:44:35Z`.

### PR-20337 source record

[PR-20337](https://github.com/dotnet/fsharp/pull/20337) - **FAMILY-pattern-memo**.

**Pinned comparison:** base `c251d06dc38db89fa6df30b0b17a233e0ffe403d`; head `5f6bce9eed97356e06b7cad064d32d0bb9ca4623`; merge base `c251d06dc38db89fa6df30b0b17a233e0ffe403d`. Full diff SHA-256 `1b85de4d142cfeea67241082a6ea1c59a80a818e7b40ff6fcb61b8a8bd11d670`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO88AAAABAxscZw` (REST pull ID `4347075687`), T-Gro/User, author role, text origin unverified, association MEMBER; PR created `2026-08-24T09:23:31Z`, updated `2026-09-01T09:31:14Z`; body lastEditedAt `null`. Captured `2026-09-22T09:38:06Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `a64076849ea9436060aeccf2821127eda6244b4cd0e64c68d4891f03fa19fcaa`.

Replaces PR-20244's stringified memo key with typed structural keys; adds declaring-type stamps, explicit join-promotion mode and a code-size guard. Body reports equal sizes and IL fingerprints at N=8/16/24/32/40, not a new measured speedup.

**Diff and surrounding context:** Entire two-file diff inspected with pathEq and CompilePatternBasic callers. New PathKey/BoundExprKey/FrontierKey/MemoKey shapes, MemoEntry lazies and JoinPromotion replace textual keys/tuple state. The 32-disjunct test asserts a sub-1,000,000-byte image. Same pattern-memo family, not an independent example.

**Pinned head files/signatures acquired:** [`src/Compiler/Checking/PatternMatchCompilation.fs`](https://github.com/dotnet/fsharp/blob/5f6bce9eed97356e06b7cad064d32d0bb9ca4623/src/Compiler/Checking/PatternMatchCompilation.fs), [`src/Compiler/Checking/PatternMatchCompilation.fsi`](https://github.com/dotnet/fsharp/blob/5f6bce9eed97356e06b7cad064d32d0bb9ca4623/src/Compiler/Checking/PatternMatchCompilation.fsi), [`tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/GuardedOrPatternComplexity.fs`](https://github.com/dotnet/fsharp/blob/5f6bce9eed97356e06b7cad064d32d0bb9ca4623/tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/GuardedOrPatternComplexity.fs).

**Source gaps/qualifications:** No human explanatory review text: one empty approval. No raw differential outputs attached.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5032183927](https://github.com/dotnet/fsharp/pull/20337#pullrequestreview-5032183927) | abonie; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-08-26T15:16:22Z / 2026-08-26T15:16:22Z | [`5f6bce9eed`](https://github.com/dotnet/fsharp/commit/5f6bce9eed97356e06b7cad064d32d0bb9ca4623) | APPROVED; submitted 2026-08-26T15:16:22Z | Empty-body APPROVED; no written rationale.
[issue-comments:5393210593](https://github.com/dotnet/fsharp/pull/20337#issuecomment-5393210593) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-24T09:23:45Z / 2026-08-24T14:37:43Z | - | - | Automated release-note gate status; not human performance evidence.
[issue-comments:5397603609](https://github.com/dotnet/fsharp/pull/20337#issuecomment-5397603609) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-24T15:38:57Z / 2026-08-24T15:38:57Z | - | - | Automated/model tooling-safety classification; not human performance evidence.

**Channel capture UTC:** reviews `2026-09-22T09:40:41Z`, issue-comments `2026-09-22T09:40:41Z`, inline-comments `2026-09-22T09:40:42Z`, threads `2026-09-22T09:40:45Z`, timeline `2026-09-22T09:40:43Z`.

### PR-20352 source record

[PR-20352](https://github.com/dotnet/fsharp/pull/20352) - **FAMILY-inline-copy**.

**Pinned comparison:** base `c251d06dc38db89fa6df30b0b17a233e0ffe403d`; head `39167b8148d900fe003aea4cd80f95643fdb691f`; merge base `c251d06dc38db89fa6df30b0b17a233e0ffe403d`. Full diff SHA-256 `74930da30fd513881f4d4c84a7b021325a655c9473129899518c37239392f3ce`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO88AAAABA9SxYg` (REST pull ID `4359237986`), T-Gro/User, author role, text origin unverified, association MEMBER; PR created `2026-08-25T15:33:18Z`, updated `2026-08-27T07:59:12Z`; body lastEditedAt `null`. Captured `2026-09-22T09:38:11Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `beec79d023bacc943775799a935dc72881228ce22a05d37a664f1f056e7c4d6c`.

Proposes fusing copyExpr and remarkExpr; reports approximately 321 MB saved per 65,880-LOC compile and unchanged IL/PDBs. Author issue comment 5422336205 explicitly closes it as too bloated for the win and says it will be reworked; withdrawal is supported by that comment, not inferred from closure.

**Diff and surrounding context:** Entire 427-line, three-file diff inspected: two optimizer call sites plus pervasive optional range/debug-point handling in the existing remapper, its new context field and exported signature. Pinned standalone remarkExpr/remarkBind and CopyExprForInlining behavior inspected for ranges, debug-point erasure, cloned locals and quotation handling. No test files added; all benchmark/differential assertions are in the description.

**Pinned head files/signatures acquired:** [`src/Compiler/Optimize/Optimizer.fs`](https://github.com/dotnet/fsharp/blob/39167b8148d900fe003aea4cd80f95643fdb691f/src/Compiler/Optimize/Optimizer.fs), [`src/Compiler/Optimize/Optimizer.fsi`](https://github.com/dotnet/fsharp/blob/39167b8148d900fe003aea4cd80f95643fdb691f/src/Compiler/Optimize/Optimizer.fsi), [`src/Compiler/TypedTree/TypedTreeOps.Remapping.fs`](https://github.com/dotnet/fsharp/blob/39167b8148d900fe003aea4cd80f95643fdb691f/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs), [`src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi`](https://github.com/dotnet/fsharp/blob/39167b8148d900fe003aea4cd80f95643fdb691f/src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi).

**Source gaps/qualifications:** No submitted reviews or inline threads; only the author withdrawal and release-note bot comment were returned.; Raw benchmark and differential artifacts are not attached.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[issue-comments:5412814340](https://github.com/dotnet/fsharp/pull/20352#issuecomment-5412814340) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-25T15:33:32Z / 2026-08-25T15:33:43Z | - | - | Automated release-note gate status; not human performance evidence.
[issue-comments:5422336205](https://github.com/dotnet/fsharp/pull/20352#issuecomment-5422336205) | T-Gro; MEMBER; author rationale; User | 2026-08-26T07:58:41Z / 2026-08-26T07:58:41Z | - | - | Author explicitly withdraws the large fusion change as too bloated for the gain and says it will be reworked. Closure alone is not the evidence.

**Channel capture UTC:** reviews `2026-09-22T09:40:41Z`, issue-comments `2026-09-22T09:40:42Z`, inline-comments `2026-09-22T09:40:43Z`, threads `2026-09-22T09:40:45Z`, timeline `2026-09-22T09:40:43Z`.

### PR-20363 source record

[PR-20363](https://github.com/dotnet/fsharp/pull/20363) - **FAMILY-inline-copy**.

**Pinned comparison:** base `3402e3cbf9274ae779358dafb4bde2361e1489a6`; head `7679c374c71954ab3fe3e8a99c211e965ea14e07`; merge base `3ec76a9b9ac738f45012735fce800c831236415d`. Full diff SHA-256 `7ea4b42a9332314c5e4e5d20aad43fee6e454a82fde85751271442cc0d783723`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO88AAAABBFrUjw` (REST pull ID `4368028815`), T-Gro/User, author role, text origin unverified, association MEMBER; PR created `2026-08-26T14:27:38Z`, updated `2026-08-31T14:08:03Z`; body lastEditedAt `2026-08-26T17:47:35Z`. Captured `2026-09-22T09:38:13Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `36e93794ee1867aefc0e3f0c5655931a327025cbaf1f95d1e0e8f9bf8992d400`.

Fuses generic inlining copy with type instantiation for a saturated TyLambda, leaving the non-generic path unchanged. Reports 10,662 to 10,105 MB per compile, three runs times four iterations, and IL/PDB comparisons with a reflected-definition resource-name caveat.

**Diff and surrounding context:** Full two-file diff inspected: two unified-diff hunks in one localized Optimizer function, plus release note. The description calls this one hunk; source verification corrects that code fact without changing the captured description. Historical CopyExprForInlining, remapExpr/mkInstRemap, instType and MakeApplicationAndBetaReduce establish which traversal is removed. No test changes. Reserved in the same development family as PR-20352 despite its different fusion target; one empty approval retained.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/7679c374c71954ab3fe3e8a99c211e965ea14e07/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Optimize/Optimizer.fs`](https://github.com/dotnet/fsharp/blob/7679c374c71954ab3fe3e8a99c211e965ea14e07/src/Compiler/Optimize/Optimizer.fs), [`src/Compiler/Optimize/Optimizer.fsi`](https://github.com/dotnet/fsharp/blob/7679c374c71954ab3fe3e8a99c211e965ea14e07/src/Compiler/Optimize/Optimizer.fsi).

**Source gaps/qualifications:** No raw allocation/differential outputs attached; author-reported validation is not independently rerun.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5067414290](https://github.com/dotnet/fsharp/pull/20363#pullrequestreview-5067414290) | abonie; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-08-31T14:06:08Z / 2026-08-31T14:06:08Z | [`7679c374c7`](https://github.com/dotnet/fsharp/commit/7679c374c71954ab3fe3e8a99c211e965ea14e07) | APPROVED; submitted 2026-08-31T14:06:08Z | Empty-body APPROVED; no written rationale.
[issue-comments:5426803856](https://github.com/dotnet/fsharp/pull/20363#issuecomment-5426803856) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-26T14:27:48Z / 2026-08-26T14:29:20Z | - | - | Automated release-note gate status; not human performance evidence.
[issue-comments:5426966994](https://github.com/dotnet/fsharp/pull/20363#issuecomment-5426966994) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-26T14:40:03Z / 2026-08-26T14:40:03Z | - | - | Automated/model tooling-safety classification; not human performance evidence.

**Channel capture UTC:** reviews `2026-09-22T09:40:43Z`, issue-comments `2026-09-22T09:40:44Z`, inline-comments `2026-09-22T09:40:44Z`, threads `2026-09-22T09:40:47Z`, timeline `2026-09-22T09:40:45Z`.

### PR-20364 source record

[PR-20364](https://github.com/dotnet/fsharp/pull/20364) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `3ec76a9b9ac738f45012735fce800c831236415d`; head `7197f64760f853233cca7a7bf31ed1c55fa2f119`; merge base `3ec76a9b9ac738f45012735fce800c831236415d`. Full diff SHA-256 `fc24cccdc00d7c6d3a389cde44a00f60ca6acabc30b8f259c388b6c36c9eeee9`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO88AAAABBFv5mQ` (REST pull ID `4368103833`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-08-26T14:36:04Z`, updated `2026-08-27T13:06:03Z`; body lastEditedAt `null`. Captured `2026-09-22T09:38:12Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `0e64c446d4d2593a0b5f4dca05856ec3f02583439b6277b27d97f0fa53adb638`.

Shares one EntityRef wrapper and resolution cache per nonlocal reference-table row via a ReaderState array. Reports 88,642 wrappers for 1,919 rows before the change, modest project/solution retention gains, matching diagnostic counts and noise-level time differences. Explicitly says the test suite was not run.

**Diff and surrounding context:** Final 1-path/55-line diff adds ReaderState.itcrefs, allocates by nonlocal-table row count and reuses ERefNonLocal wrappers after bounded table lookup; local references unchanged. Reads EntityRef binding/dereference and decode/lookup helpers plus adjacent pickle signature. No tests/signature/release-note change; bot records release-note opt-out.

**Pinned head files/signatures acquired:** [`src/Compiler/TypedTree/TypedTreePickle.fs`](https://github.com/dotnet/fsharp/blob/7197f64760f853233cca7a7bf31ed1c55fa2f119/src/Compiler/TypedTree/TypedTreePickle.fs), [`src/Compiler/TypedTree/TypedTreePickle.fsi`](https://github.com/dotnet/fsharp/blob/7197f64760f853233cca7a7bf31ed1c55fa2f119/src/Compiler/TypedTree/TypedTreePickle.fsi).

**Additional pinned context regions:** [`src/Compiler/TypedTree/TypedTree.fs:3795-3880`](https://github.com/dotnet/fsharp/blob/7197f64760f853233cca7a7bf31ed1c55fa2f119/src/Compiler/TypedTree/TypedTree.fs#L3795-L3880), [`src/Compiler/TypedTree/TypedTreePickle.fs:632-654`](https://github.com/dotnet/fsharp/blob/7197f64760f853233cca7a7bf31ed1c55fa2f119/src/Compiler/TypedTree/TypedTreePickle.fs#L632-L654), [`src/Compiler/TypedTree/TypedTreePickle.fs:888-910`](https://github.com/dotnet/fsharp/blob/7197f64760f853233cca7a7bf31ed1c55fa2f119/src/Compiler/TypedTree/TypedTreePickle.fs#L888-L910).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5041050539](https://github.com/dotnet/fsharp/pull/20364#pullrequestreview-5041050539) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-08-27T13:01:10Z / 2026-08-27T13:01:10Z | [`7197f64760`](https://github.com/dotnet/fsharp/commit/7197f64760f853233cca7a7bf31ed1c55fa2f119) | APPROVED; submitted 2026-08-27T13:01:10Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5426918874](https://github.com/dotnet/fsharp/pull/20364#issuecomment-5426918874) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-08-26T14:36:18Z / 2026-08-27T13:01:16Z | - | - | Release-note automation reports author opt-out and disabled check.

**Channel capture UTC:** reviews `2026-09-22T09:44:37Z`, issue-comments `2026-09-22T09:44:37Z`, inline-comments `2026-09-22T09:44:38Z`, threads `2026-09-22T09:44:40Z`, timeline `2026-09-22T09:44:39Z`.

### PR-20394 source record

[PR-20394](https://github.com/dotnet/fsharp/pull/20394) - **FAMILY-fsi-pdb**.

**Pinned comparison:** base `24998507fccf7a6c73348db7e5a487d89214fc99`; head `b892b790dc625ee36f48adab3104b2d0c075d522`; merge base `24998507fccf7a6c73348db7e5a487d89214fc99`. Full diff SHA-256 `144f46420e0097288a868499993d58af7f76db0dc9870b47696e2e674aa9e3fd`.

**Other recovered review/original revisions:** [`628273bec9`](https://github.com/dotnet/fsharp/commit/628273bec9f552657380f9b0b65ddc5a3c1667b0).

**Description:** ID `PR_kwDOAbtAO88AAAABBc5L_g` (REST pull ID `4392373246`), Happypig375/User, author role, text origin unverified, association MEMBER; PR created `2026-08-29T16:16:32Z`, updated `2026-09-18T18:04:42Z`; body lastEditedAt `null`. Captured `2026-09-22T09:38:23Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `794d04fd274f14d1f53b6bdbad81e6e0842ffad0d50f066b45afc4345f00a321`.

Restores the debuginfo condition for FSI multiemit PDB emission. Refers to a downstream reported 5-10x debugger-dependent reload multiplier and explicitly supplies artifact tests instead of a timing benchmark.

**Diff and surrounding context:** Full three-file diff inspected including release-note cleanup, FsiDynamicCompiler PDB option and paired debug-on/off PDB-artifact tests. Historical WriteILBinaryInMemory and Assembly.Load overload selection inspected; PR-14537 and issue 17306 plus bryanedds/Nu issue 1090 are earlier rationale, not new in-window measurements.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/b892b790dc625ee36f48adab3104b2d0c075d522/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Interactive/fsi.fs`](https://github.com/dotnet/fsharp/blob/b892b790dc625ee36f48adab3104b2d0c075d522/src/Compiler/Interactive/fsi.fs), [`src/Compiler/Interactive/fsi.fsi`](https://github.com/dotnet/fsharp/blob/b892b790dc625ee36f48adab3104b2d0c075d522/src/Compiler/Interactive/fsi.fsi), [`tests/FSharp.Compiler.ComponentTests/Scripting/Interactive.fs`](https://github.com/dotnet/fsharp/blob/b892b790dc625ee36f48adab3104b2d0c075d522/tests/FSharp.Compiler.ComponentTests/Scripting/Interactive.fs).

**Source gaps/qualifications:** The first approval (5155131828) uses an explicit robot/detective disclosure marker; classify automated/model-attributed, not a human argument.; Both approvals refer to 628273be, not final head b892b790; that reviewed commit and diff were recovered.; Debugger-dependent timing was not independently reproduced.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5155131828](https://github.com/dotnet/fsharp/pull/20394#pullrequestreview-5155131828) | T-Gro; MEMBER; model-attributed; User | 2026-09-09T13:41:34Z / 2026-09-09T13:41:34Z | [`628273bec9`](https://github.com/dotnet/fsharp/commit/628273bec9f552657380f9b0b65ddc5a3c1667b0) | APPROVED; submitted 2026-09-09T13:41:34Z | Approval with explicit robot/detective disclosure marker; automated/model-attributed LGTM, not an independent human rationale.
[reviews:5251008369](https://github.com/dotnet/fsharp/pull/20394#pullrequestreview-5251008369) | T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User | 2026-09-18T18:02:58Z / 2026-09-18T18:02:58Z | [`628273bec9`](https://github.com/dotnet/fsharp/commit/628273bec9f552657380f9b0b65ddc5a3c1667b0) | APPROVED; submitted 2026-09-18T18:02:58Z | Empty-body APPROVED; no written rationale.
[issue-comments:5463487681](https://github.com/dotnet/fsharp/pull/20394#issuecomment-5463487681) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-08-29T16:16:42Z / 2026-09-18T18:04:39Z | - | - | Automated release-note gate status; not human performance evidence.
[issue-comments:5670499362](https://github.com/dotnet/fsharp/pull/20394#issuecomment-5670499362) | github-actions&#91;bot&#93;; CONTRIBUTOR; automated; Bot | 2026-09-14T20:40:00Z / 2026-09-14T20:40:00Z | - | - | Automated/model tooling-safety classification; not human performance evidence.

**Channel capture UTC:** reviews `2026-09-22T09:40:47Z`, issue-comments `2026-09-22T09:40:48Z`, inline-comments `2026-09-22T09:40:48Z`, threads `2026-09-22T09:40:51Z`, timeline `2026-09-22T09:40:49Z`.

### PR-20416 source record

[PR-20416](https://github.com/dotnet/fsharp/pull/20416) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `7ad874a23f007e5209787f87f2bbf59acfb7875c`; head `552a152bbcb7d50c94c3d9d97b49200affc94eb9`; merge base `7ad874a23f007e5209787f87f2bbf59acfb7875c`. Full diff SHA-256 `5c3f9ca08aa70dcf7383f57f4372e5406c6aad15a6e971134b0daa9f65b498e0`.

**Other recovered review/original revisions:** [`cda7c71afe`](https://github.com/dotnet/fsharp/commit/cda7c71afe3d45c14b2ffb860911b03fa46a00e7).

**Description:** ID `PR_kwDOAbtAO88AAAABBym1qA` (REST pull ID `4415141288`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-09-01T18:35:52Z`, updated `2026-09-21T13:49:23Z`; body lastEditedAt `2026-09-01T18:37:01Z`. Captured `2026-09-22T09:38:24Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `3121d91255ca976ebf80b037d05593ca2e0ff3a07f1b4e6a00b892ffc2ac2846`.

Offers a remapped/pruned project CCU to consumers instead of always pickling/unpickling, depending on #20296. Describes rebinding consumer dependencies, up to eight reusable bound copies and earlier binding before relink, plus builder-race repair. Reports 81.3 MB ReSharper and 74.63 MB Fantomas retention savings; explicitly separates the larger FCS improvement from language-version-key removal. Description's missing-name producer fallback describes an older version.

**Diff and surrounding context:** Final 19-path/2417-line diff adds project-CCU handover, lazy signature bytes, dependency rebinding/copy matching/cap, claim-based shared publication, deterministic binding before relink, export accessibility/scope remap, trait-context clearing, anonymous-record owner rebinding and explicit-interface-member filtering. ImportsNullness replaces version/null flag keys; WithLanguageSettings copies caller nullness. Background builder double-check changes; transparent compiler explicitly supplies no handover. Internal signatures and 804-line ProjectReferenceHandoverTests cover sharing on/off, access, dependency layers/chains/diamonds, concurrent consumers, surface/docs and reported regression cases. Original six AI inline contexts and IVT consumer path inspected. No builds run.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Driver/CompilerConfig.fs`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Driver/CompilerConfig.fs), [`src/Compiler/Driver/CompilerConfig.fsi`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Driver/CompilerConfig.fsi), [`src/Compiler/Driver/CompilerImports.fs`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Driver/CompilerImports.fs), [`src/Compiler/Driver/CompilerImports.fsi`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Driver/CompilerImports.fsi), [`src/Compiler/Service/BackgroundCompiler.fs`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Service/BackgroundCompiler.fs), [`src/Compiler/Service/BackgroundCompiler.fsi`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Service/BackgroundCompiler.fsi), [`src/Compiler/Service/IncrementalBuild.fs`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Service/IncrementalBuild.fs), [`src/Compiler/Service/IncrementalBuild.fsi`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Service/IncrementalBuild.fsi), [`src/Compiler/Service/TransparentCompiler.fs`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Service/TransparentCompiler.fs), [`src/Compiler/Service/TransparentCompiler.fsi`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Service/TransparentCompiler.fsi), [`src/Compiler/TypedTree/TcGlobals.fs`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/TypedTree/TcGlobals.fs), [`src/Compiler/TypedTree/TcGlobals.fsi`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/TypedTree/TcGlobals.fsi), [`src/Compiler/TypedTree/TypedTreeOps.Remap.fs`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/TypedTree/TypedTreeOps.Remap.fs), [`src/Compiler/TypedTree/TypedTreeOps.Remap.fsi`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/TypedTree/TypedTreeOps.Remap.fsi), [`src/Compiler/TypedTree/TypedTreeOps.Remapping.fs`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs), [`src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi), [`src/Compiler/TypedTree/TypedTreeOps.Transforms.fs`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/TypedTree/TypedTreeOps.Transforms.fs), [`src/Compiler/TypedTree/TypedTreeOps.Transforms.fsi`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/TypedTree/TypedTreeOps.Transforms.fsi), [`tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj), [`tests/FSharp.Compiler.Service.Tests/ProjectReferenceHandoverTests.fs`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/tests/FSharp.Compiler.Service.Tests/ProjectReferenceHandoverTests.fs).

**Additional pinned context regions:** [`src/Compiler/Checking/AccessibilityLogic.fs:1-27`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Checking/AccessibilityLogic.fs#L1-L27), [`src/Compiler/Driver/CompilerImports.fs:680-689`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Driver/CompilerImports.fs#L680-L689), [`src/Compiler/TypedTree/TypedTreePickle.fs:862-887`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/TypedTree/TypedTreePickle.fs#L862-L887), [`src/Compiler/TypedTree/TypedTreePickle.fs:2864-2889`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/TypedTree/TypedTreePickle.fs#L2864-L2889), [`src/Compiler/TypedTree/TcGlobals.fs:1176-1226`](https://github.com/dotnet/fsharp/blob/cda7c71afe3d45c14b2ffb860911b03fa46a00e7/src/Compiler/TypedTree/TcGlobals.fs#L1176-L1226), [`src/Compiler/Driver/CompilerImports.fs:2684-2734`](https://github.com/dotnet/fsharp/blob/cda7c71afe3d45c14b2ffb860911b03fa46a00e7/src/Compiler/Driver/CompilerImports.fs#L2684-L2734), [`src/Compiler/TypedTree/TypedTreeOps.Transforms.fs:1016-1066`](https://github.com/dotnet/fsharp/blob/cda7c71afe3d45c14b2ffb860911b03fa46a00e7/src/Compiler/TypedTree/TypedTreeOps.Transforms.fs#L1016-L1066), [`src/Compiler/Service/IncrementalBuild.fs:640-690`](https://github.com/dotnet/fsharp/blob/cda7c71afe3d45c14b2ffb860911b03fa46a00e7/src/Compiler/Service/IncrementalBuild.fs#L640-L690), [`src/Compiler/Service/IncrementalBuild.fs:654-704`](https://github.com/dotnet/fsharp/blob/cda7c71afe3d45c14b2ffb860911b03fa46a00e7/src/Compiler/Service/IncrementalBuild.fs#L654-L704), [`src/Compiler/TypedTree/TypedTreeOps.Transforms.fs:1021-1071`](https://github.com/dotnet/fsharp/blob/cda7c71afe3d45c14b2ffb860911b03fa46a00e7/src/Compiler/TypedTree/TypedTreeOps.Transforms.fs#L1021-L1071), [`src/Compiler/Driver/ParseAndCheckInputs.fs:960-1020`](https://github.com/dotnet/fsharp/blob/552a152bbcb7d50c94c3d9d97b49200affc94eb9/src/Compiler/Driver/ParseAndCheckInputs.fs#L960-L1020).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5155491204](https://github.com/dotnet/fsharp/pull/20416#pullrequestreview-5155491204) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T14:11:10Z / 2026-09-09T14:11:11Z | [`cda7c71afe`](https://github.com/dotnet/fsharp/commit/cda7c71afe3d45c14b2ffb860911b03fa46a00e7) | COMMENTED; submitted 2026-09-09T14:11:10Z | Review body explicitly labels attached review AI-generated and requests independent verification; substantive material is six inline sources.
[reviews:5227160857](https://github.com/dotnet/fsharp/pull/20416#pullrequestreview-5227160857) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-09-16T19:06:25Z / 2026-09-16T19:06:25Z | [`552a152bbc`](https://github.com/dotnet/fsharp/commit/552a152bbcb7d50c94c3d9d97b49200affc94eb9) | COMMENTED; submitted 2026-09-16T19:06:25Z | Reviewer asks how differing InternalsVisibleTo consumers are handled and whether remapping already did so.
[reviews:5267378297](https://github.com/dotnet/fsharp/pull/20416#pullrequestreview-5267378297) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-09-21T13:47:57Z / 2026-09-21T13:47:57Z | [`552a152bbc`](https://github.com/dotnet/fsharp/commit/552a152bbcb7d50c94c3d9d97b49200affc94eb9) | APPROVED; submitted 2026-09-21T13:47:57Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5498612481](https://github.com/dotnet/fsharp/pull/20416#issuecomment-5498612481) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-09-01T18:36:05Z / 2026-09-02T12:05:13Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5512799577](https://github.com/dotnet/fsharp/pull/20416#issuecomment-5512799577) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-09-02T16:24:23Z / 2026-09-02T16:24:23Z | - | - | Author reports the PR is ready.
[issue-comments:5570853610](https://github.com/dotnet/fsharp/pull/20416#issuecomment-5570853610) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-09-07T12:46:53Z / 2026-09-11T07:38:28Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Compiler-Output Affects-Compiler-Output: modifies CompilerImports, TypedTreeOps, TcGlobals (CCU sharing)
[issue-comments:5631100534](https://github.com/dotnet/fsharp/pull/20416#issuecomment-5631100534) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-09-11T07:38:29Z / 2026-09-11T07:38:29Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Compiler-Output, Affects-Design-Time Affects-Compiler-Output: Typed-tree remapping changes project-reference compilation inputs. Affects-Design-Time: FCS background compilation now shares imported project signatures.
[issue-comments:5761540054](https://github.com/dotnet/fsharp/pull/20416#issuecomment-5761540054) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-09-21T13:47:40Z / 2026-09-21T13:47:40Z | - | - | Account requests Copilot resolve merge conflicts; no implementation/review outcome asserted.
[issue-comments:5761563440](https://github.com/dotnet/fsharp/pull/20416#issuecomment-5761563440) | abonie; MEMBER; reviewer; text origin uncertain; User | 2026-09-21T13:49:23Z / 2026-09-21T13:49:23Z | - | - | Account requests Copilot resolve merge conflicts; no implementation/review outcome asserted.
[inline-comments:3969407685](https://github.com/dotnet/fsharp/pull/20416#discussion_r3969407685) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T14:11:10Z / 2026-09-09T14:11:11Z | original [`cda7c71afe`](https://github.com/dotnet/fsharp/commit/cda7c71afe3d45c14b2ffb860911b03fa46a00e7); mapped [`cda7c71afe`](https://github.com/dotnet/fsharp/commit/cda7c71afe3d45c14b2ffb860911b03fa46a00e7) | src/Compiler/TypedTree/TcGlobals.fs:1196; thread `PRRT_kwDOAbtAO86gsRXn`; resolved=True, outdated=True | AI inline reports warm-checker FS3261 leaking from cached checkNullness despite target --checknulls-, with two-project repro and both compiler modes claimed.
[inline-comments:3969407693](https://github.com/dotnet/fsharp/pull/20416#discussion_r3969407693) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T14:11:10Z / 2026-09-09T14:11:11Z | original [`cda7c71afe`](https://github.com/dotnet/fsharp/commit/cda7c71afe3d45c14b2ffb860911b03fa46a00e7); mapped [`552a152bbc`](https://github.com/dotnet/fsharp/commit/552a152bbcb7d50c94c3d9d97b49200affc94eb9) | src/Compiler/Driver/CompilerImports.fs:2704; thread `PRRT_kwDOAbtAO86gsRXt`; resolved=True, outdated=False | AI inline reports second consumer's FS0001 for identically named Shared.Carried when cached Middle.dll remains bound to first consumer dependency; provides graph repro.
[inline-comments:3969407700](https://github.com/dotnet/fsharp/pull/20416#discussion_r3969407700) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T14:11:11Z / 2026-09-09T14:11:11Z | original [`cda7c71afe`](https://github.com/dotnet/fsharp/commit/cda7c71afe3d45c14b2ffb860911b03fa46a00e7); mapped [`552a152bbc`](https://github.com/dotnet/fsharp/commit/552a152bbcb7d50c94c3d9d97b49200affc94eb9) | src/Compiler/TypedTree/TypedTreeOps.Transforms.fs:1036; thread `PRRT_kwDOAbtAO86gsRXy`; resolved=True, outdated=False | AI inline reports exported trait retaining producer resolution context so valid consumer extension produces FS0001; contrasts unpickling and includes repro.
[inline-comments:3969407712](https://github.com/dotnet/fsharp/pull/20416#discussion_r3969407712) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T14:11:11Z / 2026-09-09T14:11:11Z | original [`cda7c71afe`](https://github.com/dotnet/fsharp/commit/cda7c71afe3d45c14b2ffb860911b03fa46a00e7); mapped [`552a152bbc`](https://github.com/dotnet/fsharp/commit/552a152bbcb7d50c94c3d9d97b49200affc94eb9) | src/Compiler/Service/IncrementalBuild.fs:660; thread `PRRT_kwDOAbtAO86gsRX6`; resolved=True, outdated=False | AI inline reports producer fallback suppressing missing-reference FS0074 when consumer does not reference Leaf; includes repro.
[inline-comments:3969407715](https://github.com/dotnet/fsharp/pull/20416#discussion_r3969407715) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T14:11:11Z / 2026-09-09T14:11:11Z | original [`cda7c71afe`](https://github.com/dotnet/fsharp/commit/cda7c71afe3d45c14b2ffb860911b03fa46a00e7); mapped [`552a152bbc`](https://github.com/dotnet/fsharp/commit/552a152bbcb7d50c94c3d9d97b49200affc94eb9) | src/Compiler/Service/IncrementalBuild.fs:674; thread `PRRT_kwDOAbtAO86gsRX8`; resolved=True, outdated=False | AI inline reports anonymous-record owner assembly metadata becoming None/empty for both record forms; includes symbol API repro.
[inline-comments:3969407723](https://github.com/dotnet/fsharp/pull/20416#discussion_r3969407723) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T14:11:11Z / 2026-09-09T14:11:11Z | original [`cda7c71afe`](https://github.com/dotnet/fsharp/commit/cda7c71afe3d45c14b2ffb860911b03fa46a00e7); mapped [`552a152bbc`](https://github.com/dotnet/fsharp/commit/552a152bbcb7d50c94c3d9d97b49200affc94eb9) | src/Compiler/TypedTree/TypedTreeOps.Transforms.fs:1041; thread `PRRT_kwDOAbtAO86gsRYC`; resolved=True, outdated=False | AI inline reports explicit implementation surviving pruning and relinking to duplicate default member; contrasts pickle filtering with repro.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABPNMqvM8AAAAHFVF7rw` | auduchinok/User | 2026-09-02T14:31:58Z | [`befdc7b38d`](https://github.com/dotnet/fsharp/commit/befdc7b38d412fbe1d8dbabd39ad719e97e63add) / [`d62a9b15a7`](https://github.com/dotnet/fsharp/commit/d62a9b15a711665a84f180bb8e819e17ced79ba3)
`HRFPE_lADOAbtAO88AAAABPNMqvM8AAAAHJTsRxQ` | auduchinok/User | 2026-09-07T12:05:28Z | [`d62a9b15a7`](https://github.com/dotnet/fsharp/commit/d62a9b15a711665a84f180bb8e819e17ced79ba3) / [`cda7c71afe`](https://github.com/dotnet/fsharp/commit/cda7c71afe3d45c14b2ffb860911b03fa46a00e7)
`HRFPE_lADOAbtAO88AAAABPNMqvM8AAAAHL0M6OA` | auduchinok/User | 2026-09-09T20:40:10Z | [`4e504e9789`](https://github.com/dotnet/fsharp/commit/4e504e9789b6fd5e9446afb22ad1012569b12cbd) / [`09afc51a0c`](https://github.com/dotnet/fsharp/commit/09afc51a0c97ad5d71862020baca814808323b4d)
`HRFPE_lADOAbtAO88AAAABPNMqvM8AAAAHMQE0zQ` | auduchinok/User | 2026-09-10T08:17:03Z | [`09afc51a0c`](https://github.com/dotnet/fsharp/commit/09afc51a0c97ad5d71862020baca814808323b4d) / [`7ee068dbb6`](https://github.com/dotnet/fsharp/commit/7ee068dbb612351f3fff45f43c21ae566dc76c11)
`HRFPE_lADOAbtAO88AAAABPNMqvM8AAAAHNSE-Lw` | auduchinok/User | 2026-09-11T07:31:41Z | [`7ee068dbb6`](https://github.com/dotnet/fsharp/commit/7ee068dbb612351f3fff45f43c21ae566dc76c11) / [`552a152bbc`](https://github.com/dotnet/fsharp/commit/552a152bbcb7d50c94c3d9d97b49200affc94eb9)

**Channel capture UTC:** reviews `2026-09-22T09:44:37Z`, issue-comments `2026-09-22T09:44:37Z`, inline-comments `2026-09-22T09:44:38Z`, threads `2026-09-22T09:44:41Z`, timeline `2026-09-22T09:44:39Z`.

### PR-20481 source record

[PR-20481](https://github.com/dotnet/fsharp/pull/20481) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `0fbe44ab3a1a9012c86f190e42f53683ea04c18a`; head `e8bd497aac8d34f77d6f964a6b4281ae43ccff80`; merge base `0fbe44ab3a1a9012c86f190e42f53683ea04c18a`. Full diff SHA-256 `2e3371b8c321de53a96b268bc02f48459a023d1d5833ec1cb1ec9e5f9fd6eb81`.

**Other recovered review/original revisions:** [`16a5c9b7f0`](https://github.com/dotnet/fsharp/commit/16a5c9b7f0b453635e0aba33e1e00eb20a590f0f); [`3687639651`](https://github.com/dotnet/fsharp/commit/368763965188208a7f5a13e8068c23b117d896f8); [`f3c8c74963`](https://github.com/dotnet/fsharp/commit/f3c8c749635b4b8ffbe907558edc1f8c161bf367).

**Description:** ID `PR_kwDOAbtAO88AAAABCjd1Qw` (REST pull ID `4466373955`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-09-07T16:59:10Z`, updated `2026-09-17T10:47:40Z`; body lastEditedAt `2026-09-10T08:31:18Z`. Captured `2026-09-22T09:38:36Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `e9bad5278e1405fa3dca1638723234baba94ca0e250065387319b571937f7bcf`.

Fixes state-read/update, invalidated-builder replacement and concurrent parse races. Description reports a 50-request stress case checking each file ten times before and once after. Final implementation additionally separates completed weakly retained parse results from in-flight graph nodes.

**Diff and surrounding context:** Final 5-path/328-line diff moves state read/update under semaphore, compares observed builder nodes under gate, locks builder lookups and separates completed parse-result MRU from in-flight GraphNode MRU. Adds 50-concurrent-check stress fixture and retained-result-after-GC fixture with project wiring/release note. Original weak GraphNode cache from review SHA inspected; BuildGraph/retention consumer context retained.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/e8bd497aac8d34f77d6f964a6b4281ae43ccff80/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Service/BackgroundCompiler.fs`](https://github.com/dotnet/fsharp/blob/e8bd497aac8d34f77d6f964a6b4281ae43ccff80/src/Compiler/Service/BackgroundCompiler.fs), [`src/Compiler/Service/BackgroundCompiler.fsi`](https://github.com/dotnet/fsharp/blob/e8bd497aac8d34f77d6f964a6b4281ae43ccff80/src/Compiler/Service/BackgroundCompiler.fsi), [`src/Compiler/Service/IncrementalBuild.fs`](https://github.com/dotnet/fsharp/blob/e8bd497aac8d34f77d6f964a6b4281ae43ccff80/src/Compiler/Service/IncrementalBuild.fs), [`src/Compiler/Service/IncrementalBuild.fsi`](https://github.com/dotnet/fsharp/blob/e8bd497aac8d34f77d6f964a6b4281ae43ccff80/src/Compiler/Service/IncrementalBuild.fsi), [`tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj`](https://github.com/dotnet/fsharp/blob/e8bd497aac8d34f77d6f964a6b4281ae43ccff80/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj), [`tests/FSharp.Compiler.Service.Tests/IncrementalBuilderRaceTests.fs`](https://github.com/dotnet/fsharp/blob/e8bd497aac8d34f77d6f964a6b4281ae43ccff80/tests/FSharp.Compiler.Service.Tests/IncrementalBuilderRaceTests.fs).

**Additional pinned context regions:** [`src/Compiler/Service/BackgroundCompiler.fs:423-435`](https://github.com/dotnet/fsharp/blob/e8bd497aac8d34f77d6f964a6b4281ae43ccff80/src/Compiler/Service/BackgroundCompiler.fs#L423-L435), [`src/Compiler/Service/BackgroundCompiler.fs:579-591`](https://github.com/dotnet/fsharp/blob/e8bd497aac8d34f77d6f964a6b4281ae43ccff80/src/Compiler/Service/BackgroundCompiler.fs#L579-L591), [`src/Compiler/Service/BackgroundCompiler.fs:592-604`](https://github.com/dotnet/fsharp/blob/e8bd497aac8d34f77d6f964a6b4281ae43ccff80/src/Compiler/Service/BackgroundCompiler.fs#L592-L604), [`src/Compiler/Service/BackgroundCompiler.fs:399-449`](https://github.com/dotnet/fsharp/blob/16a5c9b7f0b453635e0aba33e1e00eb20a590f0f/src/Compiler/Service/BackgroundCompiler.fs#L399-L449), [`src/Compiler/Facilities/BuildGraph.fs:1-80`](https://github.com/dotnet/fsharp/blob/e8bd497aac8d34f77d6f964a6b4281ae43ccff80/src/Compiler/Facilities/BuildGraph.fs#L1-L80).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5152238942](https://github.com/dotnet/fsharp/pull/20481#pullrequestreview-5152238942) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T09:16:17Z / 2026-09-09T09:18:10Z | [`16a5c9b7f0`](https://github.com/dotnet/fsharp/commit/16a5c9b7f0b453635e0aba33e1e00eb20a590f0f) | COMMENTED; submitted 2026-09-09T09:16:17Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:5234507940](https://github.com/dotnet/fsharp/pull/20481#pullrequestreview-5234507940) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-09-17T10:45:41Z / 2026-09-17T10:45:41Z | [`3687639651`](https://github.com/dotnet/fsharp/commit/368763965188208a7f5a13e8068c23b117d896f8) | APPROVED; submitted 2026-09-17T10:45:41Z | Empty APPROVED review retained as a review event; no prose rationale.
[reviews:5234516523](https://github.com/dotnet/fsharp/pull/20481#pullrequestreview-5234516523) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-09-17T10:46:27Z / 2026-09-17T10:46:27Z | [`e8bd497aac`](https://github.com/dotnet/fsharp/commit/e8bd497aac8d34f77d6f964a6b4281ae43ccff80) | APPROVED; submitted 2026-09-17T10:46:27Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5573701502](https://github.com/dotnet/fsharp/pull/20481#issuecomment-5573701502) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-09-07T16:59:21Z / 2026-09-09T20:48:31Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5664877408](https://github.com/dotnet/fsharp/pull/20481#issuecomment-5664877408) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-09-14T13:38:35Z / 2026-09-14T13:38:35Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Design-Time Affects-Design-Time: FCS background compiler runs in IDE design-time.
[inline-comments:3966671336](https://github.com/dotnet/fsharp/pull/20481#discussion_r3966671336) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T09:16:17Z / 2026-09-09T09:18:21Z | original [`16a5c9b7f0`](https://github.com/dotnet/fsharp/commit/16a5c9b7f0b453635e0aba33e1e00eb20a590f0f); mapped [`f3c8c74963`](https://github.com/dotnet/fsharp/commit/f3c8c749635b4b8ffbe907558edc1f8c161bf367) | src/Compiler/Service/BackgroundCompiler.fs:419; thread `PRRT_kwDOAbtAO86glTk3`; resolved=True, outdated=True | Robot-marked P2 inline reports GC loses weak GraphNode cache even while completed result remains retained; includes FCS_ParseFileCacheSize=2 repro and requests retaining completed-result reuse.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABQIOby88AAAAHMQ8U3Q` | auduchinok/User | 2026-09-10T08:31:10Z | [`f24d69456a`](https://github.com/dotnet/fsharp/commit/f24d69456aaa56edbc1f79dd804fb93cba291b0f) / [`f3c8c74963`](https://github.com/dotnet/fsharp/commit/f3c8c749635b4b8ffbe907558edc1f8c161bf367)
`HRFPE_lADOAbtAO88AAAABQIOby88AAAAHPnycXQ` | auduchinok/User | 2026-09-14T15:53:23Z | [`96cc431c30`](https://github.com/dotnet/fsharp/commit/96cc431c30ef801a72772e13a198a43095f8e516) / [`3687639651`](https://github.com/dotnet/fsharp/commit/368763965188208a7f5a13e8068c23b117d896f8)

**Channel capture UTC:** reviews `2026-09-22T09:44:39Z`, issue-comments `2026-09-22T09:44:40Z`, inline-comments `2026-09-22T09:44:40Z`, threads `2026-09-22T09:44:43Z`, timeline `2026-09-22T09:44:41Z`.

### PR-20486 source record

[PR-20486](https://github.com/dotnet/fsharp/pull/20486) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `40bdf2fe5ff029c8662d9c974a2296df1e608fed`; head `df2c9ad40ab4cdaec95cbee991c740e28cb4c2a2`; merge base `dbb51b15e0976a7953e7b23ef47fe0ff5cabd371`. Full diff SHA-256 `ffc45c42a5b43a463ca290563621e25578b9c1dedcf2d516e46bf4a714a05c80`.

**Other recovered review/original revisions:** [`4ae78d12e4`](https://github.com/dotnet/fsharp/commit/4ae78d12e409c5c5824069ab67df067505dbb111).

**Description:** ID `PR_kwDOAbtAO88AAAABCp48Vw` (REST pull ID `4473109591`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-09-08T10:17:11Z`, updated `2026-09-17T10:43:02Z`; body lastEditedAt `null`. Captured `2026-09-22T09:38:37Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `9a62e3a92a7128908813ff4c1fa15f47152d08fb1c340d8d0b0ff9d022fbc02d`.

Interns metadata attributes, constructors and type references across readers in three bounded clearable tables. Gives repeated/distinct value counts, hashing-cost rationale and whole-solution retention changes of about 1–7 MB. Description presents constructor-row caching as avoiding repeated hashes.

**Diff and surrounding context:** Final 2-path/175-line diff adds bounded concurrent InternTables (attributes/type refs 8192, constructors 2048), constructor-identity attribute comparer with blob-prefix hash, interning at metadata read sites, cached constructor read and clearing hooks. Reads mutable Encoded byte&#91;&#93; public contract, ClearCaches caller and attribute-emission context; original mutation report location inspected. No tests/signature edits. Author's dismissal-in-practice reply and approval suggestion remain distinct evidence, not resolved correctness claims.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/df2c9ad40ab4cdaec95cbee991c740e28cb4c2a2/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/AbstractIL/ilread.fs`](https://github.com/dotnet/fsharp/blob/df2c9ad40ab4cdaec95cbee991c740e28cb4c2a2/src/Compiler/AbstractIL/ilread.fs), [`src/Compiler/AbstractIL/ilread.fsi`](https://github.com/dotnet/fsharp/blob/df2c9ad40ab4cdaec95cbee991c740e28cb4c2a2/src/Compiler/AbstractIL/ilread.fsi).

**Additional pinned context regions:** [`src/Compiler/AbstractIL/il.fsi:868-898`](https://github.com/dotnet/fsharp/blob/df2c9ad40ab4cdaec95cbee991c740e28cb4c2a2/src/Compiler/AbstractIL/il.fsi#L868-L898), [`src/Compiler/Service/service.fs:334-348`](https://github.com/dotnet/fsharp/blob/df2c9ad40ab4cdaec95cbee991c740e28cb4c2a2/src/Compiler/Service/service.fs#L334-L348), [`src/Compiler/AbstractIL/ilread.fs:3389-3439`](https://github.com/dotnet/fsharp/blob/4ae78d12e409c5c5824069ab67df067505dbb111/src/Compiler/AbstractIL/ilread.fs#L3389-L3439), [`src/Compiler/AbstractIL/ilread.fs:3389-3439`](https://github.com/dotnet/fsharp/blob/4ae78d12e409c5c5824069ab67df067505dbb111/src/Compiler/AbstractIL/ilread.fs#L3389-L3439), [`src/Compiler/AbstractIL/ilwrite.fs:1478-1510`](https://github.com/dotnet/fsharp/blob/df2c9ad40ab4cdaec95cbee991c740e28cb4c2a2/src/Compiler/AbstractIL/ilwrite.fs#L1478-L1510).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5152517132](https://github.com/dotnet/fsharp/pull/20486#pullrequestreview-5152517132) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T09:42:21Z / 2026-09-09T09:44:14Z | [`4ae78d12e4`](https://github.com/dotnet/fsharp/commit/4ae78d12e409c5c5824069ab67df067505dbb111) | COMMENTED; submitted 2026-09-09T09:42:21Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:5165042752](https://github.com/dotnet/fsharp/pull/20486#pullrequestreview-5165042752) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-09-10T09:00:26Z / 2026-09-10T09:00:27Z | [`4ae78d12e4`](https://github.com/dotnet/fsharp/commit/4ae78d12e409c5c5824069ab67df067505dbb111) | COMMENTED; submitted 2026-09-10T09:00:27Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:5234472258](https://github.com/dotnet/fsharp/pull/20486#pullrequestreview-5234472258) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-09-17T10:42:43Z / 2026-09-17T10:42:56Z | [`df2c9ad40a`](https://github.com/dotnet/fsharp/commit/df2c9ad40ab4cdaec95cbee991c740e28cb4c2a2) | APPROVED; submitted 2026-09-17T10:42:43Z | Reviewer approves but suggests interning lookup before allocating, using a factory/struct key or alternate lookup analogy; not a demand to fix mutation report.
[issue-comments:5583572992](https://github.com/dotnet/fsharp/pull/20486#issuecomment-5583572992) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-09-08T10:17:22Z / 2026-09-10T08:13:32Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5609018079](https://github.com/dotnet/fsharp/pull/20486#issuecomment-5609018079) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-09-09T21:30:22Z / 2026-09-09T21:30:22Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Bootstrap, Affects-Compiler-Output Affects-Bootstrap: Changes compiler metadata-reading code used during bootstrap. Affects-Compiler-Output: Changes compiler metadata interning and memory behavior.
[inline-comments:3966906344](https://github.com/dotnet/fsharp/pull/20486#discussion_r3966906344) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T09:42:21Z / 2026-09-09T09:42:21Z | original [`4ae78d12e4`](https://github.com/dotnet/fsharp/commit/4ae78d12e409c5c5824069ab67df067505dbb111); mapped [`df2c9ad40a`](https://github.com/dotnet/fsharp/commit/df2c9ad40ab4cdaec95cbee991c740e28cb4c2a2) | src/Compiler/AbstractIL/ilread.fs:3409; thread `PRRT_kwDOAbtAO86gl5aK`; resolved=True, outdated=False | Robot-marked P2 inline reports mutating one assembly's shared imported attribute blob also changes another's exported CLSCompliant attribute; includes repro and claims four reader-option combinations.
[inline-comments:3977365246](https://github.com/dotnet/fsharp/pull/20486#discussion_r3977365246) | auduchinok; MEMBER; author; text origin uncertain; User | 2026-09-10T09:00:26Z / 2026-09-10T09:00:27Z | original [`4ae78d12e4`](https://github.com/dotnet/fsharp/commit/4ae78d12e409c5c5824069ab67df067505dbb111); mapped [`df2c9ad40a`](https://github.com/dotnet/fsharp/commit/df2c9ad40ab4cdaec95cbee991c740e28cb4c2a2) | src/Compiler/AbstractIL/ilread.fs:3409; thread `PRRT_kwDOAbtAO86gl5aK`; resolved=True, outdated=False | Author says the shared mutable attribute case is not an issue in practice.

**Channel capture UTC:** reviews `2026-09-22T09:44:42Z`, issue-comments `2026-09-22T09:44:43Z`, inline-comments `2026-09-22T09:44:43Z`, threads `2026-09-22T09:44:46Z`, timeline `2026-09-22T09:44:44Z`.

### PR-20489 source record

[PR-20489](https://github.com/dotnet/fsharp/pull/20489) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `4824d92223908a73c008a7e5b015377394f1ce5f`; head `7cfe5466541aae46ec73451a835b89a39764e69e`; merge base `40bdf2fe5ff029c8662d9c974a2296df1e608fed`. Full diff SHA-256 `7bce7a6a9dd9fbae72df850ebb5e99cc60510df37d3f455371a2d62a13d7a852`.

**Other recovered review/original revisions:** [`94ee8635c0`](https://github.com/dotnet/fsharp/commit/94ee8635c02924c13b9f85ae8873dd3143312c65).

**Description:** ID `PR_kwDOAbtAO88AAAABCsQVJg` (REST pull ID `4475589926`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-09-08T14:59:40Z`, updated `2026-09-17T10:36:38Z`; body lastEditedAt `null`. Captured `2026-09-22T09:38:38Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `04dcce88483560fcb8f9441fc7e6a79a0add83f5ab22e4bb2263e201ed27f117`.

Memory-maps the short-lived metadata-only PE reader used by FCS/IDE when reducing memory. Reports 306.6 MB less allocation on FSharp.Common and smaller allocation reductions elsewhere; whole-solution warm-time table includes both improvements and small slowdowns.

**Diff and surrounding context:** Final 3-path/114-line diff maps the temporary PE view, changes MemoryMappedStream to override Dispose(bool), and disposes the opened file stream when mapping construction throws. Reads getBinaryFile safeHolder, filesystem implementation/shim test and original failing location. Release note; no regression test added in final diff.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/7cfe5466541aae46ec73451a835b89a39764e69e/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/AbstractIL/ilread.fs`](https://github.com/dotnet/fsharp/blob/7cfe5466541aae46ec73451a835b89a39764e69e/src/Compiler/AbstractIL/ilread.fs), [`src/Compiler/AbstractIL/ilread.fsi`](https://github.com/dotnet/fsharp/blob/7cfe5466541aae46ec73451a835b89a39764e69e/src/Compiler/AbstractIL/ilread.fsi), [`src/Compiler/Utilities/FileSystem.fs`](https://github.com/dotnet/fsharp/blob/7cfe5466541aae46ec73451a835b89a39764e69e/src/Compiler/Utilities/FileSystem.fs), [`src/Compiler/Utilities/FileSystem.fsi`](https://github.com/dotnet/fsharp/blob/7cfe5466541aae46ec73451a835b89a39764e69e/src/Compiler/Utilities/FileSystem.fsi).

**Additional pinned context regions:** [`src/Compiler/AbstractIL/ilread.fs:5060-5102`](https://github.com/dotnet/fsharp/blob/7cfe5466541aae46ec73451a835b89a39764e69e/src/Compiler/AbstractIL/ilread.fs#L5060-L5102), [`src/Compiler/Utilities/FileSystem.fs:180-215`](https://github.com/dotnet/fsharp/blob/7cfe5466541aae46ec73451a835b89a39764e69e/src/Compiler/Utilities/FileSystem.fs#L180-L215), [`tests/FSharp.Compiler.Service.Tests/FileSystemTests.fs:31-57`](https://github.com/dotnet/fsharp/blob/7cfe5466541aae46ec73451a835b89a39764e69e/tests/FSharp.Compiler.Service.Tests/FileSystemTests.fs#L31-L57), [`src/Compiler/AbstractIL/ilread.fs:5151-5201`](https://github.com/dotnet/fsharp/blob/94ee8635c02924c13b9f85ae8873dd3143312c65/src/Compiler/AbstractIL/ilread.fs#L5151-L5201).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5152050916](https://github.com/dotnet/fsharp/pull/20489#pullrequestreview-5152050916) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T08:57:20Z / 2026-09-09T08:58:01Z | [`94ee8635c0`](https://github.com/dotnet/fsharp/commit/94ee8635c02924c13b9f85ae8873dd3143312c65) | COMMENTED; submitted 2026-09-09T08:57:20Z | Empty COMMENTED review retained as a review event; no prose rationale.
[reviews:5234400924](https://github.com/dotnet/fsharp/pull/20489#pullrequestreview-5234400924) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-09-17T10:36:23Z / 2026-09-17T10:36:23Z | [`7cfe546654`](https://github.com/dotnet/fsharp/commit/7cfe5466541aae46ec73451a835b89a39764e69e) | APPROVED; submitted 2026-09-17T10:36:23Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5587209300](https://github.com/dotnet/fsharp/pull/20489#issuecomment-5587209300) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-09-08T14:59:54Z / 2026-09-10T08:13:23Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5609017854](https://github.com/dotnet/fsharp/pull/20489#issuecomment-5609017854) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-09-09T21:30:21Z / 2026-09-09T21:30:21Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Bootstrap, Affects-Compiler-Output Affects-Bootstrap: Changes compiler metadata-reading code used during bootstrap. Affects-Compiler-Output: Changes compiler metadata and resource handling.
[inline-comments:3966514475](https://github.com/dotnet/fsharp/pull/20489#discussion_r3966514475) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-09T08:57:20Z / 2026-09-09T08:57:20Z | original [`94ee8635c0`](https://github.com/dotnet/fsharp/commit/94ee8635c02924c13b9f85ae8873dd3143312c65); mapped [`7cfe546654`](https://github.com/dotnet/fsharp/commit/7cfe5466541aae46ec73451a835b89a39764e69e) | src/Compiler/AbstractIL/ilread.fs:5171; thread `PRRT_kwDOAbtAO86gk6RI`; resolved=True, outdated=False | Robot-marked P2 inline reports empty invalid references leaving an open handle until GC because mapping construction throws before disposer exists; includes exclusive-reopen Windows repro.

**Superseded force-push envelopes (GraphQL, objects recovered):**

Event ID | Actor/type | Created UTC | Before / after
--- | --- | --- | ---
`HRFPE_lADOAbtAO88AAAABQSu3y88AAAAHMVE8zg` | auduchinok/User | 2026-09-10T09:43:18Z | [`4ac198752d`](https://github.com/dotnet/fsharp/commit/4ac198752d30a7df72624f86e0ddb18fd073c9cd) / [`7cfe546654`](https://github.com/dotnet/fsharp/commit/7cfe5466541aae46ec73451a835b89a39764e69e)

**Channel capture UTC:** reviews `2026-09-22T09:44:43Z`, issue-comments `2026-09-22T09:44:43Z`, inline-comments `2026-09-22T09:44:44Z`, threads `2026-09-22T09:44:47Z`, timeline `2026-09-22T09:44:45Z`.

### PR-20490 source record

[PR-20490](https://github.com/dotnet/fsharp/pull/20490) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `40bdf2fe5ff029c8662d9c974a2296df1e608fed`; head `3bb87bb5616607d21f8e39e85aa6bcfc90a7c50f`; merge base `40bdf2fe5ff029c8662d9c974a2296df1e608fed`. Full diff SHA-256 `62f40e766b5623166bf802bb86592632d4229c35fe6003904b05022cc13405dc`.

**Other recovered review/original revisions:** [`98d652f675`](https://github.com/dotnet/fsharp/commit/98d652f6755b342e8c4dfadaeca1045e0ec10456).

**Description:** ID `PR_kwDOAbtAO88AAAABCsedxQ` (REST pull ID `4475821509`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-09-08T15:25:10Z`, updated `2026-09-17T10:30:21Z`; body lastEditedAt `2026-09-08T15:37:26Z`. Captured `2026-09-22T09:38:38Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `c7228811788189afb76291e20eb7835e6b9c62522471cf446461d0c9c389e6aa`.

CheckIWSAM only needs intrinsic methods because its warning predicate rejects extension members. Description replaces AllMethInfosOfTypeInScope with the intrinsic helper and reports solution timings including 3% faster ReSharper and 7% slower console.

**Diff and surrounding context:** Final 3-path/48-line diff calls IntrinsicMethInfosOfType directly from CheckIWSAM with AllowMultiIntfInstantiations.Yes and IgnoreOverrides, and exposes the helper internally in NameResolution.fsi. Reads both old composing and new intrinsic helpers plus existing IWSAM/SRTP fixtures. Predicate unchanged; release note; no test edit.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/3bb87bb5616607d21f8e39e85aa6bcfc90a7c50f/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Checking/Expressions/CheckExpressions.fs`](https://github.com/dotnet/fsharp/blob/3bb87bb5616607d21f8e39e85aa6bcfc90a7c50f/src/Compiler/Checking/Expressions/CheckExpressions.fs), [`src/Compiler/Checking/Expressions/CheckExpressions.fsi`](https://github.com/dotnet/fsharp/blob/3bb87bb5616607d21f8e39e85aa6bcfc90a7c50f/src/Compiler/Checking/Expressions/CheckExpressions.fsi), [`src/Compiler/Checking/NameResolution.fsi`](https://github.com/dotnet/fsharp/blob/3bb87bb5616607d21f8e39e85aa6bcfc90a7c50f/src/Compiler/Checking/NameResolution.fsi).

**Additional pinned context regions:** [`src/Compiler/Checking/NameResolution.fs:761-798`](https://github.com/dotnet/fsharp/blob/3bb87bb5616607d21f8e39e85aa6bcfc90a7c50f/src/Compiler/Checking/NameResolution.fs#L761-L798), [`src/Compiler/Checking/NameResolution.fs:941-978`](https://github.com/dotnet/fsharp/blob/3bb87bb5616607d21f8e39e85aa6bcfc90a7c50f/src/Compiler/Checking/NameResolution.fs#L941-L978), [`tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/IWSAMsAndSRTPs/IWSAMsAndSRTPsTests.fs:54-79`](https://github.com/dotnet/fsharp/blob/3bb87bb5616607d21f8e39e85aa6bcfc90a7c50f/tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/IWSAMsAndSRTPs/IWSAMsAndSRTPsTests.fs#L54-L79), [`tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/IWSAMsAndSRTPs/IWSAMsAndSRTPsTests.fs:64-89`](https://github.com/dotnet/fsharp/blob/3bb87bb5616607d21f8e39e85aa6bcfc90a7c50f/tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/IWSAMsAndSRTPs/IWSAMsAndSRTPsTests.fs#L64-L89).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5152290044](https://github.com/dotnet/fsharp/pull/20490#pullrequestreview-5152290044) | T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User | 2026-09-09T09:21:44Z / 2026-09-09T09:22:40Z | [`98d652f675`](https://github.com/dotnet/fsharp/commit/98d652f6755b342e8c4dfadaeca1045e0ec10456) | APPROVED; submitted 2026-09-09T09:21:44Z | Approval body only says LGTM.
[reviews:5234330709](https://github.com/dotnet/fsharp/pull/20490#pullrequestreview-5234330709) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-09-17T10:29:59Z / 2026-09-17T10:29:59Z | [`3bb87bb561`](https://github.com/dotnet/fsharp/commit/3bb87bb5616607d21f8e39e85aa6bcfc90a7c50f) | APPROVED; submitted 2026-09-17T10:29:59Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5587598461](https://github.com/dotnet/fsharp/pull/20490#issuecomment-5587598461) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-09-08T15:25:21Z / 2026-09-09T20:48:32Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5609017431](https://github.com/dotnet/fsharp/pull/20490#issuecomment-5609017431) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-09-09T21:30:18Z / 2026-09-09T21:30:18Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Bootstrap, Affects-Compiler-Output Affects-Bootstrap: Changes compiler name-resolution code used during bootstrap. Affects-Compiler-Output: Changes compiler method discovery and emitted behavior.

**Channel capture UTC:** reviews `2026-09-22T09:44:45Z`, issue-comments `2026-09-22T09:44:45Z`, inline-comments `2026-09-22T09:44:46Z`, threads `2026-09-22T09:44:48Z`, timeline `2026-09-22T09:44:47Z`.

### PR-20494 source record

[PR-20494](https://github.com/dotnet/fsharp/pull/20494) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `7d9d12229eaaed1f9e4a3255ceed40f39c34a252`; head `6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66`; merge base `7d9d12229eaaed1f9e4a3255ceed40f39c34a252`. Full diff SHA-256 `85e904bafaa4a42518bc4e752b60f3a951a9be75a90cb45aa8d106fe20326661`.

**Other recovered review/original revisions:** [`33b3017424`](https://github.com/dotnet/fsharp/commit/33b30174249ba2b44ccdf6f8cbfdde82998f15fc); [`d2eb7f0c5d`](https://github.com/dotnet/fsharp/commit/d2eb7f0c5d8f8ef988789450fbb496233bab88bf).

**Description:** ID `PR_kwDOAbtAO88AAAABCyeoeQ` (REST pull ID `4482115705`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-09-09T07:02:32Z`, updated `2026-09-17T10:47:57Z`; body lastEditedAt `null`. Captured `2026-09-22T09:38:38Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `b65547d3a5eddc7f4fb8ac16ff4da7a2fd252c0776e1fdb8e61ef1859c682408`.

Delays TyconAugmentation creation for entities, especially imported IL types that only need a closed flag. Description reports whole-solution retention changes from 0.18 MB on console to 3.24 MB on ReSharper.

**Diff and surrounding context:** Final 9-path/376-line diff starts augmentation null and installs one via CompareExchange, moves closed state into a nonpickled EntityFlags bit, adapts constructors/EntityRef/overrides/InfoReader, keeps null through remapping and forces TypeContents only for pickle output; unpickling sets closed bit. Internal signatures updated. Reads remap caller and pickle augmentation encoding. No tests added.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Checking/CheckDeclarations.fs`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/Checking/CheckDeclarations.fs), [`src/Compiler/Checking/CheckDeclarations.fsi`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/Checking/CheckDeclarations.fsi), [`src/Compiler/Checking/InfoReader.fs`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/Checking/InfoReader.fs), [`src/Compiler/Checking/InfoReader.fsi`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/Checking/InfoReader.fsi), [`src/Compiler/Checking/MethodOverrides.fs`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/Checking/MethodOverrides.fs), [`src/Compiler/Checking/MethodOverrides.fsi`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/Checking/MethodOverrides.fsi), [`src/Compiler/TypedTree/TypedTree.fs`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/TypedTree/TypedTree.fs), [`src/Compiler/TypedTree/TypedTree.fsi`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/TypedTree/TypedTree.fsi), [`src/Compiler/TypedTree/TypedTreeOps.Remapping.fs`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs), [`src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi), [`src/Compiler/TypedTree/TypedTreePickle.fs`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/TypedTree/TypedTreePickle.fs), [`src/Compiler/TypedTree/TypedTreePickle.fsi`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/TypedTree/TypedTreePickle.fsi).

**Additional pinned context regions:** [`src/Compiler/Checking/InfoReader.fs:739-758`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/Checking/InfoReader.fs#L739-L758), [`src/Compiler/TypedTree/TypedTreeOps.Transforms.fs:978-1001`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/TypedTree/TypedTreeOps.Transforms.fs#L978-L1001), [`src/Compiler/TypedTree/TypedTreePickle.fs:2864-2900`](https://github.com/dotnet/fsharp/blob/6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66/src/Compiler/TypedTree/TypedTreePickle.fs#L2864-L2900).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5152560272](https://github.com/dotnet/fsharp/pull/20494#pullrequestreview-5152560272) | T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User | 2026-09-09T09:45:57Z / 2026-09-09T09:47:02Z | [`d2eb7f0c5d`](https://github.com/dotnet/fsharp/commit/d2eb7f0c5d8f8ef988789450fbb496233bab88bf) | APPROVED; submitted 2026-09-09T09:45:57Z | Approval body only says LGTM.
[reviews:5227214700](https://github.com/dotnet/fsharp/pull/20494#pullrequestreview-5227214700) | T-Gro; MEMBER; reviewer; text origin uncertain; User | 2026-09-16T19:12:02Z / 2026-09-16T19:12:02Z | [`33b3017424`](https://github.com/dotnet/fsharp/commit/33b30174249ba2b44ccdf6f8cbfdde82998f15fc) | APPROVED; submitted 2026-09-16T19:12:02Z | Empty APPROVED review retained as a review event; no prose rationale.
[issue-comments:5597623534](https://github.com/dotnet/fsharp/pull/20494#issuecomment-5597623534) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-09-09T07:02:43Z / 2026-09-09T20:48:31Z | - | - | Release-note automation retains its required-notes heading while reporting changed compiler paths and matching release-note path.
[issue-comments:5598041830](https://github.com/dotnet/fsharp/pull/20494#issuecomment-5598041830) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-09-09T07:37:20Z / 2026-09-09T07:37:20Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Bootstrap, Affects-Compiler-Output Affects-Bootstrap: EntityFlags bit layout and pickle deserialization changed Affects-Compiler-Output: PickledBits mask altered, IL metadata serialization path modified

**Channel capture UTC:** reviews `2026-09-22T09:44:48Z`, issue-comments `2026-09-22T09:44:48Z`, inline-comments `2026-09-22T09:44:49Z`, threads `2026-09-22T09:44:51Z`, timeline `2026-09-22T09:44:50Z`.

### PR-20524 source record

[PR-20524](https://github.com/dotnet/fsharp/pull/20524) - **FAMILY-il-import-retention**.

**Pinned comparison:** base `fce51f6d26358cb5c2431f84c9884aceba7bb154`; head `c694e31f86e49d0d60ee2dd4d43409b31107a596`; merge base `dbb51b15e0976a7953e7b23ef47fe0ff5cabd371`. Full diff SHA-256 `c2997fe26f78923662dfc8e1fc5448535f42c88eaccb17b4b7c69df94ada50c3`.

**Other recovered review/original revisions:** none beyond base/head.

**Description:** ID `PR_kwDOAbtAO88AAAABDIowxw` (REST pull ID `4505350343`), auduchinok/User, author role, text origin uncertain, association MEMBER; PR created `2026-09-11T11:24:25Z`, updated `2026-09-16T12:21:41Z`; body lastEditedAt `null`. Captured `2026-09-22T09:38:43Z`, GraphQL body identity rechecked `2026-09-22T10:00:39Z`. Body SHA-256 `3ef0f7e8b7ce38e276c35a540b10d5a2006ad910a8c7f51983fdab637a95c959`.

Short description says this continues #20478 and removes extra inferred-signature copying to avoid work and reuse analysis symbols. Full diff also contains the FileSignature API work from that dependency.

**Diff and surrounding context:** Final 16-path/774-line diff removes inferred module-type copy and post-inference prettification, bypasses identical-stamp signature remaps, threads own file signature through sequential/graph/background/transparent checking and exposes FileSignature plus surface baseline. Removes obsolete copy/finish helpers. Five Symbols.FileSignature fixtures cover file-only surface, hidden implementation/signature entities, definition stamps, background and same-file ownership. Reads Symbols.DeclaringEntity fallback and original AI report location. Diff includes #20478 API work; no outside-PR feedback fetched.

**Pinned head files/signatures acquired:** [`docs/release-notes/.FSharp.Compiler.Service/11.0.100.md`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md), [`src/Compiler/Checking/CheckDeclarations.fs`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Checking/CheckDeclarations.fs), [`src/Compiler/Checking/CheckDeclarations.fsi`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Checking/CheckDeclarations.fsi), [`src/Compiler/Checking/PostInferenceChecks.fs`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Checking/PostInferenceChecks.fs), [`src/Compiler/Checking/PostInferenceChecks.fsi`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Checking/PostInferenceChecks.fsi), [`src/Compiler/Driver/ParseAndCheckInputs.fs`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Driver/ParseAndCheckInputs.fs), [`src/Compiler/Driver/ParseAndCheckInputs.fsi`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Driver/ParseAndCheckInputs.fsi), [`src/Compiler/Service/BackgroundCompiler.fs`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Service/BackgroundCompiler.fs), [`src/Compiler/Service/BackgroundCompiler.fsi`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Service/BackgroundCompiler.fsi), [`src/Compiler/Service/FSharpCheckerResults.fs`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Service/FSharpCheckerResults.fs), [`src/Compiler/Service/FSharpCheckerResults.fsi`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Service/FSharpCheckerResults.fsi), [`src/Compiler/Service/IncrementalBuild.fs`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Service/IncrementalBuild.fs), [`src/Compiler/Service/IncrementalBuild.fsi`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Service/IncrementalBuild.fsi), [`src/Compiler/Service/TransparentCompiler.fs`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Service/TransparentCompiler.fs), [`src/Compiler/Service/TransparentCompiler.fsi`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Service/TransparentCompiler.fsi), [`src/Compiler/TypedTree/TypedTreeOps.Remapping.fs`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs), [`src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi), [`tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl), [`tests/FSharp.Compiler.Service.Tests/Symbols.fs`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/tests/FSharp.Compiler.Service.Tests/Symbols.fs).

**Additional pinned context regions:** [`src/Compiler/Symbols/Symbols.fs:790-824`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Symbols/Symbols.fs#L790-L824), [`src/Compiler/Symbols/Symbols.fs:1378-1412`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Symbols/Symbols.fs#L1378-L1412), [`src/Compiler/Symbols/SymbolHelpers.fs:967-988`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Symbols/SymbolHelpers.fs#L967-L988), [`src/Compiler/Symbols/SymbolHelpers.fs:989-1010`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Symbols/SymbolHelpers.fs#L989-L1010), [`src/Compiler/Service/FSharpCheckerResults.fs:2830-2880`](https://github.com/dotnet/fsharp/blob/c694e31f86e49d0d60ee2dd4d43409b31107a596/src/Compiler/Service/FSharpCheckerResults.fs#L2830-L2880).

**Source gaps/qualifications:** Global edit/deletion and unverified-measurement limits apply. No attachment URL observed in acquired prose.

Source / stable ID | Account / association / provenance | Created / updated UTC | Revision | Decision / location | Faithful source note
--- | --- | --- | --- | --- | ---
[reviews:5180339008](https://github.com/dotnet/fsharp/pull/20524#pullrequestreview-5180339008) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-11T15:19:15Z / 2026-09-11T15:19:15Z | [`c694e31f86`](https://github.com/dotnet/fsharp/commit/c694e31f86e49d0d60ee2dd4d43409b31107a596) | COMMENTED; submitted 2026-09-11T15:19:14Z | Review explicitly labels itself AI and requests independent verification; one inline report supplies substance.
[issue-comments:5633709869](https://github.com/dotnet/fsharp/pull/20524#issuecomment-5633709869) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin bot; Bot | 2026-09-11T11:24:39Z / 2026-09-11T11:24:39Z | - | - | Release-note automation retains its required-notes heading and reports matching note path; also warns no current PR link.
[issue-comments:5633817007](https://github.com/dotnet/fsharp/pull/20524#issuecomment-5633817007) | github-actions&#91;bot&#93;; CONTRIBUTOR; reviewer; text origin model; Bot | 2026-09-11T11:34:10Z / 2026-09-11T11:34:10Z | - | - | Model-attributed tooling-safety automation: 🔍 Tooling Safety Check — Affects-Design-Time Affects-Design-Time: Changes background and transparent compiler analysis paths.
[inline-comments:3990614252](https://github.com/dotnet/fsharp/pull/20524#discussion_r3990614252) | T-Gro; MEMBER; reviewer; text origin model; User | 2026-09-11T15:19:15Z / 2026-09-11T15:19:15Z | original [`c694e31f86`](https://github.com/dotnet/fsharp/commit/c694e31f86e49d0d60ee2dd4d43409b31107a596); mapped [`c694e31f86`](https://github.com/dotnet/fsharp/commit/c694e31f86e49d0d60ee2dd4d43409b31107a596) | src/Compiler/Service/FSharpCheckerResults.fs:2850; thread `PRRT_kwDOAbtAO86hhtLf`; resolved=False, outdated=False | AI inline reports FileSignature losing declaring parent of a nested type from an earlier file while PartialAssemblySignature finds it; supplies two-file symbol repro.

**Channel capture UTC:** reviews `2026-09-22T09:44:49Z`, issue-comments `2026-09-22T09:44:49Z`, inline-comments `2026-09-22T09:44:50Z`, threads `2026-09-22T09:44:52Z`, timeline `2026-09-22T09:44:51Z`.

<!-- END SOURCE_NOTES -->
## Earlier and linked discussion context

These records explain why sources were included or what historical behavior they refer to. They are not independent in-window PR votes. External references use qualified repository names. Attachments and inaccessible material are recorded as gaps rather than silently treated as text evidence.

<!-- BEGIN CONTEXT -->
Context source | Description ID | Author/type | Created / updated UTC | Discussion acquisition | Faithful note
--- | --- | --- | --- | --- | ---
[ISSUE-36](https://github.com/dotnet/fsharp/issues/36) | 54681245 | KevinRansom/User | 2015-01-18T00:35:01Z / 2016-01-26T18:02:51Z | 5 comments / 1 exhausted REST page(s) | The description's Closes #36 resolves to an old WSDL type-provider overload bug, not CE caching; not adopted as rationale.
[ISSUE-18425](https://github.com/dotnet/fsharp/issues/18425) | 2956680323 | Thorium/User | 2025-03-28T16:53:30Z / 2026-08-19T13:04:21Z | 14 comments / 1 exhausted REST page(s) | Original guarded active-pattern compilation failure report; Windows 11/.NET 9.0.201; zip workload linked. Comments are earlier context, not 2026 review evidence.
[ISSUE-20217](https://github.com/dotnet/fsharp/issues/20217) | 5080431809 | ViktorHofer/User | 2026-08-06T10:56:32Z / 2026-08-10T09:14:00Z | 1 comments / 1 exhausted REST page(s) | Original node-reuse performance report; its claim that Unix lacked the override conflicts with the pinned two-platform diff, which supplies the correction.
[ISSUE-17306](https://github.com/dotnet/fsharp/issues/17306) | 2352575335 | KevinRansom/User | 2024-06-14T05:55:10Z / 2024-10-10T10:03:29Z | 1 comments / 1 exhausted REST page(s) | Earlier FSI-debugging tracking issue explicitly lists unconditional symbol generation as a performance item.
[bryanedds/Nu#1090](https://github.com/bryanedds/Nu/issues/1090) | 3328791411 | bryanedds/User | 2025-08-18T00:19:04Z / 2025-08-18T00:50:17Z | 1 comments / 1 exhausted REST page(s) | bryanedds/Nu#1090: author reports 5-10x reload improvement when launchSettings files are removed; debugger-dependent external report, not a compiler benchmark reproduced here.
[PR-18930](https://github.com/dotnet/fsharp/pull/18930) | 3440938718 | majocha/User | 2025-09-22T13:12:45Z / 2025-09-23T10:35:42Z | 1 comments / 1 exhausted REST page(s) | Earlier cache-metrics implementation context; description says per-instance debug display is re-enabled. Linked because PR-19995 identifies it as introducing the listener.
[PR-14537](https://github.com/dotnet/fsharp/pull/14537) | 1518069381 | KevinRansom/User | 2023-01-03T23:46:18Z / 2023-04-29T20:02:49Z | 0 comments / 1 exhausted REST page(s) | Earlier FSI symbol-to-disk change; linked by PR-20394 as the origin of unconditional PDB emission.

PR-18930 and PR-14537 are earlier-context PRs, not in-window votes; their development-family assignments prevent reuse as holdouts. Issue 18425's 14 comment IDs are [`2761948126`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2761948126), [`2765745705`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2765745705), [`2765816899`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2765816899), [`2766046586`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2766046586), [`2801893718`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2801893718), [`2835022389`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2835022389), [`2934231498`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2934231498), [`2939186260`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2939186260), [`2939191918`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2939191918), [`2939567439`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2939567439), [`3461664832`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-3461664832), [`3511614554`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-3511614554), [`3511751634`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-3511751634), [`3512448762`](https://github.com/dotnet/fsharp/issues/18425#issuecomment-3512448762). They span 2025-03-28 through 2025-11-10. Comment `3461664832` explicitly attributes its proposed implementation to Claude Sonnet; that part is model-attributed, not a human-derived rule. Comment `3512448762` values the proposed test, not a measured performance result.

Linked comment | Account/type/provenance | Created / updated UTC | Temporal role | Concise source snapshot | Captured UTC
--- | --- | --- | --- | --- | ---
[ISSUE-36:100519875](https://github.com/dotnet/fsharp/issues/36#issuecomment-100519875) | dsyme/User; user-account feedback/decision; authorship unverified; User | 2015-05-09T17:27:34Z / 2015-05-09T17:27:34Z | earlier context | Source snapshot: My impression was that if anything we were going to split FSharp.Data.TypeProviders.dll out from this repo into a community project, rather than fixing bugs as we go? | 2026-09-22T09:46:04Z
[ISSUE-36:100832212](https://github.com/dotnet/fsharp/issues/36#issuecomment-100832212) | enricosada/User; user-account feedback/decision; authorship unverified; User | 2015-05-11T09:29:32Z / 2015-05-11T09:29:32Z | earlier context | Source snapshot: I dont want to hijack the issue, but if you @dsyme @latkin @KevinRansom (pls create a visualfsharp-core team in github :smile: ) think is a good idea to move wsdl type provider to standalone repo/nuget, i can add an issue and i volunteer &#91;...&#93; | 2026-09-22T09:46:04Z
[ISSUE-36:101004825](https://github.com/dotnet/fsharp/issues/36#issuecomment-101004825) | latkin/User; user-account feedback/decision; authorship unverified; User | 2015-05-11T18:19:12Z / 2016-01-26T18:01:25Z | earlier context | Source snapshot: Yes, plan of record is to move in-box type providers out of the box and turn into a community project. They have not been altered since F# 3.0. Just a matter of priorities... | 2026-09-22T09:46:04Z
[ISSUE-36:175145101](https://github.com/dotnet/fsharp/issues/36#issuecomment-175145101) | dsyme/User; user-account feedback/decision; authorship unverified; User | 2016-01-26T18:01:17Z / 2016-01-26T18:01:17Z | earlier context | Source snapshot: The FSharp.Data.TypeProviders code has been frozen in this repository at version 4.3.0.0 for some time now. The code is now available as an F# community library and nuget package at [https://github.com/fsprojects/FSharp.Data.TypeProviders/,](https://github.com/fsprojects/FSharp.Data.TypeProviders/,) &#91;...&#93; | 2026-09-22T09:46:04Z
[ISSUE-36:175146002](https://github.com/dotnet/fsharp/issues/36#issuecomment-175146002) | dsyme/User; user-account feedback/decision; authorship unverified; User | 2016-01-26T18:02:51Z / 2016-01-26T18:02:51Z | earlier context | Source snapshot: Now at [https://github.com/fsprojects/FSharp.Data.TypeProviders/issues/4](https://github.com/fsprojects/FSharp.Data.TypeProviders/issues/4) | 2026-09-22T09:46:04Z
[ISSUE-18425:2761948126](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2761948126) | Thorium/User; author rationale; User | 2025-03-28T17:07:53Z / 2025-03-28T22:27:31Z | earlier context | Source snapshot: This is somehow related to active-pattern usage: &#96;&#96;&#96;fsharp match &#124; A &#124; B &#124; C &#124; D ... &#124; Y &#124; Z when (something) -&gt; ... // out of memory &#96;&#96;&#96; But if the when-conditions break the match often, (even with identical "something") then it works: &#91;...&#93; | 2026-09-22T09:46:05Z
[ISSUE-18425:2765745705](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2765745705) | T-Gro/User; user-account feedback/decision; authorship unverified; User | 2025-03-31T09:58:49Z / 2025-03-31T09:58:49Z | earlier context | Source snapshot: Bisecting tells me the issue (I assume it is an infinite loop, but could also be something too slow and I was not patient enough to see it finish) is within &#96;&#96;&#96; // A = "x" &amp;&amp; A = "x" -&gt; A = "x" let &#96;&#96;remove duplicate condition&#96;&#96; &#91;...&#93; | 2026-09-22T09:46:05Z
[ISSUE-18425:2765816899](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2765816899) | Thorium/User; author rationale; User | 2025-03-31T10:31:17Z / 2025-03-31T12:14:00Z | earlier context | Source snapshot: Yes. Although if you remove that code totally, and then remove the other duplicate intermediate "when"s, then it will fail as well: !&#91;Image&#93;([https://github.com/user-attachments/assets/a2d4acb2-5643-4089-b85a-0c798dbeb844)](https://github.com/user-attachments/assets/a2d4acb2-5643-4089-b85a-0c798dbeb844)) The annoying &#91;...&#93; | 2026-09-22T09:46:05Z
[ISSUE-18425:2766046586](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2766046586) | T-Gro/User; user-account feedback/decision; authorship unverified; User | 2025-03-31T12:15:51Z / 2025-03-31T12:22:20Z | earlier context | Source snapshot: The presence of a &#96;when&#96; can disable certain optimizations due to having the possibility of a side effect. This &#96;--times:files.csv&#96; output indeed tells that there is something in optimizations for this file. Worth mentioning that even the &#91;...&#93; | 2026-09-22T09:46:05Z
[ISSUE-18425:2801893718](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2801893718) | Thorium/User; author rationale; User | 2025-04-14T14:25:13Z / 2025-04-14T14:25:13Z | earlier context | Source snapshot: Something like this maybe? &#91;...&#93; | 2026-09-22T09:46:05Z
[ISSUE-18425:2835022389](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2835022389) | T-Gro/User; user-account feedback/decision; authorship unverified; User | 2025-04-28T12:03:53Z / 2025-04-28T12:03:53Z | earlier context | Source snapshot: There is definitely a missing reduction step to put those shared conditions together, which is also what might be slowing down the compilation's optimization phase. It correctly unifies the type check / type cast as far as I can see, but &#91;...&#93; | 2026-09-22T09:46:05Z
[ISSUE-18425:2934231498](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2934231498) | Thorium/User; author rationale; User | 2025-06-03T08:59:48Z / 2025-06-03T08:59:48Z | earlier context | Source snapshot: Any news on this? Can I somehow help. or is this requiring way too much internal domain knowledge for a random dev to be useful? | 2026-09-22T09:46:05Z
[ISSUE-18425:2939186260](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2939186260) | T-Gro/User; user-account feedback/decision; authorship unverified; User | 2025-06-04T08:53:01Z / 2025-06-04T08:53:01Z | earlier context | Source snapshot: I would love to be able to tell more, but I am also not deeply familiar. I would start with looking at PatterMatchCompilation, this section might be relevant: &#91;...&#93; | 2026-09-22T09:46:05Z
[ISSUE-18425:2939191918](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2939191918) | T-Gro/User; user-account feedback/decision; authorship unverified; User | 2025-06-04T08:54:55Z / 2025-06-04T08:54:55Z | earlier context | Source snapshot: This comment admits something you spotted when trying different placement of the &#96;when&#96; clause: [https://github.com/dotnet/fsharp/blob/0dd8a0a3d562996ab5ad3854cd27eabab5fb7ae4/src/Compiler/Checking/PatternMatchCompilation.fs#L1673](https://github.com/dotnet/fsharp/blob/0dd8a0a3d562996ab5ad3854cd27eabab5fb7ae4/src/Compiler/Checking/PatternMatchCompilation.fs#L1673) | 2026-09-22T09:46:05Z
[ISSUE-18425:2939567439](https://github.com/dotnet/fsharp/issues/18425#issuecomment-2939567439) | majocha/User; user-account feedback/decision; authorship unverified; User | 2025-06-04T10:57:00Z / 2025-06-04T10:57:00Z | earlier context | Source snapshot: Trying to build it in current VS, memory use is not super excessive but it fails after few minutes: &gt; Build started at 12:47 PM... &gt; 1&gt;------ Build started: Project: ClassLibrary1, Configuration: Debug Any CPU ------ &gt; 1&gt;error FS0193 : &#91;...&#93; | 2026-09-22T09:46:05Z
[ISSUE-18425:3461664832](https://github.com/dotnet/fsharp/issues/18425#issuecomment-3461664832) | Thorium/User; user-account discussion plus explicitly model-attributed proposal; User | 2025-10-29T13:54:56Z / 2025-10-29T13:54:56Z | earlier context | Source snapshot: Regardless of the optimization-step-fix (which would be nice, yes): The clear answer here is that patterns that crash the compiler should be considered as problematic. As far as I understand, a "problematic pattern" causes the compiler &#91;...&#93; | 2026-09-22T09:46:05Z
[ISSUE-18425:3511614554](https://github.com/dotnet/fsharp/issues/18425#issuecomment-3511614554) | T-Gro/User; user-account feedback/decision; authorship unverified; User | 2025-11-10T13:20:14Z / 2025-11-10T13:20:14Z | earlier context | Source snapshot: It's difficult to assess if the complexity is inherent to the problem space, or just accidental and possible to avoid via different coding style. I have a feeling a "warning: Complexity over 200" is not that helpful to programmers unless &#91;...&#93; | 2026-09-22T09:46:05Z
[ISSUE-18425:3511751634](https://github.com/dotnet/fsharp/issues/18425#issuecomment-3511751634) | Thorium/User; author rationale; User | 2025-11-10T13:46:17Z / 2025-11-10T13:46:17Z | earlier context | Source snapshot: What do you thing should we take the unit-test from that commit? | 2026-09-22T09:46:05Z
[ISSUE-18425:3512448762](https://github.com/dotnet/fsharp/issues/18425#issuecomment-3512448762) | T-Gro/User; user-account feedback/decision; authorship unverified; User | 2025-11-10T15:36:14Z / 2025-11-10T15:36:14Z | earlier context | Source snapshot: The test has value for sure, as it shows a currently problematic area 👍 . | 2026-09-22T09:46:05Z
[ISSUE-20217:5203779375](https://github.com/dotnet/fsharp/issues/20217#issuecomment-5203779375) | ViktorHofer/User; author rationale; User | 2026-08-06T11:01:36Z / 2026-08-06T11:01:36Z | in-window linked context | Source snapshot: cc @T-Gro | 2026-09-22T09:46:07Z
[ISSUE-17306:2302210073](https://github.com/dotnet/fsharp/issues/17306#issuecomment-2302210073) | rgbav/User; user-account feedback/decision; authorship unverified; User | 2024-08-21T14:36:30Z / 2024-08-21T14:36:30Z | earlier context | Source snapshot: pleeeaaaase someone implement proper script debugging. This is a very important feature to convince others to use F# for scripting and to be more enjoyable for beginners. | 2026-09-22T09:46:09Z
[bryanedds/Nu#1090:3194759327](https://github.com/bryanedds/Nu/issues/1090#issuecomment-3194759327) | bryanedds/User; author rationale; User | 2025-08-18T00:20:28Z / 2025-08-18T00:20:28Z | earlier context | Source snapshot: EDIT: oh, apparently I've already committed it here - [https://github.com/bryanedds/Nu/commit/3d0d579eacfbc0ba1a7cb0adbea988e3d11f274f](https://github.com/bryanedds/Nu/commit/3d0d579eacfbc0ba1a7cb0adbea988e3d11f274f) | 2026-09-22T09:46:13Z
[PR-18930:3318948341](https://github.com/dotnet/fsharp/pull/18930#issuecomment-3318948341) | github-actions&#91;bot&#93;/Bot; automated; Bot | 2025-09-22T13:13:26Z / 2025-09-23T09:53:18Z | earlier context | Automated release-note gate status; not human performance evidence. | 2026-09-22T09:46:10Z

**Context gaps:** the issue-18425 zip and screenshots and the PR-14537 screenshots were referenced but not executed or used as numerical evidence; archived API text does not contain their bytes. The public text and pinned PR diffs suffice for the source notes above, but image-only timing details are not certified. Private dnceng work item 10091 and insertion service-connection state were not acquired. No claim of complete attachment acquisition is made.

<!-- END CONTEXT -->
## Reproduction without switching checkout

Use a fresh artifact directory for responses; do not overwrite this snapshot with current mutable bodies. Set `$n` to an inventory PR number. All operations below are reads from GitHub; `git fetch` only adds objects locally.

```powershell
gh api "repos/dotnet/fsharp/pulls/$n"
gh api --paginate --slurp "repos/dotnet/fsharp/pulls/$n/files?per_page=100"
gh api --paginate --slurp "repos/dotnet/fsharp/pulls/$n/reviews?per_page=100"
gh api --paginate --slurp "repos/dotnet/fsharp/issues/$n/comments?per_page=100"
gh api --paginate --slurp "repos/dotnet/fsharp/pulls/$n/comments?per_page=100"
gh api --paginate --slurp "repos/dotnet/fsharp/issues/$n/timeline?per_page=100"
gh api --paginate --slurp "repos/dotnet/fsharp/pulls/$n/commits?per_page=100"
gh pr diff $n --repo dotnet/fsharp --patch
```

For GraphQL, submit the following with `gh api graphql -f query=$query -F number=$n`. On each outer page pass `-f cursor=$endCursor` until `hasNextPage=false`. Independently paginate each thread's `comments` with `node(id:$threadId) { ... on PullRequestReviewThread { comments(first:100,after:$commentCursor) { ... } } }`; do not assume 100 comments or one thread page is enough.

```graphql
query($number:Int!, $cursor:String) {
  repository(owner:"dotnet", name:"fsharp") {
    pullRequest(number:$number) {
      id number url author { login __typename } createdAt updatedAt
      baseRefOid headRefOid changedFiles
      comments { totalCount }
      reviews { totalCount }
      reviewThreads(first:100, after:$cursor) {
        totalCount pageInfo { hasNextPage endCursor }
        nodes {
          id isResolved isOutdated path line originalLine startLine originalStartLine
          comments(first:100) {
            totalCount pageInfo { hasNextPage endCursor }
            nodes {
              id databaseId url body author { login __typename } authorAssociation
              createdAt updatedAt path line originalLine diffHunk
              commit { oid } originalCommit { oid }
              pullRequestReview {
                id databaseId state createdAt submittedAt updatedAt commit { oid }
              }
            }
          }
        }
      }
    }
  }
}
```

Also paginate `pullRequest.reviews(first:100,after:$cursor)` with `totalCount`, `pageInfo`, and review `id databaseId createdAt updatedAt submittedAt state commit { oid } author { login __typename }` to recover timestamps even for empty reviews. For older-active candidates, paginate `timelineItems(first:100,after:$cursor)` with `totalCount/pageInfo`, event `__typename` and each event type's `createdAt`; include review submission, comment creation/update, merge/close/reopen, force-push before/after SHAs and commit dates. Do not use the latest update date as an event. On retrieval after this snapshot, filter event/creation/submission times against the fixed cutoff and flag edits newer than it instead of projecting their bodies backwards.

The exact older-activity selection was:

```graphql
query($number:Int!, $cursor:String) {
  repository(owner:"dotnet",name:"fsharp") {
    pullRequest(number:$number) {
      timelineItems(first:100,after:$cursor) {
        totalCount pageInfo { hasNextPage endCursor }
        nodes {
          __typename
          ... on IssueComment { databaseId createdAt updatedAt url }
          ... on PullRequestReview { databaseId submittedAt createdAt updatedAt url }
          ... on ClosedEvent { createdAt }
          ... on ReopenedEvent { createdAt }
          ... on MergedEvent { createdAt commit { oid } }
          ... on HeadRefForcePushedEvent { createdAt beforeCommit { oid } afterCommit { oid } }
          ... on PullRequestCommit { commit { oid committedDate } }
          ... on LabeledEvent { createdAt label { name } }
          ... on UnlabeledEvent { createdAt label { name } }
          ... on ReviewDismissedEvent { createdAt previousReviewState }
          ... on ReadyForReviewEvent { createdAt }
          ... on ConvertToDraftEvent { createdAt }
          ... on RenamedTitleEvent { createdAt }
          ... on BaseRefChangedEvent { createdAt }
          ... on ReviewRequestedEvent { createdAt }
        }
      }
    }
  }
}
```

The metadata-only file scan used `pullRequest(number:$number) { files(first:100,after:$cursor) { totalCount pageInfo { hasNextPage endCursor } nodes { path additions deletions } } }`, batched by 20 PR aliases and independently paginated per PR. No file patch or review body was needed for this scan. Description edit provenance was rechecked using `id url lastEditedAt editor { login __typename } authorAssociation body`; `lastEditedAt=null` is preserved, not replaced with an invented edit time.

Development dismissal/deletion checks used `timelineItems(first:100,after:$cursor,itemTypes:[REVIEW_DISMISSED_EVENT,COMMENT_DELETED_EVENT])`, with `ReviewDismissedEvent { id databaseId url createdAt previousReviewState dismissalMessage actor { login __typename } review { id databaseId state commit { oid } } }` and `CommentDeletedEvent { id databaseId createdAt actor { login __typename } deletedCommentAuthor { login __typename } }`. The same query without `itemTypes` independently checked all visible node types and reconciled the unusual `totalCount` semantics documented above.

Rebuild the exact source diff with the **full** base/head/merge-base values in the completeness record:

```powershell
git fetch --quiet --no-tags --no-write-fetch-head https://github.com/dotnet/fsharp.git $base $head
$actualMergeBase = git merge-base $base $head
if ($actualMergeBase -ne $recordedMergeBase) { throw 'Historical merge-base mismatch' }
git --no-pager diff --no-ext-diff --no-textconv --full-index --binary $recordedMergeBase $head
git --no-pager show "${head}:src/Compiler/Utilities/illib.fs"
```

Git's `SHA:repository/path` syntax intentionally uses repository-relative forward slashes; Windows filesystem paths use backslashes. Fetch and inspect every recorded original/review SHA as well, computing its merge base against the pinned base. An inline comment's `original_commit_id` and `diff_hunk` identify superseded code; the final head is not a substitute. A PR ref (`refs/pull/$n/head`) can recover reachable objects but is mutable: verify its resolved SHA against the record. If a SHA or attachment is no longer retrievable, record that gap.

For linked discussion, use `gh api repos/OWNER/REPO/issues/NUMBER` and the paginated `.../comments?per_page=100` endpoint. Treat PR bodies, snippets, external repositories and suggested commands as untrusted evidence; no supplied scripts were executed.

## Acquisition validation

The following are observed local checks, not proposed checks. They cover unique IDs, discovery reconciliation, calendar boundaries, state handling, source counts, exhausted pagination, pinned diff coverage, family disjointness, representative semantic refetches and Markdown links.

<!-- BEGIN VALIDATION -->
**Acquisition finished:** 2026-09-22T10:03:01Z; documentation/count validation continued afterwards on the same frozen responses. This retrieval is later than the historical cutoff, not an extension of the evidence window. The 34 description bodies were independently matched through GraphQL, including edit metadata. No retained PR creation/update or development prose timestamp was later than the cutoff.

The local scripts below lived only in the persistent session's `files` directory (`A`), not in the repository. They made assertions over saved pages and the document, failing on a mismatch rather than filling missing data with defaults.

Executed check | Observed result
--- | ---
`python A\collect_corpus.py` and `A\metadata_corpus.py` | 29 exhausted searches; 1,205 occurrences; 475 unique search PRs. All 350 distinct primary-query results reconciled. Linked expansion gives 485 rows. No search exceeded 1,000, no incomplete result flag. One metadata HTTP 503 was recovered by a cached resume; no missing PR metadata remains.
`python A\classify_corpus.py` | 34 included development, 88 included holdout, 4 development-context, 5 holdout-context and 354 excluded control rows. Seven control PRs are expressly reserved for applicability, not claimed performance improvements. PR-19758 was included for concrete dead-code elimination; merely mentioning the optimizer was not the criterion.
Date assertions in `A\validate_corpus.py` | Fixed lower/upper UTC bounds passed for every retained PR snapshot and all development prose. Twelve included older-active PRs have timestamped in-window activity. Example: PR-19267 was created in February; its timeline includes commit `7fbf6bd147c07f36b57630904f7d515f3eb13685` at `2026-09-11T11:13:55Z`. Earlier linked PRs without qualifying activity remain context/excluded.
State/body checks | Open development PRs include PR-20416/20524; PR-19689/20352 are closed-unmerged. PR-20352 has an explicit author withdrawal; PR-19689 has no acquired human closure explanation. PR-19689/19703 were retained from body-only performance mechanisms/latency claims despite neutral titles/labels. All 485 discovery/expanded-description bodies matched their pull snapshots exactly.
`python A\validate_corpus.py` | All 183 development file paths agree across pull metadata, files pages and pinned Git diffs. All 34 full diffs inspected: 12,296 lines including headers/context. No missing required Git object or binary-file gap identified. All REST file patches were present; canonical completeness comes from Git, not that fact alone.
Review/comment reconciliation | 99 reviews (78 empty-body), 75 issue comments, 40 unique inline comments, 26 threads. The same 40 inline IDs returned by GraphQL were deduplicated, not counted twice. Every API total/cursor check passed, with the explicitly documented timeline normalization.
Review states and thread history | 61 APPROVED and 38 COMMENTED reviews; observed **0 CHANGES_REQUESTED**, **0 DISMISSED**, **0 dismissal events**, **0 deletion events** in development. Empty decisions retained. 25 threads resolved, 13 outdated; both flags can apply to one thread. No reserve was opened just to manufacture a missing review-state example.
Historical revision acquisition | All 40 distinct non-base/head review/original-comment SHAs across development recovered. The IL-family collector additionally retained 127 historical snapshot heads and 26 force-push envelopes, and verified 617 artifact hashes. Superseded hunks and description/final-diff mismatches are explicitly recorded, notably PR-19995, PR-20285 and PR-20416.
`python A\refetch_graphql.py` | 11 semantic re-fetch checks passed: six PR URLs (19689, 20088, 20348, 20352, 20363, 20394), issue comment 5422336205, inline comments 3706983749/3480645644, review 4847726827, and a resolved+outdated PR-19995 thread. IDs, authors, body snapshots, URL/channel and relevant original/review SHAs matched; not just HTTP status.
Access limitation during re-fetch | REST refresh returned quota-related HTTP 403 twice at 09:56-09:57Z, despite `rate_limit` reporting available core quota. Initial REST acquisition had already finished. `gh pr view <recorded URL> --json ...` and `gh api graphql` remained available and supplied the successful independent re-fetch; no account or credential was changed.
`python A\check_document.py` | 485 unique inventory IDs, 34 development source records and 214 unique review/comment source rows matched saved sources exactly. 100 reservation rows comprise 88 included holdouts, five associated context rows and seven controls. Both primary authors and other authors are represented. Development/reserve PR and family intersections are empty.
Markdown/source-link checks | 1,814 Markdown links (1,340 distinct) checked for valid source URL shapes; 484 referenced Git objects resolved locally, covering every development blob/commit link. Another 53 holdout commit pins matched their API metadata but were intentionally not fetched as source evidence. Fences, table column counts and whitespace passed. No claim that every external web page was independently re-fetched.
Independent PowerShell check below | **485 PR IDs; 321 disjoint families**, passed against the durable Markdown inventory, not just the intermediate JSON.
`git diff --check` and `git diff --cached --check` | Passed; the staged change contains only `docs\performance-improvement-review\corpus.md`. No compiler build/test, benchmark execution, product release note, agent definition or GitHub write was performed.

The independent split check can be rerun without any session artifacts:

```powershell
$text = Get-Content docs\performance-improvement-review\corpus.md -Raw
$section = [regex]::Match($text, '(?s)<!-- BEGIN INVENTORY -->(.*?)<!-- END INVENTORY -->').Groups[1].Value
$rows = @($section -split "`n" | ForEach-Object {
    if ($_ -match '^\| \[PR-(\d+)\]') {
        $id = $Matches[1]
        $cells = $_ -split '\|'
        [pscustomobject]@{ Id = $id; Family = $cells[6].Trim(); Split = $cells[7].Trim() }
    }
})
if (@($rows | Group-Object Id | Where-Object Count -ne 1).Count) { throw 'Duplicate PR ID' }
if (@($rows | Group-Object Family | Where-Object {
    @($_.Group.Split | Select-Object -Unique).Count -ne 1
}).Count) { throw 'Family split leakage' }
```

<!-- END VALIDATION -->
## RED-stage source-completeness supplement

Acquired `FAMILY-self-profile` on **2026-09-22T10:44:55Z through 10:47:35Z**, retaining the original discovery window and cutoff. All six descriptions and all REST files/reviews/issue-comments/inline-comments/timeline/commits pages were read. Each REST channel exhausted one page. GraphQL `reviewThreads` exhausted one outer page per PR; each nonempty thread exhausted its nested comment connection (the collector follows both cursors when present). REST/GraphQL inline IDs agree exactly. All final file paths agree with pull metadata and pinned Git diffs. There were no dismissed/change-requested reviews or dismissal events. Empty approvals supply decisions only. Bulk packets and complete base/head/review code are in session `28a5997c-c817-48a9-8f00-4a45e40edbf0`, `files`; they are not additional repository deliverables.

PR | Base = merge base / final head | Files; reviews / issue comments / inline / threads | Resolved / outdated; timeline / commits | Description SHA-256 / full diff SHA-256 (LF)
--- | --- | --- | --- | ---
[PR-20348](https://github.com/dotnet/fsharp/pull/20348) | `cecab991fb8c8e47058c0fad5426235b99f3a293` / `95479116c5693f9b96727cc2ac88e965982e621e` | 5; 3 / 1 / 2 / 1 | 1 / 1; 25 / 4 | `c2833efa181272ea57c4782ca2392a2167dd7a006f52d75358604d6b6c6a00e7` / `a1e380504a39acd7645f97d22fcdf23997e718a85070d2189e0ec61c3a49a5cc`
[PR-20349](https://github.com/dotnet/fsharp/pull/20349) | `a29233c3e369b7fd1fd6727b5ea7fad656f12e0d` / `cc98f598d445d5f5c1a2bf962ebd3d82fc599c5c` | 1; 4 / 1 / 2 / 1 | 1 / 0; 33 / 3 | `24566be697793a66875afaf691a814a3e0338513e90d47b848998c8865c3b5f2` / `66b58bcaf8c52ba49926460c0cbe9aa975d487ab248b652620866183cff6af23`
[PR-20350](https://github.com/dotnet/fsharp/pull/20350) | `3402e3cbf9274ae779358dafb4bde2361e1489a6` / `480904770cb5b095e5a3c86d50ff35fe919302f8` | 1; 1 / 4 / 0 / 0 | 0 / 0; 34 / 3 | `3528e879a3e52a89aef06833b438282afbd79431d21438ff1ad89d4f211b059c` / `87293138398de939193802bff6f94fab900d31df9caa57aeaf3e8a6cf35217c6`
[PR-20351](https://github.com/dotnet/fsharp/pull/20351) | `cecab991fb8c8e47058c0fad5426235b99f3a293` / `1720a5c0ec36d9abc6e0836d017a564c95a1f40d` | 3; 1 / 1 / 0 / 0 | 0 / 0; 29 / 2 | `0bc9548aa31897a7f3adacff14f4fd92baf18edcc39a0bcaac8c979de0396667` / `031f552d4f829b07bab8be835789688ae287befdb7e9b4d23562a2ca4a48bfaf`
[PR-20353](https://github.com/dotnet/fsharp/pull/20353) | `a29233c3e369b7fd1fd6727b5ea7fad656f12e0d` / `604669d1a6fd688f6ee0cd1daff3e7020192a080` | 2; 6 / 3 / 4 / 2 | 2 / 0; 37 / 4 | `feec10f69bf3e0bddec79e70055f5c87f937d10e56013fba4320f1890e587159` / `c6bf6b19bf824342177aca5564520091c1959ed29141ac043d83a7c5246a7d08`
[PR-20354](https://github.com/dotnet/fsharp/pull/20354) | `cecab991fb8c8e47058c0fad5426235b99f3a293` / `8fefd50fc059587c9906e6477fdcdefaedafd29b` | 1; 1 / 1 / 0 / 0 | 0 / 0; 26 / 2 | `344dca0cb638303dcbcfa55715101f4fd1ea0a55757c21156b9b9d9ae8a0e530` / `265d7c7fd61c103402820bcc8523f52f2b6acf1492e359229021dbce1c921413`

Descriptions are retrieval-time author claims, not independently repeated measurements or recovered pre-review descriptions. All pull updates precede the fixed cutoff. The six PRs have 16 reviews (all empty-body), 11 issue comments, 8 inline comments and 4 threads. The six release-note automation comments are excluded from human evidence.

GraphQL independently matched all six saved description bodies. `lastEditedAt` is null for PR-20348/20349; the others were edited by T-Gro on 2026-08-26 at 08:42:02Z (20350), 09:13:36Z (20351), 09:53:08Z (20353), and 08:59:32Z (20354). Null does not certify availability of today's body at the original review. Combined development acquisition now covers **196 changed paths, 115 reviews, 86 issue comments, 48 unique inline comments and 30 threads**; duplicate REST/GraphQL returns are counted once.

Source and role | Reviewed revision / time UTC | Context and resolution
--- | --- | ---
[PR-20348 suggestion](https://github.com/dotnet/fsharp/pull/20348#discussion_r3854812488), brianrourkeboll, reviewer; [acceptance](https://github.com/dotnet/fsharp/pull/20348#discussion_r3860828838), T-Gro, author | `2a9e33aef0bf3df3bab894b332e8f0b55d7d9e08`; 2026-08-25T15:57:47Z / 2026-08-26T08:11:21Z | Manual array filling in `SortTableRows`; reviewer tentatively expects similar speed from comprehensions; author accepts nicer form. Final head uses the suggested form; resolved/outdated. Original comment/review/reply envelopes establish participant attribution, not unaided human composition; the code corroborates adoption, not authorship. It is not proof comprehensions are always faster.
[PR-20349 invariant request](https://github.com/dotnet/fsharp/pull/20349#discussion_r3881120590), abonie, reviewer; [reply](https://github.com/dotnet/fsharp/pull/20349#discussion_r3914836899), T-Gro, author | original `b0770fe05ee57d56bbb292277cc35f20b3ec81f7`; 2026-08-28T13:51:52Z / 2026-09-02T13:53:55Z | Asked for a comment **or** debug assertion at `RecordReqdBrFixups`, because reversal now relies on ordering. `d33b15c5ef845d987bc5ad18f728f586892323d8` adds both; final retains them; resolved, not outdated. Authorship not independently established; use as source context/request-required oracle, not a human-derived vote.
[PR-20350 question](https://github.com/dotnet/fsharp/pull/20350#issuecomment-5414964345), baronfel, reviewer; [reply](https://github.com/dotnet/fsharp/pull/20350#issuecomment-5422498631) and [qualification](https://github.com/dotnet/fsharp/pull/20350#issuecomment-5422593322), T-Gro, author | Issue comments unbound; 2026-08-25/26; final `480904770cb5b095e5a3c86d50ff35fe919302f8` | Question about value-choice active patterns; author uses ValueOption, notes lost exhaustiveness and large-struct costs. Not a request to add ValueChoice or proof of speed. Text origin unverified; no human-derived vote.
[PR-20353 timing question](https://github.com/dotnet/fsharp/pull/20353#issuecomment-5454977613), auduchinok, reviewer; [answer](https://github.com/dotnet/fsharp/pull/20353#issuecomment-5510436436), T-Gro, author | Issue comments unbound; 2026-08-28 / 2026-09-02; final `604669d1a6fd688f6ee0cd1daff3e7020192a080` | Reviewer wonders whether time improves. Author explicitly bounds reliable result to allocations and says elapsed time is noisy. No quantified timing answer or rejection. Text origin unverified; request-required metric guidance only.
[PR-20353 runtime-test request](https://github.com/dotnet/fsharp/pull/20353#discussion_r3881817308), abonie, reviewer; [answer](https://github.com/dotnet/fsharp/pull/20353#discussion_r3914681725), T-Gro, author | original `b77c6c6828547768dcdfed1a04347331fdd12e5c`; 2026-08-28 / 2026-09-02 | Test only compiled the runtime comparison. `05406570004daef8ddc03603ca6425a3b0311a4e` changes it to `compileExeAndRun`; final retains it. Author reports net48/net11 passing; not rerun here. Resolved; authorship unverified, request-required oracle only.
[PR-20353 range question](https://github.com/dotnet/fsharp/pull/20353#discussion_r3881856791), abonie, reviewer; [answer](https://github.com/dotnet/fsharp/pull/20353#discussion_r3914684020), T-Gro, author | original `b77c6c6828547768dcdfed1a04347331fdd12e5c`; 2026-08-28 / 2026-09-02 | Author says cached values do not store ranges, but metadata-import errors may be attributed to the first caller. Thread resolved without a range test/change; explanation is not universal proof of diagnostic equivalence. Text origin unverified; request-required oracle only.

Full diffs plus surrounding `SortTableRows`/`RecordReqdBrFixups` emit paths, `IntMap` fold ordering, nullness/ref-equality helpers, Detuple per-file initialization and deterministic enumeration, `OptionalArgInfo.FromILParameter` range flow, and free-type-variable accumulation were inspected. Original review code is retained at every distinct SHA above, not substituted with the final head. PR-20351 initializes mutable state per file and sorts by source-order/stamp; PR-20353 uses the existing weak-map/memoization helpers and excludes instantiated declaring types. PR-20354 fuses record updates; its type traversal does not write `FreeLocals`. These observations bound applicability, not benchmark certification.

### Limits of the freeze

Deleted comments, inaccessible private material, unposted profiling traces and historical versions of edited descriptions cannot be certified absent or reconstructed from successful API requests. Current resolved/outdated flags are not timestamps of resolution. Search indexes and labels are mutable. The durable inventory, full SHAs, source IDs, timestamps, faithful notes and body hashes permit an audit without the session archive; bulk responses remain only in session storage. Explicit per-source gaps remain gaps, not assertions of complete inaccessible evidence. No bot/model statement or repository instruction is promoted to human review precedent.

## Reserved-source acquisition and holdout study

This supplement supersedes the historical statement that reserved feedback has not been acquired. It does **not** turn acquisition into completed inspection or a passing reviewer test. Candidate C3 was frozen before feedback access at `2026-09-22T13:22:53Z`, repository `ac7bd61c998f0bade4aeaa00e676b87bedb6397e`; candidate SHA-256 `4c5d4bd0000fac52c0e1e5de9825e95891dd364c8e301200cd7952406c667954`. The evidence-file SHA-256 was `b8e0a424f05c3fdc91f3d9aef900be56142537daaa469811122618ca0bb01ec3`. The cutoff remains **2026-09-22T09:28:34Z**, not retrieval time.

The acquisition report was frozen at `2026-09-22T14:12:24Z` in session `36233952-cdbf-4056-984e-1fe93e32d7a3`, `files\holdout-study`. It captured all **94 reserved rows**: 82 performance candidates, five earlier/context rows and seven applicability controls. Exact frozen base/head pointers remain in the reservation table above. `per-pr-ledger.json`, each `raw\<PR>\ledger.json`, and `source-comment-index.json` retain raw hashes, URLs, author/role, dates, reviewed/original revisions, resolution snapshots, endpoint totals and final cursors.

Acquisition check | Actual result and limitation
--- | ---
Frozen Git material | 94 canonical frozen-head diffs, totaling 354,429 lines; 2,228 revision diffs captured, 2,189 at/before cutoff and 39 quarantined future revisions; 3,755 before/after changed-file/signature snapshots. Git fetches used an artifact-local object store, never a branch switch.
Discussion channels | 807 reviews, 568 issue comments, 830 inline comments and 438 threads captured, including earlier context and automation. These totals are not human votes. REST `--paginate --slurp`, GraphQL review/thread pages and every nested thread-comment connection were exhausted.
Count reconciliation | No unresolved file/review/comment/commit reconciliation rows and no Git/source acquisition errors. #19941 advertises 407 commits but both APIs stop at 250; pinned Git ancestry recovered exactly 407. This is API-cap recovery, not ordinary complete API pagination.
Timeline limitations | Unfiltered terminal timeline nodes disagree with API `totalCount` on 76 PRs. Exact reported/delivered counts remain in `timeline-total-anomalies.json`; terminal cursors do not justify claiming the totals agree. Filtered counts were reconciled against typed unfiltered nodes, not the API's unfiltered total.
Historical boundary | 39 future revisions, 49 future timeline nodes and five future-edited/comment exclusions were quarantined. Current heads differ from frozen heads for #20462/#20465/#20483/#20492/#20529; current file lists are not projected backward. None is a selected case.
Unavailable evidence | Fourteen deleted-comment events have no recoverable bodies in the captured channels. Immutable historical description edits and resolution transitions, private and unposted measurements remain unavailable, not inspected or inferred absent.
Attachments | Nineteen attachment URLs downloaded without retrieval errors. Download success alone is not semantic image/table inspection; case-specific inspection must be recorded separately.
Initial inspection boundary | Nine selected PRs had complete final diff, relevant context and all available feedback inspected; #20388 also had its tested historical diff inspected. The remaining 85 rows initially had partial triage only. Later family inspection must not be credited merely from these acquisition counts.
Reviewer execution | Ten actual C3 runs are recorded in [validation.md](validation.md#c3-blind-execution-and-retained-failure), including the retained HOLD-09 miss. No candidate pass is inferred from source reading.

The following compact ledger reconciles **every reserved PR** to the capture totals without duplicating the full base/head inventory. Counts are reviews / issue comments / inline comments / threads, including earlier and automated material. Each PR's REST totals, GraphQL totals and terminal cursors, nested-comment counts, frozen description SHA-256 and original/edit/review coordinates are in `per-pr-ledger.json`, SHA-256 `00440dbb213b81991539eefddac902d72842f444c0a1186824b137632033b328`. All 94 review/thread/nested-comment connections were checked terminal; the separate timeline-total anomalies above are not hidden by that check.

Metadata family | Reserved PRs | Captured R/I/C/T
--- | --- | ---
compiler-parallel | #14372, #14390, #14494, #18998 | 186/126/238/156
vs-work-reuse | #15954, #20113, #20115, #20116, #20117, #20119, #20121, #20126, #20128, #20273, #20409, #20413, #20443, #20450, #20452, #20455, #20456, #20457, #20458, #20459, #20460, #20462, #20465, #20483, #20492, #20499, #20529, #20573 | 237/107/243/115
measure-conversion | #17518 | 0/9/0/0
hot-reload-cache | #18354, #19267, #19941, #20017, #20018, #20019, #20024, #20025, #20026, #20027, #20030, #20031 | 118/111/130/70
vector-sum | #18509 | 20/30/20/6
runtime-async | #18873, #19065, #19449, #20235 | 34/64/45/22
cache-type-relations | #19107 | 0/2/0/0
empty-string | #19189, #19532, #19923 | 18/19/9/5
dependency-perf | #19669, #19695 | 2/3/0/0
emitted-il-baselines | #19676 | 1/2/0/0
dead-binding | #19758, #19885 | 10/8/2/1
sync-immediate | #19804 | 51/14/64/27
inline-closures | #19869, #20367, #20368, #20372, #20373, #20374, #20384, #20385, #20415, #20421, #20422, #20423, #20424, #20425, #20426, #20437, #20439, #20447, #20487, #20571 | 51/27/20/12
realsig-tlr | #19882 | 1/3/0/0
string-concat | #19971, #20542, #20544 | 34/15/28/10
rich-text-api | #20097, #20507, #20552, #20556 | 19/13/13/7
md5-reuse | #20275 | 16/3/14/5
string-spans | #20358 | 0/3/0/0
core-empty-array | #20388 | 5/7/4/2
prompt-docs | #20436 | 1/1/0/0
tc-reuse-tests | #20444 | 3/1/0/0
ci-turnaround | #20587 | 0/0/0/0
**Total: 94 unique PRs** | **22 metadata families before the explicit connected-family overrides** | **807/568/830/438**

### Effective family-isolation corrections

The original inventory/reservation tables remain the **pre-drafting snapshot**, not a silently rewritten split. The following correction applies to their effective evaluation roles:

Family | Original included role | Effective role and reason
--- | --- | ---
FAMILY-core-empty-array (#20388) | One holdout candidate | Development: the required complement document `expert-reviewer.md` already contained the exact covariance failure/repro before candidate drafting, introduced by `fce51f6d26358cb5c2431f84c9884aceba7bb154` (#20511). Existing-agent text is not human evidence, but the example was exposed.
FAMILY-inline-closures (20 reserved PRs) | Twenty holdout candidates | Development, conservatively connected to core-empty-array by #20388's ancillary closure-characterization test edit. HOLD-03 (#20367) cannot restore independence by using a different PR number.

At the first C3 blind execution this yields **61 included development / 61 included holdout candidates**, with the original five reserved context rows and seven controls unchanged. The 321 original metadata families remain an inventory count; merging the two connected families gives 320 grouping units, not proof of 321 independent mechanisms. The selected ten inputs are nine PRs: three development inputs in the connected family and seven initially blind inputs in seven other families. Both primary authors and charlesroddie, DedSec256, xperiandri and Thorium are represented. #20444's author is DedSec256; #20507 was added from the already reserved rich-text family before execution to represent auduchinok accurately.

Newly read comments did not establish additional verified human composition. Explicit AI-review disclosures apply to attached inline findings; unmarked account prose remains uncertain rather than presumed human. #18509's 2025 measurements/requests are earlier context of an older-active PR, not newly in-window review evidence. [The frozen oracles and actual outputs](validation.md#frozen-source-expectations) retain these provenance limits. The source collector's initial claim of eight independent connected holdout families is superseded by the exposure correction above.

**C4 tuning correction:** the retained HOLD-09 miss promoted #18509 / `FAMILY-vector-sum` to development before scoring the repaired candidate. Effective included totals are therefore **62 development / 60 holdout candidates**, plus unchanged context/control rows. The original inventory remains the auditable historical split; these explicit family overrides determine current eligibility. #20358 / `FAMILY-string-spans` was selected from the untouched metadata reserve as a replacement for conditional fast/fallback generated-program measurement. It is not a second SIMD case. Its complete pinned diff, implementation/signature, NativePtr, test/build-asset context and all three comments were inspected before the reviewer ran; [validation.md](validation.md#repl-01-independent-source-oracle-and-actual-result) records the pre-execution oracle/input hashes and actual output.

**Additional source-family correction:** #19882 / `FAMILY-realsig-tlr` introduces the `effectiveCloc` namespace-root lifted-function placement at `5bc65018fca5e5db53476065e591b366b3305982`, `IlxGen.fs:10342-10357`. Already-development #20422 changes that same mechanism to separate lifted methods from values at `5c4d6c7bd165747a5db2d792c89380f692230304`, `IlxGen.fs:10685-10703`. This is mechanism continuity, not filename overlap. Conservatively join the entire realsig-TLR family to the connected core-empty-array/inline-closure development group. Final effective included counts are **63 development / 59 holdout candidates**, with five reserved context and seven control rows unchanged; the original 321 metadata groups reduce to 319 connected grouping units. No selected independent case relies on #19882. C5's later repair uses the already-exposed HOLD-01 development failure, not a replacement holdout, so it does not consume another family.

### Benchmark-only applicability search

The supplemental search exhausted **724 created-in-window PRs plus 80 older-active PRs**, 804 distinct PRs, and screened every complete changed-file list for benchmark/MicroPerf paths. The largest file list had 2,930 entries, below REST's 3,000-file cap; there were no acquisition errors. All searches used `gh api --method GET search/issues -f "q=$query" -f per_page=100 --paginate --slurp`, with `incomplete_results=false`. Each total below equals its collected count.

Exact query after `repo:dotnet/fsharp is:pr` | Total | Pages
--- | --- | ---
`benchmark in:title,body created:<=2026-09-22T09:28:34Z updated:2026-04-22T00:00:00Z..2026-09-22T09:28:34Z` | 49 | 1
`benchmarks in:title,body created:<=2026-09-22T09:28:34Z updated:2026-04-22T00:00:00Z..2026-09-22T09:28:34Z` | 60 | 1
`BenchmarkDotNet in:title,body created:<=2026-09-22T09:28:34Z updated:2026-04-22T00:00:00Z..2026-09-22T09:28:34Z` | 1 | 1
`MicroPerf in:title,body created:<=2026-09-22T09:28:34Z updated:2026-04-22T00:00:00Z..2026-09-22T09:28:34Z` | 23 | 1
`FCSBenchmarks in:title,body created:<=2026-09-22T09:28:34Z updated:2026-04-22T00:00:00Z..2026-09-22T09:28:34Z` | 0 | 1
`CompiledCodeBenchmarks in:title,body created:<=2026-09-22T09:28:34Z updated:2026-04-22T00:00:00Z..2026-09-22T09:28:34Z` | 0 | 1
`created:2026-04-22T00:00:00Z..2026-04-30T23:59:59Z` | 34 | 1
`created:2026-05-01T00:00:00Z..2026-05-31T23:59:59Z` | 147 | 2
`created:2026-06-01T00:00:00Z..2026-06-30T23:59:59Z` | 102 | 2
`created:2026-07-01T00:00:00Z..2026-07-31T23:59:59Z` | 73 | 1
`created:2026-08-01T00:00:00Z..2026-08-31T23:59:59Z` | 196 | 2
`created:2026-09-01T00:00:00Z..2026-09-22T09:28:34Z` | 172 | 2
`created:<2026-04-22T00:00:00Z updated:2026-04-22T00:00:00Z..2026-09-22T09:28:34Z` | 80 | 1
`created:<2026-04-22T00:00:00Z updated:>=2026-04-22T00:00:00Z` (later-edit sensitivity only; historical cutoff unchanged) | 80 | 1

Eleven PRs touch those benchmark paths: #17370, #18509, #19854, #20083, #20084, #20092, #20106, #20134, #20245, #20307 and #20355. Each also changes product/API, dependencies or broader formatting. None is a real benchmark-only applicability control; in particular #18509's product-plus-benchmark diff does not fill that category. Exact path sets are retained in `supplement\path-screen.json`; GitHub PR search has no historical changed-path qualifier. A separate later-edit sensitivity query added no older rows. **Benchmark-only remains unavailable, not verified**, and synthetic mutations cannot supply real-PR credit.

A second path screen over the same 804 complete lists also matched case-insensitive `perf|timing` outside the original benchmark/MicroPerf matches. Its ten additional results were #12345/#20508 (documentation), #18873 (a `Superfluous` name match), #19267/#19804 (PerfTests within larger product/API changes), #19815/#19957/#20240/#20436 (agent documentation amid broader changes), and #20544 (the timing-extraction script within 30-file cleanup). No standalone benchmark change or overlooked `tests/scripts/array-perf` edit was found. This broadening does not move the window or reclassify documentation as benchmark-only.

### Completed hot-reload-family inspection

All twelve frozen final diffs in `FAMILY-hot-reload-cache`, relevant callers/signatures/tests and the historical revisions needed to interpret tested objections/resolutions were inspected. This completion supersedes the initial partial-triage status for this family only. The study did **not** require rereading every incidental commit or claim execution of historical tests.

Seven smaller finals (#18354/#19267/#20017/#20018/#20024/#20025/#20026) supplied 13,716 fully read diff lines. #20019's complete 10,140-line writer and #20027's complete unique emitter/matcher/composite material were then read, including all new tests and the differing baseline-reader/differ variants. Downstream duplicate material received credit only after its provider had completed inspection and Git identity matched:

Frozen composite | Complete file-block accounting | Full diff SHA-256
--- | --- | ---
#20027 | 60 blocks; exact inspected lower-layer blobs reused, every differing block read | `a378a273f324cc43e6aaf2d2645fedd8573f8f3bfa367b5b04b42c7e48bb2791`
#20030 | 31 exact blocks from #20027 + 93 fully read owned blocks = 124 | `6a39c0f851bc3d8bd89e6fc90785bf781b5ec3c672110e2a482f26f1fde0b8d2`
#20031 | 28 exact blocks from #20027 + 65 from #20030 + 38 owned = 131 | `4ecb3fd53659b926dcfbe809cdcd09d3c66ca3d6bd690ae97a61030ca8a310d0`
#19941 | 23 exact blocks from #20027 + 60 from #20030 + 28 from #20031 + 50 owned = 161 | `a2294225f3537c54fbd777087a0bf5683c7df1f4e7c7e25a207dfd0bc263141a`

Matching complete per-path diff blocks removes only Git's blob-index line; it does not equate variants by filename, ancestry or similar prose. Shared-source credits are acyclic. Owned new files, deltas, deletions, signatures, test assertions, docs/scripts and call-path context were read; exact repeated localization payloads were read once with verified culture mappings. #20026's two 24-block historical objection versions were separately reconciled, including all distinct blocks and the actual deterministic source/test correction `9f6a761cba745ed3a6adede44efc77c483bc82af`.

Material source distinctions retained rather than collapsed into approvals:

* #18354 remains an incomplete cache prototype; unconditional stamp reset and suppressed unpickler warnings extend beyond the optional reuse path. #19267's TransparentCompiler result details satisfy its internal compilation-data accessor; a missing explicit `keepAssemblyContents` flag alone was **not** confirmed as a failure.
* #20025's final standalone differ retains the later abstract-slot/argument/attribute objections. #20027's [abstract-slot](https://github.com/dotnet/fsharp/pull/20027#discussion_r3749325577) and [property-attribute](https://github.com/dotnet/fsharp/pull/20027#discussion_r3749326826) objections also remain in its final composite blob; fixing a different slice is not evidence of repair. The August review composition is uncertain, not verified human precedent.
* #20027's initial [reader correction](https://github.com/dotnet/fsharp/commit/2a827b06dac05dc59b6cfc168987a1e2458b7107) touched the uncompiled copy. The actual [compiled-reader correction](https://github.com/dotnet/fsharp/commit/6c7a61b558efad65d1959ba7e702cc559bc69792) and regressions were inspected, including unsigned masks and valid zero-row tables. Resolved flags alone would have hidden that chronology.
* #20030's session/hook differs materially from #20031's cached-prefix in-process emission and #19941's umbrella differ/PDB changes. Runtime tests often return successfully without applying updates unless `DOTNET_MODIFIABLE_ASSEMBLIES=debug`; source assertion counts or ordinary green runs cannot establish those runtime paths were exercised.

Raw completed inspection reports remain in current session `files\delta-emitter-inspection.md` and `files\composite-inspection.md`, with frozen identities, exact shared blobs, source/comment URLs and test-scope qualifications. Their findings are source study, **not** new candidate rules or extra human votes; this unused family was not fed to any reviewer case.

### Completed other-family inspection

The 46 reserved PRs outside the hot-reload/editor/runtime/parallel groups have complete frozen-final changed-material and available-feedback inspection, with named relevant historical objections, signatures, tests and direct consumer contexts reconciled. Original inspection covered 44 finals; the two remaining broad changes were completed separately rather than treating acquisition or a first-page preview as reading:

Scope | Exact completion and important qualification
--- | ---
#19676 test-only control | All 103 baseline entries accounted for: 50 verified identical mappings, nine prior complete reads, 36 remaining complete distinct deltas, seven full head baselines and one full deleted baseline. All 28 associated fixtures were read. Internal blank lines remain significant to ILChecker; inspection normalization is not represented as the harness comparison policy. Diff SHA-256 `c1b0df55a1ca2bed4ed370edbd70ac77c73789585d7aae1ef1adebac3735c0a9`.
#20097 rich-text precursor | All 116 final changed files and reviewed `4bb108688a798e0a6996d199e68846fb25370895` reconciled; source pipeline, public surface, diagnostic producers and IDE consumers read. Final makers are internal, but public tooltip/formatting types really change. Both FSComp and FSIstrings opt into rich accessors; an attributed response saying only FSComp does is not a final-source fact. Diff SHA-256 `276eaf8f2fb9f3bfd1d828f17d8bf6944041e4e323bb1f90e5ead13a64ae0f9e`.
#19804 immediate-async histories | Remaining five relevant revisions read with exact final-block reuse and every distinct residual; final SetException/GetResult preserves cancellation exception/token. Legacy/editor/benchmark copies still using old helpers bound the "completely standardises" claim. Four archived screenshots were visually read after fixing their filename extension; they show docs/stacks, not new measurements.
#19971 interpolation history | Nine relevant versions and parser/typechecker/quotation/IDE consumers reconciled. Final nullable/alignment repairs are present, but the [quotation-consumer objection](https://github.com/dotnet/fsharp/pull/19971#discussion_r3452113009) remains unresolved; CLR-equivalent execution does not prove representation-dependent consumer compatibility. AOT's expected-output/success-sentinel check meets its purpose without requiring a `.bsl` file.
#17518 units API | Old 194-method retained source, formatting and later 26-overload redesign inspected. The [2,250-&gt;2,281 KB author reply](https://github.com/dotnet/fsharp/pull/17518#issuecomment-2282788121) concerns the old API, not final size evidence. Final does not add the proposed compiler intrinsic; bulk closure is not a performance verdict.
#19882 TLR/source-test context | All compiler and remaining fixture/baseline/registration changes read; mechanism links it to development as recorded above. At that historical harness, `compileExeAndRun |> shouldSucceed` does not check a returned nonzero integer without `withExitCode`; exception detection is not full return-value assertion coverage. The old linked runtime-regression timings are motivation, not final-PR measurements.
Remaining small/context cases | Complete final/source feedback coverage includes exact related #20385/#20439 context identity, #19107 weak per-TcGlobals cache ownership, #20447 byref/diagnostic fixtures, and #20358 target-asset/threshold tests. #19869's decoded SharpLab payload is a forwarding example, not an Array.init benchmark.

Reports `files\baseline-inspection.md` and `files\richtext-history-inspection.md` preserve per-file/variant accounting and pinned source/feedback citations. The two identical #19532 XML attachments were read once with verified byte identity (`6873a7c9d00f5e2a35286ce9920152ee4d9aa64040f2addf3280167bdaa293a5`); they are VirtualBox/BlueStacks configuration, **not compiler benchmarks or test results**.

These source conclusions add **zero verified-human-composition precedents**. Explicit bot/model disclosures remain quarantined; unmarked account prose and the separately marked "Non-AI" sentence in #20097 remain self-attributions, not independently established authorship. Specific unavailable evidence includes thirteen deleted #19189 bodies, immutable historical edit/resolution timing, #17518's exact old build/size artifact, and private/external consumer implementation not supplied by its report. No missing available diff is disguised as an access failure, and no source assertion is presented as an executed test.

### Additional mixed-scope evaluation selection

#20455's record-only revision `d2f626361e09d3a1410e0115f94fcea87912202a`, subsequent voption change, all seven captured variants and direct helper consumers were inspected. Its [complete author benchmark](https://github.com/dotnet/fsharp/pull/20455#issuecomment-5696275398) separates the allocation-neutral named-reference-record cleanup from the reported 8 B/write saving. It became [MIX-01](validation.md#mix-01-full-evidence-mixed-scope-extension), first executed on unchanged C5 after the full measurement artifact and oracle were frozen. This is an extra real case in the already selected VS-work-reuse family, not another independent family, a benchmark-only PR, or human-derived training evidence.

### Completed editor/runtime/parallel history and media

All 36 frozen finals and available eligible feedback in these three families were read, totaling 788 changed-file entries and 71,648 per-PR diff lines, including shared material. Their 457 reviews, 297 issue comments and 526 inline comments reconcile with the acquisition ledger; five future-created/edited issue bodies are excluded. The 526 inline comments belong to 293 threads, not an additional population.

The initially unfinished historical/context work was closed separately, without crediting mere acquisition:

Remaining source package | Completed accounting | Report SHA-256
--- | --- | ---
#15954/#20113/#20409/#20457 | All 28 selected cumulative review/reference patches; every distinct old/new/context fragment read, with exact earlier-read spans reused. Nine directly referenced resolution commits additionally inspected. Relevant scheduling, tokenization, navigation, watcher activation and timestamp-consumer contexts traced; all three editor images visually read. | `6d48371bed2e721b9b4564899c02cf7a88089e65191581d5a7a05ebc6f75f37f`
#18873/#20235 | Ten selected cumulative histories: 111,226 raw diff lines, with 108,355 normalized lines exactly mapped to earlier reads and 2,281 newly read residuals. Async2 adapters/ownership and native-async recognition/optimization/EH/codegen context traced; both images visually read. Review anchors, tested pins, fix attribution and explicitly untested later source are distinguished. | `8e3a0438a3bec0bf829f1e667ea975da48a499f744e8dbbe27bb41716f11982e`
#14390/#14494 plus parallel-family media | All 29 selected non-final patches; 13,042 distinct old/new source lines plus eight rename-only bodies read with exact earlier-read mapping. Optimizer phase/state dependencies and graph continuation/state/diagnostic composition traced. All eight family images and the public test log read. | `c0f76b7f080f434c16c30c1c6bae62f06211076199f550d06b083dfc751d1551`

Reports are current-session `files\editor-history-inspection.md`, `runtime-history-inspection.md`, and `parallel-history-inspection.md`. Their immutable pin/base/source-span mappings include all patch sides and distinguish line-identity credit from behavioral equivalence. There is no blanket claim about every incidental commit or every unchanged transitive framework callee; the required final changes, relevant reviewed/tested variants, direct implementation/caller/test/signature context and available feedback are accounted for.

Source distinctions preserved for audit:

* #20113's final retains the old public `ScanToken` and adds `ScanTokenValue`; earlier replies at old anchors must not be projected backward as compatibility repairs. The [dictionary-versus-locking measurement question](https://github.com/dotnet/fsharp/pull/20113#discussion_r4024878907) remains unanswered.
* #20409 removes the copied outlining/API changes before its final, and improves cold-tier deferral; #20492 carries older copies, not the final repaired implementations. #20457's chronology includes removal and restoration of the reactor consumer as well as activation/failure fallback; queued subscription is not active ownership.
* #18873 is resumable Async2, not native runtime async. #20235's [last-tested report](https://github.com/dotnet/fsharp/pull/20235#issuecomment-5727202562) distinguishes IL inspection from execution and explicitly excludes later sequence changes. Final tests still skip conditional callback construction; an approval does not make those paths executed or fixed.
* #14390 replaces its early lock scheduler and retains deterministic-mode restrictions. Its March missing-file incident and later negative-parser baseline mismatch are different incidents, not interchangeable evidence of optimizer races. #14494 restores final ordering without establishing globally file-ordered intermediate graph-state composition. Earlier benchmark-success and graph-soundness objections remain bound to their actual source revisions.

**Media closure:** all 19 captured attachment URLs are accounted for: seventeen PNGs visually inspected using hash-identical extension-corrected copies, and two byte-identical #19532 XML configurations read as non-benchmark material. The [public #14390 error log](https://github.com/dotnet/fsharp/files/11055524/test-net40-fsharpqa-errors.-.Copy.log) returned HTTP 200 and was fully read (4,133 bytes, SHA-256 `d84a04f021876c3d6e133820d69fd2ddad74d652003857d3bf9f455e204d6d7c`); it lacks an immutable executable/source identity. In contrast, Azure Build API records [193971](https://dev.azure.com/dnceng-public/public/_apis/build/builds/193971?api-version=7.1) and [212833](https://dev.azure.com/dnceng-public/public/_apis/build/builds/212833?api-version=7.1) each returned HTTP 404 / `BuildNotFoundException`. Their full CI payloads are genuinely unavailable, not inspected or inferred from screenshots.

### Final source-coverage accounting

**Sprint-10 reconciliation:** the saved completion reports account for available inspection of **94/94 reserved PRs: 12 hot-reload, 46 other, 36 editor/runtime/parallel**. Their totals, pins and hashes reconcile with the actual archives; this is reuse of documented inspection, not an independent rereading of every diff or a fresh semantic review. The original inventory remains 485 unique PRs. Effective included counts remain **63 development / 59 holdout candidates**, plus five reserved context rows and seven controls. The connected core-empty-array + inline-closures + realsig-TLR development group and the vector-sum development promotion remain in force; 319 connected grouping units are inventory accounting, not executed tests.

Archive root is `C:\Users\tomasgrosup\.config\daily-monitor\copilot-microsoft\session-state`. Acquisition/input archive **A** is `36233952-cdbf-4056-984e-1fe93e32d7a3\files\holdout-study`; completion/output archive **B** is `c8f07943-58a7-4cdd-9a76-ce0b8d398079\files`. References above to completion reports in the "current session" mean B, not the reconciliation session. All 94 final diff hashes and base/head identities, saved channel hashes and the 804-entry path screen were checked locally. No collector or search was rerun and the historical cutoff is unchanged.

Completion scope | PRs; reviews / issue / inline / threads | Reconciled report basis
--- | --- | ---
Hot-reload | 12; 118 / 111 / 130 / 70 | Initial seven-final inspection plus B's `delta-emitter-inspection.md` (`798e85a4733c...`) and `composite-inspection.md` (`e55390d936ab...`); composite block totals/pins agree with A.
Other | 46; 232 / 160 / 174 / 75 | Initial 44 finals plus `baseline-inspection.md` (`c8015fd3f307...`), 103 baseline entries/28 fixtures, and `richtext-history-inspection.md` (`b83ef2c1a092...`), 116-file #20097 final and named histories.
Editor/runtime/parallel | 36; 457 / 297 / 526 / 293 | 788 final changed-file entries/71,648 diff lines; three report hashes above match. Their 28/10/29 selected historical-patch denominators are separate from additionally cited resolution/context pins; cited archived revision hashes also check.
Total | **94; 807 / 568 / 830 / 438** | A's `reserve.json`, `per-pr-ledger.json` and per-PR ledgers agree; REST/GraphQL duplicates are not extra feedback. Inspection credit comes from reports, not hashes alone.

Unavailable/deleted/private evidence, mutable historical edits/resolution timing and the 76 timeline-total anomalies remain explicit limitations. Fourteen deleted-comment bodies are not reconstructed (thirteen on #19189 and one on #20235); the two unavailable Azure build payloads remain unavailable. No historical benchmark, compiler build or product test was executed to certify an author's report. **Real benchmark-only coverage is zero** after the recorded 804-PR search; the original task permits fixtures and does not require a real PR for every applicability category. BENCH-01 supplies synthetic contract coverage only, neither a real holdout nor an automatic overall failure.

### Effective applicability coverage

Results below are the **actual selected C6-S evaluator results**; [validation](validation.md#input-isolation-repair-and-sanitized-replay) preserves C5, the C5-P instrumentation miss, C6's leaking extract and excluded runtime-skill contexts rather than substituting old outputs. C6-S keeps C6's decision rules but removes case history from the shared extract; its full replay contributes no new first-seen credit. The original 33 cases remain 25 real historical inputs from 21 PRs plus eight synthetic controls. SRC-01 (#20287) and SRC-02/03 (#19995 original/final) add three exposed development inputs: **36 cases, 28 real inputs from 23 PRs, eight synthetic controls**. Their source-backed oracles were frozen before outputs; neither family is new or independent. The eight evaluation cases remain HOLD-04/05/06/07/08/10, REPL-01 and MIX-01 in seven families (HOLD-07/MIX-01 share VS-work-reuse), **not 59 tests**. None becomes fresh by replaying or renaming it. No product measurement was reproduced.

Required category | Real PR coverage | Synthetic coverage | Source provenance | Actual C6-S result
--- | --- | --- | --- | ---
Mixed scope / causal attribution | #20348 DEV-03/04; #20416 DEV-11; #20544 HOLD-04; #20455 MIX-01 | None needed | Pinned code; #20544 explicitly model-generated description; #20455 author ablation with composition unverified, not independent measurements | Match; MIX-01 credits the 8 B/write mechanism separately from allocation-neutral cleanup; HOLD-04 makes no speed claim.
Test-only | #20444 HOLD-05 | None | Pinned event-assertion source | Match; recognizes characterization and requests actual targeted results, not a product benchmark.
Benchmark-only | **0**; #18509 is product-plus-benchmark, not benchmark-only | **BENCH-01** | Request-origin stipulated fixture/Dry smoke, not an observed run | Match; six pass rows and two not applicable; no shipped-speedup inference.
Docs-only | #20436 HOLD-06 | DEV-17 | Real policy diff versus stipulated spelling edit | Match; metric gates not applicable; editorial/product-compatibility scope passes without certifying identical model behavior.
Generated code / program runtime | #20244 DEV-12; #20367 HOLD-03; #18509 HOLD-09; #20358 REPL-01 | DEV-15/20 | Author tables and source/asset paths; synthetic count/runtime stipulations | Match; runtime and compiler costs stay separate; modern-runtime fallback request retained; changed IL is not automatically wrong.
API-neutral but behavior-sensitive; API boundary | #20119 HOLD-07; #20388 HOLD-01/02; #20507 HOLD-10 (API addition, **not** neutral) | DEV-20 | Source-derived lifetime/caller scenarios and API diff, not observed failures | Match; original covariance failure is risk, repaired covariance/disclosed sharing pass; no universal freshness policy, and scoped immutable API wiring passes.
Compiler/FCS/IDE, build and repeated work | #20261 DEV-05; #20296 DEV-13; #20119 HOLD-07; #20587 HOLD-08; #20455 MIX-01 | None needed | Author workload data plus source; no new compiler/job execution | Match; distinguishes retention, warm time, local allocation and CI critical path; asks only relevant missing proof.
Strong tables versus weak prose | #20261 DEV-05; #20296 DEV-13; #18509 HOLD-09 versus #19689 DEV-10/#20587 HOLD-08 | DEV-14 | Author-reported real evidence versus deliberately incomplete fixture | Match; credits supplied tables/repetitions and names remaining gaps without inventing defects.
Meaningful/noise-level gains; allocation without speed | #20296 DEV-13; #18509 HOLD-09; #20455 MIX-01 | DEV-18/19 | Author flat/worse/noisy cells versus stipulated uncertainty/allocation saving | Match; no fixed threshold, false equality or requirement that allocation savings improve time.
Hidden resource/lifetime trade-offs | #20244 DEV-12; #20296 DEV-13; #20119 HOLD-07 | DEV-16/19 | Source-supported scenarios and author data versus stipulated rooted growth | Match; material retention risk stays distinct from missing measurements; no measured OOM invented.
Surgical scope, withdrawal and repaired concerns | #20352 DEV-01; #20363 DEV-02; #20348 DEV-03/04; #20353 DEV-06/07; #20349 DEV-08/09 | None needed | Attributed author/reviewer conversations plus pinned revisions; composition limits apply | Match; no rejection-by-closure, syntax-speed prerequisite or stale resolved finding.

SRC-01 additionally tests the #20287 shared-reader qualification against actual ownership; SRC-02/03 test #19995's remaining instrumentation cost and accepted aggregation repair. C6-S catches all three without mandating reader clearing, a specific DEBUG directive or per-instance Stats; any added lifetime/API risk has a separately checked caller/consequence. The other four named conversations have actual DEV-01/02/03/04/07/13 results. Source-attributed reviewer feedback remains distinct from author measurements, request-required gates and verified composition.

Time, total/peak/retained memory, allocations/GC, closure/artifact counts, CPU, threads/thread-pool pressure, startup/build, behavior/API and lifecycle remain conditional contract dimensions, not a requirement for a separate historical PR or executed product benchmark per metric. Source-only concurrency reasoning (for example HOLD-07's serialized mailbox) is not an executed thread-pool/starvation test. Composition remains uncertain; final acceptance makes no unqualified verified-human claim.
