theoryforge (development version)
- The
development_roadmapview is rebuilt around a theory hub carrying the title, the aggregate score and the gate. Items are ordered blockers first and then by weight, each labelled with its ordinal, the checklist criterion and whether it blocks the gate, with visible edges down the blockers and the advisory items set three abreast. - The three SVG chart views (
venn,rigour,severity) now declare awidthand aheightalongside theirviewBox, so each renders at its natural size wherever it is embedded. Without an intrinsic size a chart was stretched to the width of its container, and since the three views have different natural widths the same declared 13px label came out at a different size in each one. - The
venndiscs take the construct-border teal for their outline in place of the former navy, which fell below the 3:1 contrast floor for graphical objects on a dark page and left the figure close to invisible under the dark theme. - The bundled
panic-networkfixtures give the three constructs distinct boundary conditions, so thevennview drawn from them shows where construct scopes diverge rather than putting a zero in six of its seven regions. - All of the above are mirrored byte for byte in the Python twin.
- Documentation: the Get started vignette shows what
tf_validate()returns and demonstrates the failure path, and the development article runstf_osf_push()in its default dry-run mode rather than withholding it.
theoryforge 0.4.0
- The DOT diagram views are redesigned for content and legibility. Every view opens with a shared Meridian style prelude (Helvetica type, role-coloured rounded nodes); labels wrap so nodes stay narrow; workflow and pipeline nodes carry the id with the relation or type rather than a bare word; the development roadmap stacks its items in a single column; and the theme landscape colours themes by status. Every view fits a documentation column. The intermediate representation stays byte-identical to the Python twin’s.
theoryforge 0.3.0
- New
tf_render_diagram()renders the digraph views without leaving R: a DiagrammeR widget for the viewer and R Markdown, or a standalone SVG string withas = "svg". It accepts a theory or a raw DOT string, sotf_lit_diagram()output renders the same way; the three SVG chart views pass through unchanged, andcausal_dagis refused with a pointer to dagitty. The rendering packages (DiagrammeR,DiagrammeRsvg,htmltools) are in Suggests, so the deterministic core stays dependency-free, and rendering sits outside the cross-language parity contract. The articles now show each digraph rendered beneath its intermediate representation.
theoryforge 0.2.0
- The severity chart is re-laid out: bars start just past the longest row label and each value trails its own bar. The diagram intermediate representation for
tf_diagram(type = "severity")changes accordingly; it stays byte-identical to the Python twin’s. - Documentation: the articles now show the
provenance,development_roadmap,pipelineandco_citationviews, the embedding-redundancy screen,tf_validate(full = TRUE)and the remaining build verbs, and a new section covers rendering and depositing.
theoryforge 0.1.0
First public release. The package provides a reproducible workflow for building, developing and testing scientific theories, with behaviour pinned by a shared specification (API_SPEC.md) so the R and Python twins return identical verdicts and byte-identical diagram intermediate representations.
- Core: theory-object input, output and structural validation; a 12-item rigour checklist with a weighted aggregate score and a blocker gate; diagram intermediate representations (nomological net, provenance, causal DAG); and a deterministic lexical construct-redundancy screen. Where the schema expects an array of strings, a nonempty scalar string is read as a singleton list (API_SPEC.md section 4), so natural YAML such as
derives_from: p1yields the same rigour verdict and gate as the Python twin; an empty or whitespace-only scalar counts as absent. - Workflow modes: a builder API with auto-logged provenance (BUILDING); an operationalised severity rubric and preregistration export (TESTING); and a Lakatosian progressive-versus-degenerating amendment appraisal (DEVELOPMENT).
- Literature layer: a deterministic bibliometric mapping (
tf_litmap,tf_landscape,tf_lit_diagram), a parity-exempt OpenAlex corpus adapter, and a deterministic, dependency-free check for DOIs not yet cited by a theory (tf_new_evidence_dois), for use with a search from any source, including the companionscopusflowpackage.tf_lit_diagram()lists the valid types in its unknown-type error, matchingtf_diagram(). - Testing and review: lavaan model-syntax compilation (
tf_compile_sem) and a reviewer-facing audit dossier (tf_dossier). - Simulation, reporting and deposit: a deterministic dynamical-system runner (
tf_simulate), a Quarto report wrapper (tf_render_report), an opt-in embedding redundancy screen (tf_embedding_redundancy), and an OSF deposit adapter (tf_osf_push, dry-run by default).tf_osf_push()percent-encodes the filename component of the upload URL, keeping the dry-run request identical to the Python twin’s. - Cross-language determinism: the literature layer and the amendment appraisal sort with radix (codepoint) ordering regardless of locale, matching the Python twin for mixed-case keywords and ids.
- Metadata:
citation("theoryforge")and the About article read the package version from the package metadata.