package repositoryroutecontract

import "sort"

type ActivationKey struct {
	Operation Operation
	Authority AuthorityMode
}

// splitActivation is the explicit split-deployment policy. Each exact key is a
// real AGS method-plus-pattern operation; registration coverage prevents stale
// entries and prevents a new descendant from inheriting activation by prefix.
var splitActivation = map[Operation]AuthorityMode{
	"GET /api/ext/v1/repos/{owner}/{repo}/issues/{number}/thread":                              AuthorityRepositoryCredentialOrSession,
	"GET /api/ext/v1/repos/{owner}/{repo}/summary":                                             AuthorityRepositoryCredentialOrSession,
	"GET /api/ext/v1/repos/{owner}/{repo}/wiki/catalog":                                        AuthorityRepositoryCredentialOrSession,
	"POST /api/ext/v1/repos/{owner}/{repo}/wiki/compact":                                       AuthorityRepositoryCredentialOrSession,
	"GET /api/ext/v1/repos/{owner}/{repo}/wiki/compact/{jobID}":                                AuthorityRepositoryCredentialOrSession,
	"POST /api/ext/v1/repos/{owner}/{repo}/wiki/move":                                          AuthorityRepositoryCredentialOrSession,
	"GET /api/ext/v1/repos/{owner}/{repo}/wiki/pages":                                          AuthorityRepositoryCredentialOrSession,
	"POST /api/ext/v1/repos/{owner}/{repo}/wiki/pages/batch":                                   AuthorityRepositoryCredentialOrSession,
	"DELETE /api/ext/v1/repos/{owner}/{repo}/wiki/pages/{slug}":                                AuthorityRepositoryCredentialOrSession,
	"GET /api/ext/v1/repos/{owner}/{repo}/wiki/pages/{slug}":                                   AuthorityRepositoryCredentialOrSession,
	"PUT /api/ext/v1/repos/{owner}/{repo}/wiki/pages/{slug}":                                   AuthorityRepositoryCredentialOrSession,
	"GET /api/ext/v1/repos/{owner}/{repo}/wiki/pages/{slug}/backlinks":                         AuthorityRepositoryCredentialOrSession,
	"GET /api/ext/v1/repos/{owner}/{repo}/wiki/pages/{slug}/history":                           AuthorityRepositoryCredentialOrSession,
	"DELETE /api/ext/v1/repos/{owner}/{repo}/wiki/pages/{slug}/labels":                         AuthorityRepositoryCredentialOrSession,
	"GET /api/ext/v1/repos/{owner}/{repo}/wiki/pages/{slug}/labels":                            AuthorityRepositoryCredentialOrSession,
	"POST /api/ext/v1/repos/{owner}/{repo}/wiki/pages/{slug}/labels":                           AuthorityRepositoryCredentialOrSession,
	"PUT /api/ext/v1/repos/{owner}/{repo}/wiki/pages/{slug}/labels":                            AuthorityRepositoryCredentialOrSession,
	"DELETE /api/ext/v1/repos/{owner}/{repo}/wiki/pages/{slug}/labels/{name}":                  AuthorityRepositoryCredentialOrSession,
	"POST /api/ext/v1/repos/{owner}/{repo}/wiki/pages/{slug}/move":                             AuthorityRepositoryCredentialOrSession,
	"POST /api/ext/v1/repos/{owner}/{repo}/wiki/reconcile":                                     AuthorityRepositoryCredentialOrSession,
	"POST /api/ext/v1/repos/{owner}/{repo}/wiki/reconcile/request":                             AuthorityRepositoryCredentialOrSession,
	"GET /api/ext/v1/repos/{owner}/{repo}/wiki/search":                                         AuthorityRepositoryCredentialOrSession,
	"GET /api/ext/v1/repos/{owner}/{repo}/wiki/state":                                          AuthorityRepositoryCredentialOrSession,
	"GET /api/ext/v1/repos/{owner}/{repo}/wiki/tree":                                           AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}":                                                         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/artifacts":                                       AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/zip":                     AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/jobs/{job_id}":                                   AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/jobs/{job_id}/logs":                              AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/runs":                                            AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}":                                AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}":                                   AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts":                         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}":         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs":    AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs":    AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}/cancel":                           AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel":                     AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}/jobs":                              AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}/logs":                              AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}/rerun":                            AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs":                AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/workflows":                                       AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/workflows/{workflow_id}":                         AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable":                 AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches":             AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable":                  AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs":                    AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/archive/refs/tags/{tagfile}":                             AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/assignees":                                               AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/branches":                                                AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/branches/*":                                              AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/check-runs/{check_run_id}":                               AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations":                   AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/commits":                                                 AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/commits/{ref}/check-runs":                                AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/commits/{ref}/check-suites":                              AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/commits/{ref}/status":                                    AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/commits/{ref}/statuses":                                  AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/commits/{sha}":                                           AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/compare/*":                                               AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/contents":                                                AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/contents/*":                                           AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/contents/*":                                              AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/contents/*":                                              AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/contributors":                                            AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/deployments":                                             AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/deployments/{deployment_id}/statuses":                    AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/forks":                                                   AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/blobs/{sha}":                                         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/commits/{sha}":                                       AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/matching-refs":                                       AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/matching-refs/*":                                     AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/ref/*":                                               AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/ref/heads/*":                                         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/ref/tags/*":                                          AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/git/refs":                                               AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/git/refs/*":                                           AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/refs/*":                                              AuthorityRepositoryCredentialOrSession,
	"PATCH /api/v3/repos/{owner}/{repo}/git/refs/*":                                            AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/git/refs/heads/*":                                     AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/refs/heads/*":                                        AuthorityRepositoryCredentialOrSession,
	"PATCH /api/v3/repos/{owner}/{repo}/git/refs/heads/*":                                      AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/git/refs/tags/*":                                      AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/refs/tags/*":                                         AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/git/tags":                                               AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/tags/{sha}":                                          AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/git/trees/{sha}":                                         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/issues":                                                  AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/issues":                                                 AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/issues/comments":                                         AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/issues/comments/{comment_id}":                         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/issues/comments/{comment_id}":                            AuthorityRepositoryCredentialOrSession,
	"PATCH /api/v3/repos/{owner}/{repo}/issues/comments/{comment_id}":                          AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/issues/comments/{comment_id}/pin":                     AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/issues/comments/{comment_id}/pin":                        AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions":                  AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions":                 AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/issues/{issue_number}/labels":                         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/issues/{issue_number}/labels":                            AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/issues/{issue_number}/labels":                           AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/issues/{issue_number}/labels":                            AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}":                  AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/issues/{number}":                                         AuthorityRepositoryCredentialOrSession,
	"PATCH /api/v3/repos/{owner}/{repo}/issues/{number}":                                       AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/issues/{number}/assignees":                            AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/issues/{number}/assignees":                              AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/issues/{number}/comments":                                AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/issues/{number}/comments":                               AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/issues/{number}/events":                                  AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/issues/{number}/lock":                                 AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/issues/{number}/lock":                                    AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/issues/{number}/reactions":                               AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/issues/{number}/reactions":                              AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/issues/{number}/reactions/{reaction_id}":              AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/issues/{number}/timeline":                                AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/labels":                                                  AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/labels":                                                 AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/labels/{name}":                                        AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/labels/{name}":                                           AuthorityRepositoryCredentialOrSession,
	"PATCH /api/v3/repos/{owner}/{repo}/labels/{name}":                                         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/languages":                                               AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/milestones":                                              AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/milestones":                                             AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/milestones/{milestone_number}":                        AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/milestones/{milestone_number}":                           AuthorityRepositoryCredentialOrSession,
	"PATCH /api/v3/repos/{owner}/{repo}/milestones/{milestone_number}":                         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/milestones/{milestone_number}/issues":                    AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/milestones/{milestone_number}/labels":                    AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/pulls":                                                   AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/pulls":                                                  AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/pulls/comments/{comment_id}":                          AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/pulls/comments/{comment_id}":                             AuthorityRepositoryCredentialOrSession,
	"PATCH /api/v3/repos/{owner}/{repo}/pulls/comments/{comment_id}":                           AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/pulls/{number}":                                          AuthorityRepositoryCredentialOrSession,
	"PATCH /api/v3/repos/{owner}/{repo}/pulls/{number}":                                        AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/pulls/{number}/comments":                                 AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/pulls/{number}/comments":                                AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/pulls/{number}/comments/{comment_id}/replies":           AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/pulls/{number}/comments/{comment_id}/resolve":            AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/pulls/{number}/comments/{comment_id}/unresolve":          AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/pulls/{number}/commits":                                  AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/pulls/{number}/files":                                    AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/pulls/{number}/merge":                                    AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/pulls/{number}/merge":                                    AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/pulls/{number}/requested_reviewers":                   AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/pulls/{number}/requested_reviewers":                      AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/pulls/{number}/requested_reviewers":                     AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/pulls/{number}/reviews":                                  AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/pulls/{number}/reviews":                                 AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/pulls/{number}/reviews/{review_id}":                   AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/pulls/{number}/reviews/{review_id}":                      AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/pulls/{number}/reviews/{review_id}":                      AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/pulls/{number}/reviews/{review_id}/comments":             AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/pulls/{number}/reviews/{review_id}/dismissals":           AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/pulls/{number}/reviews/{review_id}/events":              AuthorityRepositoryCredentialOrSession,
	"PUT /api/v3/repos/{owner}/{repo}/pulls/{number}/update-branch":                            AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/readme":                                                  AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/releases":                                                AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/releases":                                               AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/releases/assets/{asset_id}":                           AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/releases/assets/{asset_id}":                              AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/releases/assets/{asset_id}/download":                     AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/releases/generate-notes":                                AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/releases/latest":                                         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/releases/tags/{tag}":                                     AuthorityRepositoryCredentialOrSession,
	"HEAD /api/v3/repos/{owner}/{repo}/releases/tags/{tag}":                                    AuthorityRepositoryCredentialOrSession,
	"DELETE /api/v3/repos/{owner}/{repo}/releases/{release_id}":                                AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/releases/{release_id}":                                   AuthorityRepositoryCredentialOrSession,
	"PATCH /api/v3/repos/{owner}/{repo}/releases/{release_id}":                                 AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/releases/{release_id}/archive/{format}":                  AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/releases/{release_id}/assets":                            AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/releases/{release_id}/assets":                           AuthorityRepositoryCredentialOrSession,
	"POST /api/v3/repos/{owner}/{repo}/statuses/{sha}":                                         AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/tags":                                                    AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/repos/{owner}/{repo}/topics":                                                  AuthorityRepositoryCredentialOrSession,
	"GET /api/v3/search/code":                                                                  AuthoritySessionWorkspace,
	"GET /api/v3/search/labels":                                                                AuthoritySessionWorkspace,
	"GET /api/v3/user/repos":                                                                   AuthoritySessionWorkspace,
	"GET /avatars/{login}":                                                                     AuthorityPublicWorkspaceDiscovery,
	"POST /{owner}/{repo}/git-receive-pack":                                                    AuthorityGitCredentialOnly,
	"POST /{owner}/{repo}/git-upload-pack":                                                     AuthorityGitCredentialOnly,
	"GET /{owner}/{repo}/info/refs":                                                            AuthorityGitCredentialOnly,
}

// ActivatedOperations returns the immutable split overlay keys. The copy is
// used by bidirectional registration coverage; callers cannot mutate policy.
func ActivatedOperations() []ActivationKey {
	result := make([]ActivationKey, 0, len(splitActivation))
	for operation, authority := range splitActivation {
		result = append(result, ActivationKey{Operation: operation, Authority: authority})
	}
	sort.Slice(result, func(i, j int) bool {
		if result[i].Operation != result[j].Operation {
			return result[i].Operation < result[j].Operation
		}
		return result[i].Authority < result[j].Authority
	})
	return result
}

// IsActivatedOperation applies the AgentTeam-owned split overlay to metadata from a
// real AGS registration. It has no method/path parser or prefix fallback.
func IsActivatedOperation(operation Operation, authority AuthorityMode) bool {
	activatedAuthority, ok := splitActivation[operation]
	return ok && activatedAuthority == authority
}

// ActivatedAuthority returns the split-owned authority mode for one exact AGS
// operation. AGS registration metadata never imports this deployment policy.
func ActivatedAuthority(operation Operation) (AuthorityMode, bool) {
	authority, ok := splitActivation[operation]
	return authority, ok
}
