diff --git a/InterlinedList.Contract.Tests/EndpointInventoryTests.cs b/InterlinedList.Contract.Tests/EndpointInventoryTests.cs
index 9758a3f..399cad0 100644
--- a/InterlinedList.Contract.Tests/EndpointInventoryTests.cs
+++ b/InterlinedList.Contract.Tests/EndpointInventoryTests.cs
@@ -26,7 +26,15 @@ public sealed class EndpointInventoryTests
private static readonly Regex PathLiteral = new("\"\\$?(api/[^\"]*)\"", RegexOptions.Compiled);
private static readonly Regex HttpVerb = new(@"HttpMethod\.(Get|Post|Put|Patch|Delete)", RegexOptions.Compiled);
private static readonly Regex Interpolation = new(@"\{Uri\.EscapeDataString\(([A-Za-z0-9_]+)\)\}", RegexOptions.Compiled);
- private static readonly Regex GetHelper = new(@"\bGet[A-Za-z]*Async\s*[<(]", RegexOptions.Compiled);
+ ///
+ /// A read helper, by name. Get…Async covers the shared plumbing
+ /// (GetJsonAsync, GetElementAsync, GetStringAsync,
+ /// GetUserArrayAsync) and most domain helpers; Read…Async
+ /// covers the ones that read more naturally that way, like
+ /// ReadTagsAsync. Both unambiguously denote a GET.
+ ///
+ private static readonly Regex GetHelper =
+ new(@"\b(Get|Read)[A-Za-z]*Async\s*[<(]", RegexOptions.Compiled);
///
/// A helper whose NAME carries its verb — Get…Async, Put…Async,
diff --git a/InterlinedList.Contract.Tests/InterlinedList.Contract.Tests.csproj b/InterlinedList.Contract.Tests/InterlinedList.Contract.Tests.csproj
index 4173454..f26252b 100644
--- a/InterlinedList.Contract.Tests/InterlinedList.Contract.Tests.csproj
+++ b/InterlinedList.Contract.Tests/InterlinedList.Contract.Tests.csproj
@@ -81,8 +81,10 @@
AppLog.cs -> System.Diagnostics, Windows Event Log
CredentialStore.cs -> System.Security.Cryptography, DPAPI
SessionService.cs -> CommunityToolkit.Mvvm
- AppServices.cs -> transitively needs SessionService
+ AiAvailabilityService.cs -> CommunityToolkit.Mvvm
+ AppServices.cs -> transitively needs the two above
ProfileLocationProvider.cs-> transitively needs SessionService
+ GitHubListIndex.cs -> uses AppServices and AppLog
If you add a file needing WPF, DPAPI, the Event Log or the MVVM toolkit
— or one that merely references such a file — exclude it here too. And
prefer not to: portability is what lets this suite run on
@@ -90,7 +92,7 @@
stayed portable. -->
+ Exclude="..\InterlinedList\Services\AppLog.cs;..\InterlinedList\Services\CredentialStore.cs;..\InterlinedList\Services\SessionService.cs;..\InterlinedList\Services\AiAvailabilityService.cs;..\InterlinedList\Services\AppServices.cs;..\InterlinedList\Services\ProfileLocationProvider.cs;..\InterlinedList\Services\GitHubListIndex.cs" />