{
  "format": "LLM-SCAN",
  "format_version": "1.0",
  "generator": {
    "name": "llmscan-engine",
    "version": "2.0.0"
  },
  "scan_context": {
    "started_at": "2026-08-10T20:38:48+00:00Z",
    "ended_at": "2026-08-10T20:38:48+00:00Z",
    "duration_ms": 2,
    "limits": {
      "timeout_ms": 60000,
      "sandbox": true
    },
    "mode": "static-deep"
  },
  "source": {
    "input_type": "file",
    "filename": "vocab-size-mismatch.gguf",
    "size_bytes": 5344,
    "hashes": {
      "sha256": "9e7eff45b328d1d03a42993cdec05ec80af0da2d3e8adb6bbd0b145c0a964505"
    }
  },
  "model": {
    "format": "gguf",
    "arch": "llama",
    "quantization": "F32",
    "params_estimate": 904,
    "file_size_bytes": 5344,
    "sha256": "9e7eff45b328d1d03a42993cdec05ec80af0da2d3e8adb6bbd0b145c0a964505",
    "sha512": "a595c0c3bb78031c586390a09365fc272ba905fd9067ac60cdb1dd5f75ba81f51f55e5d319ddfcd6fe63e76a8b3dc653d46b99363f5cd4cdbbe45a8aff4dd377",
    "kv_meta": {
      "values_redacted": true,
      "kv_count": 14,
      "keys": [
        "general.architecture",
        "general.file_type",
        "general.name",
        "llama.attention.head_count",
        "llama.attention.head_count_kv",
        "llama.attention.layer_norm_rms_epsilon",
        "llama.block_count",
        "llama.context_length",
        "llama.embedding_length",
        "llama.feed_forward_length",
        "tokenizer.ggml.model",
        "tokenizer.ggml.token_type",
        "tokenizer.ggml.tokens",
        "tokenizer.ggml.vocab_size"
      ]
    },
    "scanner_model_info": {
      "magic": "GGUF",
      "version": 3,
      "architecture": "llama",
      "model_name": "llmscan-labs-toy-vocab-mismatch",
      "finetune": null,
      "basename": null,
      "size_label": null,
      "quantization": "F32",
      "license": null,
      "context_length": 128,
      "embedding_length": 8,
      "feed_forward_length": 16,
      "block_count": 1,
      "head_count": 2,
      "head_count_kv": 2,
      "vocab_size": 999,
      "bos_token_id": null,
      "eos_token_id": null,
      "tokenizer_model": "llama",
      "tensor_count": 9,
      "param_estimate": 904,
      "file_size_bytes": 5344,
      "file_size_mb": 0.01,
      "sha256": "9e7eff45b328d1d03a42993cdec05ec80af0da2d3e8adb6bbd0b145c0a964505",
      "sha512": "a595c0c3bb78031c586390a09365fc272ba905fd9067ac60cdb1dd5f75ba81f51f55e5d319ddfcd6fe63e76a8b3dc653d46b99363f5cd4cdbbe45a8aff4dd377",
      "alignment": 32,
      "data_section_start": 1728,
      "header_end_offset": 1697,
      "has_chat_template": false,
      "overlapping_tensor_pairs": 0,
      "misaligned_tensors": 0,
      "oob_tensor_count": 0,
      "dtype_histogram": {
        "F32": 9
      },
      "dtype_percentage": {
        "F32": 100.0
      },
      "top_tensors_by_size": [
        {
          "name": "token_embd.weight",
          "dtype": "F32",
          "dims": [
            8,
            32
          ],
          "byte_len": 1024,
          "n_elem": 256
        },
        {
          "name": "blk.0.ffn_gate.weight",
          "dtype": "F32",
          "dims": [
            8,
            16
          ],
          "byte_len": 512,
          "n_elem": 128
        },
        {
          "name": "blk.0.ffn_down.weight",
          "dtype": "F32",
          "dims": [
            16,
            8
          ],
          "byte_len": 512,
          "n_elem": 128
        },
        {
          "name": "blk.0.ffn_up.weight",
          "dtype": "F32",
          "dims": [
            8,
            16
          ],
          "byte_len": 512,
          "n_elem": 128
        },
        {
          "name": "blk.0.attn_q.weight",
          "dtype": "F32",
          "dims": [
            8,
            8
          ],
          "byte_len": 256,
          "n_elem": 64
        },
        {
          "name": "blk.0.attn_k.weight",
          "dtype": "F32",
          "dims": [
            8,
            8
          ],
          "byte_len": 256,
          "n_elem": 64
        },
        {
          "name": "blk.0.attn_v.weight",
          "dtype": "F32",
          "dims": [
            8,
            8
          ],
          "byte_len": 256,
          "n_elem": 64
        },
        {
          "name": "blk.0.attn_output.weight",
          "dtype": "F32",
          "dims": [
            8,
            8
          ],
          "byte_len": 256,
          "n_elem": 64
        },
        {
          "name": "output_norm.weight",
          "dtype": "F32",
          "dims": [
            8
          ],
          "byte_len": 32,
          "n_elem": 8
        }
      ],
      "tensor_bytes_sum": 3616,
      "tensor_delta_bytes": 1728,
      "tensor_delta_mb": 0.0,
      "header_kv_dir_bytes": 1728,
      "trailing_bytes": 0,
      "unaccounted_bytes": 0,
      "dtype_stats": {
        "F32": {
          "count": 9,
          "bytes": 3616,
          "mb": 0.0,
          "avg_bits_per_elem": 32.0
        }
      },
      "offsets_monotone": true,
      "max_tensor_offset": 3104,
      "tensor_preview": [
        {
          "index": 0,
          "name": "token_embd.weight",
          "dims": [
            8,
            32
          ],
          "dtype_name": "F32",
          "dtype_id": 0,
          "offset": 0,
          "byte_len": 1024,
          "bits_per_elem": 32.0
        },
        {
          "index": 1,
          "name": "output_norm.weight",
          "dims": [
            8
          ],
          "dtype_name": "F32",
          "dtype_id": 0,
          "offset": 1024,
          "byte_len": 32,
          "bits_per_elem": 32.0
        },
        {
          "index": 2,
          "name": "blk.0.attn_q.weight",
          "dims": [
            8,
            8
          ],
          "dtype_name": "F32",
          "dtype_id": 0,
          "offset": 1056,
          "byte_len": 256,
          "bits_per_elem": 32.0
        },
        {
          "index": 3,
          "name": "blk.0.attn_k.weight",
          "dims": [
            8,
            8
          ],
          "dtype_name": "F32",
          "dtype_id": 0,
          "offset": 1312,
          "byte_len": 256,
          "bits_per_elem": 32.0
        },
        {
          "index": 4,
          "name": "blk.0.attn_v.weight",
          "dims": [
            8,
            8
          ],
          "dtype_name": "F32",
          "dtype_id": 0,
          "offset": 1568,
          "byte_len": 256,
          "bits_per_elem": 32.0
        },
        {
          "index": 5,
          "name": "blk.0.attn_output.weight",
          "dims": [
            8,
            8
          ],
          "dtype_name": "F32",
          "dtype_id": 0,
          "offset": 1824,
          "byte_len": 256,
          "bits_per_elem": 32.0
        },
        {
          "index": 6,
          "name": "blk.0.ffn_gate.weight",
          "dims": [
            8,
            16
          ],
          "dtype_name": "F32",
          "dtype_id": 0,
          "offset": 2080,
          "byte_len": 512,
          "bits_per_elem": 32.0
        },
        {
          "index": 7,
          "name": "blk.0.ffn_down.weight",
          "dims": [
            16,
            8
          ],
          "dtype_name": "F32",
          "dtype_id": 0,
          "offset": 2592,
          "byte_len": 512,
          "bits_per_elem": 32.0
        },
        {
          "index": 8,
          "name": "blk.0.ffn_up.weight",
          "dims": [
            8,
            16
          ],
          "dtype_name": "F32",
          "dtype_id": 0,
          "offset": 3104,
          "byte_len": 512,
          "bits_per_elem": 32.0
        }
      ],
      "chat_template": null,
      "kv_count": 14,
      "kv_keys": [
        "general.architecture",
        "general.file_type",
        "general.name",
        "llama.attention.head_count",
        "llama.attention.head_count_kv",
        "llama.attention.layer_norm_rms_epsilon",
        "llama.block_count",
        "llama.context_length",
        "llama.embedding_length",
        "llama.feed_forward_length",
        "tokenizer.ggml.model",
        "tokenizer.ggml.token_type",
        "tokenizer.ggml.tokens",
        "tokenizer.ggml.vocab_size"
      ]
    },
    "gguf_version": 3,
    "architecture": "llama",
    "model_name": "llmscan-labs-toy-vocab-mismatch",
    "finetune": null,
    "basename": null,
    "size_label": null,
    "license": null,
    "context_length": 128,
    "embedding_length": 8,
    "feed_forward_length": 16,
    "block_count": 1,
    "head_count": 2,
    "head_count_kv": 2,
    "vocab_size": 999,
    "bos_token_id": null,
    "eos_token_id": null,
    "tokenizer_model": "llama",
    "tensor_count": 9,
    "param_estimate": 904,
    "file_size_mb": 0.01,
    "has_chat_template": false,
    "alignment": 32,
    "overlapping_tensor_pairs": 0,
    "misaligned_tensors": 0,
    "oob_tensor_count": 0,
    "dtype_histogram": {
      "F32": 9
    },
    "dtype_percentage": {
      "F32": 100.0
    },
    "top_tensors_by_size": [
      {
        "name": "token_embd.weight",
        "dtype": "F32",
        "dims": [
          8,
          32
        ],
        "byte_len": 1024,
        "n_elem": 256
      },
      {
        "name": "blk.0.ffn_gate.weight",
        "dtype": "F32",
        "dims": [
          8,
          16
        ],
        "byte_len": 512,
        "n_elem": 128
      },
      {
        "name": "blk.0.ffn_down.weight",
        "dtype": "F32",
        "dims": [
          16,
          8
        ],
        "byte_len": 512,
        "n_elem": 128
      },
      {
        "name": "blk.0.ffn_up.weight",
        "dtype": "F32",
        "dims": [
          8,
          16
        ],
        "byte_len": 512,
        "n_elem": 128
      },
      {
        "name": "blk.0.attn_q.weight",
        "dtype": "F32",
        "dims": [
          8,
          8
        ],
        "byte_len": 256,
        "n_elem": 64
      },
      {
        "name": "blk.0.attn_k.weight",
        "dtype": "F32",
        "dims": [
          8,
          8
        ],
        "byte_len": 256,
        "n_elem": 64
      },
      {
        "name": "blk.0.attn_v.weight",
        "dtype": "F32",
        "dims": [
          8,
          8
        ],
        "byte_len": 256,
        "n_elem": 64
      },
      {
        "name": "blk.0.attn_output.weight",
        "dtype": "F32",
        "dims": [
          8,
          8
        ],
        "byte_len": 256,
        "n_elem": 64
      },
      {
        "name": "output_norm.weight",
        "dtype": "F32",
        "dims": [
          8
        ],
        "byte_len": 32,
        "n_elem": 8
      }
    ],
    "tensor_bytes_sum": 3616,
    "tensor_delta_bytes": 1728,
    "tensor_delta_mb": 0.0,
    "header_kv_dir_bytes": 1728,
    "trailing_bytes": 0,
    "unaccounted_bytes": 0,
    "dtype_stats": {
      "F32": {
        "count": 9,
        "bytes": 3616,
        "mb": 0.0,
        "avg_bits_per_elem": 32.0
      }
    },
    "offsets_monotone": true,
    "max_tensor_offset": 3104,
    "tensor_preview": [
      {
        "index": 0,
        "name": "token_embd.weight",
        "dims": [
          8,
          32
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 0,
        "byte_len": 1024,
        "bits_per_elem": 32.0
      },
      {
        "index": 1,
        "name": "output_norm.weight",
        "dims": [
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 1024,
        "byte_len": 32,
        "bits_per_elem": 32.0
      },
      {
        "index": 2,
        "name": "blk.0.attn_q.weight",
        "dims": [
          8,
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 1056,
        "byte_len": 256,
        "bits_per_elem": 32.0
      },
      {
        "index": 3,
        "name": "blk.0.attn_k.weight",
        "dims": [
          8,
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 1312,
        "byte_len": 256,
        "bits_per_elem": 32.0
      },
      {
        "index": 4,
        "name": "blk.0.attn_v.weight",
        "dims": [
          8,
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 1568,
        "byte_len": 256,
        "bits_per_elem": 32.0
      },
      {
        "index": 5,
        "name": "blk.0.attn_output.weight",
        "dims": [
          8,
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 1824,
        "byte_len": 256,
        "bits_per_elem": 32.0
      },
      {
        "index": 6,
        "name": "blk.0.ffn_gate.weight",
        "dims": [
          8,
          16
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 2080,
        "byte_len": 512,
        "bits_per_elem": 32.0
      },
      {
        "index": 7,
        "name": "blk.0.ffn_down.weight",
        "dims": [
          16,
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 2592,
        "byte_len": 512,
        "bits_per_elem": 32.0
      },
      {
        "index": 8,
        "name": "blk.0.ffn_up.weight",
        "dims": [
          8,
          16
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 3104,
        "byte_len": 512,
        "bits_per_elem": 32.0
      }
    ],
    "chat_template": null,
    "values_redacted": true,
    "kv_count": 14
  },
  "tokenizer": {
    "type": "llama",
    "vocab_size": 999,
    "bos_token_id": null,
    "eos_token_id": null,
    "has_chat_template": false,
    "chat_template_chars": null
  },
  "tensors": {
    "count": 9,
    "preview": [
      {
        "index": 0,
        "name": "token_embd.weight",
        "dims": [
          8,
          32
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 0,
        "byte_len": 1024,
        "bits_per_elem": 32.0
      },
      {
        "index": 1,
        "name": "output_norm.weight",
        "dims": [
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 1024,
        "byte_len": 32,
        "bits_per_elem": 32.0
      },
      {
        "index": 2,
        "name": "blk.0.attn_q.weight",
        "dims": [
          8,
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 1056,
        "byte_len": 256,
        "bits_per_elem": 32.0
      },
      {
        "index": 3,
        "name": "blk.0.attn_k.weight",
        "dims": [
          8,
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 1312,
        "byte_len": 256,
        "bits_per_elem": 32.0
      },
      {
        "index": 4,
        "name": "blk.0.attn_v.weight",
        "dims": [
          8,
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 1568,
        "byte_len": 256,
        "bits_per_elem": 32.0
      },
      {
        "index": 5,
        "name": "blk.0.attn_output.weight",
        "dims": [
          8,
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 1824,
        "byte_len": 256,
        "bits_per_elem": 32.0
      },
      {
        "index": 6,
        "name": "blk.0.ffn_gate.weight",
        "dims": [
          8,
          16
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 2080,
        "byte_len": 512,
        "bits_per_elem": 32.0
      },
      {
        "index": 7,
        "name": "blk.0.ffn_down.weight",
        "dims": [
          16,
          8
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 2592,
        "byte_len": 512,
        "bits_per_elem": 32.0
      },
      {
        "index": 8,
        "name": "blk.0.ffn_up.weight",
        "dims": [
          8,
          16
        ],
        "dtype_name": "F32",
        "dtype_id": 0,
        "offset": 3104,
        "byte_len": 512,
        "bits_per_elem": 32.0
      }
    ],
    "dtype_histogram": {
      "F32": 9
    },
    "dtype_stats": {
      "F32": {
        "count": 9,
        "bytes": 3616,
        "mb": 0.0,
        "avg_bits_per_elem": 32.0
      }
    },
    "integrity": {
      "offsets_monotone": true,
      "overlapping_tensor_pairs": 0,
      "misaligned_tensors": 0,
      "oob_tensor_count": 0,
      "tensor_bytes_sum": 3616,
      "tensor_delta_bytes": 1728,
      "tensor_delta_mb": 0.0,
      "header_kv_dir_bytes": 1728,
      "trailing_bytes": 0,
      "unaccounted_bytes": 0
    }
  },
  "security": {
    "grade": "B",
    "score": 86,
    "findings": [
      {
        "severity": "LOW",
        "category": "Supply Chain",
        "title": "No license field in GGUF metadata (general.license)",
        "detail": "Absence of license information makes it impossible to determine usage rights",
        "recommendation": "Add general.license to model metadata before distributing; use an SPDX identifier"
      },
      {
        "severity": "LOW",
        "category": "Supply Chain",
        "title": "No embedded provenance metadata",
        "detail": "None of general.author, general.source.url, general.base_model.0, or general.source.huggingface.repository are embedded in the GGUF file. Without any origin signal the model cannot be traced to a trusted source or compared against a reference checkpoint for tampering detection. For files uploaded directly, provenance is especially critical because the scanner cannot infer repository origin from the file alone.",
        "recommendation": "Add at least one of: general.author, general.source.huggingface.repository, or general.source.url"
      },
      {
        "severity": "MEDIUM",
        "category": "Statistical Anomaly",
        "title": "Embedding tensor 'token_embd.weight' inferred vocab=32 != KV vocab_size=999",
        "detail": "Mismatch between embedding dimensions and KV metadata vocab_size may indicate a tampered, corrupted, or mismatched tokenizer/model pair",
        "recommendation": "Verify against the original model repository"
      }
    ]
  },
  "compatibility": [
    {
      "runtime": "llama.cpp",
      "supported": true,
      "container": true,
      "quant": true,
      "arch": true,
      "context": null,
      "notes": "GGUF v3 container: supported | quant F32: supported"
    },
    {
      "runtime": "Ollama",
      "supported": true,
      "container": true,
      "quant": true,
      "arch": true,
      "context": null,
      "notes": "GGUF via llama.cpp backend: container and quantization supported"
    },
    {
      "runtime": "LM Studio",
      "supported": true,
      "container": true,
      "quant": true,
      "arch": true,
      "context": null,
      "notes": "GGUF container and quantization supported; GPU/CPU inference"
    },
    {
      "runtime": "vLLM",
      "supported": false,
      "container": false,
      "quant": false,
      "arch": null,
      "context": null,
      "not_supported_msg": "GGUF not supported — requires safetensors format",
      "notes": "GGUF not supported; requires safetensors format"
    },
    {
      "runtime": "HuggingFace Transformers",
      "container": false,
      "quant": false,
      "arch": null,
      "context": null,
      "supported": false,
      "not_supported_msg": "GGUF not directly supported — use safetensors or PyTorch checkpoint",
      "notes": "GGUF not supported; requires safetensors or PyTorch checkpoint"
    }
  ],
  "report": {
    "summary": "GGUF v3 model | architecture: llama | quantization: F32 | 9 tensors | 3 warnings",
    "bullets": [
      "GGUF v3 model | architecture: llama | quantization: F32 | 9 tensors | 3 warnings",
      "Size: 0.01 MB",
      "SHA256: 9e7eff45b328d1d0..."
    ],
    "recommendations": [
      "Verify against the original model repository",
      "Add general.license to model metadata before distributing; use an SPDX identifier",
      "Add at least one of: general.author, general.source.huggingface.repository, or general.source.url"
    ]
  }
}