This is a public, read-only report. Striff reads this repository's docs, turns each sentence that makes a claim about the code into a rule, and checks the rule against the code on the default branch. How this works
Both files are merged into a single Agent365Config model at runtime using ConfigService.
ConfigService depends on Agent365Config
HoldsPR #496 · Oct 2
Read Oct 2
Component SetupHelpers, File SetupHelpers.cs, Description Shared helper methods EnsureResourcePermissionsAsync used by standalone callers and CopilotStudioSubcommand
2 rules from this sentence
SetupHelpers has an EnsureResourcePermissionsAsync method
AzCliHelper.ResolveLoginHintAsync() — reads az account show if az CLI is present
AzCliHelper has a ResolveLoginHintAsync method
HoldsPR #496 · Oct 2
Read Oct 2
AuthenticationService.ResolveLoginHintFromCacheAsync() — reads the first account's UPN from the OS-protected MSAL persistent cache if az CLI is unavailable
AuthenticationService has a ResolveLoginHintFromCacheAsync method
HoldsPR #496 · Oct 2
Read Oct 2
Only GetAccessTokenAsync and ResolveLoginHintFromCacheAsync are on the interface.
2 rules from this sentence
IAuthenticationService has GetAccessTokenAsync
Holds
IAuthenticationService has ResolveLoginHintFromCacheAsync
Holds
Read Oct 2
Other methods (GetAccessTokenWithScopesAsync, GetAccessTokenForMcpAsync, ClearCache) stay on the concrete class and are used by commands that take AuthenticationService directly.
3 rules from this sentence
AuthenticationService has a GetAccessTokenWithScopesAsync method
Holds
AuthenticationService has a GetAccessTokenForMcpAsync method
Holds
AuthenticationService has a ClearCache method
Holds
Read Oct 2
Each command exposes a CreateCommand(...) method that receives its dependencies as explicit parameters and returns a Command object wired with a SetHandler lambda.
10 rules from this sentence
AllSubcommand has a CreateCommand method
Holds
CleanupCommand has a CreateCommand method
Holds
CopilotStudioSubcommand has a CreateCommand method
Holds
CreateInstanceCommand has a CreateCommand method
Holds
DevelopCommand has a CreateCommand method
Holds
DevelopMcpCommand has a CreateCommand method
Holds
PublishCommand has a CreateCommand method
Holds
QueryEntraCommand has a CreateCommand method
Holds
RequirementsSubcommand has a CreateCommand method
Holds
SetupCommand has a CreateCommand method
Holds
Read Oct 2
RequirementsSubcommand.RunChecksOrExitAsync is the shared runner — prints [PASS]/[FAIL]/[WARN] per check and calls ExceptionHandler.ExitWithCleanup(1) on any failure:
2 rules from this sentence
RequirementsSubcommand has RunChecksOrExitAsync
Holds
RequirementsSubcommand depends on ExceptionHandler
Holds
Read Oct 2
Standalone callers:SetupHelpers.EnsureResourcePermissionsAsync handles a single resource with retry logic and is used by CopilotStudioSubcommand and direct callers.
2 rules from this sentence
SetupHelpers has EnsureResourcePermissionsAsync
Holds
CopilotStudioSubcommand depends on SetupHelpers
Holds
Read Oct 2
All custom exceptions inherit from Agent365Exception:
Model AuthMode, File AuthMode.cs, Description Enum for agent identity grant type Obo , S2s , Both
4 rules from this sentence
AuthMode is an enumeration
Holds
AuthMode has Obo
Holds
AuthMode has S2s
Holds
AuthMode has Both
Holds
Read Oct 2
Model GrantOutcome, File GrantOutcome.cs, Description Enum for per-grant result Granted , Failed , NotApplicable
4 rules from this sentence
GrantOutcome is an enumeration
Holds
GrantOutcome has Granted
Holds
GrantOutcome has Failed
Holds
GrantOutcome has NotApplicable
Holds
Read Oct 2
Used by PlatformDetector to auto-detect project type.
PlatformDetector depends on ProjectPlatform
Holds
Read Oct 2
ServerClass --> MockToolExecutor
Server depends on MockToolExecutor
HoldsPR #496 · Oct 2
Read Oct 2
MockToolExecutor --> IMockToolStore
MockToolExecutor depends on IMockToolStore
HoldsPR #496 · Oct 2
52 rules from 6 docs
See these where the change is. The browser extension puts a pull request's doc findings, and a diagram of what it changed, on the GitHub page itself, so the code and what your docs say about it are side by side.