Consolidates the 0.7.1.x development cycle.
fn_graph() now accepts cache_dir,
mirroring blast_radius() and symbols(). The
default is unchanged. The example and tinytest pass
tempdir() so R CMD check no longer leaves files under
tools::R_user_dir("saber", "cache") (#32).briefing_git() no longer leaks a system2()
“had status 128” warning when run against a non-repository (e.g. a
worktree, an invalid .git, or a dubious-ownership
directory). It now confirms the working tree with
git rev-parse and suppresses the warning, returning empty
silently (#33).R/
when that package is saber itself, so a same-named function exported by
another project on the load path is no longer picked up in place of
saber’s (#31).briefing() now emits output via message()
instead of cat() for CRAN compliance.agent_context() examples use \donttest{}
instead of \dontrun{}.agent_context() and the SessionStart hook now load
memory reciprocally: Codex receives Claude Code MEMORY.md,
while Claude Code, Corteza, and other non-Codex agents receive Codex
memories.[features].hooks instead
of deprecated [features].codex_hooks.Depends: R (>= 4.4.0) and removed local
%||% definition (now in base R).person("cornball.ai", role = "cph") to
Authors@R.?saber package-level help page.r -e to
Rscript -e for portability.blast_radius() vignette scan crashing on Windows
paths (backslashes were interpreted as regex backreferences).@title lines with colons
to keep the generated Rd files ASCII-clean.agent_context() assembles agent context from memory,
instructions, and identity files.fn_graph(), pkg_graph(), and
graph_svg() render interactive SVG call graphs.blast_radius() gains include parameter for
scanning @examples and vignettes.briefing() gains agent parameter for
multi-agent support.