{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://tokrepo.com/schemas/agent-trust-score.schema.json",
  "title": "TokRepo Agent Trust Score v2",
  "description": "Trust score object used by `tokrepo verify` and `tokrepo_verify` to help agents decide whether to install, stage, ask for confirmation, or block.",
  "type": "object",
  "required": ["trust_score", "status", "components", "recommended_action"],
  "properties": {
    "trust_score": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "status": {
      "type": "string",
      "enum": ["trusted", "caution", "block"]
    },
    "components": {
      "type": "object",
      "required": [
        "provenance",
        "author_reputation",
        "install_reversibility",
        "permission_risk",
        "eval_pass_rate",
        "dependency_risk"
      ],
      "properties": {
        "provenance": { "type": "integer", "minimum": 0, "maximum": 100 },
        "author_reputation": { "type": "integer", "minimum": 0, "maximum": 100 },
        "install_reversibility": { "type": "integer", "minimum": 0, "maximum": 100 },
        "permission_risk": { "type": "integer", "minimum": 0, "maximum": 100 },
        "eval_pass_rate": { "type": "integer", "minimum": 0, "maximum": 100 },
        "dependency_risk": { "type": "integer", "minimum": 0, "maximum": 100 }
      },
      "additionalProperties": false
    },
    "recommended_action": {
      "type": "string",
      "enum": ["install_after_plan", "stage_or_request_confirmation", "do_not_install"]
    }
  },
  "additionalProperties": false
}
