{
  "version": 1,
  "sources": [
    {
      "name": "reports",
      "include": ["reports/*.md"],
      "format": "text",
      "rules": [
        {
          "kind": "jobforge.report.url",
          "pattern": "^\\*\\*URL:\\*\\*\\s*(?<url>https?://\\S+)",
          "flags": "i",
          "key": "url:{url}",
          "value": "{source}",
          "fields": {
            "url": "{url}",
            "report": "{source}"
          },
          "tags": ["report", "url"]
        },
        {
          "kind": "jobforge.report.score",
          "pattern": "^\\*\\*Score:\\*\\*\\s*(?<score>[0-9.]+/5)",
          "flags": "i",
          "key": "report:{source}:score",
          "value": "{score}",
          "fields": {
            "score": "{score}",
            "report": "{source}"
          },
          "tags": ["report", "score"]
        }
      ]
    },
    {
      "name": "application-day-files",
      "include": ["data/applications/*.md"],
      "format": "markdown-table",
      "records": [
        {
          "kind": "jobforge.application",
          "key": "company-role:{Company|slug}:{Role|slug}",
          "value": "{Status}",
          "fields": ["#", "Date", "Company", "Role", "Score", "Status", "PDF", "Report", "Notes"],
          "tags": ["tracker", "application"]
        },
        {
          "kind": "jobforge.report-ref",
          "key": "report-ref:{source}:{line}",
          "value": "{Company} - {Role}",
          "fields": {
            "company": "{Company}",
            "role": "{Role}",
            "status": "{Status}",
            "report": "{Report}"
          },
          "tags": ["tracker", "report"]
        }
      ]
    },
    {
      "name": "application-single-file",
      "include": ["data/applications.md", "applications.md"],
      "format": "markdown-table",
      "records": [
        {
          "kind": "jobforge.application",
          "key": "company-role:{Company|slug}:{Role|slug}",
          "value": "{Status}",
          "fields": ["#", "Date", "Company", "Role", "Score", "Status", "PDF", "Report", "Notes"],
          "tags": ["tracker", "application"]
        }
      ]
    },
    {
      "name": "tracker-additions",
      "include": ["batch/tracker-additions/*.tsv", "batch/tracker-additions/merged/*.tsv"],
      "format": "tsv",
      "header": false,
      "columns": ["num", "date", "company", "role", "statusOrScore", "scoreOrStatus", "pdf", "report", "notes"],
      "records": [
        {
          "kind": "jobforge.tracker-addition",
          "key": "company-role:{company|slug}:{role|slug}",
          "value": "{source}",
          "fields": ["num", "date", "company", "role", "statusOrScore", "scoreOrStatus", "pdf", "report", "notes"],
          "tags": ["tracker", "tsv"]
        }
      ]
    },
    {
      "name": "pipeline",
      "include": ["data/pipeline.md"],
      "format": "text",
      "rules": [
        {
          "kind": "jobforge.pipeline.url",
          "pattern": "^\\s*-\\s*\\[(?<state>[ xX])\\]\\s+(?<url>https?://\\S+)",
          "key": "url:{url}",
          "value": "{state}",
          "fields": {
            "url": "{url}",
            "state": "{state}",
            "pipeline": "{source}"
          },
          "tags": ["pipeline", "url"]
        }
      ]
    },
    {
      "name": "scan-history",
      "include": ["data/scan-history.tsv"],
      "format": "tsv",
      "records": [
        {
          "kind": "jobforge.scan.url",
          "key": "url:{url}",
          "value": "{company} - {title}",
          "fields": ["url", "first_seen", "portal", "title", "company", "status", "location", "country_code", "region", "location_status", "note"],
          "tags": ["scan", "url"]
        }
      ]
    },
    {
      "name": "ledger",
      "include": [".jobforge-ledger/*.jsonl"],
      "format": "jsonl",
      "records": [
        {
          "kind": "jobforge.ledger.event",
          "key": "{key}",
          "value": "{type}",
          "fields": {
            "type": "{type}",
            "key": "{key}",
            "status": "{data.status}",
            "source": "{source}"
          },
          "tags": ["ledger"]
        }
      ]
    }
  ]
}
