{
  "_id": "6aca891bfe5cc25786e8b152",
  "Package": "theoryforge",
  "Title": "Systematic Theory Development",
  "Version": "0.6.0",
  "Authors@R": "person(given = \"Pablo\", family = \"Bernabeu\", role = c(\"aut\", \"cre\"), email = \"pcbernabeu@gmail.com\", comment = c(ORCID = \"0000-0003-1083-2460\"))",
  "Description": "Provides a rigorous, reproducible workflow for building,\ndeveloping and testing scientific theories represented as\nversioned, machine-checkable objects. Functions read and\nvalidate theory objects, score them against a versioned rigour\nchecklist, screen constructs for lexical redundancy, and emit\nbyte-identical diagram intermediate representations. The\npackage is the feature-parity twin of a 'Python' package of the\nsame name, with behaviour pinned by a shared specification so\nthe two implementations produce identical verdicts.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/pablobernabeu/theoryforge,\nhttps://pablobernabeu.github.io/theoryforge/r/",
  "BugReports": "https://github.com/pablobernabeu/theoryforge/issues",
  "Encoding": "UTF-8",
  "Language": "en-GB",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "RoxygenNote": "8.0.0",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-10 18:00:13 UTC",
    "User": "root"
  },
  "Author": "Pablo Bernabeu [aut, cre] (ORCID:\n<https://orcid.org/0000-0003-1083-2460>)",
  "Maintainer": "Pablo Bernabeu <pcbernabeu@gmail.com>",
  "Repository": "https://pablobernabeu.r-universe.dev",
  "Date/Publication": "2026-09-01 08:30:02 UTC",
  "RemoteUrl": "https://github.com/cran/theoryforge",
  "RemoteRef": "HEAD",
  "RemoteSha": "d40438a49ceb03b0c026c79894141197f4cc2150",
  "_user": "pablobernabeu",
  "_type": "src",
  "_file": "theoryforge_0.6.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/545e784e41edeb0c3385823c81b0155b0509898485dcca367db06fd90ec6b875",
  "_filesize": 321861,
  "_sha256": "545e784e41edeb0c3385823c81b0155b0509898485dcca367db06fd90ec6b875",
  "_expires": "2027-01-18T18:51:02.000Z",
  "_created": "2026-10-10T18:00:13.000Z",
  "_published": "2026-10-10T18:51:07.494Z",
  "_buildurl": "https://github.com/r-universe/pablobernabeu/actions/runs/38073798346",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 114277167787,
      "time": 129,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11678181871"
    },
    {
      "job": 114277167955,
      "time": 112,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11678281705"
    },
    {
      "job": 114277167839,
      "time": 76,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11679646802"
    },
    {
      "job": 114277167835,
      "time": 121,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11678497299"
    },
    {
      "job": 114276522884,
      "time": 192,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11678111739"
    },
    {
      "job": 114277167801,
      "time": 98,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11678076941"
    },
    {
      "job": 114277167917,
      "time": 96,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11677787508"
    },
    {
      "job": 114277167873,
      "time": 88,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11678066974"
    },
    {
      "job": 114277167836,
      "time": 85,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11677697546"
    }
  ],
  "_upstream": "https://github.com/cran/theoryforge",
  "_commit": {
    "id": "d40438a49ceb03b0c026c79894141197f4cc2150",
    "author": "Pablo Bernabeu <pcbernabeu@gmail.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.6.0\n",
    "time": 1788251402
  },
  "_maintainer": {
    "name": "Pablo Bernabeu",
    "email": "pcbernabeu@gmail.com",
    "login": "pablobernabeu",
    "linkedin": "in/pablobernabeu",
    "orcid": "0000-0003-1083-2460",
    "description": "As a cognitive psychologist and linguist, I conduct research and data analysis on digitally-enhanced childhood learning, language and perception.\n\nSSI Fellow ",
    "uuid": 20436359
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "yaml",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "httr",
      "role": "Suggests"
    },
    {
      "package": "curl",
      "role": "Suggests"
    },
    {
      "package": "dagitty",
      "role": "Suggests"
    },
    {
      "package": "ggm",
      "role": "Suggests"
    },
    {
      "package": "DiagrammeR",
      "role": "Suggests"
    },
    {
      "package": "DiagrammeRsvg",
      "role": "Suggests"
    },
    {
      "package": "htmltools",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-36",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.6.0",
      "date": "2026-09-01"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "pablobernabeu",
      "count": 1,
      "uuid": 20436359
    }
  ],
  "_userbio": {
    "uuid": 20436359,
    "type": "user",
    "name": "Pablo Bernabeu",
    "followers": 30,
    "description": "As a cognitive psychologist and linguist, I conduct research and data analysis on digitally-enhanced childhood learning, language and perception.\r\n\r\nSSI Fellow "
  },
  "_downloads": {
    "count": 320,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/theoryforge"
  },
  "_devurl": "https://github.com/pablobernabeu/theoryforge",
  "_pkgdown": "https://pablobernabeu.github.io/theoryforge/r/",
  "_searchresults": 21,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/theoryforge.html",
    "LICENSE"
  ],
  "_realowner": "pablobernabeu",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.6.0",
      "date": "2026-09-08"
    }
  ],
  "_exports": [
    "tf_add_alternative",
    "tf_add_assumption",
    "tf_add_construct",
    "tf_add_prediction",
    "tf_add_proposition",
    "tf_appraise_amendment",
    "tf_check",
    "tf_compile_sem",
    "tf_diagram",
    "tf_dossier",
    "tf_embedding_redundancy",
    "tf_example_names",
    "tf_example_path",
    "tf_fetch_corpus",
    "tf_implications",
    "tf_jaccard",
    "tf_landscape",
    "tf_lit_diagram",
    "tf_litmap",
    "tf_new_evidence_dois",
    "tf_osf_push",
    "tf_preregister",
    "tf_read",
    "tf_read_corpus",
    "tf_redundancy_check",
    "tf_render_diagram",
    "tf_render_report",
    "tf_report",
    "tf_set_formal_model",
    "tf_severity",
    "tf_simulate",
    "tf_theory",
    "tf_tokens",
    "tf_validate",
    "tf_write"
  ],
  "_help": [
    {
      "page": "tf_add_alternative",
      "title": "Add an alternative theory (BUILDING mode)",
      "topics": [
        "tf_add_alternative"
      ]
    },
    {
      "page": "tf_add_assumption",
      "title": "Add an auxiliary assumption (BUILDING mode)",
      "topics": [
        "tf_add_assumption"
      ]
    },
    {
      "page": "tf_add_construct",
      "title": "Add a construct to a theory (BUILDING mode)",
      "topics": [
        "tf_add_construct"
      ]
    },
    {
      "page": "tf_add_prediction",
      "title": "Add a prediction to a theory (BUILDING mode)",
      "topics": [
        "tf_add_prediction"
      ]
    },
    {
      "page": "tf_add_proposition",
      "title": "Add a proposition to a theory (BUILDING mode)",
      "topics": [
        "tf_add_proposition"
      ]
    },
    {
      "page": "tf_appraise_amendment",
      "title": "Appraise an amendment as progressive, degenerating, or neutral",
      "topics": [
        "tf_appraise_amendment"
      ]
    },
    {
      "page": "tf_check",
      "title": "Compute the rigour checklist report",
      "topics": [
        "tf_check"
      ]
    },
    {
      "page": "tf_compile_sem",
      "title": "Compile a theory to lavaan model syntax",
      "topics": [
        "tf_compile_sem"
      ]
    },
    {
      "page": "tf_diagram",
      "title": "Render a diagram intermediate representation",
      "topics": [
        "tf_diagram"
      ]
    },
    {
      "page": "tf_dossier",
      "title": "Render a theory audit dossier (Markdown)",
      "topics": [
        "tf_dossier"
      ]
    },
    {
      "page": "tf_embedding_redundancy",
      "title": "Embedding-based pairwise construct-redundancy screen",
      "topics": [
        "tf_embedding_redundancy"
      ]
    },
    {
      "page": "tf_example_names",
      "title": "Names of the packaged example files",
      "topics": [
        "tf_example_names"
      ]
    },
    {
      "page": "tf_example_path",
      "title": "Path to a packaged example file",
      "topics": [
        "tf_example_path"
      ]
    },
    {
      "page": "tf_fetch_corpus",
      "title": "Build a corpus from the OpenAlex API (network call)",
      "topics": [
        "tf_fetch_corpus"
      ]
    },
    {
      "page": "tf_implications",
      "title": "Derive a theory's implied conditional independencies",
      "topics": [
        "tf_implications"
      ]
    },
    {
      "page": "tf_jaccard",
      "title": "Jaccard similarity of two token sets",
      "topics": [
        "tf_jaccard"
      ]
    },
    {
      "page": "tf_landscape",
      "title": "Map a theory and its alternatives onto a literature landscape (deterministic)",
      "topics": [
        "tf_landscape"
      ]
    },
    {
      "page": "tf_lit_diagram",
      "title": "Render a literature-layer diagram intermediate representation",
      "topics": [
        "tf_lit_diagram"
      ]
    },
    {
      "page": "tf_litmap",
      "title": "Bibliometric map of a literature corpus (deterministic)",
      "topics": [
        "tf_litmap"
      ]
    },
    {
      "page": "tf_new_evidence_dois",
      "title": "DOIs not already cited by a theory (deterministic)",
      "topics": [
        "tf_new_evidence_dois"
      ]
    },
    {
      "page": "tf_osf_push",
      "title": "Deposit a theory's audit dossier to OSF storage",
      "topics": [
        "tf_osf_push"
      ]
    },
    {
      "page": "tf_preregister",
      "title": "Render a preregistration document",
      "topics": [
        "tf_preregister"
      ]
    },
    {
      "page": "tf_read",
      "title": "Read a theory object from a YAML or JSON file",
      "topics": [
        "tf_read"
      ]
    },
    {
      "page": "tf_read_corpus",
      "title": "Read a literature corpus from a YAML or JSON file",
      "topics": [
        "tf_read_corpus"
      ]
    },
    {
      "page": "tf_redundancy_check",
      "title": "Pairwise lexical similarity of construct definitions",
      "topics": [
        "tf_redundancy_check"
      ]
    },
    {
      "page": "tf_render_diagram",
      "title": "Render a diagram in the viewer or as SVG",
      "topics": [
        "tf_render_diagram"
      ]
    },
    {
      "page": "tf_render_report",
      "title": "Write a Quarto report for a theory",
      "topics": [
        "tf_render_report"
      ]
    },
    {
      "page": "tf_report",
      "title": "Render the rigour report as a string",
      "topics": [
        "tf_report"
      ]
    },
    {
      "page": "tf_set_formal_model",
      "title": "Set the formal model (BUILDING mode)",
      "topics": [
        "tf_set_formal_model"
      ]
    },
    {
      "page": "tf_severity",
      "title": "Per-prediction risk and computed severity",
      "topics": [
        "tf_severity"
      ]
    },
    {
      "page": "tf_simulate",
      "title": "Simulate a theory's construct network as a linear dynamical system",
      "topics": [
        "tf_simulate"
      ]
    },
    {
      "page": "tf_theory",
      "title": "Start a new, empty theory object (BUILDING mode entry point)",
      "topics": [
        "tf_theory"
      ]
    },
    {
      "page": "tf_tokens",
      "title": "Tokenise a string into a set of content tokens",
      "topics": [
        "tf_tokens"
      ]
    },
    {
      "page": "tf_validate",
      "title": "Validate a theory object",
      "topics": [
        "tf_validate"
      ]
    },
    {
      "page": "tf_write",
      "title": "Write a theory object to YAML or JSON",
      "topics": [
        "tf_write"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/theoryforge/raw/HEAD/man/figures/logo.svg",
  "_readme": "https://github.com/cran/theoryforge/raw/HEAD/README.md",
  "_rundeps": [
    "jsonlite",
    "yaml"
  ],
  "_vignettes": [
    {
      "source": "theoryforge.Rmd",
      "filename": "theoryforge.html",
      "title": "Building, checking and diagramming a theory",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Building a theory",
        "Checking rigour",
        "Screening for redundant constructs",
        "Diagramming",
        "Simulation"
      ],
      "created": "2026-09-01 08:30:02",
      "modified": "2026-09-01 08:30:02",
      "commits": 1
    }
  ],
  "_score": 3.0211892990699383,
  "_indexed": true,
  "_nocasepkg": "theoryforge",
  "_universes": [
    "pablobernabeu"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.6.0",
      "date": "2026-10-10T18:02:19.000Z",
      "distro": "resolute",
      "commit": "d40438a49ceb03b0c026c79894141197f4cc2150",
      "fileid": "https://r2.ropensci.org/3ee83bcd31be0c581e94a4b95b3d5b4376a91fcc266af3c74ccfedb77f3ff041",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pablobernabeu/actions/runs/38073798346"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.6.0",
      "date": "2026-10-10T18:02:12.000Z",
      "distro": "resolute",
      "commit": "d40438a49ceb03b0c026c79894141197f4cc2150",
      "fileid": "https://r2.ropensci.org/849fa755b14b3e75034d077060a6012e08f23eb9ff80e7f3232dd1c44b7a6a6a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pablobernabeu/actions/runs/38073798346"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.6.0",
      "date": "2026-10-10T18:49:57.000Z",
      "commit": "d40438a49ceb03b0c026c79894141197f4cc2150",
      "fileid": "https://r2.ropensci.org/d2932720ed269855ee95fd00ab407268892d777d0c49811195bcecc3f3049432",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pablobernabeu/actions/runs/38073798346"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.6.0",
      "date": "2026-10-10T18:50:18.000Z",
      "commit": "d40438a49ceb03b0c026c79894141197f4cc2150",
      "fileid": "https://r2.ropensci.org/551024b5826b6061fb0641b77a8b1bd3b09370bd70f55cdeb5e14437d4e4061f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pablobernabeu/actions/runs/38073798346"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.6.0",
      "date": "2026-10-10T18:02:11.000Z",
      "commit": "d40438a49ceb03b0c026c79894141197f4cc2150",
      "fileid": "https://r2.ropensci.org/3ec6b95254f19b6ac5f4fd9cff18063808b660ca1a6aa84e80418cf72af2942a",
      "status": "success",
      "buildurl": "https://github.com/r-universe/pablobernabeu/actions/runs/38073798346"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.6.0",
      "date": "2026-10-10T18:01:35.000Z",
      "commit": "d40438a49ceb03b0c026c79894141197f4cc2150",
      "fileid": "https://r2.ropensci.org/56264d9f0129a81d9dbd47bf2d01d3b87e22d2307ec4763b060ca9079de5e5ee",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pablobernabeu/actions/runs/38073798346"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.6.0",
      "date": "2026-10-10T18:01:28.000Z",
      "commit": "d40438a49ceb03b0c026c79894141197f4cc2150",
      "fileid": "https://r2.ropensci.org/c493a60cc114284549d4abc176e6fa46e0224d66a9efa778f74a0ef961be520b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pablobernabeu/actions/runs/38073798346"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.6.0",
      "date": "2026-10-10T18:01:26.000Z",
      "commit": "d40438a49ceb03b0c026c79894141197f4cc2150",
      "fileid": "https://r2.ropensci.org/6a42019172fb13be9b15b01cd4caa4bf42110fef9a7417d332a1d2d30d60cb59",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pablobernabeu/actions/runs/38073798346"
    }
  ]
}