Plan ref: Task 7, Milestone 3\n\nCreate internal/oauth/oauth_svc.go with OAuthSvc, ClientCredentials(). Validates credentials, checks oauth_grants, enforces scope ceiling, issues app-level JWT.\n\nFiles: internal/oauth/oauth_svc.go, internal/oauth/oauth_svc_test.go\nGate: go test ./internal/oauth/... -v -run TestClientCredentials
Plan ref: Task 7, Milestone 3\n\nCreate
internal/oauth/oauth_svc.gowithOAuthSvc,ClientCredentials(). Validates credentials, checks oauth_grants, enforces scope ceiling, issues app-level JWT.\n\nFiles:internal/oauth/oauth_svc.go,internal/oauth/oauth_svc_test.go\nGate:go test ./internal/oauth/... -v -run TestClientCredentials