{
  "_id": "6a4955adf6c47c441949c7f8",
  "Package": "tidyaudit",
  "Title": "Pipeline Audit Trails and Data Diagnostics for 'tidyverse'\nWorkflows",
  "Version": "0.3.0",
  "Authors@R": "person(\"Fernando\", \"Cordeiro\", , \"fernandolpcordeiro@gmail.com\", role = c(\"aut\", \"cre\", \"cph\"))",
  "Description": "Provides pipeline audit trails and data diagnostics for\n'tidyverse' workflows. The audit trail system captures\nlightweight metadata snapshots at each step of a pipeline,\nbuilding a structured record without storing the data itself.\nOperation-aware taps enrich snapshots with join match rates and\nfilter drop statistics. Trails can be serialized to 'JSON' or\n'RDS' and exported as self-contained 'HTML' visualizations.\nAlso includes diagnostic functions for interactive data\nanalysis including frequency tables, string quality auditing,\nand data comparison.",
  "License": "LGPL (>= 3)",
  "URL": "https://fpcordeiro.github.io/tidyaudit/,\nhttps://github.com/fpcordeiro/tidyaudit",
  "BugReports": "https://github.com/fpcordeiro/tidyaudit/issues",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.0.0",
  "Repository": "https://fpcordeiro.r-universe.dev",
  "Date/Publication": "2026-06-27 12:59:05 UTC",
  "RemoteUrl": "https://github.com/fpcordeiro/tidyaudit",
  "RemoteRef": "HEAD",
  "RemoteSha": "5a339177efa0462247bbf71efc9b9717eb07a8e0",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-27 13:25:52 UTC",
    "User": "root"
  },
  "Author": "Fernando Cordeiro [aut, cre, cph]",
  "Maintainer": "Fernando Cordeiro <fernandolpcordeiro@gmail.com>",
  "_user": "fpcordeiro",
  "_type": "src",
  "_file": "tidyaudit_0.3.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/41ee9d2c40f589f22551a0cd9cb941aca34aa7e1c19a716390932b84f49a4444",
  "_filesize": 3538959,
  "_sha256": "41ee9d2c40f589f22551a0cd9cb941aca34aa7e1c19a716390932b84f49a4444",
  "_expires": "2026-10-12T18:49:15.000Z",
  "_created": "2026-06-27T13:25:52.000Z",
  "_published": "2026-07-04T18:49:17.248Z",
  "_jobs": [
    {
      "job": 85157858506,
      "time": 152,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7924868076"
    },
    {
      "job": 85157858433,
      "time": 158,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "7924868918"
    },
    {
      "job": 85157858401,
      "time": 90,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7924861133"
    },
    {
      "job": 85157858522,
      "time": 139,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "7924866509"
    },
    {
      "job": 85157858423,
      "time": 191,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "7924850727"
    },
    {
      "job": 85157858403,
      "time": 135,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7924866320"
    },
    {
      "job": 85157858528,
      "time": 121,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7924864676"
    },
    {
      "job": 85157858655,
      "time": 115,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7924863948"
    },
    {
      "job": 85157858654,
      "time": 115,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "7924864281"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/fpcordeiro/actions/runs/28290478169",
  "_status": "success",
  "_upstream": "https://github.com/fpcordeiro/tidyaudit",
  "_commit": {
    "id": "5a339177efa0462247bbf71efc9b9717eb07a8e0",
    "author": "fpcordeiro <fernandolpcordeiro@gmail.com>",
    "committer": "fpcordeiro <fernandolpcordeiro@gmail.com>",
    "message": "feat(audit): redesign audit_export HTML report\n\nPaged interface for audited trails: a left-sidebar nav switches between\na Report page, a full-height interactive Lineage graph page, and a new\nTables page (per-version schema, missingness, summaries, type changes).\nFixes the squeezed lineage graph by giving it its own full-height view.\n\n- Dark mode now follows prefers-color-scheme by default, with the toggle\n  forcing either theme (CSS-driven via override classes + --theme sentinel)\n- Lineage graph gains zoom/fit/drag-pan\n- Version-diff panels: clickable lineage edges and a parent-version diff\n  in object detail, reusing a shared metadata diff\n- Sleeker tokens, sticky header with chips, refined cards and nodes\n",
    "time": 1782565145
  },
  "_maintainer": {
    "name": "Fernando Cordeiro",
    "email": "fernandolpcordeiro@gmail.com",
    "login": "fpcordeiro",
    "description": "Economics PhD",
    "uuid": 9939519
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "version": ">= 1.2.0",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "jsonlite",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "pkgdown",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "stringi",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "fpcordeiro",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-07",
      "n": 6
    },
    {
      "week": "2026-08",
      "n": 20
    },
    {
      "week": "2026-10",
      "n": 7
    },
    {
      "week": "2026-11",
      "n": 6
    },
    {
      "week": "2026-12",
      "n": 15
    },
    {
      "week": "2026-13",
      "n": 7
    },
    {
      "week": "2026-19",
      "n": 5
    },
    {
      "week": "2026-22",
      "n": 2
    },
    {
      "week": "2026-26",
      "n": 12
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-02-22"
    },
    {
      "name": "v0.2.0",
      "date": "2026-03-24"
    },
    {
      "name": "v0.2.1",
      "date": "2026-05-09"
    }
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "fpcordeiro",
      "count": 86,
      "uuid": 9939519
    }
  ],
  "_userbio": {
    "uuid": 9939519,
    "type": "user",
    "name": "Fernando Cordeiro",
    "followers": 6,
    "description": "Economics PhD"
  },
  "_downloads": {
    "count": 507,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/tidyaudit"
  },
  "_devurl": "https://github.com/fpcordeiro/tidyaudit",
  "_pkgdown": "https://fpcordeiro.github.io/tidyaudit/",
  "_searchresults": 0,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/tidyaudit.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/fpcordeiro/tidyaudit",
  "_realowner": "fpcordeiro",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-02-27"
    },
    {
      "version": "0.2.0",
      "date": "2026-03-24"
    },
    {
      "version": "0.2.1",
      "date": "2026-05-08"
    }
  ],
  "_exports": [
    "anti_join_tap",
    "audit_diff",
    "audit_export",
    "audit_record",
    "audit_report",
    "audit_source",
    "audit_start",
    "audit_stop",
    "audit_tap",
    "audit_trail",
    "audit_transform",
    "compare_tables",
    "diagnose_nas",
    "diagnose_strings",
    "filter_drop",
    "filter_keep",
    "filter_out_tap",
    "filter_tap",
    "full_join_tap",
    "get_summary_table",
    "inner_join_tap",
    "left_join_tap",
    "read_trail",
    "right_join_tap",
    "semi_join_tap",
    "summarize_column",
    "tab",
    "tab_tap",
    "trail_to_df",
    "trail_to_list",
    "validate_join",
    "validate_primary_keys",
    "validate_var_relationship",
    "write_trail"
  ],
  "_help": [
    {
      "page": "audit_diff",
      "title": "Compare Two Audit Trail Snapshots",
      "concept": [
        "audit trail"
      ],
      "topics": [
        "audit_diff",
        "print.audit_diff"
      ]
    },
    {
      "page": "audit_export",
      "title": "Export an Audit Trail as a Self-Contained HTML File",
      "concept": [
        "audit export"
      ],
      "topics": [
        "audit_export"
      ]
    },
    {
      "page": "audit_record",
      "title": "Record Data-Frame Lineage for a Block of Code",
      "concept": [
        "audited execution"
      ],
      "topics": [
        "audit_record"
      ]
    },
    {
      "page": "audit_report",
      "title": "Generate an Audit Report",
      "concept": [
        "audit trail"
      ],
      "topics": [
        "audit_report"
      ]
    },
    {
      "page": "audit_source",
      "title": "Audit a Script File End to End",
      "concept": [
        "audited execution"
      ],
      "topics": [
        "audit_source"
      ]
    },
    {
      "page": "audit_start",
      "title": "Audit an Interactive Session",
      "concept": [
        "audited execution"
      ],
      "topics": [
        "audit_start",
        "audit_stop"
      ]
    },
    {
      "page": "audit_tap",
      "title": "Record a Pipeline Snapshot",
      "concept": [
        "audit trail"
      ],
      "topics": [
        "audit_tap"
      ]
    },
    {
      "page": "audit_transform",
      "title": "Audit a Vector Transformation",
      "concept": [
        "data quality"
      ],
      "topics": [
        "audit_transform",
        "print.audit_transform"
      ]
    },
    {
      "page": "compare_tables",
      "title": "Compare Two Tables",
      "concept": [
        "join validation"
      ],
      "topics": [
        "as.data.frame.compare_tbl",
        "compare_tables",
        "print.compare_tbl"
      ]
    },
    {
      "page": "diagnose_nas",
      "title": "Diagnose Missing Values",
      "concept": [
        "data quality"
      ],
      "topics": [
        "diagnose_nas",
        "print.diagnose_na"
      ]
    },
    {
      "page": "diagnose_strings",
      "title": "Diagnose String Column Quality",
      "concept": [
        "data quality"
      ],
      "topics": [
        "diagnose_strings",
        "print.diagnose_strings"
      ]
    },
    {
      "page": "filter_drop",
      "title": "Filter Data with Diagnostic Statistics (Drop)",
      "concept": [
        "filter diagnostics"
      ],
      "topics": [
        "filter_drop",
        "filter_drop.data.frame"
      ]
    },
    {
      "page": "filter_keep",
      "title": "Filter Data with Diagnostic Statistics (Keep)",
      "concept": [
        "filter diagnostics"
      ],
      "topics": [
        "filter_keep",
        "filter_keep.data.frame"
      ]
    },
    {
      "page": "filter_tap",
      "title": "Operation-Aware Filter Taps",
      "concept": [
        "operation taps"
      ],
      "topics": [
        "filter_out_tap",
        "filter_tap"
      ]
    },
    {
      "page": "get_summary_table",
      "title": "Generate Summary Table for a Data Frame",
      "concept": [
        "data quality"
      ],
      "topics": [
        "get_summary_table"
      ]
    },
    {
      "page": "join_tap",
      "title": "Operation-Aware Join Taps",
      "concept": [
        "operation taps"
      ],
      "topics": [
        "anti_join_tap",
        "full_join_tap",
        "inner_join_tap",
        "join_tap",
        "left_join_tap",
        "right_join_tap",
        "semi_join_tap"
      ]
    },
    {
      "page": "audit_trail",
      "title": "Create an Audit Trail",
      "concept": [
        "audit trail"
      ],
      "topics": [
        "audit_trail",
        "print.audit_snap",
        "print.audit_trail"
      ]
    },
    {
      "page": "read_trail",
      "title": "Read an Audit Trail from a File",
      "concept": [
        "audit export"
      ],
      "topics": [
        "read_trail"
      ]
    },
    {
      "page": "summarize_column",
      "title": "Summarize a Single Column",
      "concept": [
        "data quality"
      ],
      "topics": [
        "summarize_column"
      ]
    },
    {
      "page": "tab",
      "title": "Tabulate Variables",
      "concept": [
        "data quality"
      ],
      "topics": [
        "as.data.frame.tidyaudit_tab",
        "print.tidyaudit_tab",
        "tab"
      ]
    },
    {
      "page": "tab_tap",
      "title": "Record a Tabulation Snapshot in a Pipeline",
      "concept": [
        "audit trail"
      ],
      "topics": [
        "tab_tap"
      ]
    },
    {
      "page": "trail_to_df",
      "title": "Convert an Audit Trail to a Data Frame",
      "concept": [
        "audit export"
      ],
      "topics": [
        "trail_to_df"
      ]
    },
    {
      "page": "trail_to_list",
      "title": "Convert an Audit Trail to a Plain List",
      "concept": [
        "audit export"
      ],
      "topics": [
        "trail_to_list"
      ]
    },
    {
      "page": "validate_join",
      "title": "Validate Join Operations Between Two Tables",
      "concept": [
        "join validation"
      ],
      "topics": [
        "print.validate_join",
        "summary.validate_join",
        "validate_join"
      ]
    },
    {
      "page": "validate_primary_keys",
      "title": "Validate Primary Keys",
      "concept": [
        "join validation"
      ],
      "topics": [
        "print.validate_pk",
        "validate_primary_keys"
      ]
    },
    {
      "page": "validate_var_relationship",
      "title": "Validate Variable Relationship",
      "concept": [
        "join validation"
      ],
      "topics": [
        "print.validate_var_rel",
        "validate_var_relationship"
      ]
    },
    {
      "page": "write_trail",
      "title": "Write an Audit Trail to a File",
      "concept": [
        "audit export"
      ],
      "topics": [
        "write_trail"
      ]
    }
  ],
  "_readme": "https://github.com/fpcordeiro/tidyaudit/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "dplyr",
    "generics",
    "glue",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "R6",
    "rlang",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "tidyaudit.Rmd",
      "filename": "tidyaudit.html",
      "title": "Audit Trail Walkthrough",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Tracking what happens in your pipeline",
        "Your first trail",
        "Operation-aware taps",
        "Join taps",
        "Filter taps",
        "Comparing snapshots",
        "Full audit report",
        "Domain-specific diagnostics",
        "Snapshot controls",
        "Tabulation in pipelines",
        "Standalone mode",
        "Exporting and sharing trails",
        "Converting to R objects",
        "Saving and loading trails",
        "HTML visualization"
      ],
      "created": "2026-02-14 19:38:17",
      "modified": "2026-03-24 11:18:57",
      "commits": 7
    },
    {
      "source": "audited-execution.Rmd",
      "filename": "audited-execution.html",
      "title": "Audited Execution",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Capturing lineage without taps",
        "Three ways in",
        "What a snapshot knows",
        "Lifecycle events",
        "Detecting value-only changes",
        "Lineage resolution limits",
        "Exporting the report"
      ],
      "created": "2026-06-26 22:11:59",
      "modified": "2026-06-26 22:11:59",
      "commits": 4
    },
    {
      "source": "diagnostics.Rmd",
      "filename": "diagnostics.html",
      "title": "Diagnostic Functions Guide",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Before you join",
        "Different key names",
        "Tracking the impact on a metric",
        "Are your keys unique?",
        "Beyond uniqueness: what's the relationship?",
        "What changed between versions?",
        "Filter with visibility",
        "filter_keep",
        "filter_drop",
        "Warning thresholds",
        "Diagnose data quality",
        "Missing values",
        "Column summaries",
        "Frequency tables",
        "One-way tables",
        "Sorting and cutoffs",
        "Two-way crosstabulations",
        "Weighted tabulation",
        "String quality",
        "Audit your transformations",
        "Character vectors",
        "Numeric vectors",
        "Date vectors",
        "Factor vectors",
        "Logical vectors"
      ],
      "created": "2026-02-14 19:38:17",
      "modified": "2026-03-24 11:18:57",
      "commits": 6
    }
  ],
  "_score": 5.1303337684950066,
  "_indexed": true,
  "_nocasepkg": "tidyaudit",
  "_universes": [
    "fpcordeiro"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.0",
      "date": "2026-06-27T13:28:06.000Z",
      "distro": "resolute",
      "commit": "5a339177efa0462247bbf71efc9b9717eb07a8e0",
      "fileid": "https://r2.ropensci.org/8995c42dd6084815bd038b5f0860a9d12ea369e9db518b6c3545ccc4089046de",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fpcordeiro/actions/runs/28290478169"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.3.0",
      "date": "2026-06-27T13:28:13.000Z",
      "distro": "resolute",
      "commit": "5a339177efa0462247bbf71efc9b9717eb07a8e0",
      "fileid": "https://r2.ropensci.org/074092e544e8d325ecf9bd212d309337b58bd08f61169e39998c5cd3797cb96e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fpcordeiro/actions/runs/28290478169"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.0",
      "date": "2026-06-27T13:27:17.000Z",
      "commit": "5a339177efa0462247bbf71efc9b9717eb07a8e0",
      "fileid": "https://r2.ropensci.org/df304b792a23aba22c515017bf84b1437827a9971866590249175b6eec917a35",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fpcordeiro/actions/runs/28290478169"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.3.0",
      "date": "2026-06-27T13:27:47.000Z",
      "commit": "5a339177efa0462247bbf71efc9b9717eb07a8e0",
      "fileid": "https://r2.ropensci.org/3b3abed22da00caabe960d273373f43c2b76737c618f09ba7350c9a7db782b41",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fpcordeiro/actions/runs/28290478169"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.0",
      "date": "2026-06-27T13:28:25.000Z",
      "commit": "5a339177efa0462247bbf71efc9b9717eb07a8e0",
      "fileid": "https://r2.ropensci.org/435a836597913cfe373a89eba382c775b315534de01d7db4b9b39b926f8444ad",
      "status": "success",
      "buildurl": "https://github.com/r-universe/fpcordeiro/actions/runs/28290478169"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-06-27T13:27:23.000Z",
      "commit": "5a339177efa0462247bbf71efc9b9717eb07a8e0",
      "fileid": "https://r2.ropensci.org/619537ff04745c5a8e3ba5f380b1195ed0c9d996508fcb19c8e042533623e626",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fpcordeiro/actions/runs/28290478169"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-06-27T13:27:13.000Z",
      "commit": "5a339177efa0462247bbf71efc9b9717eb07a8e0",
      "fileid": "https://r2.ropensci.org/2ab33afaad0430dea05d071eef31844d2349c03ba701e246db79f66e759ab45e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fpcordeiro/actions/runs/28290478169"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-06-27T13:27:18.000Z",
      "commit": "5a339177efa0462247bbf71efc9b9717eb07a8e0",
      "fileid": "https://r2.ropensci.org/5c509ab99412aec527a8a6d7eddb71e0b7ccc14ccdd16a18edfaa570538b2fc3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fpcordeiro/actions/runs/28290478169"
    }
  ]
}