Skip to content

Repository files navigation

cttiR

CTTIR Project Builder creates research project scaffolds from three inputs: a name, research type and goal.

This is development milestone 0.0.6. It provides an offline builder, schema validation and a searchable resource snapshot. It does not yet provide the complete research workflow described in the development plan.

p <- cttiR::project(
  "Example Study",
  "primary_research",
  "Describe longitudinal measurements",
  path = tempdir()
)
print(p)

cttiR::resources("cytometry", repository = "Bioconductor", limit = 5)

path is an existing parent directory. This example creates its example_study/ child. Use dry_run = TRUE for a read-only preview. Repeating the same request preserves accepted identity and edited files. Different inputs, unsafe paths and conflicting destinations produce typed errors.

Each project contains a YAML specification, a separate build lock, file ownership metadata, a data registry and dictionary, an analysis plan, publication folders and a read-only validation script. Data, scientific decisions and approvals remain unknown until supplied. No packages are installed, no model is called, no remote requests are made and no study code is executed during creation. New projects include a hashed adaptation of the reflowR minimal layout. Explicit Rscript code/render_report.R uses rmarkdown to render placeholder pages and a labelled synthetic example. The pinned provenance and MIT notice are included; reflow_init and workflowr are not invoked. Full reflowR analysis integration and dependency preparation remain pending. The lock records scaffold provenance; it is not an renv.lock.

Configuration accepts named lists or local YAML/JSON files. Required arguments take precedence over configuration; options overrides other configuration fields. Unknown keys are rejected. Publication and dataset arrays merge by ID. New publication entries need all fields of the resolved publication schema. Unsupported integration requests fail explicitly. Validate documents with cttiR::validate_config() and cttiR::validate_spec().

cttiR::packages() and cttiR::search() inspect a separate static API catalog from 30 public package roots across 40 enumerated CTTIR repositories. It contains 1,340 export records, with 1,323 statically resolved function signatures. cttiR::ask() returns matching source evidence; it does not yet perform natural-language planning or generate approved workflow code. Project pins prevent silent substitution of another API snapshot.

cttiR::update() refreshes explicitly registered local source directories into immutable API and resource snapshots, then activates both through one pointer. It never installs packages or changes existing project pins. Use dry_run = TRUE for a disposable preview and cttiR::rollback_knowledge(id) for a rollback preview. Removed exports stay removed in the active revision. Remote refresh, discovery, pruning and Bioconductor release migration remain unsupported and fail explicitly. See help("update", package = "cttiR") for local source registration.

The bundled resource snapshot contains 229 research package candidates from 2026-09-26. It preserves source URLs, observed versions, lifecycle information and verification limitations. These are dated observations, not current availability claims or approved executable adapters. Querying does not install packages. Project-scoped queries honor the recorded resource pin and fail if unavailable.

cttiR::sync() previews explicit configuration changes and preserves edited files. cttiR::audit() inspects local integrity; cttiR::doctor() provides brief diagnostics. Repairs restore missing managed files whose baseline can be verified and recover interrupted transactions only when the writer has stopped and hashes match.

cttiR::setup(dry_run = TRUE) previews local runtime setup. Explicit setup can acquire the pinned portable Ollama runtime on Linux x86_64, verify a local model and run a bounded CPU structured-output probe. It refuses unmanaged daemons and cloud-backed models. Runtime/model files stay outside the package. Offline mode reuses verified artifacts; no model is pulled. The candidate model has passed a real inference smoke test but is not yet qualified for workflow planning.

With the suggested shiny and callr packages installed, cttiR::setup_app() opens a local Fast/Detailed builder. cttiR::configure(path) previews and applies explicit changes through the same synchronization engine. Read-only tools run in background workers; stale previews are refused. Detailed configuration currently uses validated JSON. The full questionnaire, saved drafts and visual review are still pending. This interface is for local use, not remote multi-user hosting.

Still pending: reflowR and analysis adapters, verified API/documentation catalog, remote catalog refresh, workflow-model qualification, grounded planning, the complete application workflow, the complete workflow lifecycle and full audit coverage. Unimplemented APIs are not exported as placeholders. See CURRENT_STATE.md.

To build and test locally with the declared dependencies installed:

R CMD build .
R CMD check --no-manual cttiR_0.0.6.tar.gz
R CMD INSTALL cttiR_0.0.6.tar.gz

MIT licensed. Milestone 0.0.5 passed hosted checks on Linux release/oldrel/devel, Windows and macOS. Full product acceptance gates remain incomplete.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages