{
  "title": "Dataset schema drift detector",
  "human_url": "https://happytails.ai/en/data-tools/dataset-schema-drift-detector/",
  "agent_url": "https://happytails.ai/agents/en/data-tools/dataset-schema-drift-detector/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/data-tools/dataset-schema-drift-detector.md",
  "content": "Dataset schema drift detector\nCompare CSV exports to find added fields, removed fields and changes in observed data types.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Dataset schema drift detector\nPaste the earlier CSV in the main input.\nPaste the newer export in Comparison CSV.\nReview field changes and download the complete report.\nUseful next steps\nCSV schema validator\nSQL result comparator\nPrepare the source\nPaste the earlier CSV in the main input.\nChoose the matching rules\nPaste the newer export in Comparison CSV.\nReview and keep the result\nReview field changes and download the complete report. Compares header sequence, observed type categories, dominant types and the presence of empty values. Different record counts alone do not prove drift. This compares samples, not a declared SQL schema.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "CSV schema validator",
      "url": "https://happytails.ai/en/data-tools/csv-schema-validator/"
    },
    {
      "name": "SQL result comparator",
      "url": "https://happytails.ai/en/data-tools/sql-result-comparator/"
    }
  ],
  "tool": {
    "id": "dataset-schema-drift-detector",
    "category": "data-tools",
    "built": true,
    "requirements": "Compares header sequence, observed type categories, dominant types and the presence of empty values. Different record counts alone do not prove drift. This compares samples, not a declared SQL schema. Up to 1,000,000 characters, 10,000 data records, 100 columns and 100,000 cells across the sources. Files for multi-source tools are limited to 4,000,000 bytes total. Reports retain at most 500 diagnostic findings and state any omitted count. CSV and JSON outputs are limited to 4,000,000 characters.",
    "implementation": {
      "fields": [
        {
          "key": "separator",
          "label": "Input CSV separator",
          "value": ",",
          "type": "select",
          "values": [
            ",",
            ";",
            "\t"
          ]
        },
        {
          "key": "comparison",
          "label": "Comparison CSV",
          "value": "id,amount\nA,10.00\nB,3.50\n",
          "type": "textarea",
          "help": "Paste the second table, including its header row. Both tables use the selected separator."
        }
      ],
      "live": true,
      "presentation": "metrics",
      "note": "Runs locally on your device. CSV requires unique nonempty headers. Up to 1,000,000 characters, 10,000 data records and 100,000 cells across inputs, with 100 columns. Quoted multiline cells are supported. Each JSON settings field is limited to 100,000 characters. Output files are bounded to 4,000,000 characters. Diagnostic reports contain at most 500 findings and disclose the omitted count. Compare headers, dominant observed types, all observed type categories and whether each field contains empty cells. Added, removed and reordered fields are reported. Counts alone do not establish a schema change.",
      "experience": {
        "automatic": true,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Earlier CSV",
        "placeholder": "id,amount\nA,10",
        "help": "Paste CSV data with unique column headers. Quoted multiline cells are supported. Results update as you type. Up to 1,000,000 characters.",
        "action": null
      },
      "mode": "automatic",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Dataset schema drift detector\n\n- Human page: https://happytails.ai/en/data-tools/dataset-schema-drift-detector/\n- Markdown: https://happytails.ai/en/data-tools/dataset-schema-drift-detector.md\n- Structured JSON: https://happytails.ai/agents/en/data-tools/dataset-schema-drift-detector/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `dataset-schema-drift-detector` |\n| Category | data-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Automatic updates after valid input or file selection. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nRuns locally on your device. CSV requires unique nonempty headers. Up to 1,000,000 characters, 10,000 data records and 100,000 cells across inputs, with 100 columns. Quoted multiline cells are supported. Each JSON settings field is limited to 100,000 characters. Output files are bounded to 4,000,000 characters. Diagnostic reports contain at most 500 findings and disclose the omitted count. Compare headers, dominant observed types, all observed type categories and whether each field contains empty cells. Added, removed and reordered fields are reported. Counts alone do not establish a schema change.\n\n### Inputs and settings\n\nText input: Earlier CSV.\n\nExample or placeholder shown in the interface (not a validated fixture):\n\n```text\nid,amount\nA,10\n```\n\nPaste CSV data with unique column headers. Quoted multiline cells are supported. Results update as you type. Up to 1,000,000 characters.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `separator` | Input CSV separator | select | \",\" | Allowed: ,, ;, \t |\n| `comparison` | Comparison CSV | textarea | \"id,amount\\nA,10.00\\nB,3.50\\n\" |  |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nCompares header sequence, observed type categories, dominant types and the presence of empty values. Different record counts alone do not prove drift. This compares samples, not a declared SQL schema. Up to 1,000,000 characters, 10,000 data records, 100 columns and 100,000 cells across the sources. Files for multi-source tools are limited to 4,000,000 bytes total. Reports retain at most 500 diagnostic findings and state any omitted count. CSV and JSON outputs are limited to 4,000,000 characters.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"dataset-schema-drift-detector\",\n  \"category\": \"data-tools\",\n  \"built\": true,\n  \"requirements\": \"Compares header sequence, observed type categories, dominant types and the presence of empty values. Different record counts alone do not prove drift. This compares samples, not a declared SQL schema. Up to 1,000,000 characters, 10,000 data records, 100 columns and 100,000 cells across the sources. Files for multi-source tools are limited to 4,000,000 bytes total. Reports retain at most 500 diagnostic findings and state any omitted count. CSV and JSON outputs are limited to 4,000,000 characters.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"separator\",\n        \"label\": \"Input CSV separator\",\n        \"value\": \",\",\n        \"type\": \"select\",\n        \"values\": [\n          \",\",\n          \";\",\n          \"\\t\"\n        ]\n      },\n      {\n        \"key\": \"comparison\",\n        \"label\": \"Comparison CSV\",\n        \"value\": \"id,amount\\nA,10.00\\nB,3.50\\n\",\n        \"type\": \"textarea\",\n        \"help\": \"Paste the second table, including its header row. Both tables use the selected separator.\"\n      }\n    ],\n    \"live\": true,\n    \"presentation\": \"metrics\",\n    \"note\": \"Runs locally on your device. CSV requires unique nonempty headers. Up to 1,000,000 characters, 10,000 data records and 100,000 cells across inputs, with 100 columns. Quoted multiline cells are supported. Each JSON settings field is limited to 100,000 characters. Output files are bounded to 4,000,000 characters. Diagnostic reports contain at most 500 findings and disclose the omitted count. Compare headers, dominant observed types, all observed type categories and whether each field contains empty cells. Added, removed and reordered fields are reported. Counts alone do not establish a schema change.\",\n    \"experience\": {\n      \"automatic\": true,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Earlier CSV\",\n      \"placeholder\": \"id,amount\\nA,10\",\n      \"help\": \"Paste CSV data with unique column headers. Quoted multiline cells are supported. Results update as you type. Up to 1,000,000 characters.\",\n      \"action\": null\n    },\n    \"mode\": \"automatic\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nCompare CSV exports to find added fields, removed fields and changes in observed data types.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Dataset schema drift detector\n\n1. Paste the earlier CSV in the main input.\n2. Paste the newer export in Comparison CSV.\n3. Review field changes and download the complete report.\n\n## Useful next steps\n\n- [CSV schema validator](https://happytails.ai/en/data-tools/csv-schema-validator/) ([Markdown](https://happytails.ai/en/data-tools/csv-schema-validator.md))\n\n- [SQL result comparator](https://happytails.ai/en/data-tools/sql-result-comparator/) ([Markdown](https://happytails.ai/en/data-tools/sql-result-comparator.md))\n\n## Prepare the source\n\nPaste the earlier CSV in the main input.\n\n### Choose the matching rules\n\nPaste the newer export in Comparison CSV.\n\n### Review and keep the result\n\nReview field changes and download the complete report. Compares header sequence, observed type categories, dominant types and the presence of empty values. Different record counts alone do not prove drift. This compares samples, not a declared SQL schema.\n"
}