Performance-improvement review corpus
**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.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 and effective applicability coverage; acquisition history remains in the reserved-source 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; no original-user authorship attestation is claimed.
Field |
Frozen value |
|---|---|
Repository |
|
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 |
|
Access |
Authenticated |
Bulk storage |
Session |
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:
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.
ID |
Exact search query |
API total / collected / unique |
Pages |
Incomplete |
|---|---|---|---|---|
Q01 |
|
270 / 270 / 270 |
3 |
false |
Q02 |
|
293 / 293 / 293 |
3 |
false |
Q03 |
|
52 / 52 / 52 |
1 |
false |
Q04 |
|
57 / 57 / 57 |
1 |
false |
Q05 |
|
0 / 0 / 0 |
1 |
false |
Q06 |
|
0 / 0 / 0 |
1 |
false |
Q07 |
|
22 / 22 / 22 |
1 |
false |
Q08 |
|
54 / 54 / 54 |
1 |
false |
Q09 |
|
43 / 43 / 43 |
1 |
false |
Q10 |
|
30 / 30 / 30 |
1 |
false |
Q11 |
|
1 / 1 / 1 |
1 |
false |
Q12 |
|
1 / 1 / 1 |
1 |
false |
Q13 |
|
12 / 12 / 12 |
1 |
false |
Q14 |
|
59 / 59 / 59 |
1 |
false |
Q15 |
|
41 / 41 / 41 |
1 |
false |
Q16 |
|
27 / 27 / 27 |
1 |
false |
Q17 |
|
1 / 1 / 1 |
1 |
false |
Q18 |
|
50 / 50 / 50 |
1 |
false |
Q19 |
|
6 / 6 / 6 |
1 |
false |
Q20 |
|
20 / 20 / 20 |
1 |
false |
Q21 |
|
19 / 19 / 19 |
1 |
false |
Q22 |
|
15 / 15 / 15 |
1 |
false |
Q23 |
|
60 / 60 / 60 |
1 |
false |
Q24 |
|
61 / 61 / 61 |
1 |
false |
Q25 |
|
0 / 0 / 0 |
1 |
false |
Q26 |
|
9 / 9 / 9 |
1 |
false |
Q27 |
|
1 / 1 / 1 |
1 |
false |
Q28 |
|
0 / 0 / 0 |
1 |
false |
Q29 |
|
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.
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.
Linked PR |
Author |
Created UTC |
Disposition |
Family |
|---|---|---|---|---|
T-Gro |
2022-11-22T14:05:12Z |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-compiler-parallel |
|
safesparrow |
2022-11-24T23:37:44Z |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-compiler-parallel |
|
safesparrow |
2022-12-19T19:01:17Z |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-compiler-parallel |
|
KevinRansom |
2023-01-03T23:46:18Z |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-fsi-pdb |
|
Martin521 |
2023-11-19T14:58:30Z |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-il-import-retention |
|
majocha |
2025-09-22T13:12:45Z |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-cache-listener |
|
missymessa |
2026-05-05T21:10:41Z |
Linked predecessor of PR-19703; same WIF insertion change before credential-store revision. |
FAMILY-vs-insertion |
|
NatElkins |
2026-07-23T13:41:53Z |
Linked context only; not a new in-window performance-improvement claim. |
FAMILY-fork-release-check |
|
xperiandri |
2026-08-17T00:32:55Z |
Linked context only; not a new in-window performance-improvement claim. |
FAMILY-entity-null-correctness |
|
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 |
|---|---|---|---|---|
132 / 152 / 2 |
0 |
No qualifying event observed |
- |
|
200 / 182 / 2 |
0 |
No qualifying event observed |
- |
|
251 / 230 / 3 |
0 |
No qualifying event observed |
- |
|
43 / 47 / 1 |
0 |
No qualifying event observed |
- |
|
59 / 70 / 1 |
1 |
2026-09-03T21:54:23Z |
||
62 / 67 / 1 |
0 |
No qualifying event observed |
- |
|
28 / 24 / 1 |
2 |
ClosedEvent |
2026-09-09T13:17:55Z |
|
45 / 23 / 1 |
3 |
ReviewRequestedEvent |
2026-09-11T14:58:54Z |
|
16 / 13 / 1 |
2 |
ClosedEvent |
2026-06-01T10:24:08Z |
|
81 / 141 / 1 |
1 |
2026-08-18T11:31:25Z |
||
33 / 27 / 1 |
2 |
ClosedEvent |
2026-09-09T13:20:26Z |
|
220 / 202 / 3 |
18 |
2026-08-17T10:35:37Z |
||
35 / 32 / 1 |
2 |
ClosedEvent |
2026-09-09T13:21:59Z |
|
21 / 18 / 1 |
0 |
No qualifying event observed |
- |
|
26 / 23 / 1 |
0 |
No qualifying event observed |
- |
|
69 / 70 / 1 |
4 |
2026-09-08T09:02:54Z |
||
27 / 20 / 1 |
2 |
ClosedEvent |
2026-09-15T11:58:20Z |
|
97 / 96 / 1 |
23 |
ClosedEvent |
2026-09-09T13:23:17Z |
|
22 / 21 / 1 |
0 |
No qualifying event observed |
- |
|
13 / 13 / 1 |
1 |
LabeledEvent |
2026-08-14T21:39:48Z |
|
69 / 65 / 1 |
8 |
2026-04-27T11:19:51Z |
||
25 / 34 / 1 |
5 |
ClosedEvent |
2026-08-19T10:10:08Z |
|
28 / 22 / 1 |
5 |
ClosedEvent |
2026-08-19T12:15:24Z |
|
24 / 20 / 1 |
2 |
ClosedEvent |
2026-09-09T13:23:44Z |
|
13 / 11 / 1 |
2 |
ClosedEvent |
2026-09-09T13:23:56Z |
|
48 / 44 / 1 |
2 |
2026-06-18T09:13:58Z |
||
140 / 143 / 2 |
48 |
ClosedEvent |
2026-08-06T12:53:07Z |
|
149 / 145 / 2 |
41 |
ClosedEvent |
2026-08-06T11:31:10Z |
|
92 / 104 / 1 |
5 |
2026-06-04T09:14:47Z |
||
74 / 82 / 1 |
30 |
ClosedEvent |
2026-08-20T14:26:52Z |
|
46 / 43 / 1 |
7 |
PullRequestCommit |
2026-09-11T11:13:55Z |
|
165 / 162 / 2 |
50 |
ClosedEvent |
2026-08-11T20:03:30Z |
|
106 / 101 / 2 |
40 |
ClosedEvent |
2026-08-01T06:21:01Z |
|
32 / 26 / 1 |
1 |
2026-06-12T23:30:45Z |
||
33 / 30 / 1 |
0 |
No qualifying event observed |
- |
|
73 / 76 / 1 |
11 |
ClosedEvent |
2026-05-14T12:04:30Z |
|
25 / 27 / 1 |
10 |
ClosedEvent |
2026-08-19T10:58:57Z |
|
35 / 29 / 1 |
10 |
ClosedEvent |
2026-05-29T09:44:14Z |
|
192 / 189 / 2 |
5 |
ClosedEvent |
2026-08-04T13:17:34Z |
|
53 / 58 / 1 |
5 |
ClosedEvent |
2026-09-09T13:24:23Z |
|
61 / 59 / 1 |
7 |
ClosedEvent |
2026-05-05T15:33:47Z |
|
30 / 28 / 1 |
3 |
ClosedEvent |
2026-04-22T14:09:31Z |
|
44 / 42 / 1 |
12 |
ClosedEvent |
2026-05-04T09:10:20Z |
|
101 / 88 / 2 |
3 |
ClosedEvent |
2026-06-01T09:11:18Z |
|
60 / 59 / 1 |
20 |
ClosedEvent |
2026-05-18T09:08:34Z |
|
44 / 44 / 1 |
2 |
ClosedEvent |
2026-04-28T10:55:01Z |
|
55 / 56 / 1 |
0 |
No qualifying event observed |
- |
|
92 / 95 / 1 |
39 |
2026-05-26T12:05:24Z |
||
49 / 46 / 1 |
3 |
2026-05-14T13:18:19Z |
||
171 / 160 / 2 |
87 |
2026-07-02T09:58:38Z |
||
15 / 15 / 1 |
2 |
ClosedEvent |
2026-04-28T10:04:03Z |
|
21 / 19 / 1 |
4 |
ClosedEvent |
2026-06-23T15:12:36Z |
|
39 / 37 / 1 |
7 |
ClosedEvent |
2026-05-04T08:56:50Z |
|
47 / 47 / 1 |
24 |
ClosedEvent |
2026-04-28T11:08:06Z |
|
31 / 32 / 1 |
2 |
ClosedEvent |
2026-04-22T18:44:45Z |
|
61 / 58 / 1 |
28 |
ClosedEvent |
2026-05-20T15:10:24Z |
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.
PR / title |
Actual author / type |
C/U (UTC) |
State; close / merge (UTC) |
Selection / exclusion |
Family |
Split |
Discovery |
|---|---|---|---|---|---|---|---|
PR-14372 IlxGen parallelization |
T-Gro/User |
2022-11-22T14:05:12Z |
merged |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-compiler-parallel |
holdout |
linked |
PR-14390 Parallel optimization - behind a test flag `--test:ParallelOptimization` |
safesparrow/User |
2022-11-24T23:37:44Z |
merged |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-compiler-parallel |
holdout |
linked |
PR-14494 Parallel type-checking in compilation (behind a feature flag) |
safesparrow/User |
2022-12-19T19:01:17Z |
merged |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-compiler-parallel |
holdout |
linked |
PR-14537 Debugging -- Enable debugging scripts with the VS Debugger. |
KevinRansom/User |
2023-01-03T23:46:18Z |
merged |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-fsi-pdb |
development |
linked |
PR-15954 More VS cleanup |
vzarytovskii/User |
2023-09-08T16:48:38Z |
merged |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q26 |
PR-16304 Fix for #83 (improve constraint error message) |
Martin521/User |
2023-11-19T14:58:30Z |
merged |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-il-import-retention |
development |
linked |
PR-16325 putting a bunch of opened issues about IL optimisation under IL baseline tests |
smoothdeveloper/User |
2023-11-22T11:11:01Z |
closed; draft |
Excluded: IL baseline tests for optimizer issues, not a claimed improvement. |
FAMILY-pr-16325 |
control |
Q17 |
PR-16469 Parser: recover on unfinished qualified operator |
auduchinok/User |
2023-12-25T14:15:33Z |
open; draft |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-16469 |
control |
Q04 |
PR-16543 Diagnostics/extended data: support NoConstructorsAvailableForType |
auduchinok/User |
2024-01-17T14:12:07Z |
closed; draft |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-16543 |
control |
Q04 |
PR-17277 FS-1135 implementation - random functions for collections |
Lanayx/User |
2024-06-04T21:05:22Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-17277 |
control |
Q08, Q18, Q24 |
PR-17518 Add new Measure type to ease UoM conversions |
roboz0r/User |
2024-08-10T22:58:54Z |
closed; draft |
Included: B: generated-program, allocation, older-active claim or linked mechanism. |
FAMILY-measure-conversion |
holdout |
Q08, Q09, Q18, Q22, Q24 |
PR-17519 Support `CallerArgumentExpression` |
ijklam/User |
2024-08-11T09:37:47Z |
open |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-17519 |
control |
Q08, Q18, Q24 |
PR-18354 Proof of concept: reusing typecheck results |
psfinaki/User |
2025-03-03T15:50:46Z |
closed; draft |
Included: T+B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. |
FAMILY-hot-reload-cache |
holdout |
Q14, Q20 |
PR-18435 Fix Packagemanager behaviour in Visual Studio |
KevinRansom/User |
2025-04-02T03:51:13Z |
merged |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-pr-18435 |
control |
Q14 |
PR-18465 Fix mixed emit-multi+/- sessions |
KevinRansom/User |
2025-04-09T18:57:57Z |
merged |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-pr-18465 |
control |
Q10 |
PR-18509 SIMD vectorization of Array.sum<int>, etc |
Thorium/User |
2025-04-26T12:04:41Z |
closed |
Included: T+B: generated-program, vectorization, older-active claim or linked mechanism. |
FAMILY-vector-sum |
holdout |
Q08, Q18, Q24, Q29 |
PR-18593 Sync mirror changes into release/dev17.14 |
T-Gro/User |
2025-05-22T14:16:54Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-18593 |
control |
Q02 |
PR-18873 WIP Async2 |
majocha/User |
2025-08-29T11:29:14Z |
closed; draft |
Included: B: generated-code, behavior-sensitive claim or linked mechanism. |
FAMILY-runtime-async |
holdout |
Q14 |
PR-18930 Print cache stats with --times |
majocha/User |
2025-09-22T13:12:45Z |
merged |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-cache-listener |
development |
linked |
PR-18935 Fix typos in diagnostics |
IS4Code/User |
2025-09-25T13:21:26Z |
open |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-18935 |
control |
Q08, Q18, Q24 |
PR-18998 Enable parallel compilation features by default |
majocha/User |
2025-10-14T11:39:08Z |
merged |
Included: T+B: compiler, parallel, older-active claim or linked mechanism. |
FAMILY-compiler-parallel |
holdout |
Q23 |
PR-19025 Respect the return qualifier for attributes on class methods |
DragonSA/User |
2025-10-22T20:58:21Z |
closed |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-19025 |
control |
Q08, Q18, Q24 |
PR-19036 Type checker: recover function type unification in method checking |
auduchinok/User |
2025-10-28T18:22:49Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19036 |
control |
Q04 |
PR-19065 [WIP]: MethodImplOption.Async support |
TheAngryByrd/User |
2025-11-10T15:44:06Z |
closed; draft |
Included: B: generated-code, behavior-sensitive claim or linked mechanism. |
FAMILY-runtime-async |
holdout |
Q08, Q18, Q24 |
PR-19107 Cache more type relations |
majocha/User |
2025-11-20T20:29:19Z |
closed; draft |
Included: T+B: compiler, cache, older-active claim or linked mechanism. |
FAMILY-cache-type-relations |
holdout |
Q08, Q14, Q18, Q24 |
PR-19151 Fix preferreduilang switch leaking into fsi.CommandLineArgs |
Copilot/Bot |
2025-12-11T17:18:33Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19151 |
control |
Q02, Q19 |
PR-19186 Add support for `<include>` XML documentation tag |
Copilot/Bot |
2025-12-31T16:06:53Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19186 |
control |
Q02, Q13 |
PR-19188 Implement `<inheritdoc>` XML documentation support for F# |
Copilot/Bot |
2026-01-02T10:59:42Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19188 |
control |
Q02, Q13 |
PR-19189 Optimize empty string pattern matching with null-safe length checks |
Copilot/Bot |
2026-01-05T15:30:38Z |
merged |
Included: B: generated-code, behavior-sensitive, older-active claim or linked mechanism. |
FAMILY-empty-string |
holdout |
Q02, Q08, Q16, Q19, Q23 |
PR-19194 Add ExtendedLayoutAttribute support for F# compiler |
Copilot/Bot |
2026-01-06T14:21:06Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19194 |
control |
Q02 |
PR-19267 WIP : Experiment [this repo only] : Fast and unsafe development time compilation out of FSharpChecker caches |
T-Gro/User |
2026-02-10T12:36:52Z |
open |
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 Support OverloadResolutionPriority and a most-concrete tiebreaker |
T-Gro/User |
2026-02-12T09:54:54Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19277 |
control |
Q02 |
PR-19288 SCOUTING to see CI errors :: See what happens on net11 tfm |
T-Gro/User |
2026-02-13T18:37:38Z |
closed; draft |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19288 |
control |
Q02 |
PR-19317 Fix Seq.empty rendering as "EmptyEnumerable" in serializers |
apoorvdarshan/User |
2026-02-17T20:39:12Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19317 |
control |
Q16, Q23 |
PR-19332 Add #version;; directive to F# Interactive |
bbatsov/User |
2026-02-19T22:30:54Z |
merged |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-pr-19332 |
control |
Q08, Q18, Q24 |
PR-19342 Bugfix :: Fix F# exception serialization to preserve fields |
T-Gro/User |
2026-02-20T16:09:02Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19342 |
control |
Q02 |
PR-19346 Add FSI options tests |
bbatsov/User |
2026-02-22T09:09:27Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-19346 |
control |
Q08, Q18, Q24 |
PR-19359 Symbols: add ObsoleteDiagnosticInfo |
auduchinok/User |
2026-02-25T17:15:30Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19359 |
control |
Q04 |
PR-19396 [Experimental zone for RFC FS-1043: Extension members participate in SRTP constraint resolution] |
T-Gro/User |
2026-03-06T17:38:23Z |
closed; draft |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19396 |
control |
Q02 |
PR-19449 Runtime Async Feature |
TheAngryByrd/User |
2026-03-18T13:40:17Z |
closed; draft |
Included: B: generated-code, behavior-sensitive claim or linked mechanism. |
FAMILY-runtime-async |
holdout |
Q08, Q18, Q24 |
PR-19472 Fix #12796: handle arrays of user-defined types in custom attributes |
T-Gro/User |
2026-03-24T10:33:52Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19472 |
control |
Q02 |
PR-19482 Resumable state machines: Don't capture definitions by "builder@" prefix. EXPERIMENTAL |
majocha/User |
2026-03-24T11:51:08Z |
closed; draft |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19482 |
control |
Q15 |
PR-19484 Handle Const.Zero for primitive value types in custom attribute codegen |
Copilot/Bot |
2026-03-24T12:59:41Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19484 |
control |
Q02 |
PR-19501 Fix let-in scoping in light syntax via LexFilter change |
Copilot/Bot |
2026-03-26T21:58:19Z |
closed; draft |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19501 |
control |
Q02 |
PR-19502 Fix #7931: Resolve opened namespaces for attributes in recursive scopes |
Copilot/Bot |
2026-03-26T21:59:30Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19502 |
control |
Q02 |
PR-19503 Fix #7776: Detect missing implementations for C# 'abstract override' methods |
Copilot/Bot |
2026-03-26T22:00:00Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19503 |
control |
Q02, Q13 |
PR-19504 Fix wrong warning 20 range in sequential expressions (#5735) |
Copilot/Bot |
2026-03-26T22:01:25Z |
merged |
Excluded from historical evidence: no timestamped in-window event found; updatedAt alone is insufficient. |
FAMILY-pr-19504 |
control |
Q02 |
PR-19505 Narrow overload-error and symbol-use ranges to terminal identifier |
Copilot/Bot |
2026-03-26T22:01:40Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19505 |
control |
Q02 |
PR-19532 Fix FS0452 for empty string pattern matching in quotations |
Copilot/Bot |
2026-03-31T13:42:23Z |
merged |
Included: B: generated-code, behavior-sensitive, older-active claim or linked mechanism. |
FAMILY-empty-string |
holdout |
Q02, Q16, Q23 |
PR-19548 Debugger: prefer no inlining in non-optimized builds |
auduchinok/User |
2026-04-03T19:26:25Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-19548 |
control |
Q04, Q23 |
PR-19549 Remove workaround in devcontainer.json |
Martin521/User |
2026-04-03T19:45:15Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-19549 |
control |
Q08, Q18, Q24 |
PR-19553 ILVerify: soft comparison ignoring IL byte offset drift |
techiedesu/User |
2026-04-06T03:16:39Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-19553 |
control |
Q08, Q18, Q24 |
PR-19568 Fix ICE in BuildDisposableCleanup when Dispose extension methods are in scope |
Copilot/Bot |
2026-04-10T09:47:05Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19568 |
control |
Q02 |
PR-19609 Address additional signature generation roundtrip bugs |
T-Gro/User |
2026-04-17T19:58:23Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19609 |
control |
Q02 |
PR-19611 Chore: Eliminate debug/release IL baseline duality |
T-Gro/User |
2026-04-17T22:02:17Z |
merged |
Excluded as performance evidence; reserved test-only, no-performance-claim applicability control. |
FAMILY-emitted-il-baselines |
control |
Q02, Q23 |
PR-19615 Fix #19596: unit-parameter member conformance with signature |
T-Gro/User |
2026-04-19T17:23:56Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19615 |
control |
Q02 |
PR-19629 Add LabelOps agentic workflows (conflict & CI auto-resolve) |
T-Gro/User |
2026-04-22T10:30:44Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19629 |
control |
Q01, Q02, Q10 |
PR-19631 Fix flaky async/task tests under CI load |
T-Gro/User |
2026-04-22T13:55:59Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19631 |
control |
Q01, Q02 |
PR-19632 Fix flaky async/task tests under CI load |
T-Gro/User |
2026-04-22T13:57:09Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19632 |
control |
Q01, Q02 |
PR-19642 Add Release CI legs for test projects, update git revisions |
auduchinok/User |
2026-04-24T13:10:17Z |
merged |
Excluded as performance evidence; reserved test-only, no-performance-claim applicability control. |
FAMILY-emitted-il-baselines |
control |
Q03, Q04 |
PR-19643 IlxGen: fix missing CompilationMapping attribute for generic values |
auduchinok/User |
2026-04-24T13:37:13Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19643 |
control |
Q03, Q04 |
PR-19647 Add opt-in --file-order-auto+ for dependency-based file ordering |
bryancostanich/User |
2026-04-27T02:26:41Z |
open; draft |
Excluded: file-order feature explicitly lacks performance characterization; no improvement claimed. |
FAMILY-pr-19647 |
control |
Q08 |
PR-19655 Disable noop report-as-issue for all agentic workflows |
Copilot/Bot |
2026-04-28T08:42:26Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19655 |
control |
Q01, Q02 |
PR-19656 Add allowed-files to aw-auto-update for gh-aw managed files |
Copilot/Bot |
2026-04-28T08:43:50Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19656 |
control |
Q01, Q02 |
PR-19661 Fix seq try-with handler body executing twice |
T-Gro/User |
2026-04-29T08:03:32Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19661 |
control |
Q01, Q02 |
PR-19668 Add skill-validation workflow for structural checks on skills and agents |
T-Gro/User |
2026-04-30T13:02:05Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19668 |
control |
Q01, Q02 |
PR-19669 Bump OpenTelemetry.Exporter.OpenTelemetryProtocol from 1.11.2 to 1.15.3 |
dependabot[bot]/Bot |
2026-04-30T18:53:31Z |
merged |
Included: B: dependency, automated claim or linked mechanism. |
FAMILY-dependency-perf |
holdout |
Q08, Q10 |
PR-19676 Tests/emitted IL: split some baselines into optimize+/optimize- |
auduchinok/User |
2026-05-04T13:45:19Z |
merged |
Excluded as performance evidence; reserved test-only, no-performance-claim applicability control. |
FAMILY-emitted-il-baselines |
control |
Q03, Q04, Q23 |
PR-19680 Add PR Tooling Safety Check — scanner for detecting changes in design/build/agentic-time behavior |
T-Gro/User |
2026-05-05T14:47:26Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19680 |
control |
Q01, Q02, Q12, Q13 |
PR-19682 Add weekly state machine diagram generator for agentic workflows |
T-Gro/User |
2026-05-05T19:47:54Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19682 |
control |
Q01, Q02 |
PR-19683 Replace PAT with WIF service connection for VS insertion |
missymessa/User |
2026-05-05T21:10:41Z |
merged |
Included: Linked predecessor of PR-19703; same WIF insertion change before credential-store revision. |
FAMILY-vs-insertion |
development |
linked |
PR-19689 CE builder method resolution |
rodrigovidal/User |
2026-05-05T23:34:38Z |
closed |
Included: B: centralized cached CE-builder method lookup; title/labels contain no performance claim. |
FAMILY-ce-method-cache |
development |
Q14 |
PR-19695 Bump OpenTelemetry.Exporter.OpenTelemetryProtocol from 1.11.2 to 1.15.3 |
dependabot[bot]/Bot |
2026-05-06T09:48:06Z |
merged |
Included: B: dependency, automated claim or linked mechanism. |
FAMILY-dependency-perf |
holdout |
Q08, Q10 |
PR-19703 Replace PAT with WIF service connection for VS insertion (v2) |
missymessa/User |
2026-05-07T19:42:25Z |
merged |
Included: B: removes reported approximately eight-minute GCM clone delay; title/labels are authentication-only. |
FAMILY-vs-insertion |
development |
Q14 |
PR-19708 Fix parser recovery, name resolution, and code completion for unfinished enum patterns |
auduchinok/User |
2026-05-08T16:00:56Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19708 |
control |
Q03, Q04 |
PR-19710 Fix internal error FS0073 w/nested inline SRTP and multiple overloads |
gusty/User |
2026-05-09T19:01:57Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-19710 |
control |
Q08, Q18, Q24 |
PR-19718 Skip PRs created before May 12 2026 in security scan workflow |
T-Gro/User |
2026-05-12T09:10:19Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19718 |
control |
Q01, Q02 |
PR-19719 Add state-machine docs and move output to .github/docs/ |
T-Gro/User |
2026-05-12T09:15:32Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19719 |
control |
Q01, Q02 |
PR-19720 [Agentic State Machine] Add agentic workflow state machine documentation |
T-Gro/User |
2026-05-12T09:16:18Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19720 |
control |
Q01, Q02 |
PR-19721 Move state-machine docs output to .github/docs/ to avoid workflows/ protection |
T-Gro/User |
2026-05-12T09:17:12Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19721 |
control |
Q01, Q02 |
PR-19722 Make state-machine workflow repo-rules path configurable via env var |
T-Gro/User |
2026-05-12T12:57:34Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19722 |
control |
Q01, Q02, Q20 |
PR-19724 Parser: recover on unfinished if and binary expressions |
auduchinok/User |
2026-05-12T19:57:33Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19724 |
control |
Q03, Q04 |
PR-19726 Increase max-patch-size for LabelOps PR Maintenance workflow |
Copilot/Bot |
2026-05-13T08:55:45Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19726 |
control |
Q01, Q02 |
PR-19727 Fix Repo Assist: recompile lock files to v0.76.1, harden data fetch step |
Copilot/Bot |
2026-05-13T08:57:40Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19727 |
control |
Q01, Q02 |
PR-19728 Fix aw-auto-update: add gh-aw CLI extension installation step |
Copilot/Bot |
2026-05-13T08:58:32Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19728 |
control |
Q01, Q02 |
PR-19729 PR Tooling Safety Check: use repo-memory for state, skip drafts, minimize comment noise |
Copilot/Bot |
2026-05-13T09:24:45Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19729 |
control |
Q01, Q02, Q10 |
PR-19730 Parser: fix unexpected diagnostics in debug builds, improve error messages |
auduchinok/User |
2026-05-13T10:00:03Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19730 |
control |
Q03, Q04 |
PR-19731 Parser: rebuild project automatically on grammar changes |
auduchinok/User |
2026-05-13T10:45:20Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19731 |
control |
Q03, Q04 |
PR-19734 Tests: extract 'should update baselines' checks |
auduchinok/User |
2026-05-14T08:17:32Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19734 |
control |
Q03, Q04 |
PR-19736 Improve test coverage for static extension overload resolution (#19664) |
T-Gro/User |
2026-05-14T14:13:52Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19736 |
control |
Q01, Q02 |
PR-19737 Add EmittedIL tests proving [<CompiledName>] works by design on extension overloads (#19604) |
T-Gro/User |
2026-05-14T14:14:35Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19737 |
control |
Q01, Q02 |
PR-19742 Fix ValueOption optional args with ?param caller syntax |
T-Gro/User |
2026-05-15T12:16:15Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19742 |
control |
Q01, Q02 |
PR-19743 Fix nullness narrowing in match inside comprehensions |
T-Gro/User |
2026-05-15T12:18:31Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19743 |
control |
Q01, Q02 |
PR-19744 Fix attribute resolution in recursive module/namespace scopes |
T-Gro/User |
2026-05-15T12:20:12Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19744 |
control |
Q01, Q02 |
PR-19745 Preserve type aliases in match | null refinement |
T-Gro/User |
2026-05-15T12:23:04Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19745 |
control |
Q01, Q02 |
PR-19746 Gate exception field serialization behind langversion 11 |
T-Gro/User |
2026-05-15T12:26:44Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19746 |
control |
Q01, Q02 |
PR-19747 Parser: recover on unfinished 'match' expressions |
auduchinok/User |
2026-05-15T15:24:02Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19747 |
control |
Q03, Q04 |
PR-19756 [Auto Update] Agentic workflows — fix safe-outputs config and apply pending upgrade |
Copilot/Bot |
2026-05-18T08:26:47Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19756 |
control |
Q01, Q02 |
PR-19757 Fix SRTP `get_Item` witness resolution for `string` indexers |
Copilot/Bot |
2026-05-18T11:21:58Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19757 |
control |
Q01, Q02, Q13 |
PR-19758 Optimizer: eliminate unused `Unchecked.defaultof<'T>` bindings |
Copilot/Bot |
2026-05-18T11:22:13Z |
merged |
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 Correct StructLayout size emission for data-less struct unions |
Copilot/Bot |
2026-05-18T11:22:38Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19759 |
control |
Q01, Q02 |
PR-19760 Suppress hover/symbol resolution for wildcard `_` patterns inside `member _.…` |
Copilot/Bot |
2026-05-18T11:22:44Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19760 |
control |
Q01, Q02 |
PR-19761 Avoid false FS1113 on inline instance members with class-scope self identifiers |
Copilot/Bot |
2026-05-18T11:23:05Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19761 |
control |
Q01, Q02, Q23 |
PR-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 |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19762 |
control |
Q01, Q02 |
PR-19763 Reject non-function bindings for single-case and partial active pattern names |
Copilot/Bot |
2026-05-18T11:23:30Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19763 |
control |
Q01, Q02 |
PR-19772 Harden AI review quality: subagent dispatch, inline-only output, no wall-of-text |
T-Gro/User |
2026-05-20T07:04:32Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19772 |
control |
Q01, Q02 |
PR-19775 Fix #19657: MeasureAnnotatedAbbreviation over ref type + | null |
T-Gro/User |
2026-05-20T12:47:47Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19775 |
control |
Q01, Q02 |
PR-19776 Honor --nowarn for command-line option warnings |
T-Gro/User |
2026-05-20T16:01:53Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19776 |
control |
Q01, Q02 |
PR-19783 Change protected-files policy to 'allowed' for labelops-pr-maintenance workflow |
Copilot/Bot |
2026-05-21T09:14:53Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19783 |
control |
Q01, Q02 |
PR-19784 Clean up state-machine workflow: remove stale refs, fix numbering |
T-Gro/User |
2026-05-21T09:19:49Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19784 |
control |
Q01, Q02 |
PR-19787 Add CCR-OptOut review instruction |
T-Gro/User |
2026-05-22T08:21:07Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19787 |
control |
Q01, Q02 |
PR-19788 Switch CCR opt-out to check PR body |
T-Gro/User |
2026-05-22T08:34:54Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19788 |
control |
Q01, Q02 |
PR-19789 Switch CCR opt-out to check PR body for 'SKIP CCR REVIEW' |
T-Gro/User |
2026-05-22T08:35:56Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19789 |
control |
Q01, Q02 |
PR-19790 Bump system versions |
T-Gro/User |
2026-05-22T10:13:00Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19790 |
control |
Q01, Q02 |
PR-19791 Dedup format specifier locations in computation expressions |
T-Gro/User |
2026-05-22T18:56:42Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19791 |
control |
Q01, Q02 |
PR-19793 [main] Update dependencies from dnceng/internal/dotnet-optimization |
dotnet-maestro[bot]/Bot |
2026-05-23T02:02:13Z |
merged |
Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. |
FAMILY-mibc-dependency |
control |
Q16, Q23 |
PR-19800 Fix colorization of type name in MyType<Qualified.Name>.StaticMember |
T-Gro/User |
2026-05-25T06:46:00Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19800 |
control |
Q01, Q02 |
PR-19801 Fix non-deterministic reference assembly MVIDs |
T-Gro/User |
2026-05-25T07:47:13Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19801 |
control |
Q01, Q02 |
PR-19802 Add FS3889 diagnostic for namespace/type collision |
T-Gro/User |
2026-05-25T09:42:30Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19802 |
control |
Q01, Q02 |
PR-19803 Detect recursive inline bindings and emit FS3888 diagnostic |
T-Gro/User |
2026-05-25T12:06:02Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19803 |
control |
Q01, Q02, Q23 |
PR-19804 feat(Async): RunSynchronouslyImmediate |
bartelink/User |
2026-05-25T17:55:27Z |
merged |
Included: B: generated-program, API-addition, behavior-sensitive claim or linked mechanism. |
FAMILY-sync-immediate |
holdout |
Q08, Q21 |
PR-19805 Fix FS1182 not reported for unused let functions in class types |
T-Gro/User |
2026-05-25T20:02:28Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19805 |
control |
Q01, Q02 |
PR-19806 Fix Release mode determinism |
majocha/User |
2026-05-25T20:57:41Z |
closed; draft |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-19806 |
control |
Q08, Q18, Q24 |
PR-19808 Fix #18086: suppress NuGet restore stdout under FSI --quiet |
T-Gro/User |
2026-05-26T07:26:30Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19808 |
control |
Q01, Q02 |
PR-19809 Fix #16268: classify IDisposable in type-occurrence positions as Interface, not DisposableType |
T-Gro/User |
2026-05-26T09:14:14Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19809 |
control |
Q01, Q02 |
PR-19810 Determinism: parallel-codegen same-flags reproducibility (closes #19732) |
T-Gro/User |
2026-05-26T09:36:05Z |
merged |
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 Fix #18841: let _ = &expr now compiles like let x = &expr |
T-Gro/User |
2026-05-26T09:45:41Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19811 |
control |
Q01, Q02 |
PR-19812 Fix #16360: stop duplicating editor diagnostics (revert Roslyn workaround) |
T-Gro/User |
2026-05-26T10:52:18Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19812 |
control |
Q01, Q02 |
PR-19813 Fix delegate Invoke classification in declaration (#16982) |
T-Gro/User |
2026-05-26T12:03:34Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19813 |
control |
Q01, Q02 |
PR-19814 Nullness FS3261: pinpoint receiver range, name the member & binding in dot-access warnings |
T-Gro/User |
2026-05-26T13:13:30Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19814 |
control |
Q01, Q02, Q14 |
PR-19818 Pass only narrow terminal-identifier range from name resolution |
T-Gro/User |
2026-05-26T18:01:40Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19818 |
control |
Q01, Q02 |
PR-19824 [main] Update dependencies from dnceng/internal/dotnet-optimization |
dotnet-maestro[bot]/Bot |
2026-05-27T02:02:04Z |
merged |
Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. |
FAMILY-mibc-dependency |
control |
Q16, Q23 |
PR-19830 Override System.Security.Cryptography.Xml to 10.0.8 |
T-Gro/User |
2026-05-27T10:36:22Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19830 |
control |
Q01, Q02 |
PR-19838 [do-not-merge] Verify Release determinism CI catches optimizer Val race |
T-Gro/User |
2026-05-28T09:02:00Z |
closed; draft |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-19838 |
control |
Q01, Q02, Q23 |
PR-19839 Fix source-build: track Cryptography.Xml via Version.Details |
T-Gro/User |
2026-05-28T09:04:22Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19839 |
control |
Q01, Q02 |
PR-19840 Make aw-auto-update detection-only and delegate workflow PRs to Copilot Coding Agent |
Copilot/Bot |
2026-05-28T09:15:46Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19840 |
control |
Q01, Q02 |
PR-19841 Add concurrency group to PR Tooling Safety Check workflow |
Copilot/Bot |
2026-05-28T09:17:22Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19841 |
control |
Q01, Q02, Q10 |
PR-19842 Disable noop issue reporting for labelops-pr-maintenance workflow |
Copilot/Bot |
2026-05-28T09:19:19Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19842 |
control |
Q01, Q02 |
PR-19843 chore: update actions/github-script from v6 to v7 |
T-Gro/User |
2026-05-28T09:57:02Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19843 |
control |
Q01, Q02 |
PR-19848 Fix docs path exclusion to use recursive wildcard in azure-pipelines-PR.yml |
Copilot/Bot |
2026-05-28T14:31:16Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19848 |
control |
Q01, Q02 |
PR-19849 Fix lost source range for empty-bodied computation expressions in pipelines (#19550) |
T-Gro/User |
2026-05-28T14:53:50Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19849 |
control |
Q01, Q02 |
PR-19850 Fix shouldBeParenthesizedInContext for Sequential in record fields (#17826) |
T-Gro/User |
2026-05-28T14:59:52Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19850 |
control |
Q01, Q02 |
PR-19851 Fix ICE on named-arg indexer setter (#16034) |
T-Gro/User |
2026-05-28T15:00:05Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19851 |
control |
Q01, Q02 |
PR-19852 Fix agentic-state-machine workflow: add protected-files: allowed |
T-Gro/User |
2026-05-28T16:35:18Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19852 |
control |
Q01, Q02 |
PR-19854 Suppress unused-opens/declarations false positives when file has type errors |
T-Gro/User |
2026-05-28T19:21:23Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19854 |
control |
Q01, Q02 |
PR-19858 Fix double Dispose in use bindings with as patterns (#12300) |
T-Gro/User |
2026-05-29T09:55:26Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19858 |
control |
Q01, Q02 |
PR-19859 [PROOF / DO NOT MERGE] Release determinism CI is broken on main |
T-Gro/User |
2026-05-29T11:21:02Z |
closed; draft |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19859 |
control |
Q01, Q02, Q23 |
PR-19861 Make PR Tooling Safety Check resilient to GitHub MCP list_pull_requests timeouts |
Copilot/Bot |
2026-05-29T13:16:11Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19861 |
control |
Q01, Q02, Q10 |
PR-19862 Report FS0039 only once for undefined type in inherit clause |
T-Gro/User |
2026-05-29T14:01:16Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19862 |
control |
Q01, Q02 |
PR-19865 Report the resolved overload for [<CustomOperation>] keywords in QuickInfo and SymbolUse |
T-Gro/User |
2026-05-29T18:53:05Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19865 |
control |
Q01, Q02 |
PR-19866 Specialize FS0027 for function/method parameters |
T-Gro/User |
2026-05-29T18:54:47Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19866 |
control |
Q01, Q02 |
PR-19867 Fix tooltip showing mangled module suffix for companion modules (#17335) |
T-Gro/User |
2026-05-29T20:04:19Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19867 |
control |
Q01, Q02 |
PR-19868 Fix #19457: lift CE constructs from plain let RHS in computation expressions |
T-Gro/User |
2026-05-29T20:42:16Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19868 |
control |
Q01, Q02 |
PR-19869 Add InlineIfLambda to Array.init |
kerams/User |
2026-05-30T07:38:12Z |
merged |
Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. |
FAMILY-inline-closures |
holdout |
Q08, Q15, Q18, Q24 |
PR-19877 Emit debug points at a stack-empty position |
auduchinok/User |
2026-06-02T10:34:46Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19877 |
control |
Q03, Q04 |
PR-19878 Fix missing semantic classification in nested copy-and-update expressions |
T-Gro/User |
2026-06-02T12:26:39Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19878 |
control |
Q01, Q02 |
PR-19879 Fix open declaration insertion in .fsx scripts after #r/#load directives (#16271) |
T-Gro/User |
2026-06-02T13:29:05Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19879 |
control |
Q01, Q02 |
PR-19880 Warn FS3888 when consumer-visible attributes are missing from .fsi |
T-Gro/User |
2026-06-02T14:53:25Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19880 |
control |
Q01, Q02 |
PR-19881 Glossary improvement |
T-Gro/User |
2026-06-02T15:00:54Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19881 |
control |
Q01, Q02 |
PR-19882 Fix degraded codegen for inner recursive functions under realsig |
T-Gro/User |
2026-06-02T15:02:17Z |
merged |
Included: B: generated-code, behavior-sensitive claim or linked mechanism. |
FAMILY-realsig-tlr |
holdout |
Q01, Q02, Q09, Q15, Q21, Q22 |
PR-19883 feat(fcs): expose FSharpMemberOrFunctionOrValue.IsPropertyAccessor |
T-Gro/User |
2026-06-02T15:38:22Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19883 |
control |
Q01, Q02 |
PR-19884 Fix XmlDoc validation for get/set property pairs (#13684) |
T-Gro/User |
2026-06-02T16:58:33Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19884 |
control |
Q01, Q02 |
PR-19885 Fix #13099: optimizer drops side-effectful receiver of unit member access in task CE |
T-Gro/User |
2026-06-02T19:34:39Z |
merged |
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 Tests: unify baseline checking |
auduchinok/User |
2026-06-03T15:07:57Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19888 |
control |
Q03, Q04 |
PR-19891 Add pr-description skill for short GitHub write-ups |
T-Gro/User |
2026-06-04T08:51:26Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19891 |
control |
Q01, Q02 |
PR-19892 Unused analyzers: disable in VS when file has errors |
auduchinok/User |
2026-06-04T09:38:59Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19892 |
control |
Q03, Q04 |
PR-19893 Make fsharp-diagnostics skill cross-platform |
T-Gro/User |
2026-06-04T11:37:22Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19893 |
control |
Q01, Q02 |
PR-19894 Debug: rework `for` expressions stepping |
auduchinok/User |
2026-06-04T15:16:08Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19894 |
control |
Q03, Q04 |
PR-19895 Fix #16419: report seq implicit-yield format specifiers and diagnostics once |
T-Gro/User |
2026-06-05T09:05:11Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-19895 |
control |
Q01, Q02, Q08, Q18, Q20, Q24 |
PR-19896 Warning 20 range: also walk through let/use bindings (follow-up to #19504) |
T-Gro/User |
2026-06-05T09:11:50Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19896 |
control |
Q01, Q02 |
PR-19897 Debug: rework conditional erasure, fix stepping over literals |
auduchinok/User |
2026-06-05T10:26:31Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19897 |
control |
Q03, Q04 |
PR-19898 Restore github.dev editor link in release-notes check comment |
T-Gro/User |
2026-06-05T10:58:34Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19898 |
control |
Q01, Q02 |
PR-19901 Improve agentic state-machine generator prompt |
T-Gro/User |
2026-06-05T19:24:22Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19901 |
control |
Q01, Q02 |
PR-19909 [Agentic State Machine] Update state-machine diagram for security scan changes |
github-actions[bot]/Bot |
2026-06-08T01:06:37Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19909 |
control |
Q10 |
PR-19913 Detect duplicate sibling modules in recursive module groups |
T-Gro/User |
2026-06-08T17:56:24Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19913 |
control |
Q01, Q02 |
PR-19914 Fix #8509: warn and ignore --simpleresolution on .NET Core |
T-Gro/User |
2026-06-09T09:50:48Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19914 |
control |
Q01, Q02 |
PR-19915 Report "Generic attributes are not supported..." for type abbreviations instead of FS0193 |
T-Gro/User |
2026-06-09T10:04:39Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19915 |
control |
Q01, Q02 |
PR-19917 Fix Go-to-Definition for provided constructors without definition location |
T-Gro/User |
2026-06-09T11:03:21Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19917 |
control |
Q01, Q02 |
PR-19918 Do not classify recursive self-reference ref cells as mutable |
T-Gro/User |
2026-06-09T11:30:49Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19918 |
control |
Q01, Q02 |
PR-19919 Fix FSI pretty printing for anonymous records |
T-Gro/User |
2026-06-09T11:39:32Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19919 |
control |
Q01, Q02 |
PR-19921 Attach DebuggableAttribute to FSI multi-emit manifests under --debug+ |
T-Gro/User |
2026-06-09T12:47:03Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19921 |
control |
Q01, Q02 |
PR-19922 Show [<Literal>] and constant value for IL fields in Go to Metadata |
T-Gro/User |
2026-06-09T14:35:48Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19922 |
control |
Q01, Q02 |
PR-19923 Fix quotations leaking empty-string match lowering into AST (#19873) |
T-Gro/User |
2026-06-09T14:53:56Z |
merged |
Included: B: generated-code, behavior-sensitive, older-active claim or linked mechanism. |
FAMILY-empty-string |
holdout |
Q01, Q02, Q23 |
PR-19924 Emit FS0755 for CompiledName on multi-value let-bindings |
T-Gro/User |
2026-06-09T16:22:47Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19924 |
control |
Q01, Q02 |
PR-19925 Render declaring type for C#-style extensions in overload errors |
T-Gro/User |
2026-06-09T16:49:11Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19925 |
control |
Q01, Q02 |
PR-19926 Stop FSI from mutating script arguments after `--` separator |
T-Gro/User |
2026-06-09T23:42:11Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19926 |
control |
Q01, Q02 |
PR-19927 [main] Update dependencies from dnceng/internal/dotnet-optimization |
dotnet-maestro[bot]/Bot |
2026-06-10T02:01:59Z |
merged |
Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. |
FAMILY-mibc-dependency |
control |
Q16, Q23 |
PR-19929 Make parallel and sequential code generation byte-identical |
T-Gro/User |
2026-06-10T13:35:27Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19929 |
control |
Q01, Q02 |
PR-19932 Debug: fix `if` and `match` condition sequence points |
auduchinok/User |
2026-06-10T19:33:32Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19932 |
control |
Q03, Q04 |
PR-19934 Treat `]` before dot like `)` in QuickParse completion |
T-Gro/User |
2026-06-11T10:05:19Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19934 |
control |
Q01, Q02 |
PR-19938 Fix FS1110 in task { let! } when generic IL extension is in scope |
T-Gro/User |
2026-06-12T14:42:20Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19938 |
control |
Q01, Q02 |
PR-19939 Fix semantic classification errors for generics, slices, CEs, and open type |
T-Gro/User |
2026-06-12T17:55:35Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19939 |
control |
Q01, Q02 |
PR-19940 Fix named-argument completion stopping after first arg for methods |
T-Gro/User |
2026-06-12T19:29:23Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19940 |
control |
Q01, Q02 |
PR-19941 F# hot reload: Edit-and-Continue delta emission behind --test:HotReloadDeltas |
NatElkins/User |
2026-06-12T20:08:39Z |
open |
Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. |
FAMILY-hot-reload-cache |
holdout |
Q14, Q15, Q23 |
PR-19953 Stop agentic-workflow failure-issue spam |
T-Gro/User |
2026-06-16T09:31:20Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19953 |
control |
Q01, Q02 |
PR-19954 Add code-compaction skill for shrinking bloated diffs |
T-Gro/User |
2026-06-16T10:43:30Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19954 |
control |
Q01, Q02, Q20 |
PR-19955 Nest augmentation-member closures inside their declaring type under --realsig+ |
T-Gro/User |
2026-06-16T13:08:26Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-19955 |
control |
Q01, Q02, Q15 |
PR-19957 Add binlog-analysis skill (build-failure triage via binlog-mcp) |
0101/User |
2026-06-16T15:11:25Z |
merged |
Excluded: build-log diagnostic skill, not a benchmark or product performance improvement. |
FAMILY-pr-19957 |
control |
Q21 |
PR-19960 Fix F# semantic classification for delegates, slices, CEs, open type |
T-Gro/User |
2026-06-16T15:47:57Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19960 |
control |
Q01, Q02 |
PR-19964 Fix FieldAccessException when optimizer relocates protected base-field access (#19963) |
T-Gro/User |
2026-06-17T12:48:23Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-19964 |
control |
Q01, Q02, Q15, Q23 |
PR-19967 [main] Update dependencies from dnceng/internal/dotnet-optimization |
dotnet-maestro[bot]/Bot |
2026-06-18T02:01:38Z |
merged |
Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. |
FAMILY-mibc-dependency |
control |
Q16, Q23 |
PR-19968 Don't regenerate xlf files in source-only builds |
T-Gro/User |
2026-06-18T09:12:16Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19968 |
control |
Q01, Q02 |
PR-19969 Fix spurious type errors for provided types under parallel compilation |
T-Gro/User |
2026-06-18T13:15:10Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19969 |
control |
Q01, Q02, Q15, Q23 |
PR-19970 Checker: recover on checking language version |
auduchinok/User |
2026-06-18T14:34:52Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19970 |
control |
Q03, Q04 |
PR-19971 Implement interpolated strings via String.Concat |
charlesroddie/User |
2026-06-18T20:09:06Z |
merged |
Included: B: generated-program, allocation, mixed-scope claim or linked mechanism. |
FAMILY-string-concat |
holdout |
Q08, Q16, Q21, Q23 |
PR-19977 Support NotNullIfNotNullAttribute |
kerams/User |
2026-06-21T21:44:40Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-19977 |
control |
Q08, Q18, Q24 |
PR-19979 Fix packaging of design-time providers referenced via ProjectReference |
T-Gro/User |
2026-06-22T08:43:14Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19979 |
control |
Q01, Q02, Q13 |
PR-19981 Bump versions |
T-Gro/User |
2026-06-22T13:30:29Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19981 |
control |
Q01, Q02 |
PR-19985 [main] Update dependencies from dnceng/internal/dotnet-optimization |
dotnet-maestro[bot]/Bot |
2026-06-24T02:01:59Z |
merged |
Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. |
FAMILY-mibc-dependency |
control |
Q16, Q23 |
PR-19991 Allow closures to read a protected base field |
T-Gro/User |
2026-06-24T12:26:17Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-19991 |
control |
Q01, Q02, Q15 |
PR-19992 Add computation-expression tests for warning 20 range |
T-Gro/User |
2026-06-24T12:54:26Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-19992 |
control |
Q01, Q02 |
PR-19993 Implement direct delegates |
kerams/User |
2026-06-24T18:26:47Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-19993 |
control |
Q08, Q18, Q24 |
PR-19995 Avoid leaking a MeterListener per Cache in DEBUG builds |
NatElkins/User |
2026-06-25T18:08:34Z |
merged |
Included: T+B: leaked MeterListeners make Debug cache-operation cost grow with listener count. |
FAMILY-cache-listener |
development |
Q14 |
PR-20001 Improve implied argument names |
kerams/User |
2026-06-26T11:32:43Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20001 |
control |
Q08, Q18, Q24 |
PR-20008 Insert release notes at a random line to avoid merge conflicts |
T-Gro/User |
2026-06-29T15:18:30Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20008 |
control |
Q01, Q02 |
PR-20009 Add regression test for cross-assembly private-constructor record equality |
T-Gro/User |
2026-06-29T15:24:17Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20009 |
control |
Q01, Q02 |
PR-20017 Add ResetCompilerGeneratedNameState to compiler-generated name generators |
NatElkins/User |
2026-07-01T20:17:41Z |
merged |
Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. |
FAMILY-hot-reload-cache |
holdout |
Q14, Q15, Q21 |
PR-20018 Add Roslyn-format EnC CustomDebugInformation codec and portable PDB method CDI emission |
NatElkins/User |
2026-07-01T21:08:29Z |
merged |
Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. |
FAMILY-hot-reload-cache |
holdout |
Q15, Q21 |
PR-20019 Add ECMA-335 EnC metadata delta writer |
NatElkins/User |
2026-07-01T21:47:00Z |
merged |
Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. |
FAMILY-hot-reload-cache |
holdout |
Q14, Q20, Q21 |
PR-20021 Intern provided namespaces to fix parallel-compilation resolution race |
T-Gro/User |
2026-07-02T11:27:17Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20021 |
control |
Q01, Q02, Q14, Q20 |
PR-20024 Add stable synthesized-name replay infrastructure for hot reload |
NatElkins/User |
2026-07-02T23:14:05Z |
merged |
Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. |
FAMILY-hot-reload-cache |
holdout |
Q09, Q15, Q21 |
PR-20025 Add typed-tree differ and edit classification for hot reload |
NatElkins/User |
2026-07-02T23:15:18Z |
open |
Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. |
FAMILY-hot-reload-cache |
holdout |
Q21 |
PR-20026 Add hot reload baseline reading and recorded EnC state |
NatElkins/User |
2026-07-03T02:36:12Z |
merged |
Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. |
FAMILY-hot-reload-cache |
holdout |
Q09, Q10, Q15, Q21 |
PR-20027 Add the hot reload delta emitter and symbol matcher |
NatElkins/User |
2026-07-03T03:25:58Z |
open |
Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. |
FAMILY-hot-reload-cache |
holdout |
Q09, Q21 |
PR-20028 Fix ppc64le stack overflow from deep Sequential chains in graph checking |
T-Gro/User |
2026-07-03T10:28:44Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20028 |
control |
Q01, Q02 |
PR-20030 Add the F# hot reload session and FCS service surface |
NatElkins/User |
2026-07-03T12:22:19Z |
open |
Included: B: compiler, latency, mixed-scope, behavior-sensitive, open claim or linked mechanism. |
FAMILY-hot-reload-cache |
holdout |
Q09, Q15, Q21 |
PR-20031 Add an experimental flag-gated in-process compile path for hot reload sessions |
NatElkins/User |
2026-07-03T13:37:57Z |
open |
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 Move VS language-service logic tests to FSharp.Compiler.Service.Tests |
T-Gro/User |
2026-07-05T21:24:25Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20033 |
control |
Q01, Q02 |
PR-20044 Brand release/10.0.4xx as .NET 10.0.400 servicing |
T-Gro/User |
2026-07-08T14:45:17Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20044 |
control |
Q01, Q02 |
PR-20045 Bump FCSMinorVersion to 13 |
T-Gro/User |
2026-07-08T14:55:39Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20045 |
control |
Q01, Q02 |
PR-20070 Parser: recover on unfinished abstract members |
auduchinok/User |
2026-07-21T08:56:23Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20070 |
control |
Q03, Q04 |
PR-20071 Parser: recover on missing 'when' conditions |
auduchinok/User |
2026-07-21T16:32:07Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20071 |
control |
Q03, Q04 |
PR-20077 Tests/source context: support multiple carets |
auduchinok/User |
2026-07-22T14:50:53Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20077 |
control |
Q03, Q04 |
PR-20078 net10 to net11 |
T-Gro/User |
2026-07-22T19:34:50Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20078 |
control |
Q01, Q02 |
PR-20080 net10 to net11 |
T-Gro/User |
2026-07-22T20:05:14Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20080 |
control |
Q01, Q02 |
PR-20081 Secure release-note checks for fork pull requests |
NatElkins/User |
2026-07-23T13:41:53Z |
merged |
Linked context only; not a new in-window performance-improvement claim. |
FAMILY-fork-release-check |
control |
linked |
PR-20082 Adopt ordered multi-caret markers in FCS tests (no behaviour change) |
T-Gro/User |
2026-07-24T07:37:21Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20082 |
control |
Q01, Q02, Q20 |
PR-20083 Enable Central Package Management with transitive pinning |
T-Gro/User |
2026-07-24T09:18:07Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20083 |
control |
Q01, Q02 |
PR-20084 Enable Central Package Management with transitive pinning |
T-Gro/User |
2026-07-24T09:21:39Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20084 |
control |
Q01, Q02 |
PR-20088 Avoid per-instance lock object in InterruptibleLazy and DelayInitArrayMap |
auduchinok/User |
2026-07-28T10:12:45Z |
merged |
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 Optimizer: fix accessing captured values when skipping inlining |
auduchinok/User |
2026-07-28T14:42:59Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-20089 |
control |
Q03, Q04, Q23 |
PR-20090 Import: Don't walk non-F# assemblies when labelling trait constraint sources |
auduchinok/User |
2026-07-28T15:17:58Z |
merged |
Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04, Q10 |
PR-20092 IL: add ILPreNamespace, make ILPreTypeDef creation lazy |
auduchinok/User |
2026-07-28T20:09:05Z |
merged |
Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04, Q10, Q14 |
PR-20097 Add symbol and type highlighting to F# diagnostics |
auduchinok/User |
2026-07-29T16:39:01Z |
merged |
Excluded as performance evidence; reserved API-addition, behavior-sensitive, no-performance-claim applicability control. |
FAMILY-rich-text-api |
control |
Q03, Q04 |
PR-20099 Move to Roslyn's unified ExternalAccess library |
JoeRobich/User |
2026-07-29T20:41:32Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20099 |
control |
Q08, Q18, Q24 |
PR-20100 [main] Update dependencies from dotnet/roslyn |
dotnet-maestro[bot]/Bot |
2026-07-30T02:03:56Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20100 |
control |
Q15 |
PR-20101 Run ilverify via the tool manifest instead of a hard-coded cache path |
abonie/User |
2026-07-30T06:30:07Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-20101 |
control |
Q14 |
PR-20105 Parser: recover on missing interface members |
auduchinok/User |
2026-07-31T14:41:04Z |
open; draft |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20105 |
control |
Q03, Q04 |
PR-20106 LexFilter: drop non-strict mode |
auduchinok/User |
2026-07-31T20:24:15Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20106 |
control |
Q03, Q04 |
PR-20111 Fix recursive inline member ordering in optimizer |
majocha/User |
2026-08-02T07:29:17Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-20111 |
control |
Q23 |
PR-20113 Make `SourceTextData` thread-safe with `ConcurrentDictionary` |
xperiandri/User |
2026-08-02T14:44:43Z |
open |
Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q09, Q14 |
PR-20115 F# VS editor: reduce background CPU load by gating expensive analyzers to the active document only |
xperiandri/User |
2026-08-02T17:27:23Z |
closed; draft |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q14, Q26 |
PR-20116 F# VS editor: reduce background CPU load by gating expensive analyzers to the active document only |
xperiandri/User |
2026-08-02T17:37:27Z |
closed; draft |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q14, Q26 |
PR-20117 F# VS editor: reduce background CPU load by gating expensive analyzers to the active document only |
xperiandri/User |
2026-08-02T20:52:46Z |
open; draft |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q26 |
PR-20119 Cache C# Compilation Emit by Project Version to avoid excessive background churn |
xperiandri/User |
2026-08-02T22:45:42Z |
closed |
Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q11, Q14, Q26 |
PR-20121 Cache `DocumentDiagnosticAnalyzer` results by version stamp to avoid redundant typecheck on unchanged documents |
xperiandri/User |
2026-08-02T23:20:28Z |
merged |
Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q14, Q26 |
PR-20126 Perf: async project invalidation + debounce script `updateProjectOptions` |
xperiandri/User |
2026-08-03T00:27:02Z |
open |
Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q14, Q21, Q26 |
PR-20128 Perf: Throttle parallel typechecks in Find All References |
xperiandri/User |
2026-08-03T00:34:32Z |
merged |
Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q21 |
PR-20130 Fix false prompt-injection alarm on PR Tooling Safety Check bypass labels |
T-Gro/User |
2026-08-03T19:34:59Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20130 |
control |
Q01, Q02, Q10 |
PR-20132 [main] Update dependencies from dnceng/internal/dotnet-optimization |
dotnet-maestro[bot]/Bot |
2026-08-04T02:02:54Z |
merged |
Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. |
FAMILY-mibc-dependency |
control |
Q16, Q23 |
PR-20136 Restore pull-requests: write so release-note comments can post |
T-Gro/User |
2026-08-04T09:03:29Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20136 |
control |
Q01, Q02 |
PR-20198 Make release-notes comment step non-fatal (fixes check_release_notes 403 on bot PRs) |
T-Gro/User |
2026-08-04T10:38:35Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20198 |
control |
Q01, Q02 |
PR-20199 Stabilize preview language features into F# 11.0 |
T-Gro/User |
2026-08-04T11:31:02Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20199 |
control |
Q01, Q02 |
PR-20200 Restore write permission for release-notes check comment |
T-Gro/User |
2026-08-04T12:03:52Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20200 |
control |
Q01, Q02 |
PR-20201 Stop merging main into the retired .NET 11 scouting branch |
T-Gro/User |
2026-08-04T13:17:54Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20201 |
control |
Q01, Q02 |
PR-20202 Remove always-on PrintfBinaryFormat language feature flag |
T-Gro/User |
2026-08-04T14:59:55Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20205 Switch from Newtonsoft to MessagePack restore in fsi tests |
abonie/User |
2026-08-04T18:24:45Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20205 |
control |
Q14 |
PR-20208 Remove always-on StructActivePattern language feature flag |
T-Gro/User |
2026-08-05T08:53:19Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20209 Remove always-on OpenTypeDeclaration language feature flag |
T-Gro/User |
2026-08-05T12:35:46Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20210 Switch to FsCheck for fsi restore tests |
abonie/User |
2026-08-05T14:04:05Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20210 |
control |
Q14 |
PR-20215 Remove always-on OpenTypeDeclaration language feature flag |
T-Gro/User |
2026-08-06T06:11:04Z |
closed |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20218 Remove always-on UseBindingValueDiscard language feature flag |
T-Gro/User |
2026-08-06T11:20:07Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20219 Set the default F# language version to 11.0 |
T-Gro/User |
2026-08-06T11:33:18Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20219 |
control |
Q01, Q02 |
PR-20220 Enable MSBuild node reuse defaults in the F# build scripts |
T-Gro/User |
2026-08-06T12:22:46Z |
merged |
Included: T+B: restores local MSBuild node reuse and enables MSBuild Server. |
FAMILY-build-node-reuse |
development |
Q01, Q02, Q20 |
PR-20221 Remove always-on WildCardInForLoop language feature flag |
T-Gro/User |
2026-08-06T13:09:46Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20222 Remove always-on SingleUnderscorePattern language feature flag |
T-Gro/User |
2026-08-06T13:16:27Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20223 Remove always-on AndBang language feature flag |
T-Gro/User |
2026-08-06T14:06:40Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20224 Ship FSharp.Core with a net10.0 target framework |
T-Gro/User |
2026-08-06T14:13:03Z |
closed; draft |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20224 |
control |
Q01, Q02 |
PR-20225 Remove the dead ImplicitYield language-feature flag |
T-Gro/User |
2026-08-06T14:18:15Z |
closed |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20226 Remove always-on RelaxWhitespace language feature flag |
T-Gro/User |
2026-08-06T14:19:05Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-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 |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20227 |
control |
Q01, Q02 |
PR-20228 Remove always-on SingleUnderscorePattern language feature flag |
T-Gro/User |
2026-08-07T08:23:23Z |
closed |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20229 Ship FSharp.Core with a net10.0 target framework |
T-Gro/User |
2026-08-07T08:49:11Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20229 |
control |
Q01, Q02 |
PR-20230 Remove always-on ImplicitYield language feature flag |
T-Gro/User |
2026-08-07T09:15:47Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20231 WIP: Deduplicate FSharp.Core XML docs via <include> |
T-Gro/User |
2026-08-07T09:41:38Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20231 |
control |
Q01, Q02, Q13 |
PR-20232 Add Unchecked.withNull for unconstrained C# nullable-generic interop |
T-Gro/User |
2026-08-07T12:18:41Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20232 |
control |
Q01, Q02 |
PR-20233 Remove always-on ImplicitYield language feature flag |
T-Gro/User |
2026-08-07T15:05:52Z |
closed |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20235 Enable runtime async via compiler intrinsics |
majocha/User |
2026-08-08T07:15:38Z |
merged |
Included: B: generated-code, behavior-sensitive claim or linked mechanism. |
FAMILY-runtime-async |
holdout |
Q23 |
PR-20236 [main] Update dependencies from dnceng/internal/dotnet-optimization |
dotnet-maestro[bot]/Bot |
2026-08-10T05:02:28Z |
merged |
Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. |
FAMILY-mibc-dependency |
control |
Q16, Q23 |
PR-20238 Remove always-on RelaxWhitespace language feature flag |
T-Gro/User |
2026-08-10T08:36:16Z |
closed |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20239 Remove always-on ImplicitYield language feature flag |
T-Gro/User |
2026-08-10T10:19:51Z |
closed |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20240 Regression matrix: build unmodified repos against local FSharp.Core |
T-Gro/User |
2026-08-10T10:40:04Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20240 |
control |
Q01, Q02 |
PR-20242 Optimizer: propagate NoDynamicInvocation |
auduchinok/User |
2026-08-10T14:28:14Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-20242 |
control |
Q03, Q04, Q23 |
PR-20244 Fix super-linear compilation of guarded shared-or active-pattern matches |
T-Gro/User |
2026-08-11T12:29:05Z |
merged |
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 Add nullness regression test for recursive inline SRTP memoization |
T-Gro/User |
2026-08-12T11:37:40Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20247 |
control |
Q01, Q02 |
PR-20249 IL: use empty tables for members when possible |
auduchinok/User |
2026-08-12T13:18:16Z |
merged |
Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04 |
PR-20250 IL: fix leaking binary view |
auduchinok/User |
2026-08-12T15:30:43Z |
merged |
Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04, Q10, Q24 |
PR-20254 IL: share ILCallingConv instances |
auduchinok/User |
2026-08-13T10:55:57Z |
merged |
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 IL: reuse the cached ILTypeRef in ILTypeInfo.FromType |
auduchinok/User |
2026-08-13T11:01:04Z |
merged |
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 IL: cache C# extension methods per CCU |
auduchinok/User |
2026-08-13T12:10:07Z |
merged |
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 IL: cache the ILTypeRef of a type def |
auduchinok/User |
2026-08-13T14:54:58Z |
merged |
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 Restore legacy cross-assembly inline metadata |
T-Gro/User |
2026-08-13T20:14:13Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20260 |
control |
Q01, Q02 |
PR-20261 IL: fix the per-reader string cache sizing |
auduchinok/User |
2026-08-14T10:57:17Z |
merged |
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 Fix mmap ReadOnlyMemory copy and add release notes |
xperiandri/User |
2026-08-16T23:39:47Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20271 |
control |
Q10, Q16, Q23 |
PR-20273 Avoid `cancellableTask` CE in `DocumentCache` to preserve static-state-machine optimization |
xperiandri/User |
2026-08-17T00:07:51Z |
merged |
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 Fix `NullReferenceException` in `Entity` on unlinked placeholder entities |
xperiandri/User |
2026-08-17T00:32:55Z |
merged |
Linked context only; not a new in-window performance-improvement claim. |
FAMILY-entity-null-correctness |
control |
linked |
PR-20275 Reduce allocations in Md5Hasher and fix broken `ThreadLocal<MD5>` reuse |
xperiandri/User |
2026-08-17T01:22:40Z |
open |
Included: T+B: compiler, allocation, open claim or linked mechanism. |
FAMILY-md5-reuse |
holdout |
Q09, Q18, Q20, Q22, Q24 |
PR-20277 Fix missing .NET 11 framework build issue |
xperiandri/User |
2026-08-17T10:41:33Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20277 |
control |
Q08, Q18, Q24 |
PR-20278 Unpin MSBuild dependencies to restore VMR source-build coherency |
T-Gro/User |
2026-08-17T10:57:22Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20278 |
control |
Q01, Q02, Q15 |
PR-20281 Add Chiron to the compiler regression-test matrix |
T-Gro/User |
2026-08-18T08:58:18Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20281 |
control |
Q01, Q02 |
PR-20282 Backport #20210: switch fsi restore tests to FsCheck |
T-Gro/User |
2026-08-18T10:28:05Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20282 |
control |
Q01, Q02, Q14, Q15 |
PR-20284 Retarget the NativeAOT test to net10 to dogfood the net10 FSharp.Core |
T-Gro/User |
2026-08-18T11:29:28Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20284 |
control |
Q01, Q02 |
PR-20285 Calculate Entity.PublicPath instead of storing |
auduchinok/User |
2026-08-18T12:52:10Z |
merged |
Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04, Q24 |
PR-20286 Make Entity's adhoc members list lazy |
auduchinok/User |
2026-08-18T13:03:58Z |
merged |
Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04, Q14, Q24 |
PR-20287 IL: hold custom attributes in fields rather than a union case |
auduchinok/User |
2026-08-18T13:15:25Z |
merged |
Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04, Q24 |
PR-20290 Restore source-build overridable prop names for runtime packages |
T-Gro/User |
2026-08-19T06:07:16Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20290 |
control |
Q01, Q02 |
PR-20291 Make AI expert-review post file+line anchored inline comments, not a prose wall |
T-Gro/User |
2026-08-19T09:55:13Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20291 |
control |
Q01, Q02 |
PR-20292 Add grounded folder-scoped Copilot instructions for compiler internals |
T-Gro/User |
2026-08-19T10:56:42Z |
open; draft |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20292 |
control |
Q01, Q02, Q14 |
PR-20293 Enable ComponentTests to reference the shipped .NETCoreApp FSharp.Core |
T-Gro/User |
2026-08-19T11:01:41Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20293 |
control |
Q01, Q02 |
PR-20296 Import: share assembly CCUs between projects |
auduchinok/User |
2026-08-19T12:26:35Z |
merged |
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 Name resolution: group C#-style extension members per 'open' and extended type |
auduchinok/User |
2026-08-19T12:57:29Z |
merged |
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 Test debug-inline capture of a local function from a nested closure |
T-Gro/User |
2026-08-19T13:27:43Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-20299 |
control |
Q01, Q02, Q15 |
PR-20300 [release/10.0.4xx] Optimizer: fix accessing captured values when skipping inlining |
github-actions[bot]/Bot |
2026-08-19T13:29:05Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-20300 |
control |
Q23 |
PR-20301 IL: share the pickled references |
auduchinok/User |
2026-08-19T17:22:19Z |
merged |
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 Fix InvalidProgramException from nested NativePtr.stackalloc |
T-Gro/User |
2026-08-20T09:19:15Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20302 |
control |
Q01, Q02 |
PR-20303 Let contributors F5 the F# VS extension without a matching-Roslyn VS |
T-Gro/User |
2026-08-20T10:28:47Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20303 |
control |
Q01, Q02 |
PR-20310 Remove always-on WarningWhenInliningMethodImplNoInlineMarkedFunction feature flag |
T-Gro/User |
2026-08-21T13:16:11Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20311 Flatten always-on AccessorFunctionShorthand language feature |
T-Gro/User |
2026-08-21T13:18:46Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20312 Flatten always-on DiagnosticForObjInference language feature |
T-Gro/User |
2026-08-21T13:32:44Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20313 Remove always-on language feature flag: NestedCopyAndUpdate |
T-Gro/User |
2026-08-21T14:00:55Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20314 Remove always-on WhileBang language-feature flag |
T-Gro/User |
2026-08-21T14:08:46Z |
closed |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20315 Remove always-on TryWithInSeqExpression language feature flag |
T-Gro/User |
2026-08-21T14:25:41Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20316 Remove always-on InitPropertiesSupport language feature flag |
T-Gro/User |
2026-08-21T15:08:45Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20317 Remove always-on FixedIndexSlice3d4d language feature flag |
T-Gro/User |
2026-08-21T15:55:25Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20318 Remove always-on BetterExceptionPrinting language feature flag |
T-Gro/User |
2026-08-21T16:27:06Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20319 Remove always-on IndexerNotationWithoutDot language feature flag |
T-Gro/User |
2026-08-21T17:21:58Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20320 Remove always-on language feature flag: RelaxWhitespace2 |
T-Gro/User |
2026-08-21T17:30:00Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20321 Flatten always-on InterfacesWithMultipleGenericInstantiation language feature |
T-Gro/User |
2026-08-21T17:32:58Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20322 Reject bitwise operators on char-backed enums (#11785) |
edgarfgp/User |
2026-08-23T07:34:18Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20322 |
control |
Q16, Q23 |
PR-20326 [main] Update dependencies from dnceng/internal/dotnet-optimization |
dotnet-maestro[bot]/Bot |
2026-08-24T05:02:55Z |
merged |
Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. |
FAMILY-mibc-dependency |
control |
Q16, Q23 |
PR-20330 Remove always-on WhileBang language feature flag |
T-Gro/User |
2026-08-24T07:04:40Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20331 [release/dev18.9] Optimizer: fix accessing captured values when skipping inlining |
github-actions[bot]/Bot |
2026-08-24T08:25:10Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-20331 |
control |
Q23 |
PR-20332 [release/dev18.10] Optimizer: fix accessing captured values when skipping inlining |
github-actions[bot]/Bot |
2026-08-24T08:25:11Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-20332 |
control |
Q23 |
PR-20337 Replace the stringified pattern-match memo key with a typed one |
T-Gro/User |
2026-08-24T09:23:31Z |
merged |
Included: B+linked: structural pattern memo keys; follows PR-20244 and reports identical size/IL. |
FAMILY-pattern-memo |
development |
Q01, Q02 |
PR-20338 Make zero-based Array2D allocation AOT-clean |
T-Gro/User |
2026-08-24T13:28:48Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20338 |
control |
Q01, Q02, Q09 |
PR-20339 Fail F# tests whose return value xUnit never executes |
T-Gro/User |
2026-08-24T14:26:14Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20339 |
control |
Q01, Q02 |
PR-20340 Implement RequireNamedArgumentsAttribute (FS-1095) |
T-Gro/User |
2026-08-24T14:49:55Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20340 |
control |
Q01, Q02 |
PR-20342 Order explicit type args by constraint dependencies before unifying |
T-Gro/User |
2026-08-25T08:54:33Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20342 |
control |
Q01, Q02 |
PR-20344 [release/dev18.9] Optimizer: propagate NoDynamicInvocation |
github-actions[bot]/Bot |
2026-08-25T10:11:42Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-20344 |
control |
Q23 |
PR-20345 [release/dev18.10] Optimizer: propagate NoDynamicInvocation |
github-actions[bot]/Bot |
2026-08-25T10:11:44Z |
merged |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-20345 |
control |
Q23 |
PR-20348 [MicroPerf] Four profiler-guided hot-path wins from self-build tracing |
T-Gro/User |
2026-08-25T13:38:09Z |
merged |
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 [MicroPerf] Reverse instead of sort already-ordered branch fixups in IL writer |
T-Gro/User |
2026-08-25T14:58:26Z |
merged |
Included: T+B: compiler, mixed-scope, API-neutral claim or linked mechanism. |
FAMILY-self-profile |
development |
Q01, Q02, Q07, Q09, Q19 |
PR-20350 [MicroPerf] Avoid Choice allocation in fslib entity/val-ref equality |
T-Gro/User |
2026-08-25T15:11:01Z |
merged |
Included: T+B: compiler, mixed-scope, API-neutral claim or linked mechanism. |
FAMILY-self-profile |
development |
Q01, Q02, Q07, Q09, Q16, Q23 |
PR-20351 [MicroPerf] Reduce Detuple usage-analysis allocation with a mutable Dictionary |
T-Gro/User |
2026-08-25T15:33:05Z |
merged |
Included: T+B: compiler, mixed-scope, API-neutral claim or linked mechanism. |
FAMILY-self-profile |
development |
Q01, Q02, Q07, Q09 |
PR-20352 [MicroPerf] Fuse copyExpr and remarkExpr into one pass when inlining |
T-Gro/User |
2026-08-25T15:33:18Z |
closed |
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 [MicroPerf] Cache IL method parameter attributes during overload resolution |
T-Gro/User |
2026-08-25T15:40:16Z |
merged |
Included: T+B: compiler, mixed-scope, API-neutral claim or linked mechanism. |
FAMILY-self-profile |
development |
Q01, Q02, Q07, Q09, Q14 |
PR-20354 [MicroPerf] Avoid redundant FreeVars record allocation for local vals |
T-Gro/User |
2026-08-25T15:45:53Z |
merged |
Included: T+B: compiler, mixed-scope, API-neutral claim or linked mechanism. |
FAMILY-self-profile |
development |
Q01, Q02, Q07, Q09, Q22, Q23 |
PR-20356 Rotate [<return: X>] attributes during binding normalization |
nojaf/User |
2026-08-25T18:14:40Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20356 |
control |
Q08, Q18, Q24 |
PR-20358 String module spannification |
jwosty/User |
2026-08-26T06:32:02Z |
open; draft |
Included: T+B: generated-program, allocation, open claim or linked mechanism. |
FAMILY-string-spans |
holdout |
Q08, Q09, Q18, Q21, Q24 |
PR-20363 [MicroPerf] Fuse the optimizer inlining copy + type-instantiation passes |
T-Gro/User |
2026-08-26T14:27:38Z |
merged |
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 Unpickling: share one EntityRef per non-local reference row |
auduchinok/User |
2026-08-26T14:36:04Z |
merged |
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 Remove always-on LowercaseDUWhenRequireQualifiedAccess feature flag |
T-Gro/User |
2026-08-26T15:07:18Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20366 Remove always-on language feature flag DelegateTypeNameResolutionFix |
T-Gro/User |
2026-08-26T15:16:11Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20367 [MicroPerf] Inline TryD to remove constraint-solver closure allocations |
T-Gro/User |
2026-08-26T15:24:12Z |
merged |
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 [MicroPerf] Perf: eliminate per-call closure in StackGuard.Guard via InlineIfLambda |
T-Gro/User |
2026-08-26T15:25:39Z |
merged |
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 Remove always-on language feature flag ImprovedImpliedArgumentNames |
T-Gro/User |
2026-08-26T15:32:15Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20370 Remove always-on language feature flag PreferStringGetPinnableReference |
T-Gro/User |
2026-08-26T15:39:09Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20371 Remove always-on StaticMembersInInterfaces language feature flag |
T-Gro/User |
2026-08-26T15:39:40Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20372 [MicroPerf] Eliminate closure allocations in List.mapq and List.lengthsEqAndForall2 |
T-Gro/User |
2026-08-26T15:39:52Z |
merged |
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 [MicroPerf] Avoid per-call closure allocation in type-hierarchy traversal |
T-Gro/User |
2026-08-26T16:01:55Z |
closed; draft |
Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. |
FAMILY-inline-closures |
holdout |
Q01, Q02, Q07, Q09, Q15 |
PR-20374 [MicroPerf] Inline the static-abstract interface-constraint predicate |
T-Gro/User |
2026-08-26T16:12:32Z |
merged |
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 Remove always-on language feature flag EscapeDotnetFormattableStrings |
T-Gro/User |
2026-08-26T16:30:23Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20377 Flatten always-on LanguageFeature.NameOf flag |
T-Gro/User |
2026-08-26T17:09:43Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20378 Remove always-on NullableOptionalInterop language feature flag |
T-Gro/User |
2026-08-26T17:18:21Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20384 [MicroPerf] Avoid per-call closure allocation in type-hierarchy traversal |
T-Gro/User |
2026-08-27T12:57:52Z |
merged |
Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. |
FAMILY-inline-closures |
holdout |
Q01, Q02, Q09, Q15 |
PR-20385 [MicroPerf] Inline the free-variable typar foldBacks |
T-Gro/User |
2026-08-27T12:58:14Z |
merged |
Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. |
FAMILY-inline-closures |
holdout |
Q01, Q02, Q07, Q09, Q15 |
PR-20387 Agent memory: Stacked PRs meaning + no-fork branch policy |
T-Gro/User |
2026-08-27T13:14:04Z |
closed |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20387 |
control |
Q01, Q02, Q10 |
PR-20388 Share the empty-array singleton for zero-length Array results |
T-Gro/User |
2026-08-27T14:21:14Z |
merged |
Included: T+B: generated-program, allocation, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-core-empty-array |
holdout |
Q01, Q02, Q09 |
PR-20392 Fix ref-assembly MVID collisions from truncating signature-hash combiner |
T-Gro/User |
2026-08-28T10:24:43Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20392 |
control |
Q01, Q02, Q23 |
PR-20394 Avoid emitting FSI multiemit PDBs without debug info |
Happypig375/User |
2026-08-29T16:16:32Z |
merged |
Included: T+B: skips unnecessary FSI PDB work; body identifies symbol-generation performance report. |
FAMILY-fsi-pdb |
development |
Q08, Q18, Q24 |
PR-20398 Add AGENTS.md and Claude Code rules mirroring Copilot instructions |
xperiandri/User |
2026-08-30T20:34:06Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20398 |
control |
Q08, Q18, Q24 |
PR-20409 Offer F# declarations to the Copilot chat "#" mention picker |
xperiandri/User |
2026-08-31T22:50:56Z |
open |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q14 |
PR-20413 Cut allocations in the VS project options caches and drop a boxing check |
xperiandri/User |
2026-09-01T09:35:53Z |
merged |
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 [MicroPerf] Make List.vMapFold inline to drop the nullness-import closure |
T-Gro/User |
2026-09-01T14:39:36Z |
merged |
Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. |
FAMILY-inline-closures |
holdout |
Q01, Q02, Q09, Q15, Q21 |
PR-20416 Import: share a referenced project's CCU instead of pickling it |
auduchinok/User |
2026-09-01T18:35:52Z |
open |
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 [MicroPerf] Drop accessibility and attribute-scan closures via ListInline |
T-Gro/User |
2026-09-02T07:29:12Z |
merged |
Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. |
FAMILY-inline-closures |
holdout |
Q01, Q02, Q09, Q15, Q21 |
PR-20422 Inline List/Array higher-order functions and adapt opaque callbacks |
T-Gro/User |
2026-09-02T07:37:35Z |
merged |
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 [MicroPerf] Eliminate closure allocations in well-known-attribute queries |
T-Gro/User |
2026-09-02T10:33:41Z |
merged |
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 [MicroPerf] Drop the generic-arg closure in CanImportILType |
T-Gro/User |
2026-09-02T10:47:54Z |
merged |
Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. |
FAMILY-inline-closures |
holdout |
Q01, Q02, Q07, Q15 |
PR-20425 [MicroPerf] Drop the per-call closure in remarkExprs |
T-Gro/User |
2026-09-02T10:49:18Z |
merged |
Included: L+T+B: Theme-Performance; removes remarkExprs mapping closure; same remapping family. |
FAMILY-inline-closures |
holdout |
Q01, Q02, Q07, Q15 |
PR-20426 Avoid per-call FSharpFunc closure in remapVal member-info remap |
T-Gro/User |
2026-09-02T13:08:11Z |
merged |
Included: B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. |
FAMILY-inline-closures |
holdout |
Q01, Q02, Q07, Q09, Q15 |
PR-20427 Remove always-on language feature flag OverloadsForCustomOperations |
T-Gro/User |
2026-09-02T13:53:05Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20429 Remove always-on ExtendedFixedBindings language feature flag |
T-Gro/User |
2026-09-02T14:01:56Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20430 Remove the ArithmeticInLiterals language feature flag |
T-Gro/User |
2026-09-02T14:35:54Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20431 Remove always-on ExtendedStringInterpolation language feature flag |
T-Gro/User |
2026-09-02T14:55:29Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20432 Remove always-on InterfacesWithAbstractStaticMembers feature flag |
T-Gro/User |
2026-09-02T16:46:54Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20436 Skill prompt optimization |
T-Gro/User |
2026-09-03T13:30:16Z |
merged |
Excluded as performance evidence; reserved docs-only, no-performance-claim applicability control. |
FAMILY-prompt-docs |
control |
Q01, Q02, Q16, Q23 |
PR-20437 [MicroPerf] Drop the per-call closure in generic type-argument codegen |
T-Gro/User |
2026-09-03T13:38:40Z |
merged |
Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. |
FAMILY-inline-closures |
holdout |
Q01, Q02, Q07, Q15 |
PR-20439 [MicroPerf] Inline the remaining free-variable foldBacks |
T-Gro/User |
2026-09-03T13:57:44Z |
merged |
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 Remove always-on language feature flag NonVariablePatternsToRightOfAsPatterns |
T-Gro/User |
2026-09-03T14:12:40Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20441 Remove always-on DotlessFloat32Literal language feature flag |
T-Gro/User |
2026-09-03T14:28:23Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20442 Remove always-on DefaultInterfaceMemberConsumption language feature flag |
T-Gro/User |
2026-09-03T14:36:54Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20443 Slice source text instead of copying it line by line for outlining |
xperiandri/User |
2026-09-03T20:38:49Z |
open |
Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q18 |
PR-20444 Test/Transparent Compiler: test that TC reuses check results after project modifications |
DedSec256/User |
2026-09-03T21:15:40Z |
merged |
Excluded as performance evidence; reserved test-only, no-performance-claim applicability control. |
FAMILY-tc-reuse-tests |
control |
Q14, Q20 |
PR-20447 [MicroPerf] Remove per-call closure allocations in post-inference checks |
T-Gro/User |
2026-09-04T11:29:24Z |
merged |
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 Keep the semantic colors of open documents on screen |
xperiandri/User |
2026-09-04T17:29:42Z |
open |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q14 |
PR-20451 Keep collapsed regions while a project has no options |
xperiandri/User |
2026-09-04T17:29:52Z |
open |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20451 |
control |
Q08, Q18, Q24 |
PR-20452 Share one whole-file classification between requests for a document version |
xperiandri/User |
2026-09-04T17:47:57Z |
open |
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 Keep single-file project options in a named record |
xperiandri/User |
2026-09-05T18:47:30Z |
open |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q09, Q14, Q22 |
PR-20456 Sort the merged property definitions in one array |
xperiandri/User |
2026-09-05T19:25:28Z |
merged |
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 Cache reference timestamps behind an `IVsAsyncFileChangeEx2` watcher for snapshot reuse |
xperiandri/User |
2026-09-05T19:26:29Z |
open |
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 Stop Debug builds writing `StandardOutput.txt`/`StandardError.txt` into the project directory |
xperiandri/User |
2026-09-06T03:30:52Z |
merged |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q08, Q18, Q24, Q26 |
PR-20459 Let `FSharpProjectSnapshot.FromOptions` take reference stamps from the host |
xperiandri/User |
2026-09-06T04:07:57Z |
open |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q08, Q18, Q20, Q24 |
PR-20460 Reuse a C# project's in-memory PE reference while its semantic version holds |
xperiandri/User |
2026-09-06T04:49:30Z |
open |
Included: T+B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q10, Q14, Q20 |
PR-20462 Resolve Go To Definition targets through the workspace's current solution |
xperiandri/User |
2026-09-06T07:44:53Z |
open |
Linked context only; not a new in-window performance-improvement claim. |
FAMILY-vs-work-reuse |
holdout |
linked |
PR-20465 Go To Definition from C# and VB into F# without checking the whole project |
xperiandri/User |
2026-09-06T11:55:22Z |
open |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q14 |
PR-20467 `start-vs-VisualFSharpSln.ps1`: build against the hive's own Roslyn |
xperiandri/User |
2026-09-06T16:26:49Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20467 |
control |
Q08, Q18, Q24 |
PR-20470 Ignore --pathmap in the IDE's F# project options |
xperiandri/User |
2026-09-07T02:07:29Z |
open |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20470 |
control |
Q10, Q14 |
PR-20471 [main] Update dependencies from dnceng/internal/dotnet-optimization |
dotnet-maestro[bot]/Bot |
2026-09-07T05:02:10Z |
merged |
Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. |
FAMILY-mibc-dependency |
control |
Q16, Q23 |
PR-20475 Run Repo Assist only on schedule or manual dispatch |
T-Gro/User |
2026-09-07T10:15:37Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20475 |
control |
Q01, Q02 |
PR-20476 Build a project's TcGlobals with its own path map when the framework imports are cached |
xperiandri/User |
2026-09-07T10:31:59Z |
open |
Excluded: correctness/test/tooling use of optimization or cache terminology, not a performance claim. |
FAMILY-pr-20476 |
control |
Q10, Q14, Q20 |
PR-20477 Add feature-completeness skill (no deferral of useful work) |
T-Gro/User |
2026-09-07T13:05:38Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20477 |
control |
Q01, Q02 |
PR-20478 FCS: add FSharpCheckFileResults.FileSignature |
auduchinok/User |
2026-09-07T13:17:45Z |
merged |
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 Guard the stack when checking long sequence expressions |
xperiandri/User |
2026-09-07T15:59:19Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20480 |
control |
Q08, Q18, Q23, Q24 |
PR-20481 FCS: fix races that made the background builder repeat work |
auduchinok/User |
2026-09-07T16:59:10Z |
merged |
Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04, Q14 |
PR-20483 Search each file of a multi-targeted F# project once in Go To All |
xperiandri/User |
2026-09-07T20:00:52Z |
open |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q14 |
PR-20485 Build F# projects with the .NET SDK compiler by default in Visual Studio |
T-Gro/User |
2026-09-08T09:59:49Z |
open |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20485 |
control |
Q01, Q02 |
PR-20486 IL: intern the attributes and type references read from metadata |
auduchinok/User |
2026-09-08T10:17:11Z |
merged |
Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04, Q10, Q14 |
PR-20487 Eliminate per-call closure for InlineIfLambda partial applications |
T-Gro/User |
2026-09-08T10:58:40Z |
merged |
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 Fix FS0192 Iterate2D from ReflectedDefinition over a recursive value |
T-Gro/User |
2026-09-08T13:07:49Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20488 |
control |
Q01, Q02 |
PR-20489 IL: map the short-lived metadata-only PE reader |
auduchinok/User |
2026-09-08T14:59:40Z |
merged |
Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04, Q09, Q24 |
PR-20490 Name resolution: CheckIWSAM only needs the intrinsic methods |
auduchinok/User |
2026-09-08T15:25:10Z |
merged |
Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04 |
PR-20491 Diagnose or hoist NativePtr.stackalloc where localloc is invalid IL |
T-Gro/User |
2026-09-08T17:27:50Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20491 |
control |
Q01, Q02 |
PR-20492 Answer the Navigate To search that runs while the solution loads |
xperiandri/User |
2026-09-09T00:16:46Z |
open; draft |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q14 |
PR-20494 Typed tree: create a type's augmentation on first use |
auduchinok/User |
2026-09-09T07:02:32Z |
merged |
Included: B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04 |
PR-20495 Keep unchanged PRs out of the tooling safety agent |
T-Gro/User |
2026-09-09T08:23:40Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20495 |
control |
Q01, Q02 |
PR-20496 Make agent model defaults configurable and use Sol |
T-Gro/User |
2026-09-09T12:45:43Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20496 |
control |
Q01, Q02 |
PR-20497 [Agentics]-Improve NoBloat around code comments |
T-Gro/User |
2026-09-09T13:10:36Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20497 |
control |
Q01, Q02 |
PR-20498 WIP - another take at resumable state-machine lowering in Debug |
T-Gro/User |
2026-09-09T13:13:29Z |
closed; draft |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20498 |
control |
Q01, Q02 |
PR-20499 Avoid the intermediate array allocation in project `OtherOptions` |
xperiandri/User |
2026-09-09T17:34:12Z |
merged |
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 Support multithreaded MSBuild in F# build tasks |
T-Gro/User |
2026-09-10T08:05:21Z |
merged |
Excluded: concurrent-task environment correctness; description gives no performance measurement or improvement claim. |
FAMILY-pr-20506 |
control |
Q01, Q02 |
PR-20507 Symbols: add WithNullnessAnnotations to the display context |
auduchinok/User |
2026-09-10T08:11:05Z |
merged |
Excluded as performance evidence; reserved API-addition, behavior-sensitive, no-performance-claim applicability control. |
FAMILY-rich-text-api |
control |
Q03, Q04 |
PR-20509 Fix portable PDB debug reservation after path mapping |
michaelglass/User |
2026-09-10T10:42:02Z |
open |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20509 |
control |
Q08, Q18, Q24 |
PR-20510 Add a skill for proposing PR design alternatives |
T-Gro/User |
2026-09-10T13:33:44Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20510 |
control |
Q01, Q02 |
PR-20511 Teach expert reviewers to check runtime representation preservation |
abonie/User |
2026-09-10T15:39:49Z |
merged |
Excluded: generated reviewer guidance, not human review or a measured product improvement. |
FAMILY-pr-20511 |
control |
Q09, Q23 |
PR-20512 Remove obsolete static let language feature flag |
T-Gro/User |
2026-09-10T17:25:04Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20513 Remove always-on ErrorReportingOnStaticClasses flag |
T-Gro/User |
2026-09-10T17:54:24Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20514 Make reference-cell informational diagnostics unconditional |
T-Gro/User |
2026-09-10T19:52:57Z |
open |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20514 |
control |
Q01, Q02 |
PR-20515 Say why CommitDelayedDiagnostics copies the collection |
xperiandri/User |
2026-09-10T20:59:53Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20515 |
control |
Q08, Q18, Q24 |
PR-20517 Remove always-on RequiredPropertiesSupport flag |
T-Gro/User |
2026-09-10T21:41:00Z |
merged |
Excluded: removes dead configuration; no performance improvement or measurement claimed. |
FAMILY-language-flag-cleanup |
control |
Q01, Q02 |
PR-20518 Name a declaration from a path-mapped assembly from its root once |
xperiandri/User |
2026-09-11T01:28:07Z |
open |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20518 |
control |
Q10, Q13 |
PR-20521 Add F# code snippets (Ctrl+K,Ctrl+X / Ctrl+K,Ctrl+S) |
xperiandri/User |
2026-09-11T07:42:18Z |
open |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20521 |
control |
Q08, Q18, Q24 |
PR-20524 Checker: do not copy inferred file signature |
auduchinok/User |
2026-09-11T11:24:25Z |
open; draft |
Included: T+B: compiler, retained-memory, API-neutral, behavior-sensitive claim or linked mechanism. |
FAMILY-il-import-retention |
development |
Q03, Q04, Q20 |
PR-20525 Reduce recurring workflow notification noise |
T-Gro/User |
2026-09-11T12:09:42Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20525 |
control |
Q01, Q02, Q10 |
PR-20527 Embed F# metadata trimming rules in compiled assemblies |
T-Gro/User |
2026-09-11T12:24:42Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20527 |
control |
Q01, Q02 |
PR-20528 `start-vs-VisualFSharpSln.ps1`: build against a locally built hive Roslyn from its own packages |
xperiandri/User |
2026-09-11T17:09:47Z |
open |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20528 |
control |
Q08, Q18, Q24 |
PR-20529 Publish NavigableContainer's cases |
xperiandri/User |
2026-09-11T18:20:48Z |
open |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q09, Q14, Q23 |
PR-20531 Record the parameter and type parameter counts of a navigable item |
xperiandri/User |
2026-09-13T18:08:46Z |
open |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20531 |
control |
Q08, Q18, Q24 |
PR-20534 Use `ValueOption` to look up a reference's definition item |
xperiandri/User |
2026-09-13T23:01:29Z |
merged |
Excluded: voption convention cleanup; body disclaims performance measurements and makes no reduction claim. |
FAMILY-pr-20534 |
control |
Q08, Q18, Q24 |
PR-20542 Cleanup: use printn/print instead of printfn/printf for interpolated strings |
charlesroddie/User |
2026-09-14T06:31:06Z |
open |
Included: B: generated-program, allocation, mixed-scope claim or linked mechanism. |
FAMILY-string-concat |
holdout |
Q08, Q13, Q18, Q24 |
PR-20544 Cleanup: use print/printn for simple string literals and drop redundant sprintf |
charlesroddie/User |
2026-09-14T07:09:35Z |
merged |
Included: B: generated-program, allocation, mixed-scope claim or linked mechanism. |
FAMILY-string-concat |
holdout |
Q13, Q18, Q24 |
PR-20551 Support positional literal assembly attributes in F# builds |
Evangelink/User |
2026-09-14T16:23:41Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20551 |
control |
Q08, Q18, Q24 |
PR-20552 Rich text: filter empty parts |
auduchinok/User |
2026-09-14T18:40:01Z |
merged |
Excluded as performance evidence; reserved API-addition, behavior-sensitive, no-performance-claim applicability control. |
FAMILY-rich-text-api |
control |
Q03, Q04 |
PR-20553 Make CapturingDiagnosticsLogger safe for concurrent writers |
xperiandri/User |
2026-09-15T00:21:54Z |
open; draft |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20553 |
control |
Q08, Q14, Q18, Q24 |
PR-20555 Ship net10.0 FSharp.Core with the SDK tools |
T-Gro/User |
2026-09-15T12:58:29Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20555 |
control |
Q01, Q02 |
PR-20556 Type providers: allow non-RichText errors |
auduchinok/User |
2026-09-15T14:33:21Z |
open |
Excluded as performance evidence; reserved API-addition, behavior-sensitive, no-performance-claim applicability control. |
FAMILY-rich-text-api |
control |
Q03, Q04 |
PR-20557 Fix array and string slicing overflow for extreme bounds |
T-Gro/User |
2026-09-15T14:37:49Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20557 |
control |
Q01, Q02 |
PR-20558 Emit MethodImpl flags for property accessors |
T-Gro/User |
2026-09-15T14:46:09Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20558 |
control |
Q01, Q02 |
PR-20559 Fix misleading diagnostics for reordered record fields |
T-Gro/User |
2026-09-15T14:56:17Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20559 |
control |
Q01, Q02 |
PR-20560 Allow 60 minutes for state-machine documentation generation |
T-Gro/User |
2026-09-15T15:45:31Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20560 |
control |
Q01, Q02 |
PR-20562 Fix false FS3261 warnings for unions in recursive declarations |
T-Gro/User |
2026-09-16T05:13:55Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20562 |
control |
Q01, Q02 |
PR-20570 Allow optional arguments in indexer setters |
T-Gro/User |
2026-09-17T14:20:35Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20570 |
control |
Q01, Q02 |
PR-20571 Stabilize OptimizeClosureIfNotInlined for F# 11 |
T-Gro/User |
2026-09-18T08:51:47Z |
merged |
Included: T+B: compiler, generated-code, allocation, behavior-sensitive claim or linked mechanism. |
FAMILY-inline-closures |
holdout |
Q01, Q02, Q16, Q23 |
PR-20573 Use voption for single-file project option subscriptions |
xperiandri/User |
2026-09-18T15:12:45Z |
open; draft |
Included: B: IDE, allocation, latency, API-neutral, mixed-scope claim or linked mechanism. |
FAMILY-vs-work-reuse |
holdout |
Q14 |
PR-20574 Publish each test assembly's results as its own CI run instead of merging |
T-Gro/User |
2026-09-18T17:32:58Z |
open |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20574 |
control |
Q01, Q02 |
PR-20584 Reject runtime async Await in ordinary task state machines |
T-Gro/User |
2026-09-18T21:31:21Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20584 |
control |
Q01, Q02 |
PR-20585 Publish ILVerify actual baselines on CI failure |
T-Gro/User |
2026-09-18T23:02:39Z |
open |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20585 |
control |
Q01, Q02 |
PR-20586 Preserve outer rethrows in nested runtime async try/with |
T-Gro/User |
2026-09-18T23:35:03Z |
merged |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20586 |
control |
Q01, Q02 |
PR-20587 Split Linux CoreCLR CI into two test batches |
T-Gro/User |
2026-09-19T00:18:03Z |
open |
Included: B: build, latency, open claim or linked mechanism. |
FAMILY-ci-turnaround |
holdout |
Q01, Q02 |
PR-20589 Keep parentheses around nested tuple argument next to named arg |
nojaf/User |
2026-09-19T08:43:40Z |
merged |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20589 |
control |
Q08, Q18, Q24 |
PR-20592 Add automated triage for reported regressions |
T-Gro/User |
2026-09-19T15:04:42Z |
open |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20592 |
control |
Q01, Q02 |
PR-20601 [main] Update dependencies from dnceng/internal/dotnet-optimization |
dotnet-maestro[bot]/Bot |
2026-09-21T05:03:18Z |
merged |
Excluded: automated MIBC dependency roll; package name is not a PR-level performance claim. |
FAMILY-mibc-dependency |
control |
Q16, Q23 |
PR-20604 Move the string and span ordinal extensions into Strings.fs |
xperiandri/User |
2026-09-21T08:58:59Z |
open |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20604 |
control |
Q16, Q23 |
PR-20606 Prevent scheduled agentic workflows from running in forks |
T-Gro/User |
2026-09-21T13:31:45Z |
open |
Excluded: title and complete description concern correctness, maintenance or tooling without a performance claim. |
FAMILY-pr-20606 |
control |
Q01, Q02 |
PR-20612 Record the range of the `exception`in SynExceptionDefnRepr |
nojaf/User |
2026-09-22T07:15:02Z |
open |
Excluded: template checklist match, with no PR-level improvement/measurement claim. |
FAMILY-pr-20612 |
control |
Q08, Q18, Q24 |
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.
Reserved PR |
Whole family |
Role |
Metadata coverage tags |
Files |
Pinned base / head |
|---|---|---|---|---|---|
FAMILY-compiler-parallel |
earlier/context reserve |
no-performance-claim |
21 |
||
FAMILY-compiler-parallel |
earlier/context reserve |
no-performance-claim |
8 |
||
FAMILY-compiler-parallel |
earlier/context reserve |
no-performance-claim |
70 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
41 |
||
FAMILY-measure-conversion |
holdout |
generated-program;allocation;older-active |
3 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
47 |
||
FAMILY-vector-sum |
holdout |
generated-program;vectorization;older-active |
6 |
||
FAMILY-runtime-async |
holdout |
generated-code;behavior-sensitive |
158 |
||
FAMILY-compiler-parallel |
holdout |
compiler;parallel;older-active |
24 |
||
FAMILY-runtime-async |
holdout |
generated-code;behavior-sensitive |
12 |
||
FAMILY-cache-type-relations |
holdout |
compiler;cache;older-active |
3 |
||
FAMILY-empty-string |
holdout |
generated-code;behavior-sensitive;older-active |
7 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
27 |
||
FAMILY-runtime-async |
holdout |
generated-code;behavior-sensitive |
52 |
||
FAMILY-empty-string |
holdout |
generated-code;behavior-sensitive;older-active |
2 |
||
FAMILY-dependency-perf |
holdout |
dependency;automated |
1 |
||
FAMILY-emitted-il-baselines |
control |
test-only;no-performance-claim |
106 |
||
FAMILY-dependency-perf |
holdout |
dependency;automated |
3 |
||
FAMILY-dead-binding |
holdout |
generated-code;behavior-sensitive;automated-author |
6 |
||
FAMILY-sync-immediate |
holdout |
generated-program;API-addition;behavior-sensitive |
36 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
2 |
||
FAMILY-realsig-tlr |
holdout |
generated-code;behavior-sensitive |
28 |
||
FAMILY-dead-binding |
earlier/context reserve |
generated-code;behavior-sensitive;automated-author |
4 |
||
FAMILY-empty-string |
holdout |
generated-code;behavior-sensitive;older-active |
15 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
161 |
||
FAMILY-string-concat |
holdout |
generated-program;allocation;mixed-scope |
32 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
5 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
12 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
18 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
12 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
5 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
14 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
60 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
124 |
||
FAMILY-hot-reload-cache |
holdout |
compiler;latency;mixed-scope;behavior-sensitive;open |
131 |
||
FAMILY-rich-text-api |
control |
API-addition;behavior-sensitive;no-performance-claim |
116 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
11 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
81 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
81 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
6 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
1 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
2 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
4 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
3 |
||
FAMILY-runtime-async |
holdout |
generated-code;behavior-sensitive |
72 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
2 |
||
FAMILY-md5-reuse |
holdout |
compiler;allocation;open |
5 |
||
FAMILY-string-spans |
holdout |
generated-program;allocation;open |
2 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
4 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
16 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
5 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
3 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
1 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
3 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
4 |
||
FAMILY-core-empty-array |
holdout |
generated-program;allocation;API-neutral;behavior-sensitive |
9 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
27 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
8 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
2 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
5 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
48 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
7 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
1 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
1 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
1 |
||
FAMILY-prompt-docs |
control |
docs-only;no-performance-claim |
7 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
1 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
4 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
9 |
||
FAMILY-tc-reuse-tests |
control |
test-only;no-performance-claim |
2 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
1 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
8 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
8 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
3 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
4 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
12 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
1 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
4 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
3 |
||
FAMILY-vs-work-reuse |
earlier/context reserve |
no-performance-claim |
8 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
7 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
5 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
8 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
24 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
2 |
||
FAMILY-rich-text-api |
control |
API-addition;behavior-sensitive;no-performance-claim |
4 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
4 |
||
FAMILY-string-concat |
holdout |
generated-program;allocation;mixed-scope |
18 |
||
FAMILY-string-concat |
holdout |
generated-program;allocation;mixed-scope |
30 |
||
FAMILY-rich-text-api |
control |
API-addition;behavior-sensitive;no-performance-claim |
4 |
||
FAMILY-rich-text-api |
control |
API-addition;behavior-sensitive;no-performance-claim |
2 |
||
FAMILY-inline-closures |
holdout |
compiler;generated-code;allocation;behavior-sensitive |
8 |
||
FAMILY-vs-work-reuse |
holdout |
IDE;allocation;latency;API-neutral;mixed-scope |
2 |
||
FAMILY-ci-turnaround |
holdout |
build;latency;open |
3 |
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.
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 |
|---|---|---|---|---|---|---|---|---|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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.
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.
Userand 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.
PR-19683 source record
PR-19683 - FAMILY-vs-insertion.
Pinned comparison: base 993c9276f05109fc4b2ad7ae26b02cfc6a468ce6; head 16ab3858f4c7400d4c918070b94bfe4714c83c84; merge base 993c9276f05109fc4b2ad7ae26b02cfc6a468ce6. Full diff SHA-256 28c78234ed5c2a2106aa676a7a3eabe77b896ee69947677dba87c201dcbc10b1.
Other recovered review/original revisions: 279d88c141.
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.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-05-06T12:17:04Z / 2026-05-07T10:30:48Z |
APPROVED; submitted 2026-05-06T12:17:04Z |
Empty-body APPROVED; no written rationale. |
||
abonie; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-05-07T10:31:26Z / 2026-05-07T10:31:26Z |
APPROVED; submitted 2026-05-07T10:31:26Z |
Empty-body APPROVED; no written rationale. |
||
github-actions[bot]; 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 - 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, src/Compiler/Checking/Expressions/CheckComputationExpressions.fsi, 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 |
|---|---|---|---|---|---|
github-actions[bot]; 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 - 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.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-05-12T08:19:50Z / 2026-05-12T08:19:50Z |
APPROVED; submitted 2026-05-12T08:19:50Z |
Empty-body APPROVED; no written rationale. |
||
github-actions[bot]; 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 - FAMILY-cache-listener.
Pinned comparison: base ea3908edab08f1009d0bde1883778797c785170a; head bd2148ba7aff3a9f365be52a4e4769a56fef8acf; merge base ea3908edab08f1009d0bde1883778797c785170a. Full diff SHA-256 cea7ce3aab83ab7935bc8a70226ac03a6abb8b75ab83c89e4bfd8faafdaa2440.
Other recovered review/original revisions: 18f7fd5abc; 1c1f7a9f7a; 239b6ee3c3; f96b70e1c1.
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, src/Compiler/Service/service.fs, src/Compiler/Service/service.fsi, src/Compiler/Utilities/Caches.fs, src/Compiler/Utilities/Caches.fsi, tests/FSharp.Compiler.ComponentTests/CompilerService/Caches.fs, tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl, 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 |
|---|---|---|---|---|---|
majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User |
2026-06-26T10:05:16Z / 2026-06-26T10:05:17Z |
COMMENTED; submitted 2026-06-26T10:05:16Z |
Empty-body COMMENTED; no written rationale. |
||
majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User |
2026-06-26T10:48:49Z / 2026-06-26T10:48:49Z |
COMMENTED; submitted 2026-06-26T10:48:49Z |
Empty-body COMMENTED; no written rationale. |
||
T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-06-29T10:11:00Z / 2026-06-29T10:11:00Z |
COMMENTED; submitted 2026-06-29T10:11:00Z |
Empty-body COMMENTED; no written rationale. |
||
NatElkins; CONTRIBUTOR; author rationale; User |
2026-07-07T00:30:27Z / 2026-07-07T00:30:27Z |
COMMENTED; submitted 2026-07-07T00:30:27Z |
Empty-body COMMENTED; no written rationale. |
||
NatElkins; CONTRIBUTOR; author rationale; User |
2026-07-07T00:30:36Z / 2026-07-07T00:30:36Z |
COMMENTED; submitted 2026-07-07T00:30:36Z |
Empty-body COMMENTED; no written rationale. |
||
NatElkins; CONTRIBUTOR; author rationale; User |
2026-07-07T00:30:37Z / 2026-07-07T00:30:37Z |
COMMENTED; submitted 2026-07-07T00:30:37Z |
Empty-body COMMENTED; no written rationale. |
||
majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User |
2026-07-07T06:44:53Z / 2026-07-07T06:44:53Z |
COMMENTED; submitted 2026-07-07T06:44:53Z |
Empty-body COMMENTED; no written rationale. |
||
majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User |
2026-07-07T06:55:28Z / 2026-07-07T06:55:28Z |
COMMENTED; submitted 2026-07-07T06:55:28Z |
Empty-body COMMENTED; no written rationale. |
||
majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User |
2026-07-07T07:40:03Z / 2026-07-07T07:40:03Z |
COMMENTED; submitted 2026-07-07T07:40:03Z |
Empty-body COMMENTED; no written rationale. |
||
T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-07-07T11:51:09Z / 2026-07-07T11:51:09Z |
APPROVED; submitted 2026-07-07T11:51:09Z |
Empty-body APPROVED; no written rationale. |
||
NatElkins; CONTRIBUTOR; author rationale; User |
2026-07-07T13:01:42Z / 2026-07-07T13:01:42Z |
COMMENTED; submitted 2026-07-07T13:01:42Z |
Empty-body COMMENTED; no written rationale. |
||
NatElkins; CONTRIBUTOR; author rationale; User |
2026-07-07T13:01:44Z / 2026-07-07T13:01:44Z |
COMMENTED; submitted 2026-07-07T13:01:44Z |
Empty-body COMMENTED; no written rationale. |
||
T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-07-08T14:32:03Z / 2026-07-08T14:32:03Z |
APPROVED; submitted 2026-07-08T14:32:03Z |
Empty-body APPROVED; no written rationale. |
||
abonie; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-07-08T14:41:36Z / 2026-07-08T14:41:36Z |
APPROVED; submitted 2026-07-08T14:41:36Z |
Empty-body APPROVED; no written rationale. |
||
github-actions[bot]; CONTRIBUTOR; automated; Bot |
2026-06-25T18:09:17Z / 2026-06-25T18:10:00Z |
- |
- |
Automated release-note gate status; not human performance evidence. |
|
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. |
|
majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User |
2026-06-26T10:05:17Z / 2026-06-26T10:05:17Z |
original |
src/Compiler/Utilities/Caches.fs:440; thread |
Majocha asks to remove CacheMetricsListener, which is only used in tests and wraps Stats. |
|
majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User |
2026-06-26T10:48:49Z / 2026-06-26T10:48:49Z |
original |
src/Compiler/Utilities/Caches.fs:32; thread |
Majocha asks to remove the cacheId tag as well, citing exporter overhead from per-instance filtering. |
|
T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-06-29T10:11:00Z / 2026-06-29T10:11:00Z |
original |
src/Compiler/Utilities/Caches.fs:281; thread |
T-Gro says cache instrumentation is development-oriented and suggests a narrower DEBUG_COMPILER_CACHES directive if necessary; also notes its investigative value. |
|
NatElkins; CONTRIBUTOR; author rationale; User |
2026-07-07T00:30:27Z / 2026-07-07T00:30:27Z |
original |
src/Compiler/Utilities/Caches.fs:440; thread |
Author says the per-cache listener and checker helper were removed; tests and DebugDisplay now use name-aggregated totals. |
|
NatElkins; CONTRIBUTOR; author rationale; User |
2026-07-07T00:30:36Z / 2026-07-07T00:30:36Z |
original |
src/Compiler/Utilities/Caches.fs:32; thread |
Author says cacheId/nextCacheId were removed and only the name tag remains. |
|
NatElkins; CONTRIBUTOR; author rationale; User |
2026-07-07T00:30:37Z / 2026-07-07T00:30:37Z |
original |
src/Compiler/Utilities/Caches.fs:281; thread |
Author says direct per-cache tracking is gone, listener lifetime makes accumulation opt-in, and a separate directive was unnecessary. |
|
majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User |
2026-07-07T06:44:53Z / 2026-07-07T06:44:53Z |
original |
tests/FSharp.Compiler.Service.Tests/OverloadCacheTests.fs:57; thread |
Majocha asks to document the global state that requires serialized OverloadCacheTests. |
|
majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User |
2026-07-07T06:55:28Z / 2026-07-07T06:55:28Z |
original |
src/Compiler/Utilities/Caches.fs:404; thread |
Majocha observes that a lightweight Stats object could preserve per-instance debugging information without a listener. |
|
majocha; CONTRIBUTOR; user-account feedback/decision; authorship unverified; User |
2026-07-07T07:40:03Z / 2026-07-07T07:40:03Z |
original |
src/Compiler/Utilities/Caches.fs:404; thread |
Majocha also accepts the name-aggregated form, explicitly expressing no preference between those approaches. |
|
NatElkins; CONTRIBUTOR; author rationale; User |
2026-07-07T13:01:42Z / 2026-07-07T13:01:42Z |
original |
tests/FSharp.Compiler.Service.Tests/OverloadCacheTests.fs:57; thread |
Author says the module-level comment now explains the shared checker, global name totals and why concurrent activity contaminates deltas. |
|
NatElkins; CONTRIBUTOR; author rationale; User |
2026-07-07T13:01:44Z / 2026-07-07T13:01:44Z |
original |
src/Compiler/Utilities/Caches.fs:404; thread |
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 - FAMILY-il-import-retention.
Pinned comparison: base ce9b62a6632215f166b5f11c042d4584e40dfe48; head 94167098d599a244ba37b5b5d1dcf31e8426505a; merge base ce9b62a6632215f166b5f11c042d4584e40dfe48. Full diff SHA-256 ff07f526fdf40d940831e7218f188e9a3d8a016e75fde34fdd08f7fbe7e69c38.
Other recovered review/original revisions: bdb5b043ed; eed9571a40.
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, src/Compiler/Utilities/illib.fs, 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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; model-attributed; User |
2026-08-03T19:11:24Z / 2026-08-03T19:11:24Z |
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. |
||
T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-08-12T08:46:34Z / 2026-08-12T08:46:34Z |
APPROVED; submitted 2026-08-12T08:46:34Z |
Empty-body APPROVED; no written rationale. |
||
T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-08-12T12:03:20Z / 2026-08-12T12:03:20Z |
APPROVED; submitted 2026-08-12T12:03:20Z |
Empty-body APPROVED; no written rationale. |
||
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. |
|
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. |
|
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. |
|
github-actions[bot]; CONTRIBUTOR; automated; Bot |
2026-08-10T10:08:14Z / 2026-08-10T10:11:26Z |
- |
- |
Automated release-note gate status; not human performance evidence. |
|
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. |
|
T-Gro; MEMBER; model-attributed; User |
2026-08-03T19:11:24Z / 2026-08-03T19:11:24Z |
original |
src/Compiler/Utilities/illib.fs:35; thread |
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 - FAMILY-il-import-retention.
Pinned comparison: base 22a8a5dcc724ea58041b8bc0b95e51268d7b656d; head 0f5a9f3302a34a2243b6c0c019a59a9bbf5f55e1; merge base 22a8a5dcc724ea58041b8bc0b95e51268d7b656d. Full diff SHA-256 bceabfebda2f061339dc5b8728636460aa93c6abb34b9bc82bfa2f64d587709b.
Other recovered review/original revisions: 4b348b54c5.
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, src/Compiler/Driver/CompilerImports.fs, src/Compiler/Driver/CompilerImports.fsi.
Additional pinned context regions: src/Compiler/Driver/CompilerImports.fs:495-537, src/Compiler/Checking/import.fs:699-764, src/Compiler/TypedTree/TypedTree.fs:6004-6011, tests/FSharp.Compiler.ComponentTests/ConstraintSolver/MemberConstraints.fs:1-22.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-08-03T19:10:21Z / 2026-08-10T10:14:15Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-12T08:29:35Z / 2026-08-12T08:29:35Z |
APPROVED; submitted 2026-08-12T08:29:35Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
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 |
|---|---|---|---|
|
auduchinok/User |
2026-08-10T10:14:16Z |
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 - FAMILY-il-import-retention.
Pinned comparison: base ffa6ef193665e8a03c00b71b394a4fc72c686255; head 6d95690dfc265bfd2ce465997d70ebf14bd073f7; merge base ffa6ef193665e8a03c00b71b394a4fc72c686255. Full diff SHA-256 e64ad2927ad5aba472dd39a87fa40a722a577fee60c07a831f4334256c85a2b4.
Other recovered review/original revisions: 7a4c3cc79a; 802966193b.
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, src/Compiler/AbstractIL/il.fs, src/Compiler/AbstractIL/il.fsi, src/Compiler/AbstractIL/ilread.fs, src/Compiler/AbstractIL/ilread.fsi, src/Compiler/Checking/NameResolution.fs, src/Compiler/Checking/NameResolution.fsi, src/Compiler/Checking/import.fs, src/Compiler/Checking/import.fsi, src/Compiler/Driver/StaticLinking.fs, src/Compiler/Driver/StaticLinking.fsi, src/Compiler/TypedTree/TypedTree.fs, src/Compiler/TypedTree/TypedTree.fsi, src/Compiler/Utilities/illib.fs, src/Compiler/Utilities/illib.fsi, tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl, tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj, tests/FSharp.Compiler.Service.Tests/ModuleReaderCancellationTests.fs, tests/FSharp.Compiler.Service.Tests/ModuleReaderNamespaceTests.fs, tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/FSharp.Compiler.Benchmarks.fsproj, tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/NamespaceImportBenchmarks.fs, tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/Program.fs, tests/benchmarks/FCSBenchmarks/CompilerServiceBenchmarks/README.md.
Additional pinned context regions: src/Compiler/AbstractIL/ilreflect.fs:2467-2485, src/Compiler/Utilities/illib.fs:151-221, src/Compiler/Driver/CompilerImports.fs:2329-2379, src/Compiler/AbstractIL/ilwrite.fs:3070-3095.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-08-03T19:20:44Z / 2026-08-03T19:20:44Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-12T12:01:35Z / 2026-08-12T12:01:35Z |
APPROVED; submitted 2026-08-12T12:01:35Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-12T19:38:56Z / 2026-08-12T19:38:56Z |
APPROVED; submitted 2026-08-12T19:38:56Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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 (`il.fs`, `ilread.fs`), import, and static linking |
|
auduchinok; MEMBER; author; text origin uncertain; User |
2026-07-30T13:11:59Z / 2026-07-30T13:11:59Z |
- |
- |
Author reports the PR is ready. |
|
github-actions[bot]; 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. |
|
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. |
|
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-12T14:48:56Z / 2026-08-12T14:48:56Z |
- |
- |
Author reports CI is green. |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-08-03T19:20:44Z / 2026-08-03T19:20:44Z |
original |
src/Compiler/Driver/CompilerImports.fs:2349; thread |
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 |
|---|---|---|---|
|
auduchinok/User |
2026-07-30T08:54:41Z |
|
|
auduchinok/User |
2026-07-30T10:36:50Z |
|
|
auduchinok/User |
2026-07-30T13:16:36Z |
|
|
auduchinok/User |
2026-08-12T10:11:35Z |
|
|
auduchinok/User |
2026-08-12T12:37:10Z |
|
|
auduchinok/User |
2026-08-12T13:23:41Z |
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 - 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, 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 |
|---|---|---|---|---|---|
ViktorHofer; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-08-07T12:17:53Z / 2026-08-07T12:17:53Z |
APPROVED; submitted 2026-08-07T12:17:53Z |
Empty-body APPROVED; no written rationale. |
||
abonie; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-08-10T09:11:42Z / 2026-08-10T09:11:42Z |
APPROVED; submitted 2026-08-10T09:11:42Z |
Empty-body APPROVED; no written rationale. |
||
github-actions[bot]; 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 - FAMILY-pattern-memo.
Pinned comparison: base 1361727543589b7a2997cbae48302025cc93564a; head da1d79e3b7be82b430df95491dc9bcba5e904960; merge base 1361727543589b7a2997cbae48302025cc93564a. Full diff SHA-256 2959a1e54b3a12e3b7095f4a9360839bd12bdb34d53988796b96de7ca200f3d9.
Other recovered review/original revisions: 6eb4cae74b; 8fbba3b7f1.
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, docs/release-notes/.FSharp.Compiler.Service/11.0.100.md, src/Compiler/Checking/Expressions/CheckExpressionsOps.fs, src/Compiler/Checking/PatternMatchCompilation.fs, src/Compiler/Checking/PatternMatchCompilation.fsi, tests/FSharp.Compiler.ComponentTests/Conformance/Expressions/ExpressionQuotations/QuotationRendering/QuotationRenderingTests.fs, tests/FSharp.Compiler.ComponentTests/Conformance/PatternMatching/GuardedOrPatternComplexity.fs, 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 |
|---|---|---|---|---|---|
abonie; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-08-18T13:08:52Z / 2026-08-18T13:08:52Z |
COMMENTED; submitted 2026-08-18T13:08:52Z |
Empty-body COMMENTED; no written rationale. |
||
T-Gro; MEMBER; author rationale; User |
2026-08-19T11:03:22Z / 2026-08-19T11:03:22Z |
COMMENTED; submitted 2026-08-19T11:03:22Z |
Empty-body COMMENTED; no written rationale. |
||
abonie; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-08-19T13:04:16Z / 2026-08-19T13:04:16Z |
APPROVED; submitted 2026-08-19T13:04:15Z |
Empty-body APPROVED; no written rationale. |
||
github-actions[bot]; CONTRIBUTOR; automated; Bot |
2026-08-11T12:29:17Z / 2026-08-13T15:12:25Z |
- |
- |
Automated release-note gate status; not human performance evidence. |
|
github-actions[bot]; CONTRIBUTOR; automated; Bot |
2026-08-11T12:39:32Z / 2026-08-18T12:37:16Z |
- |
- |
Automated/model tooling-safety classification; not human performance evidence. |
|
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. |
|
github-actions[bot]; CONTRIBUTOR; automated; Bot |
2026-08-18T12:37:17Z / 2026-08-19T11:36:52Z |
- |
- |
Automated/model tooling-safety classification; not human performance evidence. |
|
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. |
|
github-actions[bot]; CONTRIBUTOR; automated; Bot |
2026-08-19T11:36:53Z / 2026-08-19T11:36:53Z |
- |
- |
Automated/model tooling-safety classification; not human performance evidence. |
|
abonie; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-08-18T13:08:52Z / 2026-08-18T13:08:52Z |
original |
src/Compiler/Checking/PatternMatchCompilation.fs:1412; thread |
Abonie requests unconditional CloneAll, including capture-free promoted joins, to keep fresh binder stamps across methods and protect the optimizer's stamp-keyed cache. |
|
T-Gro; MEMBER; author rationale; User |
2026-08-19T11:03:22Z / 2026-08-19T11:03:22Z |
original |
src/Compiler/Checking/PatternMatchCompilation.fs:1412; thread |
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 - 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, src/Compiler/AbstractIL/ilread.fs, src/Compiler/AbstractIL/ilread.fsi.
Additional pinned context regions: src/Compiler/AbstractIL/ilread.fs:1177-1247, src/Compiler/AbstractIL/il.fs:3754-3760, src/Compiler/AbstractIL/il.fs:4601-4607, src/Compiler/AbstractIL/il.fs:4608-4614, src/Compiler/AbstractIL/il.fs:4615-4621, src/Compiler/AbstractIL/il.fs:4657-4663, src/Compiler/AbstractIL/il.fsi:2380-2384, src/Compiler/AbstractIL/il.fsi:2384-2388, src/Compiler/AbstractIL/il.fsi:2389-2393, src/Compiler/AbstractIL/il.fsi:2393-2397, src/Compiler/AbstractIL/il.fsi:2397-2401.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-13T15:20:17Z / 2026-08-13T15:20:17Z |
APPROVED; submitted 2026-08-13T15:20:16Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
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 |
|---|---|---|---|
|
auduchinok/User |
2026-08-12T13:22:34Z |
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 - 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, src/Compiler/AbstractIL/ilread.fs, src/Compiler/AbstractIL/ilread.fsi, tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj, tests/FSharp.Compiler.Service.Tests/ILBinaryReaderMemoryTests.fs.
Additional pinned context regions: src/Compiler/AbstractIL/ilread.fs:186-241, src/Compiler/AbstractIL/ilread.fs:221-276, src/Compiler/Utilities/FileSystem.fs:501-527.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-13T13:42:37Z / 2026-08-13T13:42:37Z |
APPROVED; submitted 2026-08-13T13:42:37Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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 |
|---|---|---|---|
|
auduchinok/User |
2026-08-13T10:33:13Z |
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 - FAMILY-il-import-retention.
Pinned comparison: base e09605cdcf4e98fc1380a052b11694dcd8d747a7; head 43f10ea5d3ba5b634703eebb491688b36592fd2e; merge base e09605cdcf4e98fc1380a052b11694dcd8d747a7. Full diff SHA-256 c00cb5713bc23e710b56da120c48a680dddd23062126bd2b7783256f5aac4a89.
Other recovered review/original revisions: ed354f27f6.
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, src/Compiler/AbstractIL/il.fs, src/Compiler/AbstractIL/il.fsi, src/Compiler/AbstractIL/ilpars.fsy, src/Compiler/AbstractIL/ilprint.fs, src/Compiler/AbstractIL/ilprint.fsi, src/Compiler/AbstractIL/ilread.fs, src/Compiler/AbstractIL/ilread.fsi, src/Compiler/AbstractIL/ilreflect.fs, src/Compiler/AbstractIL/ilreflect.fsi, src/Compiler/AbstractIL/ilwrite.fs, src/Compiler/AbstractIL/ilwrite.fsi, src/Compiler/TypedTree/TypedTreePickle.fs, src/Compiler/TypedTree/TypedTreePickle.fsi, tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl, tests/FSharp.Compiler.Service.Tests/ModuleReaderCancellationTests.fs.
Additional pinned context regions: src/Compiler/AbstractIL/il.fs:659-691, src/Compiler/TypedTree/TypedTreePickle.fs:1277-1299, src/Compiler/TypedTree/TypedTreePickle.fs:1300-1322.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User |
2026-08-17T08:27:22Z / 2026-08-17T08:27:22Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-19T09:44:51Z / 2026-08-19T09:44:51Z |
APPROVED; submitted 2026-08-19T09:44:51Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
github-actions[bot]; 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 |
|
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 |
|---|---|---|---|
|
auduchinok/User |
2026-08-13T11:04:58Z |
|
|
auduchinok/User |
2026-08-13T11:28:10Z |
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 - FAMILY-il-import-retention.
Pinned comparison: base 8e00165b017d13beb3984a1c25b04abf62ed1e13; head f484085891f6ec555aed5aa9224c374e041e26de; merge base 8e00165b017d13beb3984a1c25b04abf62ed1e13. Full diff SHA-256 88e6e9e7997dfd3fdc9a5a54a9f8716ef6fae80b36022adb2400a73fc8795a0f.
Other recovered review/original revisions: 14b5b11a13.
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, src/Compiler/Checking/infos.fs, src/Compiler/Checking/infos.fsi.
Additional pinned context regions: src/Compiler/TypedTree/TypedTree.fs:1325-1395, src/Compiler/Checking/infos.fs:420-442, src/Compiler/Checking/infos.fs:1148-1170, src/Compiler/Checking/infos.fsi:153-183, src/Compiler/Checking/infos.fsi:156-186.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User |
2026-08-13T16:00:21Z / 2026-08-19T10:39:28Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:50:44Z / 2026-08-24T12:50:44Z |
APPROVED; submitted 2026-08-24T12:50:44Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
abonie; MEMBER; reviewer; text origin uncertain; User |
2026-08-27T09:06:17Z / 2026-08-27T09:06:17Z |
APPROVED; submitted 2026-08-27T09:06:17Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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 |
|---|---|---|---|
|
auduchinok/User |
2026-08-19T10:39:29Z |
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 - FAMILY-il-import-retention.
Pinned comparison: base d3fab443a1cde90f68d9a272e7e776959936a84c; head 6d8b89f8015521f3ce288df0ac178e6e249ecd90; merge base d3fab443a1cde90f68d9a272e7e776959936a84c. Full diff SHA-256 69f655f59bc373cb5301b7375d91c9477f092b40291443743dc7ef9a0737e26c.
Other recovered review/original revisions: dea1091329.
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, src/Compiler/Checking/NameResolution.fs, src/Compiler/Checking/NameResolution.fsi, src/Compiler/Checking/import.fs, src/Compiler/Checking/import.fsi, src/Compiler/Driver/CompilerImports.fs, src/Compiler/Driver/CompilerImports.fsi, src/Compiler/Driver/ParseAndCheckInputs.fs, src/Compiler/Driver/ParseAndCheckInputs.fsi, src/Compiler/TypedTree/TypedTree.fs, src/Compiler/TypedTree/TypedTree.fsi.
Additional pinned context regions: src/Compiler/Checking/NameResolution.fs:1346-1376, tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs:10-55, tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs:27-72.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User |
2026-08-13T16:09:43Z / 2026-08-13T16:09:43Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-19T10:06:48Z / 2026-08-19T10:06:48Z |
APPROVED; submitted 2026-08-19T10:06:48Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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 - FAMILY-il-import-retention.
Pinned comparison: base 8e00165b017d13beb3984a1c25b04abf62ed1e13; head c8239e1737f8a5ff9bacb49cbe538289e888261b; merge base 8e00165b017d13beb3984a1c25b04abf62ed1e13. Full diff SHA-256 26b87fba95aaa655d7722a700a311ef07aac76946284f03bf18c0341aac8ad69.
Other recovered review/original revisions: 6bf03ba46e.
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, src/Compiler/AbstractIL/ilread.fs, src/Compiler/AbstractIL/ilread.fsi.
Additional pinned context regions: src/Compiler/AbstractIL/ilread.fs:2366-2408, src/Compiler/AbstractIL/ilread.fs:928-973.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User |
2026-08-14T13:16:24Z / 2026-08-14T13:16:24Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:48:37Z / 2026-08-24T12:48:37Z |
APPROVED; submitted 2026-08-24T12:48:37Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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 |
|---|---|---|---|
|
auduchinok/User |
2026-08-19T12:08:00Z |
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 - FAMILY-il-import-retention.
Pinned comparison: base 4824d92223908a73c008a7e5b015377394f1ce5f; head 9d8662d93106e401d67e480e5fb0d812b04cb57c; merge base 4824d92223908a73c008a7e5b015377394f1ce5f. Full diff SHA-256 44c3ebd7b91b319574430e1d469ebc45bd84a0e4efd3302faefd647a489d5178.
Other recovered review/original revisions: 1def7e689f; 5b1a724e08; baf8d89e9c; d3fdcde52a.
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, src/Compiler/AbstractIL/ilread.fs, src/Compiler/AbstractIL/ilread.fsi.
Additional pinned context regions: src/Compiler/Utilities/illib.fs:1194-1214, src/Compiler/AbstractIL/ilmorph.fs:434-444, src/Compiler/AbstractIL/il.fs:474-493, src/Compiler/AbstractIL/il.fs:795-814.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-17T08:28:19Z / 2026-08-17T08:28:19Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-19T09:39:18Z / 2026-08-19T09:39:18Z |
APPROVED; submitted 2026-08-19T09:39:18Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-20T15:02:37Z / 2026-08-20T17:09:55Z |
APPROVED; submitted 2026-08-20T15:02:37Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:47:22Z / 2026-08-24T12:47:22Z |
APPROVED; submitted 2026-08-24T12:47:22Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
abonie; MEMBER; reviewer; text origin uncertain; User |
2026-08-27T09:06:33Z / 2026-08-27T09:06:33Z |
APPROVED; submitted 2026-08-27T09:06:33Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
abonie; MEMBER; reviewer; text origin uncertain; User |
2026-09-16T11:57:08Z / 2026-09-16T11:57:08Z |
APPROVED; submitted 2026-09-16T11:57:08Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
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. |
|
auduchinok; MEMBER; author; text origin uncertain; User |
2026-09-10T09:47:53Z / 2026-09-10T09:47:53Z |
- |
- |
Author reports the PR is ready. |
|
github-actions[bot]; 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. |
|
github-actions[bot]; 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 |
|---|---|---|---|
|
auduchinok/User |
2026-08-19T12:09:19Z |
|
|
auduchinok/User |
2026-08-20T17:09:56Z |
|
|
auduchinok/User |
2026-09-10T07:54:53Z |
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 - FAMILY-il-import-retention.
Pinned comparison: base 8e00165b017d13beb3984a1c25b04abf62ed1e13; head 2b7b6ab7f6caccb9da3bf27152c939eddd68c046; merge base 8e00165b017d13beb3984a1c25b04abf62ed1e13. Full diff SHA-256 05304e67f8e2e079d6494d095bb8e37677c4a8abad3645685b2ff228a6567f69.
Other recovered review/original revisions: 14d2e9f64c; 238a6720a3; 8af1cc04e2; ba4843bcdc.
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, src/Compiler/Checking/NameResolution.fs, src/Compiler/Checking/NameResolution.fsi, src/Compiler/Checking/OverloadResolutionRules.fs, src/Compiler/Checking/OverloadResolutionRules.fsi, src/Compiler/Service/FSharpCheckerResults.fs, src/Compiler/Service/FSharpCheckerResults.fsi, src/Compiler/Service/ServiceDeclarationLists.fs, src/Compiler/Service/ServiceDeclarationLists.fsi, src/Compiler/Symbols/Exprs.fs, src/Compiler/Symbols/Exprs.fsi, src/Compiler/TypedTree/TypedTree.fs, src/Compiler/TypedTree/TypedTree.fsi, src/Compiler/TypedTree/TypedTreeBasics.fs, src/Compiler/TypedTree/TypedTreeBasics.fsi, src/Compiler/TypedTree/TypedTreeOps.Attributes.fs, src/Compiler/TypedTree/TypedTreeOps.Attributes.fsi, src/Compiler/TypedTree/TypedTreeOps.ExprConstruction.fs, src/Compiler/TypedTree/TypedTreeOps.ExprConstruction.fsi, src/Compiler/TypedTree/TypedTreeOps.FreeVars.fs, src/Compiler/TypedTree/TypedTreeOps.FreeVars.fsi, src/Compiler/TypedTree/TypedTreePickle.fs, src/Compiler/TypedTree/TypedTreePickle.fsi.
Additional pinned context regions: src/Compiler/TypedTree/TypedTreeBasics.fs:419-441, src/Compiler/TypedTree/TypedTreeBasics.fs:429-451, src/Compiler/TypedTree/TypedTreePickle.fs:2674-2696, src/Compiler/TypedTree/TypedTree.fs:575-625, src/Compiler/TypedTree/TypedTree.fs:600-650, src/Compiler/TypedTree/TypedTree.fs:600-650, src/Compiler/TypedTree/TypedTreeBasics.fs:409-459.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User |
2026-08-19T09:26:33Z / 2026-08-20T11:40:24Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin model; User |
2026-08-20T11:40:53Z / 2026-08-20T11:40:53Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-20T12:01:57Z / 2026-08-20T12:01:58Z |
COMMENTED; submitted 2026-08-20T12:01:57Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-20T12:19:19Z / 2026-08-20T12:19:43Z |
COMMENTED; submitted 2026-08-20T12:19:43Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-21T11:30:14Z / 2026-08-21T11:30:14Z |
COMMENTED; submitted 2026-08-21T11:30:14Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-21T11:30:30Z / 2026-08-24T12:46:38Z |
APPROVED; submitted 2026-08-21T11:30:30Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-26T14:00:56Z / 2026-08-26T14:00:56Z |
APPROVED; submitted 2026-08-26T14:00:56Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
github-actions[bot]; 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) |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-08-20T11:40:53Z / 2026-08-20T11:40:53Z |
original |
src/Compiler/TypedTree/TypedTree.fs:595; thread |
Robot-marked inline suggests IEquatable<PublicPath> to avoid boxed struct comparisons; explicitly optional and cold-path. |
|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-20T12:01:58Z / 2026-08-20T12:01:58Z |
original |
src/Compiler/TypedTree/TypedTree.fs:620; thread |
Reviewer asks to restore short-circuit path comparison and supplies recursive access-list example. |
|
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-20T12:19:20Z / 2026-08-20T12:19:43Z |
original |
src/Compiler/TypedTree/TypedTree.fs:620; thread |
Author says requested comparison change is done. |
|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-21T11:30:14Z / 2026-08-21T11:30:14Z |
original |
src/Compiler/TypedTree/TypedTreeBasics.fs:429; thread |
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 |
|---|---|---|---|
|
auduchinok/User |
2026-08-20T12:19:11Z |
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 - FAMILY-il-import-retention.
Pinned comparison: base c01bfbd46e671721501c4d68db8f8576326cf815; head 1ff81814e149d4af97ded2d9cac956f9d10320bf; merge base c01bfbd46e671721501c4d68db8f8576326cf815. Full diff SHA-256 cddf32e09687bc44db7adc404cdb83bdf85b6ded3d896cbb68ffc2c3c9eeb2e7.
Other recovered review/original revisions: 2079b014fa.
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, src/Compiler/Checking/Expressions/CheckExpressions.fs, src/Compiler/Checking/Expressions/CheckExpressions.fsi, src/Compiler/TypedTree/TypedTree.fs, src/Compiler/TypedTree/TypedTree.fsi, src/Compiler/TypedTree/TypedTreeOps.Remapping.fs, src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi, src/Compiler/TypedTree/TypedTreePickle.fs, src/Compiler/TypedTree/TypedTreePickle.fsi.
Additional pinned context regions: src/Compiler/TypedTree/TypedTree.fs:6495-6511, src/Compiler/TypedTree/TypedTreePickle.fs:3160-3172, src/Compiler/TypedTree/TypedTree.fs:1353-1379.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User |
2026-08-19T09:28:36Z / 2026-08-19T09:28:36Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-19T09:47:22Z / 2026-08-19T09:47:22Z |
APPROVED; submitted 2026-08-19T09:47:22Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-19T09:49:33Z / 2026-08-19T09:49:33Z |
APPROVED; submitted 2026-08-19T09:49:33Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
abonie; MEMBER; reviewer; text origin uncertain; User |
2026-08-20T10:11:48Z / 2026-08-20T10:11:48Z |
APPROVED; submitted 2026-08-20T10:11:48Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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 - FAMILY-il-import-retention.
Pinned comparison: base e631ed7f4f210cb3dade65b1d6341bb7106e51bb; head 9252af630067c59e8fd087380a5d52ecd95c15a6; merge base e631ed7f4f210cb3dade65b1d6341bb7106e51bb. Full diff SHA-256 2a8e2073f3957127de231d0bc17a9e83f9471d7121dca3f6a41d10d7a9975eee.
Other recovered review/original revisions: 63df5b0fb8; c7fdf41b25; e0a9274f3f.
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, src/Compiler/AbstractIL/il.fs, src/Compiler/AbstractIL/il.fsi.
Additional pinned context regions: src/Compiler/AbstractIL/ilread.fs:3309-3345, src/Compiler/AbstractIL/il.fs:1360-1382, src/Compiler/AbstractIL/il.fs:1366-1388, src/Compiler/AbstractIL/il.fs:1373-1395, src/Compiler/AbstractIL/il.fsi:926-950, src/Compiler/AbstractIL/il.fs:1246-1296, src/Compiler/AbstractIL/il.fs:1246-1296, src/Compiler/AbstractIL/il.fs:1246-1296, src/Compiler/AbstractIL/il.fs:1246-1296.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User |
2026-08-19T09:18:20Z / 2026-08-19T09:57:38Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-19T09:54:33Z / 2026-08-19T09:54:34Z |
COMMENTED; submitted 2026-08-19T09:54:33Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-19T09:56:39Z / 2026-08-19T09:56:40Z |
COMMENTED; submitted 2026-08-19T09:56:40Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-19T09:57:52Z / 2026-08-19T09:57:52Z |
COMMENTED; submitted 2026-08-19T09:57:52Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-19T10:04:37Z / 2026-08-19T10:04:37Z |
COMMENTED; submitted 2026-08-19T10:04:37Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:45:57Z / 2026-08-24T12:45:57Z |
APPROVED; submitted 2026-08-24T12:45:57Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
abonie; MEMBER; reviewer; text origin uncertain; User |
2026-08-27T09:06:43Z / 2026-08-27T09:06:43Z |
APPROVED; submitted 2026-08-27T09:06:43Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
abonie; MEMBER; reviewer; text origin uncertain; User |
2026-08-31T12:52:32Z / 2026-08-31T12:52:32Z |
APPROVED; submitted 2026-08-31T12:52:32Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-28T11:57:57Z / 2026-08-28T11:57:57Z |
- |
- |
Author reports the PR is ready. |
|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-19T09:54:34Z / 2026-08-19T09:54:34Z |
original |
src/Compiler/AbstractIL/il.fs:1266; thread |
Reviewer asks whether forcing attributes should release reader closure for collection. |
|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-19T09:56:40Z / 2026-08-19T09:56:40Z |
original |
src/Compiler/AbstractIL/il.fs:1266; thread |
Reviewer follows up that sharing one reader per metadata may prevent any saving. |
|
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-19T09:57:52Z / 2026-08-19T09:57:52Z |
original |
src/Compiler/AbstractIL/il.fs:1266; thread |
Author initially agrees and says they will measure. |
|
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-19T10:04:37Z / 2026-08-19T10:04:37Z |
original |
src/Compiler/AbstractIL/il.fs:1266; thread |
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 - FAMILY-il-import-retention.
Pinned comparison: base cecab991fb8c8e47058c0fad5426235b99f3a293; head 86ece46d9e5a7ae67aca866749ae4f377dab5ff1; merge base cecab991fb8c8e47058c0fad5426235b99f3a293. Full diff SHA-256 f57672b1335cad7415a0cd74d154d638f97f3c161c84e912edddbef256074d9c.
Other recovered review/original revisions: 09a3cb1dbc; aa7a9aecfc.
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, src/Compiler/Driver/CompilerConfig.fs, src/Compiler/Driver/CompilerConfig.fsi, src/Compiler/Driver/CompilerImports.fs, src/Compiler/Driver/CompilerImports.fsi, src/Compiler/Service/BackgroundCompiler.fs, src/Compiler/Service/BackgroundCompiler.fsi, src/Compiler/Service/IncrementalBuild.fs, src/Compiler/Service/IncrementalBuild.fsi, src/Compiler/Service/TransparentCompiler.fs, src/Compiler/Service/TransparentCompiler.fsi, src/Compiler/Service/service.fs, src/Compiler/Service/service.fsi, tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl.
Additional pinned context regions: src/Compiler/Service/IncrementalBuild.fs:490-522, src/Compiler/Service/IncrementalBuild.fs:503-535, tests/FSharp.Compiler.Service.Tests/MultiProjectAnalysisTests.fs:130-165, tests/FSharp.Compiler.Service.Tests/MultiProjectAnalysisTests.fs:143-178, src/Compiler/Driver/CompilerImports.fs:474-524, src/Compiler/Driver/CompilerImports.fs:2307-2357, src/Compiler/Service/service.fs:202-252, src/Compiler/Driver/CompilerImports.fs:2525-2575, src/Compiler/Service/service.fs:202-252, src/Compiler/Driver/CompilerImports.fs:2307-2357.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:06:33Z / 2026-08-24T12:06:33Z |
COMMENTED; submitted 2026-08-24T12:06:33Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:07:32Z / 2026-08-24T12:07:32Z |
COMMENTED; submitted 2026-08-24T12:07:32Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:09:11Z / 2026-08-24T12:09:12Z |
COMMENTED; submitted 2026-08-24T12:09:11Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:17:36Z / 2026-08-24T12:17:36Z |
COMMENTED; submitted 2026-08-24T12:17:36Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-26T08:18:59Z / 2026-08-26T08:18:59Z |
COMMENTED; submitted 2026-08-26T08:18:59Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-26T08:53:29Z / 2026-08-26T08:53:29Z |
COMMENTED; submitted 2026-08-26T08:53:29Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-26T09:17:28Z / 2026-08-26T09:17:28Z |
APPROVED; submitted 2026-08-26T09:17:28Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-27T22:18:58Z / 2026-08-27T22:18:58Z |
APPROVED; submitted 2026-08-27T22:18:58Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
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. |
|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:06:33Z / 2026-08-24T12:06:33Z |
original |
src/Compiler/Driver/CompilerImports.fs:494; thread |
Reviewer asks for typed representation instead of semantically opaque strings. |
|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:07:32Z / 2026-08-24T12:07:32Z |
original |
src/Compiler/Driver/CompilerImports.fs:2327; thread |
Reviewer posts only a question mark on moved CcuData code; no substantive objection stated. |
|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:09:12Z / 2026-08-24T12:09:12Z |
original |
src/Compiler/Service/service.fs:222; thread |
Reviewer asks why sharing defaults false and whether risks justify that. |
|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:17:36Z / 2026-08-24T12:17:36Z |
original |
src/Compiler/Driver/CompilerImports.fs:2545; thread |
Reviewer recalls prior missing-flag reuse bugs and asks for one typed definition of import-relevant switches. |
|
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-26T08:18:59Z / 2026-08-26T08:18:59Z |
original |
src/Compiler/Service/service.fs:222; thread |
Author agrees and says the default was changed. |
|
auduchinok; MEMBER; author; text origin uncertain; User |
2026-08-26T08:53:29Z / 2026-08-26T08:53:29Z |
original |
src/Compiler/Driver/CompilerImports.fs:2327; thread |
Author explains the questioned block was an indentation change. |
Superseded force-push envelopes (GraphQL, objects recovered):
Event ID |
Actor/type |
Created UTC |
Before / after |
|---|---|---|---|
|
auduchinok/User |
2026-08-19T13:38:58Z |
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 - 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, src/Compiler/Checking/NameResolution.fs, src/Compiler/Checking/NameResolution.fsi.
Additional pinned context regions: src/Compiler/Checking/NameResolution.fs:843-870, src/Compiler/Checking/NameResolution.fs:859-886, tests/FSharp.Compiler.ComponentTests/Language/ExtensionMethodTests.fs:10-42.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-24T12:04:21Z / 2026-08-24T12:04:21Z |
APPROVED; submitted 2026-08-24T12:04:21Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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 - 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, src/Compiler/TypedTree/TypedTreePickle.fs, src/Compiler/TypedTree/TypedTreePickle.fsi.
Additional pinned context regions: src/Compiler/AbstractIL/il.fs:706-801, src/Compiler/TypedTree/TypedTreePickle.fsi:91-103, src/Compiler/TypedTree/TypedTreePickle.fs:811-825, src/Compiler/TypedTree/TypedTreePickle.fs:1341-1355.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User |
2026-08-21T05:47:23Z / 2026-08-21T05:47:23Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-21T19:50:22Z / 2026-08-21T19:50:22Z |
APPROVED; submitted 2026-08-21T19:50:21Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-21T19:52:20Z / 2026-08-21T19:52:20Z |
APPROVED; submitted 2026-08-21T19:52:20Z |
Approving reviewer asks to reconsider shareIL name because the operation is interning. |
||
github-actions[bot]; 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. |
|
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 - 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, src/Compiler/Checking/PatternMatchCompilation.fsi, 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 |
|---|---|---|---|---|---|
abonie; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-08-26T15:16:22Z / 2026-08-26T15:16:22Z |
APPROVED; submitted 2026-08-26T15:16:22Z |
Empty-body APPROVED; no written rationale. |
||
github-actions[bot]; CONTRIBUTOR; automated; Bot |
2026-08-24T09:23:45Z / 2026-08-24T14:37:43Z |
- |
- |
Automated release-note gate status; not human performance evidence. |
|
github-actions[bot]; 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 - 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, src/Compiler/Optimize/Optimizer.fsi, src/Compiler/TypedTree/TypedTreeOps.Remapping.fs, 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 |
|---|---|---|---|---|---|
github-actions[bot]; CONTRIBUTOR; automated; Bot |
2026-08-25T15:33:32Z / 2026-08-25T15:33:43Z |
- |
- |
Automated release-note gate status; not human performance evidence. |
|
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 - 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, src/Compiler/Optimize/Optimizer.fs, 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 |
|---|---|---|---|---|---|
abonie; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-08-31T14:06:08Z / 2026-08-31T14:06:08Z |
APPROVED; submitted 2026-08-31T14:06:08Z |
Empty-body APPROVED; no written rationale. |
||
github-actions[bot]; CONTRIBUTOR; automated; Bot |
2026-08-26T14:27:48Z / 2026-08-26T14:29:20Z |
- |
- |
Automated release-note gate status; not human performance evidence. |
|
github-actions[bot]; 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 - 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, src/Compiler/TypedTree/TypedTreePickle.fsi.
Additional pinned context regions: src/Compiler/TypedTree/TypedTree.fs:3795-3880, src/Compiler/TypedTree/TypedTreePickle.fs:632-654, src/Compiler/TypedTree/TypedTreePickle.fs:888-910.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-08-27T13:01:10Z / 2026-08-27T13:01:10Z |
APPROVED; submitted 2026-08-27T13:01:10Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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 - FAMILY-fsi-pdb.
Pinned comparison: base 24998507fccf7a6c73348db7e5a487d89214fc99; head b892b790dc625ee36f48adab3104b2d0c075d522; merge base 24998507fccf7a6c73348db7e5a487d89214fc99. Full diff SHA-256 144f46420e0097288a868499993d58af7f76db0dc9870b47696e2e674aa9e3fd.
Other recovered review/original revisions: 628273bec9.
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, src/Compiler/Interactive/fsi.fs, src/Compiler/Interactive/fsi.fsi, 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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; model-attributed; User |
2026-09-09T13:41:34Z / 2026-09-09T13:41:34Z |
APPROVED; submitted 2026-09-09T13:41:34Z |
Approval with explicit robot/detective disclosure marker; automated/model-attributed LGTM, not an independent human rationale. |
||
T-Gro; MEMBER; user-account feedback/decision; authorship unverified; User |
2026-09-18T18:02:58Z / 2026-09-18T18:02:58Z |
APPROVED; submitted 2026-09-18T18:02:58Z |
Empty-body APPROVED; no written rationale. |
||
github-actions[bot]; CONTRIBUTOR; automated; Bot |
2026-08-29T16:16:42Z / 2026-09-18T18:04:39Z |
- |
- |
Automated release-note gate status; not human performance evidence. |
|
github-actions[bot]; 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 - FAMILY-il-import-retention.
Pinned comparison: base 7ad874a23f007e5209787f87f2bbf59acfb7875c; head 552a152bbcb7d50c94c3d9d97b49200affc94eb9; merge base 7ad874a23f007e5209787f87f2bbf59acfb7875c. Full diff SHA-256 5c3f9ca08aa70dcf7383f57f4372e5406c6aad15a6e971134b0daa9f65b498e0.
Other recovered review/original revisions: cda7c71afe.
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, src/Compiler/Driver/CompilerConfig.fs, src/Compiler/Driver/CompilerConfig.fsi, src/Compiler/Driver/CompilerImports.fs, src/Compiler/Driver/CompilerImports.fsi, src/Compiler/Service/BackgroundCompiler.fs, src/Compiler/Service/BackgroundCompiler.fsi, src/Compiler/Service/IncrementalBuild.fs, src/Compiler/Service/IncrementalBuild.fsi, src/Compiler/Service/TransparentCompiler.fs, src/Compiler/Service/TransparentCompiler.fsi, src/Compiler/TypedTree/TcGlobals.fs, src/Compiler/TypedTree/TcGlobals.fsi, src/Compiler/TypedTree/TypedTreeOps.Remap.fs, src/Compiler/TypedTree/TypedTreeOps.Remap.fsi, src/Compiler/TypedTree/TypedTreeOps.Remapping.fs, src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi, src/Compiler/TypedTree/TypedTreeOps.Transforms.fs, src/Compiler/TypedTree/TypedTreeOps.Transforms.fsi, tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj, tests/FSharp.Compiler.Service.Tests/ProjectReferenceHandoverTests.fs.
Additional pinned context regions: src/Compiler/Checking/AccessibilityLogic.fs:1-27, src/Compiler/Driver/CompilerImports.fs:680-689, src/Compiler/TypedTree/TypedTreePickle.fs:862-887, src/Compiler/TypedTree/TypedTreePickle.fs:2864-2889, src/Compiler/TypedTree/TcGlobals.fs:1176-1226, src/Compiler/Driver/CompilerImports.fs:2684-2734, src/Compiler/TypedTree/TypedTreeOps.Transforms.fs:1016-1066, src/Compiler/Service/IncrementalBuild.fs:640-690, src/Compiler/Service/IncrementalBuild.fs:654-704, src/Compiler/TypedTree/TypedTreeOps.Transforms.fs:1021-1071, src/Compiler/Driver/ParseAndCheckInputs.fs:960-1020.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T14:11:10Z / 2026-09-09T14:11:11Z |
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. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-09-16T19:06:25Z / 2026-09-16T19:06:25Z |
COMMENTED; submitted 2026-09-16T19:06:25Z |
Reviewer asks how differing InternalsVisibleTo consumers are handled and whether remapping already did so. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-09-21T13:47:57Z / 2026-09-21T13:47:57Z |
APPROVED; submitted 2026-09-21T13:47:57Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
auduchinok; MEMBER; author; text origin uncertain; User |
2026-09-02T16:24:23Z / 2026-09-02T16:24:23Z |
- |
- |
Author reports the PR is ready. |
|
github-actions[bot]; 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) |
|
github-actions[bot]; 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. |
|
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. |
|
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. |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T14:11:10Z / 2026-09-09T14:11:11Z |
original |
src/Compiler/TypedTree/TcGlobals.fs:1196; thread |
AI inline reports warm-checker FS3261 leaking from cached checkNullness despite target --checknulls-, with two-project repro and both compiler modes claimed. |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T14:11:10Z / 2026-09-09T14:11:11Z |
original |
src/Compiler/Driver/CompilerImports.fs:2704; thread |
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. |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T14:11:11Z / 2026-09-09T14:11:11Z |
original |
src/Compiler/TypedTree/TypedTreeOps.Transforms.fs:1036; thread |
AI inline reports exported trait retaining producer resolution context so valid consumer extension produces FS0001; contrasts unpickling and includes repro. |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T14:11:11Z / 2026-09-09T14:11:11Z |
original |
src/Compiler/Service/IncrementalBuild.fs:660; thread |
AI inline reports producer fallback suppressing missing-reference FS0074 when consumer does not reference Leaf; includes repro. |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T14:11:11Z / 2026-09-09T14:11:11Z |
original |
src/Compiler/Service/IncrementalBuild.fs:674; thread |
AI inline reports anonymous-record owner assembly metadata becoming None/empty for both record forms; includes symbol API repro. |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T14:11:11Z / 2026-09-09T14:11:11Z |
original |
src/Compiler/TypedTree/TypedTreeOps.Transforms.fs:1041; thread |
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 |
|---|---|---|---|
|
auduchinok/User |
2026-09-02T14:31:58Z |
|
|
auduchinok/User |
2026-09-07T12:05:28Z |
|
|
auduchinok/User |
2026-09-09T20:40:10Z |
|
|
auduchinok/User |
2026-09-10T08:17:03Z |
|
|
auduchinok/User |
2026-09-11T07:31:41Z |
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 - FAMILY-il-import-retention.
Pinned comparison: base 0fbe44ab3a1a9012c86f190e42f53683ea04c18a; head e8bd497aac8d34f77d6f964a6b4281ae43ccff80; merge base 0fbe44ab3a1a9012c86f190e42f53683ea04c18a. Full diff SHA-256 2e3371b8c321de53a96b268bc02f48459a023d1d5833ec1cb1ec9e5f9fd6eb81.
Other recovered review/original revisions: 16a5c9b7f0; 3687639651; f3c8c74963.
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, src/Compiler/Service/BackgroundCompiler.fs, src/Compiler/Service/BackgroundCompiler.fsi, src/Compiler/Service/IncrementalBuild.fs, src/Compiler/Service/IncrementalBuild.fsi, tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj, tests/FSharp.Compiler.Service.Tests/IncrementalBuilderRaceTests.fs.
Additional pinned context regions: src/Compiler/Service/BackgroundCompiler.fs:423-435, src/Compiler/Service/BackgroundCompiler.fs:579-591, src/Compiler/Service/BackgroundCompiler.fs:592-604, src/Compiler/Service/BackgroundCompiler.fs:399-449, src/Compiler/Facilities/BuildGraph.fs:1-80.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T09:16:17Z / 2026-09-09T09:18:10Z |
COMMENTED; submitted 2026-09-09T09:16:17Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-09-17T10:45:41Z / 2026-09-17T10:45:41Z |
APPROVED; submitted 2026-09-17T10:45:41Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-09-17T10:46:27Z / 2026-09-17T10:46:27Z |
APPROVED; submitted 2026-09-17T10:46:27Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
github-actions[bot]; 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. |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T09:16:17Z / 2026-09-09T09:18:21Z |
original |
src/Compiler/Service/BackgroundCompiler.fs:419; thread |
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 |
|---|---|---|---|
|
auduchinok/User |
2026-09-10T08:31:10Z |
|
|
auduchinok/User |
2026-09-14T15:53:23Z |
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 - FAMILY-il-import-retention.
Pinned comparison: base 40bdf2fe5ff029c8662d9c974a2296df1e608fed; head df2c9ad40ab4cdaec95cbee991c740e28cb4c2a2; merge base dbb51b15e0976a7953e7b23ef47fe0ff5cabd371. Full diff SHA-256 ffc45c42a5b43a463ca290563621e25578b9c1dedcf2d516e46bf4a714a05c80.
Other recovered review/original revisions: 4ae78d12e4.
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[] 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, src/Compiler/AbstractIL/ilread.fs, src/Compiler/AbstractIL/ilread.fsi.
Additional pinned context regions: src/Compiler/AbstractIL/il.fsi:868-898, src/Compiler/Service/service.fs:334-348, src/Compiler/AbstractIL/ilread.fs:3389-3439, src/Compiler/AbstractIL/ilread.fs:3389-3439, src/Compiler/AbstractIL/ilwrite.fs:1478-1510.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T09:42:21Z / 2026-09-09T09:44:14Z |
COMMENTED; submitted 2026-09-09T09:42:21Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
auduchinok; MEMBER; author; text origin uncertain; User |
2026-09-10T09:00:26Z / 2026-09-10T09:00:27Z |
COMMENTED; submitted 2026-09-10T09:00:27Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-09-17T10:42:43Z / 2026-09-17T10:42:56Z |
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. |
||
github-actions[bot]; 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. |
|
github-actions[bot]; 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. |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T09:42:21Z / 2026-09-09T09:42:21Z |
original |
src/Compiler/AbstractIL/ilread.fs:3409; thread |
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. |
|
auduchinok; MEMBER; author; text origin uncertain; User |
2026-09-10T09:00:26Z / 2026-09-10T09:00:27Z |
original |
src/Compiler/AbstractIL/ilread.fs:3409; thread |
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 - FAMILY-il-import-retention.
Pinned comparison: base 4824d92223908a73c008a7e5b015377394f1ce5f; head 7cfe5466541aae46ec73451a835b89a39764e69e; merge base 40bdf2fe5ff029c8662d9c974a2296df1e608fed. Full diff SHA-256 7bce7a6a9dd9fbae72df850ebb5e99cc60510df37d3f455371a2d62a13d7a852.
Other recovered review/original revisions: 94ee8635c0.
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, src/Compiler/AbstractIL/ilread.fs, src/Compiler/AbstractIL/ilread.fsi, src/Compiler/Utilities/FileSystem.fs, src/Compiler/Utilities/FileSystem.fsi.
Additional pinned context regions: src/Compiler/AbstractIL/ilread.fs:5060-5102, src/Compiler/Utilities/FileSystem.fs:180-215, tests/FSharp.Compiler.Service.Tests/FileSystemTests.fs:31-57, src/Compiler/AbstractIL/ilread.fs:5151-5201.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T08:57:20Z / 2026-09-09T08:58:01Z |
COMMENTED; submitted 2026-09-09T08:57:20Z |
Empty COMMENTED review retained as a review event; no prose rationale. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-09-17T10:36:23Z / 2026-09-17T10:36:23Z |
APPROVED; submitted 2026-09-17T10:36:23Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
github-actions[bot]; 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. |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-09T08:57:20Z / 2026-09-09T08:57:20Z |
original |
src/Compiler/AbstractIL/ilread.fs:5171; thread |
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 |
|---|---|---|---|
|
auduchinok/User |
2026-09-10T09:43:18Z |
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 - FAMILY-il-import-retention.
Pinned comparison: base 40bdf2fe5ff029c8662d9c974a2296df1e608fed; head 3bb87bb5616607d21f8e39e85aa6bcfc90a7c50f; merge base 40bdf2fe5ff029c8662d9c974a2296df1e608fed. Full diff SHA-256 62f40e766b5623166bf802bb86592632d4229c35fe6003904b05022cc13405dc.
Other recovered review/original revisions: 98d652f675.
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, src/Compiler/Checking/Expressions/CheckExpressions.fs, src/Compiler/Checking/Expressions/CheckExpressions.fsi, src/Compiler/Checking/NameResolution.fsi.
Additional pinned context regions: src/Compiler/Checking/NameResolution.fs:761-798, src/Compiler/Checking/NameResolution.fs:941-978, tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/IWSAMsAndSRTPs/IWSAMsAndSRTPsTests.fs:54-79, tests/FSharp.Compiler.ComponentTests/Conformance/Types/TypeConstraints/IWSAMsAndSRTPs/IWSAMsAndSRTPsTests.fs:64-89.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User |
2026-09-09T09:21:44Z / 2026-09-09T09:22:40Z |
APPROVED; submitted 2026-09-09T09:21:44Z |
Approval body only says LGTM. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-09-17T10:29:59Z / 2026-09-17T10:29:59Z |
APPROVED; submitted 2026-09-17T10:29:59Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
github-actions[bot]; 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 - FAMILY-il-import-retention.
Pinned comparison: base 7d9d12229eaaed1f9e4a3255ceed40f39c34a252; head 6f65b3ffb09fb66e6e388e8ad77c6469ffb1cb66; merge base 7d9d12229eaaed1f9e4a3255ceed40f39c34a252. Full diff SHA-256 85e904bafaa4a42518bc4e752b60f3a951a9be75a90cb45aa8d106fe20326661.
Other recovered review/original revisions: 33b3017424; d2eb7f0c5d.
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, src/Compiler/Checking/CheckDeclarations.fs, src/Compiler/Checking/CheckDeclarations.fsi, src/Compiler/Checking/InfoReader.fs, src/Compiler/Checking/InfoReader.fsi, src/Compiler/Checking/MethodOverrides.fs, src/Compiler/Checking/MethodOverrides.fsi, src/Compiler/TypedTree/TypedTree.fs, src/Compiler/TypedTree/TypedTree.fsi, src/Compiler/TypedTree/TypedTreeOps.Remapping.fs, src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi, src/Compiler/TypedTree/TypedTreePickle.fs, src/Compiler/TypedTree/TypedTreePickle.fsi.
Additional pinned context regions: src/Compiler/Checking/InfoReader.fs:739-758, src/Compiler/TypedTree/TypedTreeOps.Transforms.fs:978-1001, src/Compiler/TypedTree/TypedTreePickle.fs:2864-2900.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin uncertain-model-associated; User |
2026-09-09T09:45:57Z / 2026-09-09T09:47:02Z |
APPROVED; submitted 2026-09-09T09:45:57Z |
Approval body only says LGTM. |
||
T-Gro; MEMBER; reviewer; text origin uncertain; User |
2026-09-16T19:12:02Z / 2026-09-16T19:12:02Z |
APPROVED; submitted 2026-09-16T19:12:02Z |
Empty APPROVED review retained as a review event; no prose rationale. |
||
github-actions[bot]; 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. |
|
github-actions[bot]; 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 - 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, src/Compiler/Checking/CheckDeclarations.fs, src/Compiler/Checking/CheckDeclarations.fsi, src/Compiler/Checking/PostInferenceChecks.fs, src/Compiler/Checking/PostInferenceChecks.fsi, src/Compiler/Driver/ParseAndCheckInputs.fs, src/Compiler/Driver/ParseAndCheckInputs.fsi, src/Compiler/Service/BackgroundCompiler.fs, src/Compiler/Service/BackgroundCompiler.fsi, src/Compiler/Service/FSharpCheckerResults.fs, src/Compiler/Service/FSharpCheckerResults.fsi, src/Compiler/Service/IncrementalBuild.fs, src/Compiler/Service/IncrementalBuild.fsi, src/Compiler/Service/TransparentCompiler.fs, src/Compiler/Service/TransparentCompiler.fsi, src/Compiler/TypedTree/TypedTreeOps.Remapping.fs, src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi, tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.bsl, tests/FSharp.Compiler.Service.Tests/Symbols.fs.
Additional pinned context regions: src/Compiler/Symbols/Symbols.fs:790-824, src/Compiler/Symbols/Symbols.fs:1378-1412, src/Compiler/Symbols/SymbolHelpers.fs:967-988, src/Compiler/Symbols/SymbolHelpers.fs:989-1010, src/Compiler/Service/FSharpCheckerResults.fs:2830-2880.
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 |
|---|---|---|---|---|---|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-11T15:19:15Z / 2026-09-11T15:19:15Z |
COMMENTED; submitted 2026-09-11T15:19:14Z |
Review explicitly labels itself AI and requests independent verification; one inline report supplies substance. |
||
github-actions[bot]; 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. |
|
github-actions[bot]; 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. |
|
T-Gro; MEMBER; reviewer; text origin model; User |
2026-09-11T15:19:15Z / 2026-09-11T15:19:15Z |
original |
src/Compiler/Service/FSharpCheckerResults.fs:2850; thread |
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.
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.
Context source |
Description ID |
Author/type |
Created / updated UTC |
Discussion acquisition |
Faithful note |
|---|---|---|---|---|---|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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, 2765745705, 2765816899, 2766046586, 2801893718, 2835022389, 2934231498, 2939186260, 2939191918, 2939567439, 3461664832, 3511614554, 3511751634, 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 |
|---|---|---|---|---|---|
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 |
|
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 [...] |
2026-09-22T09:46:04Z |
|
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 |
|
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/, [...] |
2026-09-22T09:46:04Z |
|
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 |
2026-09-22T09:46:04Z |
|
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: ```fsharp match | A | B | C | D ... | Y | Z when (something) -> ... // out of memory ``` But if the when-conditions break the match often, (even with identical "something") then it works: [...] |
2026-09-22T09:46:05Z |
|
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 ``` // A = "x" && A = "x" -> A = "x" let ``remove duplicate condition`` [...] |
2026-09-22T09:46:05Z |
|
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:  The annoying [...] |
2026-09-22T09:46:05Z |
|
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 `when` can disable certain optimizations due to having the possibility of a side effect. This `--times:files.csv` output indeed tells that there is something in optimizations for this file. Worth mentioning that even the [...] |
2026-09-22T09:46:05Z |
|
Thorium/User; author rationale; User |
2025-04-14T14:25:13Z / 2025-04-14T14:25:13Z |
earlier context |
Source snapshot: Something like this maybe? [...] |
2026-09-22T09:46:05Z |
|
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 [...] |
2026-09-22T09:46:05Z |
|
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 |
|
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: [...] |
2026-09-22T09:46:05Z |
|
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 `when` clause: https://github.com/dotnet/fsharp/blob/0dd8a0a3d562996ab5ad3854cd27eabab5fb7ae4/src/Compiler/Checking/PatternMatchCompilation.fs#L1673 |
2026-09-22T09:46:05Z |
|
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: > Build started at 12:47 PM... > 1>------ Build started: Project: ClassLibrary1, Configuration: Debug Any CPU ------ > 1>error FS0193 : [...] |
2026-09-22T09:46:05Z |
|
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 [...] |
2026-09-22T09:46:05Z |
|
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 [...] |
2026-09-22T09:46:05Z |
|
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 |
|
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 |
|
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 |
|
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/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 |
2026-09-22T09:46:13Z |
|
github-actions[bot]/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.
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.
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.
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:
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:
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.
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 |
|---|---|
|
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. |
|
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 |
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 |
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. |
|
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. |
|
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 |
|
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. |
|
Passed; the staged change contains only |
The independent split check can be rerun without any session artifacts:
$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' }
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) |
|---|---|---|---|---|
|
5; 3 / 1 / 2 / 1 |
1 / 1; 25 / 4 |
|
|
|
1; 4 / 1 / 2 / 1 |
1 / 0; 33 / 3 |
|
|
|
1; 1 / 4 / 0 / 0 |
0 / 0; 34 / 3 |
|
|
|
3; 1 / 1 / 0 / 0 |
0 / 0; 29 / 2 |
|
|
|
2; 6 / 3 / 4 / 2 |
2 / 0; 37 / 4 |
|
|
|
1; 1 / 1 / 0 / 0 |
0 / 0; 26 / 2 |
|
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, brianrourkeboll, reviewer; acceptance, T-Gro, author |
|
Manual array filling in |
PR-20349 invariant request, abonie, reviewer; reply, T-Gro, author |
original |
Asked for a comment or debug assertion at |
PR-20350 question, baronfel, reviewer; reply and qualification, T-Gro, author |
Issue comments unbound; 2026-08-25/26; final |
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, auduchinok, reviewer; answer, T-Gro, author |
Issue comments unbound; 2026-08-28 / 2026-09-02; final |
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, abonie, reviewer; answer, T-Gro, author |
original |
Test only compiled the runtime comparison. |
PR-20353 range question, abonie, reviewer; answer, T-Gro, author |
original |
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 |
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 |
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, 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 |
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 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 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 |
Total |
Pages |
|---|---|---|
|
49 |
1 |
|
60 |
1 |
|
1 |
1 |
|
23 |
1 |
|
0 |
1 |
|
0 |
1 |
|
34 |
1 |
|
147 |
2 |
|
102 |
2 |
|
73 |
1 |
|
196 |
2 |
|
172 |
2 |
|
80 |
1 |
|
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 |
|
#20030 |
31 exact blocks from #20027 + 93 fully read owned blocks = 124 |
|
#20031 |
28 exact blocks from #20027 + 65 from #20030 + 38 owned = 131 |
|
#19941 |
23 exact blocks from #20027 + 60 from #20030 + 28 from #20031 + 50 owned = 161 |
|
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
keepAssemblyContentsflag alone was not confirmed as a failure. - #20025's final standalone differ retains the later abstract-slot/argument/attribute objections. #20027's abstract-slot and property-attribute 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 touched the uncompiled copy. The actual compiled-reader correction 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 |
#20097 rich-text precursor |
All 116 final changed files and reviewed |
#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 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 |
#17518 units API |
Old 194-method retained source, formatting and later 26-overload redesign inspected. The 2,250->2,281 KB author reply 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, |
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 separates the allocation-neutral named-reference-record cleanup from the reported 8 B/write saving. It became MIX-01, 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. |
|
#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. |
|
#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. |
|
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
ScanTokenand addsScanTokenValue; earlier replies at old anchors must not be projected backward as compatibility repairs. The dictionary-versus-locking measurement question 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 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 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 and 212833 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 |
Other |
46; 232 / 160 / 174 / 75 |
Initial 44 finals plus |
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 |
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 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.
F# Compiler Guide