{
  "_id": "6a1f0a9db401979e7341c5a9",
  "Package": "saber",
  "Type": "Package",
  "Title": "Context Engineering for Large Language Model Agents",
  "Version": "0.7.1.1",
  "Authors@R": "c(\nperson(\"Troy\", \"Hernandez\", role = c(\"aut\", \"cre\"),\nemail = \"troy@cornball.ai\",\ncomment = c(ORCID = \"0009-0005-4248-604X\")),\nperson(\"cornball.ai\", role = \"cph\"))",
  "Description": "Context-engineering primitives for Artificial Intelligence\n(AI) coding agents working in R. Assembles agent context from\nmemory and instruction files ('AGENTS.md', 'CLAUDE.md'), traces\nfunction call blast radius across projects, generates project\nbriefings, parses source into Abstract Syntax Tree (AST) symbol\nindices, discovers dependency graphs, and introspects installed\npackages. Zero dependencies.",
  "License": "Apache License (>= 2)",
  "URL": "https://github.com/cornball-ai/saber",
  "BugReports": "https://github.com/cornball-ai/saber/issues",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.2",
  "Repository": "https://cornball-ai.r-universe.dev",
  "Date/Publication": "2026-05-17 15:46:12 UTC",
  "RemoteUrl": "https://github.com/cornball-ai/saber",
  "RemoteRef": "HEAD",
  "RemoteSha": "7af34f65153392ea884d76e4d8e56d7f183ae05f",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-17 15:57:25 UTC",
    "User": "root"
  },
  "Author": "Troy Hernandez [aut, cre] (ORCID:\n<https://orcid.org/0009-0005-4248-604X>),\ncornball.ai [cph]",
  "Maintainer": "Troy Hernandez <troy@cornball.ai>",
  "MD5sum": "68e5c86d0d884d52e2604ab80e624c85",
  "_user": "cornball-ai",
  "_type": "src",
  "_file": "saber_0.7.1.1.tar.gz",
  "_fileid": "01cf2f713adf10c89c1a5b5a2a73cc65c9879e18155da4e7da97637808ff1b8b",
  "_filesize": 153915,
  "_sha256": "01cf2f713adf10c89c1a5b5a2a73cc65c9879e18155da4e7da97637808ff1b8b",
  "_created": "2026-05-17T15:57:25.000Z",
  "_published": "2026-06-02T16:53:49.055Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79125540325,
      "time": 109,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7043893139"
    },
    {
      "job": 79125540595,
      "time": 84,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7043890518"
    },
    {
      "job": 79125540252,
      "time": 79,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7043890053"
    },
    {
      "job": 79125540578,
      "time": 97,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7043891895"
    },
    {
      "job": 79125539804,
      "time": 139,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7043881555"
    },
    {
      "job": 79125539690,
      "time": 80,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7364331331"
    },
    {
      "job": 79125540454,
      "time": 70,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7043889055"
    },
    {
      "job": 79125540715,
      "time": 64,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7043888518"
    },
    {
      "job": 79125540643,
      "time": 75,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7043889529"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/25995590492",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cornball-ai/saber",
  "_commit": {
    "id": "7af34f65153392ea884d76e4d8e56d7f183ae05f",
    "author": "Troy Hernandez <troy@cornball.ai>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Expose cache_dir on fn_graph() to keep checks out of ~/.cache (#32)\n\n* Expose cache_dir on fn_graph() to keep checks out of ~/.cache\n\nfn_graph() called symbols(project_dir) without a cache_dir, so its\nexample and the matching tinytest wrote to the user's persistent cache\n(~/.cache/R/saber/symbols/<basename>.rds). That triggered CRAN's\n'checking for new files in some other directories' NOTE on packages\nthat exercise fn_graph during R CMD check, and on saber itself when\nthe example runs.\n\nAdd cache_dir as an exposed parameter mirroring blast_radius() and\nsymbols(), forward it to symbols(), and update the example + test to\npass tempdir(). The default is unchanged for callers that omit it, so\nexisting usage keeps working.\n\n* fn_graph: move cache_dir after ... so positional graph_svg args still work\n\nInserting cache_dir between include_external and ... broke existing\npositional callers: fn_graph(d, FALSE, 900) used to forward 900 into\ngraph_svg(...) but would now bind it to cache_dir and fail in symbols().\n\nPutting cache_dir after ... makes it name-only, which matches base R\nconvention (paste's sep/collapse, c's recursive, etc.) and preserves\npositional forwarding for graph_svg.\n\n* Bump version to 0.7.1.1",
    "time": 1779032772
  },
  "_maintainer": {
    "name": "Troy Hernandez",
    "email": "troy@cornball.ai",
    "login": "troyhernandez",
    "description": "",
    "uuid": 5670773
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.4.0",
      "role": "Depends"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    }
  ],
  "_owner": "cornball-ai",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2026-09",
      "n": 12
    },
    {
      "week": "2026-10",
      "n": 2
    },
    {
      "week": "2026-11",
      "n": 1
    },
    {
      "week": "2026-13",
      "n": 6
    },
    {
      "week": "2026-14",
      "n": 6
    },
    {
      "week": "2026-15",
      "n": 1
    },
    {
      "week": "2026-17",
      "n": 7
    },
    {
      "week": "2026-18",
      "n": 1
    },
    {
      "week": "2026-20",
      "n": 6
    }
  ],
  "_tags": [],
  "_stars": 7,
  "_contributors": [
    {
      "user": "troyhernandez",
      "count": 42,
      "uuid": 5670773
    }
  ],
  "_userbio": {
    "uuid": 153995987,
    "type": "organization",
    "name": "cornball.ai"
  },
  "_downloads": {
    "count": 925,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/saber"
  },
  "_devurl": "https://github.com/cornball-ai/saber",
  "_searchresults": 21,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/saber.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/cornball-ai/saber",
  "_realowner": "cornball-ai",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.2.0",
      "date": "2026-03-30"
    },
    {
      "version": "0.3.0",
      "date": "2026-04-05"
    },
    {
      "version": "0.7.1",
      "date": "2026-05-15"
    }
  ],
  "_exports": [
    "agent_context",
    "blast_radius",
    "briefing",
    "default_exclude",
    "find_downstream",
    "fn_graph",
    "graph_svg",
    "pkg_exports",
    "pkg_graph",
    "pkg_help",
    "pkg_internals",
    "projects",
    "symbols"
  ],
  "_help": [
    {
      "page": "agent_context",
      "title": "Agent context assembly",
      "topics": [
        "agent_context"
      ]
    },
    {
      "page": "blast_radius",
      "title": "Blast radius analysis",
      "topics": [
        "blast_radius"
      ]
    },
    {
      "page": "briefing",
      "title": "Project briefings",
      "topics": [
        "briefing"
      ]
    },
    {
      "page": "default_exclude",
      "title": "Default directories to exclude when scanning for projects",
      "topics": [
        "default_exclude"
      ]
    },
    {
      "page": "find_downstream",
      "title": "Find projects that depend on a given package",
      "topics": [
        "find_downstream"
      ]
    },
    {
      "page": "fn_graph",
      "title": "Code intelligence: function call graph",
      "topics": [
        "fn_graph"
      ]
    },
    {
      "page": "graph_svg",
      "title": "Force-directed graph rendering",
      "topics": [
        "graph_svg"
      ]
    },
    {
      "page": "pkg_exports",
      "title": "Package introspection",
      "topics": [
        "pkg_exports"
      ]
    },
    {
      "page": "pkg_graph",
      "title": "Project discovery: package dependency graph",
      "topics": [
        "pkg_graph"
      ]
    },
    {
      "page": "pkg_help",
      "title": "Get help for a package topic as markdown",
      "topics": [
        "pkg_help"
      ]
    },
    {
      "page": "pkg_internals",
      "title": "List internal (non-exported) functions of a package",
      "topics": [
        "pkg_internals"
      ]
    },
    {
      "page": "projects",
      "title": "Project discovery",
      "topics": [
        "projects"
      ]
    },
    {
      "page": "symbols",
      "title": "Code intelligence: AST symbol index",
      "topics": [
        "symbols"
      ]
    }
  ],
  "_readme": "https://github.com/cornball-ai/saber/raw/HEAD/README.md",
  "_rundeps": [],
  "_score": 5.297651103243183,
  "_indexed": true,
  "_nocasepkg": "saber",
  "_universes": [
    "cornball-ai",
    "troyhernandez"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.7.1.1",
      "date": "2026-05-17T15:59:15.000Z",
      "distro": "noble",
      "commit": "7af34f65153392ea884d76e4d8e56d7f183ae05f",
      "fileid": "09667bdaefaa9852a338be76b519637053491e0950c9f5cfe732c9a19510468a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/25995590492"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.7.1.1",
      "date": "2026-05-17T15:58:53.000Z",
      "distro": "noble",
      "commit": "7af34f65153392ea884d76e4d8e56d7f183ae05f",
      "fileid": "7e82f9f9c736391a369512d17d0e54d72eff324d6a56e73d1ee5dd2d1b4d4530",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/25995590492"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.7.1.1",
      "date": "2026-05-17T15:58:48.000Z",
      "commit": "7af34f65153392ea884d76e4d8e56d7f183ae05f",
      "fileid": "44fb1f238f97f6b758dd53031ac682d74e1b9c408a06db58a7fb283a5fbeecf6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/25995590492"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.7.1.1",
      "date": "2026-05-17T15:59:06.000Z",
      "commit": "7af34f65153392ea884d76e4d8e56d7f183ae05f",
      "fileid": "93f6516fd2dfd8fb5f13aa03a1dd31dddc3b9d4d690b3e3878adf155b3584c02",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/25995590492"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.7.1.1",
      "date": "2026-05-17T15:58:32.000Z",
      "commit": "7af34f65153392ea884d76e4d8e56d7f183ae05f",
      "fileid": "842ae5c5e14eba6c73e4be5e9679081188c9ea95576247256ded8ca3f0eb1d24",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/25995590492"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.7.1.1",
      "date": "2026-05-17T15:58:27.000Z",
      "commit": "7af34f65153392ea884d76e4d8e56d7f183ae05f",
      "fileid": "63923989bbeede96e70019e9074c4b6c617791df3e5cb95c9bc65b0ab649912c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/25995590492"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.7.1.1",
      "date": "2026-05-17T15:58:36.000Z",
      "commit": "7af34f65153392ea884d76e4d8e56d7f183ae05f",
      "fileid": "a6c7cfe732a7a50ff6728fd6530ecb11bd1f64176773f0b09c00bec9f4babf3a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/25995590492"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.7.1.1",
      "date": "2026-06-02T16:53:36.000Z",
      "commit": "7af34f65153392ea884d76e4d8e56d7f183ae05f",
      "fileid": "0ef57635ae8448e7a762cc737d6cd94489e4d9b80da65182b557609afa333679",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cornball-ai/actions/runs/25995590492"
    }
  ]
}