{
  "_id": "6aca7b2cfe5cc25786e89f50",
  "Package": "justifier",
  "Title": "Human and Machine-Readable Justifications and Justified\nDecisions Based on 'YAML'",
  "Version": "0.2.8",
  "Authors@R": "c(\nperson(given = \"Gjalt-Jorn\",\nfamily = \"Peters\",\nrole = c(\"aut\", \"cre\"),\nemail = \"justifier@opens.science\",\ncomment = c(ORCID = \"0000-0002-0336-9589\")),\nperson(given = \"Szilvia\",\nfamily = \"Zorgo\",\nrole = c(\"ctb\"),\ncomment = c(ORCID = \"0000-0002-6916-2097\")))",
  "Maintainer": "Gjalt-Jorn Peters <justifier@opens.science>",
  "Description": "Leverages the 'yum' package to implement a 'YAML' ('YAML\nAin't Markup Language', a human friendly standard for data\nserialization; see <https://yaml.org>) standard for documenting\njustifications, such as for decisions taken during the\nplanning, execution and analysis of a study or during the\ndevelopment of a behavior change intervention as illustrated by\nMarques & Peters (2019) <doi:10.17605/osf.io/ndxha>. These\njustifications are both human- and machine-readable,\nfacilitating efficient extraction and organisation.",
  "License": "GPL (>= 2)",
  "Encoding": "UTF-8",
  "URL": "https://justifier.opens.science",
  "BugReports": "https://codeberg.org/R-packages/justifier/issues",
  "VignetteBuilder": "knitr",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.1.2",
  "Config/pak/sysreqs": "cmake libglpk-dev make libicu-dev libuv1-dev\nlibxml2-dev libssl-dev libnode-dev libx11-dev",
  "Repository": "https://matherion.r-universe.dev",
  "Date/Publication": "2025-11-14 14:31:30 UTC",
  "RemoteUrl": "https://codeberg.org/r-packages/justifier",
  "RemoteRef": "HEAD",
  "RemoteSha": "2d7267d31e39ea45656657615774cbbcfba1dc7a",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-10 16:47:26 UTC",
    "User": "root"
  },
  "Author": "Gjalt-Jorn Peters [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-0336-9589>),\nSzilvia Zorgo [ctb] (ORCID: <https://orcid.org/0000-0002-6916-2097>)",
  "_user": "matherion",
  "_type": "src",
  "_file": "justifier_0.2.8.tar.gz",
  "_fileid": "https://r2.ropensci.org/642ed87918c0fe8f13b9dedcc71e7c5766f75e07e430c3a29e24b8f11ace6d6c",
  "_filesize": 361004,
  "_sha256": "642ed87918c0fe8f13b9dedcc71e7c5766f75e07e430c3a29e24b8f11ace6d6c",
  "_expires": "2027-01-18T17:51:38.000Z",
  "_created": "2026-10-10T16:47:26.000Z",
  "_published": "2026-10-10T17:51:40.729Z",
  "_buildurl": "https://github.com/r-universe/matherion/actions/runs/38068853440",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 114262704938,
      "time": 140,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11676198064"
    },
    {
      "job": 114262704826,
      "time": 132,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11675743642"
    },
    {
      "job": 114262704819,
      "time": 105,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11678185566"
    },
    {
      "job": 114262704821,
      "time": 104,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11678185569"
    },
    {
      "job": 114262035785,
      "time": 203,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11675642327"
    },
    {
      "job": 114262704823,
      "time": 104,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11675732329"
    },
    {
      "job": 114262704873,
      "time": 102,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11675399193"
    },
    {
      "job": 114262704844,
      "time": 116,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11676511495"
    },
    {
      "job": 114262704898,
      "time": 97,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11675434103"
    }
  ],
  "_upstream": "https://codeberg.org/r-packages/justifier",
  "_commit": {
    "id": "2d7267d31e39ea45656657615774cbbcfba1dc7a",
    "author": "Gjalt-Jorn Peters <gjalt-jorn@behaviorchange.eu>",
    "committer": "Gjalt-Jorn Peters <gjalt-jorn@behaviorchange.eu>",
    "message": "2.8\n",
    "time": 1763130690
  },
  "_maintainer": {
    "name": "Gjalt-Jorn Peters",
    "email": "justifier@opens.science",
    "orcid": "0000-0002-0336-9589"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "data.tree",
      "version": ">= 0.7.8",
      "role": "Imports"
    },
    {
      "package": "DiagrammeR",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "DiagrammeRsvg",
      "version": ">= 0.1",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "version": ">= 0.3.0",
      "role": "Imports"
    },
    {
      "package": "yaml",
      "version": ">= 2.2.0",
      "role": "Imports"
    },
    {
      "package": "yum",
      "version": ">= 0.0.1",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "here",
      "role": "Suggests"
    },
    {
      "package": "jsonlite",
      "version": ">= 1.7",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    }
  ],
  "_owner": "codeberg-r-packages",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-46",
      "n": 2
    }
  ],
  "_tags": [],
  "_userbio": {
    "uuid": 2077242,
    "type": "user",
    "name": "Gjalt-Jorn Peters",
    "followers": 17,
    "description": "Researcher in health psychology. Into behavior change, methods, and statistics."
  },
  "_downloads": {
    "count": 334,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/justifier"
  },
  "_devurl": "https://codeberg.org/r-packages/justifier",
  "_pkgdown": "https://justifier.opens.science",
  "_searchresults": 1,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/justifier.html",
    "extra/manual.pdf",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://codeberg.org/r-packages/justifier",
  "_realowner": "matherion",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2019-06-03"
    },
    {
      "version": "0.2.0",
      "date": "2021-07-12"
    },
    {
      "version": "0.2.1",
      "date": "2021-09-06"
    },
    {
      "version": "0.2.2",
      "date": "2021-09-18"
    },
    {
      "version": "0.2.4",
      "date": "2022-06-09"
    },
    {
      "version": "0.2.6",
      "date": "2023-03-05"
    },
    {
      "version": "0.2.8",
      "date": "2025-11-14"
    }
  ],
  "_exports": [
    "apply_graph_theme",
    "asrt",
    "assert",
    "base30toNumeric",
    "cat0",
    "clean_workspace",
    "dcsn",
    "decide",
    "decision",
    "export_justification",
    "export_to_json",
    "flatten",
    "generate_id",
    "get_workspace",
    "get_workspace_id",
    "idRef",
    "idSlug",
    "ifelseObj",
    "import_from_json",
    "jstf",
    "justify",
    "load_justifications",
    "load_justifications_dir",
    "log_decision",
    "merge_specLists",
    "numericToBase30",
    "opts",
    "parse_justifications",
    "randomSlug",
    "repeatStr",
    "repStr",
    "sanitize_for_DiagrammeR",
    "save_workspace",
    "set_workspace_id",
    "source",
    "srce",
    "to_specList",
    "vecTxt",
    "vecTxtQ",
    "workspace",
    "wrapVector"
  ],
  "_help": [
    {
      "page": "apply_graph_theme",
      "title": "Apply multiple DiagrammeR global graph attributes",
      "topics": [
        "apply_graph_theme"
      ]
    },
    {
      "page": "base30and36conversion",
      "title": "Conversion between base10 and base30 & base36",
      "topics": [
        "base30and36conversion",
        "base30toNumeric",
        "numericToBase30"
      ]
    },
    {
      "page": "constructingJustifications",
      "title": "Programmatically constructing justifier elements",
      "topics": [
        "asrt",
        "assert",
        "c.justifierElement",
        "c.justifierStructured",
        "dcsn",
        "decide",
        "decision",
        "jstf",
        "justify",
        "source",
        "srce"
      ]
    },
    {
      "page": "structuredJustifications",
      "title": "Concatenate two or more structured justifier objects",
      "topics": [
        "c.justifierStructuredObject"
      ]
    },
    {
      "page": "cat0",
      "title": "Concatenate to screen without spaces",
      "topics": [
        "cat0"
      ]
    },
    {
      "page": "clean_workspace",
      "title": "Clean your workspace",
      "topics": [
        "clean_workspace"
      ]
    },
    {
      "page": "export_justification",
      "title": "Export justification as YAML",
      "topics": [
        "export_justification"
      ]
    },
    {
      "page": "export_to_json",
      "title": "Export a justifier specification to JSON",
      "topics": [
        "export_to_json",
        "export_to_json.justifierStructuredObject",
        "print.justifier_json"
      ]
    },
    {
      "page": "flatteningJustifierElements",
      "title": "Flatten a justifier tree",
      "topics": [
        "flatten",
        "flatten.multipleJustifierElements",
        "flatten.singleJustifierElement"
      ]
    },
    {
      "page": "generate_id",
      "title": "Generate unique identifier(s)",
      "topics": [
        "generate_id"
      ]
    },
    {
      "page": "get_workspace",
      "title": "Get your justifier workspace identifier",
      "topics": [
        "get_workspace"
      ]
    },
    {
      "page": "get_workspace_id",
      "title": "Get your justifier workspace identifier",
      "topics": [
        "get_workspace_id"
      ]
    },
    {
      "page": "referencingById",
      "title": "Create a reference to one or more justifier objects",
      "topics": [
        "idRef",
        "idRef.character",
        "idRef.justifierIdRef",
        "idRef.justifierStructured",
        "idRef.multipleJustifierElements",
        "idRef.singleJustifierElement"
      ]
    },
    {
      "page": "ifelseObj",
      "title": "Conditional returning of an object",
      "topics": [
        "ifelseObj"
      ]
    },
    {
      "page": "import_from_json",
      "title": "Import a structured justifier object from JSON",
      "topics": [
        "import_from_json"
      ]
    },
    {
      "page": "load_justifications",
      "title": "Load Justifications from a file or multiple files",
      "topics": [
        "load_justifications",
        "load_justifications_dir",
        "plot.justifications",
        "print.justifications"
      ]
    },
    {
      "page": "log_decision",
      "title": "Document a decision",
      "topics": [
        "log_decision"
      ]
    },
    {
      "page": "merge_specLists",
      "title": "Merging to justifier specification lists",
      "topics": [
        "merge_specLists"
      ]
    },
    {
      "page": "opts",
      "title": "Options for the justifier package",
      "topics": [
        "get",
        "opts",
        "reset",
        "set"
      ]
    },
    {
      "page": "parsing_justifications",
      "title": "Parsing justifications",
      "topics": [
        "parse_justifications",
        "plot.justifierDecisionGraph",
        "print.justifierDecisionGraph"
      ]
    },
    {
      "page": "randomSlug",
      "title": "Generate a random slug",
      "topics": [
        "idSlug",
        "randomSlug"
      ]
    },
    {
      "page": "repeatStr",
      "title": "Repeat a string a number of times",
      "topics": [
        "repeatStr",
        "repStr"
      ]
    },
    {
      "page": "sanitize_for_DiagrammeR",
      "title": "Sanitize for DiagrammeR",
      "topics": [
        "sanitize_for_DiagrammeR"
      ]
    },
    {
      "page": "save_workspace",
      "title": "Save your workspace",
      "topics": [
        "save_workspace"
      ]
    },
    {
      "page": "set_workspace_id",
      "title": "Set your justifier workspace identifier",
      "topics": [
        "set_workspace_id"
      ]
    },
    {
      "page": "to_specList",
      "title": "Producing a list of specifications",
      "topics": [
        "to_specList"
      ]
    },
    {
      "page": "vecTxt",
      "title": "Easily parse a vector into a character value",
      "topics": [
        "vecTxt",
        "vecTxtQ"
      ]
    },
    {
      "page": "workspace",
      "title": "Show your workspace contents",
      "topics": [
        "workspace"
      ]
    },
    {
      "page": "wrapVector",
      "title": "Wrap all elements in a vector",
      "topics": [
        "wrapVector"
      ]
    }
  ],
  "_pkglogo": "https://codeberg.org/r-packages/justifier/raw/HEAD/man/figures/logo.png",
  "_readme": "https://codeberg.org/r-packages/justifier/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bit",
    "bit64",
    "bslib",
    "cachem",
    "cli",
    "clipr",
    "cpp11",
    "crayon",
    "curl",
    "data.tree",
    "DiagrammeR",
    "DiagrammeRsvg",
    "digest",
    "dplyr",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "fs",
    "generics",
    "glue",
    "highr",
    "hms",
    "htmltools",
    "htmlwidgets",
    "igraph",
    "jquerylib",
    "jsonlite",
    "knitr",
    "labeling",
    "lattice",
    "lifecycle",
    "magrittr",
    "Matrix",
    "memoise",
    "mime",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "readr",
    "rlang",
    "rmarkdown",
    "rstudioapi",
    "sass",
    "scales",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "tinytex",
    "tzdb",
    "utf8",
    "V8",
    "vctrs",
    "viridisLite",
    "visNetwork",
    "vroom",
    "withr",
    "xfun",
    "yaml",
    "yum"
  ],
  "_vignettes": [
    {
      "source": "general-introduction-to-justifier.Rmd",
      "filename": "general-introduction-to-justifier.html",
      "title": "General introduction to justifier",
      "author": "Gjalt-Jorn Peters",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Justification frameworks",
        "Common framework metadata specifications",
        "Efficient specification and scope"
      ],
      "created": "2019-03-07 11:57:52",
      "modified": "2023-03-05 11:11:19",
      "commits": 8
    },
    {
      "source": "justifier-in-intervention-development.Rmd",
      "filename": "justifier-in-intervention-development.html",
      "title": "Using justifier in behavior change intervention development",
      "author": "Gjalt-Jorn Peters & Marta Marques",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Background",
        "Intervention Mapping",
        "Behavior Change Wheel",
        "Example 1: Intervention Mapping (Acyclic Behavior Change Diagrams)",
        "Justifying the selected target behavior",
        "Justifying selected sub-behaviors",
        "Justifying selected determinants",
        "Justifying selected sub-determinants",
        "Justifying selected behavior change principles",
        "Justifying applications",
        "Justifying conditions for effectiveness",
        "Deliberate omissions",
        "Example 2: the Behavior Change Wheel",
        "Justifying ...",
        "Epilogue: theory from practice",
        "Processing justifications",
        "References"
      ],
      "created": "2019-02-16 20:41:52",
      "modified": "2023-03-05 11:11:19",
      "commits": 15
    },
    {
      "source": "justifier-in-study-design.Rmd",
      "filename": "justifier-in-study-design.html",
      "title": "Using justifier in study design",
      "author": "Gjalt-Jorn Peters",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why justify?",
        "Study design decisions",
        "Research question",
        "Method",
        "Sample size",
        "Preregistration",
        "Example study decisions in justifier format",
        "Framework specification",
        "Pregistrations",
        "justifier processing"
      ],
      "created": "2019-03-07 11:57:52",
      "modified": "2021-07-11 09:42:28",
      "commits": 6
    }
  ],
  "_score": 4.176091259055681,
  "_indexed": true,
  "_nocasepkg": "justifier",
  "_universes": [
    "matherion",
    "codeberg-r-packages"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.8",
      "date": "2026-10-10T16:49:51.000Z",
      "distro": "resolute",
      "commit": "2d7267d31e39ea45656657615774cbbcfba1dc7a",
      "fileid": "https://r2.ropensci.org/e6530283af81935cf0fc60985c1420c2e026af19ccc8e69b5f5096e420c60ebe",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/matherion/actions/runs/38068853440"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.2.8",
      "date": "2026-10-10T16:49:40.000Z",
      "distro": "resolute",
      "commit": "2d7267d31e39ea45656657615774cbbcfba1dc7a",
      "fileid": "https://r2.ropensci.org/ac13e75fae4fa2a7fc53ff21d7e6e5e8a528765c8fb784a978fe57d3e26078cc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/matherion/actions/runs/38068853440"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.8",
      "date": "2026-10-10T17:50:52.000Z",
      "commit": "2d7267d31e39ea45656657615774cbbcfba1dc7a",
      "fileid": "https://r2.ropensci.org/dd1a5d19dad7e4c2acbdd8aea1172f09782445a81a74514218a73ada062e8087",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/matherion/actions/runs/38068853440"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.2.8",
      "date": "2026-10-10T17:50:59.000Z",
      "commit": "2d7267d31e39ea45656657615774cbbcfba1dc7a",
      "fileid": "https://r2.ropensci.org/b85beabec7c00685842c280b28637aaed20b2f8d17cd6b6ed7b078c8ec31a2fb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/matherion/actions/runs/38068853440"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.8",
      "date": "2026-10-10T16:49:33.000Z",
      "commit": "2d7267d31e39ea45656657615774cbbcfba1dc7a",
      "fileid": "https://r2.ropensci.org/5e153ec115013e69a40ff62ae54b5150daf07915e75c79b101fb02e1008b4eb5",
      "status": "success",
      "buildurl": "https://github.com/r-universe/matherion/actions/runs/38068853440"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.8",
      "date": "2026-10-10T16:48:59.000Z",
      "commit": "2d7267d31e39ea45656657615774cbbcfba1dc7a",
      "fileid": "https://r2.ropensci.org/5493c5be61b9584db772be5d2e09a8cc520fe80f19c0da02bb4d642e52acd078",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/matherion/actions/runs/38068853440"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.8",
      "date": "2026-10-10T16:49:09.000Z",
      "commit": "2d7267d31e39ea45656657615774cbbcfba1dc7a",
      "fileid": "https://r2.ropensci.org/42c52d28c3fbf7d5969c45621b02e0d59cdd4385f56f5fb9084a3f9f4a3762c0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/matherion/actions/runs/38068853440"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.2.8",
      "date": "2026-10-10T16:48:53.000Z",
      "commit": "2d7267d31e39ea45656657615774cbbcfba1dc7a",
      "fileid": "https://r2.ropensci.org/7e676fc1526e1c3fe33b61aa3f7f428c4a41df18133a311f5a685f30eb951fad",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/matherion/actions/runs/38068853440"
    }
  ]
}