{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://finance.entelekron.org/schemas/repository-governance-control-profile.schema.json",
  "title": "Financial repository governance control profile",
  "type": "object",
  "additionalProperties": false,
  "required": ["$schema", "schemaVersion", "controlPlaneId", "canonicalAssetId", "profileId", "status", "asOf", "repository", "defaultBranch", "codeOwnersFilePublished", "branchProtectionObserved", "requiredStatusChecksEnforced", "codeOwnerReviewEnforced", "signedCommitEnforced", "forcePushBlockedByRule", "branchDeletionBlockedByRule", "observedMainCommit", "requiredFutureRules", "authority", "notice"],
  "properties": {
    "$schema": {"const": "https://finance.entelekron.org/schemas/repository-governance-control-profile.schema.json"},
    "schemaVersion": {"type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"},
    "controlPlaneId": {"const": "tvk-group:entelekron-financial-infrastructure"},
    "canonicalAssetId": {"const": "tvk-group:tvkusd"},
    "profileId": {"type": "string", "minLength": 1},
    "status": {"const": "codeowners-published-protection-not-enforced"},
    "asOf": {"type": "string", "format": "date-time"},
    "repository": {"const": "tvk-group/entelekron-financial-infrastructure"},
    "defaultBranch": {"const": "main"},
    "codeOwnersFilePublished": {"const": true},
    "branchProtectionObserved": {"const": false},
    "requiredStatusChecksEnforced": {"const": false},
    "codeOwnerReviewEnforced": {"const": false},
    "signedCommitEnforced": {"const": false},
    "forcePushBlockedByRule": {"const": false},
    "branchDeletionBlockedByRule": {"const": false},
    "observedMainCommit": {"type": "string", "pattern": "^[a-f0-9]{40}$"},
    "requiredFutureRules": {
      "type": "object", "additionalProperties": false,
      "required": ["pullRequestRequired", "requiredApprovingReviews", "codeOwnerReviewRequired", "staleApprovalDismissalRequired", "lastPushApprovalRequired", "conversationResolutionRequired", "qualityGateRequired", "vercelCheckRequired", "signedCommitsRequired", "forcePushesPermitted", "branchDeletionPermitted", "administratorBypassPermitted"],
      "properties": {
        "pullRequestRequired": {"const": true},
        "requiredApprovingReviews": {"type": "integer", "minimum": 2},
        "codeOwnerReviewRequired": {"const": true},
        "staleApprovalDismissalRequired": {"const": true},
        "lastPushApprovalRequired": {"const": true},
        "conversationResolutionRequired": {"const": true},
        "qualityGateRequired": {"const": true},
        "vercelCheckRequired": {"const": true},
        "signedCommitsRequired": {"const": true},
        "forcePushesPermitted": {"const": false},
        "branchDeletionPermitted": {"const": false},
        "administratorBypassPermitted": {"const": false}
      }
    },
    "authority": {
      "type": "object", "additionalProperties": false,
      "required": ["repositoryWriteAccessCreatesFinancialAuthority", "mergeCreatesProductionReleaseAuthority", "aiCanBypassReview", "singleMaintainerCanActivateFinancialService"],
      "properties": {
        "repositoryWriteAccessCreatesFinancialAuthority": {"const": false},
        "mergeCreatesProductionReleaseAuthority": {"const": false},
        "aiCanBypassReview": {"const": false},
        "singleMaintainerCanActivateFinancialService": {"const": false}
      }
    },
    "notice": {"type": "string", "minLength": 1}
  }
}
