# Dataset coverage matrix

- Human page: https://happytails.ai/en/data-tools/dataset-coverage-matrix/
- Markdown: https://happytails.ai/en/data-tools/dataset-coverage-matrix.md
- Structured JSON: https://happytails.ai/agents/en/data-tools/dataset-coverage-matrix/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `dataset-coverage-matrix` |
| Category | data-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

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. Select 1 to 10 distinct UTF-8 CSV files. The matrix shows missing headers or nonempty/total record counts for each source and required field. Zero-row files can still contain a required header. Up to 4,000,000 bytes total; aggregate CSV limits still apply. Reads are sequential and cancellable. Protect spreadsheet cells prefixes formula-like values, including negative numbers, with an apostrophe. Choose Preserve original cells only for a trusted import workflow.

### Inputs and settings

No free-text input is required. Use the file inputs and/or settings below.

Accepted browser files: `.csv,.tsv,text/csv`. Multiple files are supported.

Browser file-input limit: 4000000 bytes in total. HTTP limits can differ.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `separator` | Input CSV separator | select | "," | Allowed: ,, ;, 	 |
| `required` | Required field names (JSON) | textarea | "[\"id\", \"amount\", \"email\"]" |  |
| `outputSafety` | CSV output cells | select | "Protect spreadsheet cells" | Allowed: Protect spreadsheet cells, Preserve original cells |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

A header-only source has a present field with 0/0 values. Only the empty string counts as empty; spaces and zero are values. This checks field coverage, not the accuracy of source records. 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.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "dataset-coverage-matrix",
  "category": "data-tools",
  "built": true,
  "requirements": "A header-only source has a present field with 0/0 values. Only the empty string counts as empty; spaces and zero are values. This checks field coverage, not the accuracy of source records. 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": "required",
        "label": "Required field names (JSON)",
        "value": "[\"id\", \"amount\", \"email\"]",
        "type": "textarea",
        "help": "List exact headers to look for across the uploaded sources."
      },
      {
        "key": "outputSafety",
        "label": "CSV output cells",
        "value": "Protect spreadsheet cells",
        "type": "select",
        "values": [
          "Protect spreadsheet cells",
          "Preserve original cells"
        ]
      }
    ],
    "live": false,
    "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. Select 1 to 10 distinct UTF-8 CSV files. The matrix shows missing headers or nonempty/total record counts for each source and required field. Zero-row files can still contain a required header. Up to 4,000,000 bytes total; aggregate CSV limits still apply. Reads are sequential and cancellable. Protect spreadsheet cells prefixes formula-like values, including negative numbers, with an apostrophe. Choose Preserve original cells only for a trusted import workflow.",
    "files": true,
    "multiple": true,
    "input": false,
    "accept": ".csv,.tsv,text/csv",
    "maxFileBytes": 4000000,
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Your text",
      "placeholder": "Type or paste your input…",
      "help": "Up to 1,000,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "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"
  }
}
```

## Page guide

See which CSV sources contain each required field and how many values are filled.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

### How to use Dataset coverage matrix

1. Choose CSV files with distinct filenames.
2. List the required field names in JSON.
3. Download a source-by-field matrix of missing headers and nonempty counts.

## Useful next steps

- [Dataset schema drift detector](https://happytails.ai/en/data-tools/dataset-schema-drift-detector/) ([Markdown](https://happytails.ai/en/data-tools/dataset-schema-drift-detector.md))

- [Data dictionary generator](https://happytails.ai/en/data-tools/data-dictionary-generator/) ([Markdown](https://happytails.ai/en/data-tools/data-dictionary-generator.md))

## Prepare the source

Choose CSV files with distinct filenames.

### Choose the matching rules

List the required field names in JSON.

### Review and keep the result

Download a source-by-field matrix of missing headers and nonempty counts. A header-only source has a present field with 0/0 values. Only the empty string counts as empty; spaces and zero are values. This checks field coverage, not the accuracy of source records.
