| Title: | Reproducible Audit Trails for Indefensible Research |
|---|---|
| Description: | Provides a structured, terminal-first interface for exploratory model search, including transformation grids, predictor-subset enumeration, interaction screening, principled- sounding sample restrictions, outcome engineering, and model-form escalation (polynomial / spline wraps, robust M-estimation, generalized linear model (GLM) family swaps, random-intercept lifts). Persistent run history, achievement tracking, and reportable output generators (manuscript, presentation, funding letter, graphical abstract, reviewer response) are included. |
| Authors: | Gilles Colling [aut, cre] (ORCID: <https://orcid.org/0000-0003-3070-6066>) |
| Maintainer: | Gilles Colling <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.1.1 |
| Built: | 2026-06-03 18:26:32 UTC |
| Source: | https://github.com/gcol33/texanshootr |
The entry-tier output. Always the first stage of the publication
chain (see progress()). Writes a plain-text .txt file describing
the highlighted specification in the unbothered register typical of
an applied-stats abstract.
abstract(run, output_dir = NULL, file = NULL, force = FALSE)abstract(run, output_dir = NULL, file = NULL, force = FALSE)
run |
A |
output_dir |
Optional output directory. |
file |
Optional filename stem (without extension). |
force |
Overwrite an existing file. |
Chain stage: abstract (length 1, always unlocked).
Character path to the written file (invisible).
Returns a data.frame of all achievements with unlock status. Hidden
achievements appear with name = "???" and hint = NA until
unlocked.
achievements()achievements()
A data.frame.
Returns a tx_career object describing the persistent career, or a
fresh default if no save exists. The object's print method shows
a compact dashboard card; summary adds aggregate counts. Career
tier is derived from the publication-chain length you've unlocked
(see progress()); XP comes from completed chain stages.
career()career()
A tx_career object.
One-page Letter of Intent with a costed budget table.
funding(run, output_dir = NULL, file = NULL, force = FALSE)funding(run, output_dir = NULL, file = NULL, force = FALSE)
run |
A |
output_dir |
Optional output directory. |
file |
Optional filename stem (without extension). |
force |
Overwrite an existing file. |
Chain stage: funding (length 6). See progress().
A length-one character vector giving the path to the written
DOCX file, returned invisibly. Called for its side effect of
generating the funding letter in output_dir and advancing the
publication chain.
A single-figure summary of the highlighted specification, composed as a multi-panel layout with conceptual arrows. Renders via ggplot2 to PNG.
graphical_abstract(run, output_dir = NULL, file = NULL, force = FALSE)graphical_abstract(run, output_dir = NULL, file = NULL, force = FALSE)
run |
A |
output_dir |
Optional output directory. |
file |
Optional filename stem (without extension). |
force |
Overwrite an existing file. |
Chain stage: graphical_abstract (length 5). See progress().
A length-one character vector giving the path to the written
PNG file, returned invisibly. Called for its side effect of
generating the graphical abstract in output_dir and advancing the
publication chain.
Renders an academic-style write-up of the highlighted specification.
If quarto and tinytex are available, produces a PDF + DOCX; if
only rmarkdown is available, produces a DOCX. The package never
installs LaTeX on its own.
manuscript(run, output_dir = NULL, file = NULL, force = FALSE)manuscript(run, output_dir = NULL, file = NULL, force = FALSE)
run |
A |
output_dir |
Optional output directory. |
file |
Optional filename stem (without extension). |
force |
Overwrite an existing file. |
Chain stage: manuscript (length 2). See progress().
Character vector of file paths (invisible).
Builds a multi-slide PowerPoint via officer. v1 produces the
structural chaos (rotated text, gradient fills, irrelevant clipart,
shape collisions); slide-transition and per-element animation XML
injection lands in a follow-up.
presentation(run, output_dir = NULL, file = NULL, force = FALSE)presentation(run, output_dir = NULL, file = NULL, force = FALSE)
run |
A |
output_dir |
Optional output directory. |
file |
Optional filename stem (without extension). |
force |
Overwrite an existing file. |
Chain stage: presentation (length 3). See progress().
A length-one character vector giving the path to the written
PPTX file, returned invisibly. Called for its side effect of
generating the slide deck in output_dir and advancing the
publication chain.
Prints a HUD-style summary of unlock state for gated functions and achievements. Reads live save state.
progress(what = NULL)progress(what = NULL)
what |
Optional. A gated-function name (e.g. |
Three call modes:
progress() – overview: career tier, gated-function lock
map, achievement / wardrobe counts, and in-flight progress.
progress("manuscript") – per-function card.
progress("ach_multiple_comparisons") – per-achievement
card.
A tx_progress object (invisible).
These functions remove pieces of the persistent save written under
tools::R_user_dir(). They prompt for confirmation in interactive
sessions; pass force = TRUE to suppress the prompt. Non-interactive
sessions require force = TRUE.
reset_career(force = FALSE) reset_achievements(force = FALSE) reset_wardrobe(force = FALSE) reset_all(force = FALSE)reset_career(force = FALSE) reset_achievements(force = FALSE) reset_wardrobe(force = FALSE) reset_all(force = FALSE)
force |
Logical. Skip the confirmation prompt. |
TRUE invisibly on success, FALSE if cancelled.
Polite, point-by-point response to imagined reviewer comments.
reviewer_response(run, output_dir = NULL, file = NULL, force = FALSE)reviewer_response(run, output_dir = NULL, file = NULL, force = FALSE)
run |
A |
output_dir |
Optional output directory. |
file |
Optional filename stem (without extension). |
force |
Overwrite an existing file. |
Chain stage: reviewer_response (length 4). See progress().
A length-one character vector giving the path to the written
DOCX file, returned invisibly. Called for its side effect of
generating the response-to-reviewers document in output_dir and
advancing the publication chain.
Returns a data.frame of recent runs with one row per run. The full
run record can be loaded via attr(run_log(), "records")[[i]].
run_log(n = 25L)run_log(n = 25L)
n |
Maximum number of runs to list. |
A data.frame with one row per run.
Fits a battery of candidate specifications across predictor subsets,
transformations, interactions, principled-sounding sample
restrictions (complete cases, IQR fences, Cook's D, factor-level
restrictions), and outcome-engineering moves (composite indices,
residualisation, ratios, within-group z-scoring). Returns a tx_run
object summarising the search and the highlighted specification.
shoot( df, formula = NULL, seed = NULL, depth = c("default", "demo"), terminal = FALSE, interactive_modifiers = FALSE, abstract = FALSE, manuscript = FALSE, presentation = FALSE, reviewer_response = FALSE, graphical_abstract = FALSE, funding = FALSE, ... )shoot( df, formula = NULL, seed = NULL, depth = c("default", "demo"), terminal = FALSE, interactive_modifiers = FALSE, abstract = FALSE, manuscript = FALSE, presentation = FALSE, reviewer_response = FALSE, graphical_abstract = FALSE, funding = FALSE, ... )
df |
A data frame. |
formula |
Optional formula. When |
seed |
Integer seed. When |
depth |
|
terminal |
When |
interactive_modifiers |
When |
abstract, manuscript, presentation, reviewer_response, graphical_abstract, funding
|
Logical flags. When |
... |
Reserved for future arguments and aliases. Recognised
aliases: |
Every shoot has a wall-clock budget (default 30s). Modifiers are
pre-rolled at run start by default: shoot() picks a random per-
transition loadout (+glmm, +derived_metrics, ...) and applies
each one when the matching mascot state transition fires, extending
the deadline by the modifier's per-token bonus (2-5s) and redirecting
the search priority. Pass interactive_modifiers = TRUE to opt into
the readline tactical-prompt window at each transition instead.
Without +derived_metrics, runs that fail to clear p <= 0.05
simply lose — the highlighted spec stays above threshold and the
output gauntlet does not open.
Output flags (abstract, manuscript, presentation /
powerpoint, reviewer_response / reviewer, graphical_abstract
/ graphical, funding) auto-generate the matching file when the
run is shippable. The chain prefix needed to reach the highest
enabled flag is generated in order: e.g. presentation = TRUE
produces abstract, manuscript, and presentation.
A tx_run object. Returned visibly so the
print() banner fires at the prompt; the demo path
(depth = "demo") returns invisibly because there is no banner
worth showing for a one-fit smoke test.
All options are read at the time of use, so changing them takes effect immediately for subsequent calls.
texanshootR.animationsLogical. Enable terminal
animations and ANSI cursor effects. Default: TRUE. Forced off
in non-interactive sessions and when the terminal lacks ANSI
support.
texanshootR.output_dirCharacter or NULL. Default
directory for output files. NULL falls back to
tempdir().
texanshootR.save_enabledLogical. Enable persistent
career data. FALSE runs entirely in memory. Default: TRUE.
texanshootR.quietLogical. Suppress status prints from
output functions. Default: FALSE.
texanshootR.event_rateNumeric in [0, 1]. Per-run
probability of a life-event encounter. Default: 1/6.
texanshootR.life_eventsLogical. Enable life-event
encounters during runs. Default: TRUE.
texanshootR.ui_modeOptional character override for the
TUI rendering mode. One of "ansi", "dynamic", "plain".
Unset (the default) means auto-detect. Use this if auto-detect
picks the wrong mode for your terminal (e.g., a remote RStudio
session that does not report .Platform$GUI == "RStudio").
Lints every YAML file under inst/messages/ (and an additional path
if supplied), enforcing required fields, vocabulary membership, id
uniqueness, and combo-chain integrity. Used by the test suite and
available to contributors.
validate_messages(path = NULL)validate_messages(path = NULL)
path |
Optional character path to a directory of YAML files.
When |
A data.frame of the validated registry, returned invisibly.
Without arguments, prints the equipped + unlocked cosmetics. With
slot and id, equips the given cosmetic in the given slot.
wardrobe(slot = NULL, id = NULL)wardrobe(slot = NULL, id = NULL)
slot |
Optional slot name: hat, poncho, badge, lanyard, cloak. |
id |
Optional cosmetic id. |
The wardrobe state (invisible when modifying, visible when listing).