{
  "schema": "MAKNOW_SOURCES_v1.0",
  "lesson_id": "NET-001",
  "sources": [
    {
      "source_id": "DOTNETSUP",
      "source_class": "PRIMARY_OFFICIAL",
      "locator": "https://learn.microsoft.com/en-us/dotnet/core/releases-and-support",
      "claim_boundary": ".NET releases and support lifecycle, including currently supported versions and end-of-support dates.",
      "freshness_class": "TOOL_VOLATILE",
      "retrieved_at": "2026-09-03",
      "review_due": "2026-10-18",
      "rechecked_at": "2026-09-12",
      "stage_live_refresh": true
    },
    {
      "source_id": "CSHARP14",
      "source_class": "PRIMARY_OFFICIAL",
      "locator": "https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-14",
      "claim_boundary": "Microsoft documentation for C# 14 language features and .NET 10 support.",
      "freshness_class": "TOOL_VOLATILE",
      "retrieved_at": "2026-09-03",
      "review_due": "2026-10-18",
      "rechecked_at": "2026-09-12",
      "stage_live_refresh": true
    },
    {
      "source_id": "BREAK10",
      "source_class": "PRIMARY_OFFICIAL",
      "locator": "https://learn.microsoft.com/en-us/dotnet/core/compatibility/10",
      "claim_boundary": "Microsoft catalog of .NET 10 breaking changes by technology area.",
      "freshness_class": "TOOL_VOLATILE",
      "retrieved_at": "2026-09-03",
      "review_due": "2026-10-18",
      "rechecked_at": "2026-09-12",
      "stage_live_refresh": true
    },
    {
      "source_id": "DOTNET10",
      "source_class": "PRIMARY_OFFICIAL",
      "locator": "https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview",
      "claim_boundary": "Microsoft .NET 10 overview and LTS release boundary.",
      "freshness_class": "TOOL_VOLATILE",
      "retrieved_at": "2026-09-03",
      "review_due": "2026-10-18",
      "rechecked_at": "2026-09-12",
      "stage_live_refresh": true
    },
    {
      "source_id": "GLOBALJSON",
      "locator": "https://learn.microsoft.com/en-us/dotnet/core/tools/global-json",
      "source_class": "PRIMARY_OFFICIAL",
      "claim_boundary": "SDK resolution, stable versions and roll-forward policies",
      "rechecked_at": "2026-09-12",
      "review_due": "2026-10-18"
    },
    {
      "source_id": "LANGVERSION",
      "locator": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version",
      "source_class": "PRIMARY_OFFICIAL",
      "claim_boundary": "TFM-related language defaults and explicit version selection",
      "rechecked_at": "2026-09-12",
      "review_due": "2026-10-18"
    },
    {
      "source_id": "SUPPORTPOLICY",
      "locator": "https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core",
      "source_class": "PRIMARY_OFFICIAL",
      "claim_boundary": "Date-bound support lifecycle and current servicing patches",
      "rechecked_at": "2026-09-12",
      "review_due": "2026-10-18"
    },
    {
      "source_id": "CONFIGNULL",
      "locator": "https://learn.microsoft.com/en-us/dotnet/core/compatibility/extensions/10.0/configuration-null-values-preserved",
      "source_class": "PRIMARY_OFFICIAL",
      "claim_boundary": "JSON provider and configuration binder null change in .NET 10",
      "rechecked_at": "2026-09-12",
      "review_due": "2026-10-18"
    },
    {
      "source_id": "NULLABLE",
      "locator": "https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/null-safety/nullable-reference-types",
      "source_class": "PRIMARY_OFFICIAL",
      "claim_boundary": "Compile-time null analysis, not runtime guards",
      "rechecked_at": "2026-09-12",
      "review_due": "2026-10-18"
    },
    {
      "source_id": "ASYNC",
      "locator": "https://learn.microsoft.com/en-us/dotnet/csharp/asynchronous-programming/async-return-types",
      "source_class": "PRIMARY_OFFICIAL",
      "claim_boundary": "Task, awaiting and async void boundaries",
      "rechecked_at": "2026-09-12",
      "review_due": "2026-10-18"
    },
    {
      "source_id": "VERSIONSELECT",
      "locator": "https://learn.microsoft.com/en-us/dotnet/core/versions/selection",
      "source_class": "PRIMARY_OFFICIAL",
      "claim_boundary": "Distinct SDK, target framework and runtime selection",
      "rechecked_at": "2026-09-12",
      "review_due": "2026-10-18"
    },
    {
      "source_id": "DI",
      "locator": "https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection/overview",
      "source_class": "PRIMARY_OFFICIAL",
      "claim_boundary": "Dependency lifetimes and disposal ownership",
      "rechecked_at": "2026-09-12",
      "review_due": "2026-10-18"
    },
    {
      "source_id": "DOWNLOAD10",
      "locator": "https://dotnet.microsoft.com/en-us/download/dotnet/10.0",
      "source_class": "PRIMARY_OFFICIAL",
      "claim_boundary": "SDK 10.0.401 and 10.0.112 with runtime 10.0.12 in checked listing",
      "rechecked_at": "2026-09-12",
      "review_due": "2026-10-18"
    },
    {
      "source_id": "SPANBREAK",
      "locator": "https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/10.0/csharp-overload-resolution",
      "source_class": "PRIMARY_OFFICIAL",
      "claim_boundary": "C# 14 Span-related overload resolution changes",
      "rechecked_at": "2026-09-12",
      "review_due": "2026-10-18"
    }
  ],
  "source_identity_mutated": false,
  "claim_scope_expanded": false
}
