Changes in version 0.1.1.9000 - The package logo uses the reserved CTTIR core palette, which it shares only with the CTTIR institution logo: the same near-black, white and slate grey with a gold border. - Reject matrix-valued association columns, numeric class objects and observation IDs that collide when converted to text. Ordinary numeric vectors and declared factor covariates remain supported. - Preserve study measurements through 17-digit CSV storage, an accurate decimal reader and an exact pre-creation round-trip check. Record numerical CSV and JSON results with the same precision. Existing pinned projects are not rewritten. - Document the pinned strict-study prerequisite and public maintenance roadmap; exclude website-only configuration from source packages. - Record the actual initial Git branch locally in new project repositories, so workflowr's Git reader recognizes an empty repository when the user's default branch differs from its fallback. Preserve the chosen branch and create no stages or commits; existing repositories are untouched. - Resolve admitted macOS system path aliases before passing strict studies to reflowR. Browser destinations below /var now use the same physical paths as API compilation, while arbitrary symbolic-link destinations remain refused. - Declare workflowr's site generator on the standard site's index page so that its documented renderer manages the report's local assets. - Give standard descriptive tables readable spacing and a labelled, keyboard accessible scroll region; retain escaped values and source provenance. Document the external assets requested when viewing workflowr reports. - Standardize the named v5 package logo across README, documentation pages and available application headers, with matching light and dark artwork. - Name missing packages when a study dependency lock is incomplete. Provision cpp11 explicitly in CI so binary installations retain the required build dependency closure, and report the first failed app pipeline phase clearly. - Include the declared outcome name and unit on association and paired-study diagnostic value axes, including normal-quantile plots. - Add a separate app flow for two fixed synthetic strict-study examples, with explicit preview, compilation, analysis and rendering. Keep declarations in session state for export and reject stale previews, changed fixtures and repeated write steps. General project creation keeps its existing behavior. - Add a worked synthetic paired-study guide and shorten bundled upstream notice paths for portable source archives, preserving every notice byte and license reference. - Detect symbolic links through cross-platform file metadata before project reads or writes, including linked ancestors on Windows. Exact macOS system aliases retain their existing exception. - Keep runtime-stop previews read-only on Windows and explicitly refuse applying graceful shutdown before locks, receipts or signals. No forced-kill fallback is used. - Strict studies now initialize their own Git repository and reject missing or mismatched repository roots, preventing enclosing-repository metadata from appearing as study report provenance. Only generated analysis Rmd templates are staged; ambiguous report-source status is rejected and no commit is created. - Add a separate synthetic paired mean-change contract with explicit pair independence, ID-based matching, complete-pair and unit checks, and recorded paired diagnostics in the strict study workflow. Existing association specifications retain their behavior. - Add a closed synthetic association specification and installed-code study compiler using reflowR's strict composition. Analysis and rendering have separate externally pinned receipts; current raw inputs, dependency versions, controls and results are required before a report is accepted. - Add read-only evidence search and exact citation resolution with source/version locators, immutable SQLite reads, external manifest pins and stale-source rejection. Retrieved documentation confers no execution or training approval. - Require current data, configuration and output identities for legacy study-data readiness instead of accepting a historical passing code receipt alone. - Grounded advice now preserves exact bare-callable evidence, reports absent or ambiguous APIs, and withholds model code when known outcome/design constraints conflict with the reviewed adapter. Partial support is labelled explicitly. - Planner proposals abstain when capability matches exceed the schema bound and identify unapproved candidate capabilities. Qualification now binds package function bodies, defaults, static rules, R/platform and transitive dependency versions; implementation changes require renewed qualification. - Add explicit release-manifest setup with trusted checksums, offline GGUF import, resumable model and runtime downloads, owned-runtime identity checks and bilingual setup controls. Import verifies transport and structured response behavior; it does not qualify a model for assistance. - Add read-only runtime storage inventory, hash-bound removal of unreferenced downloads and separately confirmed graceful shutdown of an owned daemon. Retained releases, model blobs and unrelated files remain protected. - Preserve pinned documentation when partial reference imports omit existing documents. API explanations distinguish documented function behavior from workflow execution approval and avoid unrelated project guidance. - Store bundled current and historical API catalogs in a lossless indexed XZ archive. Preserve every logical snapshot identity and the original source-tree files while bounding reads and checking archive and snapshot hashes. - Complete supplemental DESCRIPTION coverage for eleven Seurat ecosystem packages, using the pinned Seurat archive rather than the newer live release. Incremental provenance imports preserve earlier records and refuse unmatched versions before mutation. - Preserve separately retrieved companion DESCRIPTION evidence with source URLs, hashes and declared roles. New evidence never overwrites seed observation hashes, implies ownership or promotes candidate workflows; older resource pins retain their original bytes. - Parse literal Authors@R declarations without execution to expose source-bound author and maintainer roles. Unsupported expressions remain unresolved; companion approval requires explicit maintainer text or a literal creator contact. Declared roles do not establish ownership. - Setup distinguishes published full sizes from estimated acquisition bytes, with zero for reusable components and unknown model presence during offline previews. Totals support downloads larger than 2 GB. - Shorten retained resource paths to fit portable source tarball limits while preserving snapshot hashes and project pins. - Resource queries now expose nullable author and maintainer metadata. Sixteen verified DESCRIPTION files match recorded observation hashes; other metadata remains unknown. Historical project resource pins retain their original database, with integrity checks during queries, recovery and rollback. - Source extraction retains author and maintainer metadata as inert DESCRIPTION text bound to the source revision. Companion workflow approval now refuses missing or stale maintainer evidence. Existing candidate metadata still needs source reconciliation; author names do not establish ownership. - Setup previews expose offline acquisition and qualification blockers, published download sizes, disk admission information and verified process ownership. Preparing an explicit unqualified model does not grant planning qualification. - Interoperability adapters 1.2.1 refuse a single assay column larger than the realization budget before reading values. Record the per-block budget, dense pseudobulk output dimensions and instrumented fixture size without claiming a peak-RSS bound. - The opt-in INT-003 live audit now checks a fixed synthetic planner task against the planner schema, keyword grounding and bundled workflow approvals, in addition to the structured-output smoke. Passing these probes does not qualify a model. - Report capability claims before and after keyword grounding, removed IDs and first-attempt rejection rate. Diagnostic raw replies expose unsupported claims even in rejected attempts, with explicit coverage for missing or malformed replies. Preserve unchanged qualification thresholds and publish historical comparison results with unavailable metrics marked as such. - Preserve deterministic inference for ambiguous instruction phrases, with a review note; hard instruction markers still block inference. Local model requests keep the full screen. Screened goals no longer supply workflow candidates, and withheld answers report a specific gap. - Retain the accepted model identity, digest, qualification, prompt version and actual inference options in project provenance and locks; replay never substitutes current runtime settings. - Match base R and report website requests without treating database records, study sites or composite endpoints as those capabilities. - Planner 4 retains the longest fitting JSON-escaped input prefix. Missing, invalid or excessive reported prompt token counts cause deterministic fallback without another repair request; the output token budget is reserved. Earlier planner evaluations do not qualify this policy. - Interoperability adapters 1.2.0 read exact dependency pins from the project lock by default. Missing or mismatched pins stop before object operations, including for already-loaded namespaces; explicit reviewed pins remain supported. - Audit every project dependency pin, including optional CRAN interoperability packages and the renv project library. Unresolved pins warn for scaffolds and fail an analysis-ready claim. - Introduce schema 2 with a versioned ecosystem policy, constrained modalities and allowed providers. Keep schema 1 readable and migrate through sync previews, preserving the original specification and catalog pins. Reject incompatible requested interoperability pins before generation. - Route ecosystem advice only for requested capabilities in the detected modality, excluding stages already covered by an approved, enabled CTTIR specialist. Ecosystem candidates remain disabled. - Require nonempty validated code when scoring supported answers. Add executable missingness and synthetic targets examples, recognize digits/Unicode in regression requests, and respect explicit binary coding. Preserve abstention for unapproved scheduler calls. - Distinguish legacy catalog snapshots from later archived approval evidence in compatibility tests. - Expose each answer block's input/output objects, aliases, classes, coding and placeholders through data_requirements; explicitly declare typed model data as a user-supplied input. - Persist fixed planner decision explanations with keyword evidence only when the rules agree; never copy the model rationale into accepted decision reasons. Bind qualification to user and repair prompts, limits and screening patterns as well as the existing context. - Interoperability adapters 1.1.0 report graph, neighbor, image, coordinate, command, identity, reduction component and SCE pairing losses, including same-class comparisons. Sparse graph comparison preserves sparse storage. Instrumented delayed-layer tests verify bounded inventory, pseudobulk and Seurat-to-SCE conversion; reverse coercion refuses backed assays before reading values. - Use broom.mixed fixed-effect tidiers for nlme answers, check known fitted-class dispatch, and surface unresolved argument warnings. - Relabel Seurat exploration as a candidate; conversion helpers do not establish an exploration workflow. - Automatically select the smallest qualified CPU model only when its recorded settings and conservative available-resource budgets fit; block before acquisition otherwise. - Retain the qwen2.5:7b CPU results as development evidence only; independent qualification remains pending. - Bind positive model qualifications to the prompt, grounding policy, registry, schema, runtime binary and inference settings; recheck the acquired model digest during setup so mutable tags cannot inherit stale approvals. - Include registered package/alias metadata in planner prompts, filter proposed capabilities against keyword evidence, and persist omissions in decisions. Re-bound escaped inputs as valid JSON. - Recognize German data-recoding and report-rendering requests, and retain full Unicode function names when reporting absent or unapproved APIs in ask(). - Keep planner benchmark repeat responses and distinguish decision changes from changes in explanatory wording. - Screen instruction-shaped inputs before deterministic planning, matching the local-model path and leaving inferred fields unknown on suspected injection. Changes in version 0.1.1 - Recognize additional English and German requests for base-R descriptive summaries and rebuilding report websites. Retrieval remains restricted to approved pinned roles; planner qualification is unchanged. Changes in version 0.1.0 - Route every project through a deterministic capability router: the standard reflowR profile is selected when no approved CTTIR specialist adapter matches, approved specialist stages yield a hybrid profile, and infrastructure never counts as specialist evidence. Goal keywords suggest only unset fields. - New projects use template 0.3.0: the adapted reflowR layout plus a reviewed stage library (delimited import, structural checks, dplyr role selection, DescrTab2 or base descriptive tables without tests, accessible ggplot2/patchwork figures, lm/glm/nlme/survival adapters, diagnostics and broom effects), a synthetic demonstration checked against independent references and a guarded study-data runner. - Bundle the standard package family (tidyverse components, DescrTab2, ggplot2/patchwork/palettes, model engines, broom, rendering, targets, renv, Bioconductor containers, Seurat and R 4.6.1 base packages) from verified sources, with 56 role-scoped approvals bound to exact source revisions and the vignette sources of every approved revision stored as text. - ask() returns grounded steps, prerequisites, approved revisions, citations and reviewed snippets validated against the approved function table. - Optional targets pipelines, renv environments prepared in an isolated process and Git initialisation of the generated project only. - Accessible figure policy validation, Bioconductor/Seurat interoperability helpers with loss reports and donor-level pseudobulk, and modality routing. - CRAN and Bioconductor source backends, remote resource refresh, bounded discovery, pruning with tombstones and Bioconductor release policy in update(). - Audit check registry with standard-workflow, resource and approval checks, allowlisted repairs (including catalog pointer recovery) and readiness levels derived from local receipts. - A modular Shiny application with a bilingual conditional questionnaire, knowledge, resources, audit and runtime views. - A schema-constrained local-model planner with deterministic fallback and a live benchmark; no tested model met the thresholds, so planning stays deterministic by default. A model plans only when the runtime manifest marks it qualified, and goals that read like instructions are never sent to it. Changes from the independent pre-release audit: - The study-data runner compared pinned versions as strings ("1.1-3" against "1.1.3") and refused every configured project; versions are now compared with package_version(). Study outputs follow the reflowR output/ tree. - The longitudinal demo check verifies the adapter's own REML fit, demo cases recount event coding from raw data, binary endpoints are described as counts, repeated measures at the first observation per subject, and a two-valued outcome under a continuous model fails the data checks. - ask() reports precise gaps for method families without an adapter (competing risks, ordinal, GEE, count, quantile, propensity, Bayesian, GAM, prediction, meta-analysis), never returns a nearby engine's snippet, cites versioned sources, normalises lookalike characters before injection screening and no longer refuses benign wording. Capabilities are approved only when every callable they need is approved, so Seurat clustering is a gap. - The code validator follows R's partial argument matching (F =, FU =), rejects more process, evaluation and connection calls and reports missing required arguments. - audit() parses all project R code (scripts and R Markdown/Quarto chunks) for unsafe, unparseable or unresolved calls, fails on control metadata that differs from its regenerated baseline, compares the resource database with its JSON mirror row by row, and binds app repairs to the previewed plan. - Stale creation and writer locks are recovered safely; an edited managed file no longer blocks unrelated syncs; unedited user-owned files (data registry, publication metadata) are updated and edited ones receive reviewable proposals; a hand-edited cttir-project.yml is previewed and accepted through sync(); analysis plans list research-type specific unknowns. - The bundled catalog verifies under the C locale; rollback works when the active snapshot is damaged; resources() reports freshness and fetch status; the Bioconductor release policy is part of the atomic snapshot. - Figures keep missing values visible with a distinct colour and shape, refuse merged legends with different meanings, and record unresolved accessibility findings in the demo receipt. Interop helpers refuse cells as pseudobulk replicates and check pinned versions. - Schema validation no longer creates .Random.seed in the user's workspace. Changes in version 0.0.18 - Record typed model choices separately from variable mappings: intercept/link, survival ties, and mixed-model structure and estimation. Report missing, unreviewed or inapplicable settings without fitting or approving models. Changes in version 0.0.17 - Record static S3 registrations and implementation signatures separately from exported generic signatures. Duplicate or unresolved registrations remain unverified; method records do not establish installed dispatch or approval. - Show method coverage and searchable declarations, and report removed or changed method evidence during catalog updates. Historical pins remain intact. Changes in version 0.0.16 - Index explicitly registered local R distribution package sources without changing or evaluating them. Track the exact release and license hashes; refuse development versions, unknown substitutions and identity conflicts. Changes in version 0.0.15 - Check explicitly supplied analysis data against typed mappings without changing data or fitting models. Report missingness, type/event-code problems and repeated-unit conflicts separately from workflow and scientific approval. Changes in version 0.0.14 - Resolve nested-package evidence citations with exactly one source prefix. - Refuse verified static callable signatures for reassigned, conditional or modified function bindings; never inspect or execute function bodies. - Reindex the bundled catalog against hash-verified frozen sources while retaining the previous catalog for existing project pins. Changes in version 0.0.13 - Index licensed Sweave, TeX and bibliography source documents as literal text. Embedded expressions are never evaluated; PDF assets remain metadata-only. Changes in version 0.0.12 - Record typed dataset, variable, event-coding and missing-data mappings. - Report missing scientific configuration and unsupported design/engine choices without reading datasets, evaluating formulas or fitting models. - Check dataset references and conflicting variable roles in creation and sync. Changes in version 0.0.11 - Export and restore bounded local JSON drafts without retaining accepted plans. - Require JSON objects in UI configuration and drafts, preventing strings from being interpreted as local configuration file paths. - Reject foreign project drafts and preview results whose answers changed while the background worker was running. Changes in version 0.0.10 - Add an executable introductory vignette covering offline creation, synchronization, evidence queries, audit and explicit update/render/runtime boundaries. Changes in version 0.0.9 - Journal catalog pointer activation and retain interrupted writer evidence. - Recover locks only for verified stopped local writers with an intact active snapshot. - Refuse live or unknown writers, conflicting journals and corrupt active snapshots. - Keep catalog previews read-only even when an abandoned writer lock is present. Changes in version 0.0.8 - Refresh explicitly registered public GitHub package sources at resolved commits. - Verify Git blob hashes and reject truncated trees, links, unsafe paths and oversized sources. - Preserve project pins and existing snapshots across remote fetch failures and rollback. - Record remote resource observations separately from local observations without changing curation. Changes in version 0.0.7 - Store bounded, revision-aligned documentation with explicit rights and omission records. - Detect documentation-only edits and removals during transactional updates and rollback. - Search literal documentation excerpts without executing content or granting workflow approval. - Bundle 31 licensed reflowR documents and retain the historical catalog for existing project pins. Changes in version 0.0.6 - Add a hashed, MIT-licensed adaptation of the pinned reflowR minimal layout. - Render five local R Markdown pages explicitly, including an isolated synthetic fixture. - Preserve accepted older templates during repeat creation and synchronization. - Reject inconsistent template pins before project mutation. Changes in version 0.0.5 - Add a local Fast/Detailed builder and Configure interface using the package APIs. - Run read-only tasks in bounded background workers and refuse stale apply requests. - Preserve project pins during repeat creation even when the global catalog is corrupt. - Keep preview tables within narrow layouts and preserve missing-file conflict errors. Changes in version 0.0.4 - Add staged local API/resource refresh and atomic composite activation. - Preserve whole-revision API semantics, project pins and resource curation. - Add immutable history and preview-first catalog rollback without package installation. - Make catalog ordering locale-independent while retaining older snapshot identities. Changes in version 0.0.3 - Add guarded interrupted-transaction recovery with hash and writer checks. - Add explicit portable runtime setup, checksum/locality verification and a CPU structured-output probe. - Index 30 public CTTIR package roots with 1,340 revision-scoped export records. - Add packages(), search() and evidence retrieval with explicit static verification levels. - Pin new projects to the API catalog and preserve unresolved exports without inventing signatures. - Handle verified macOS system path aliases and normalized Windows path spellings. Changes in version 0.0.2 - Add read-only synchronization previews, conflict detection, per-file backups and rollback. - Add local integrity audits, structured reports and baseline-verified missing-file repair. - Add a working maintainer contact and exclude the web license copy from package builds. Changes in version 0.0.1.9000 - Add an offline, staged project builder with three required research inputs. - Validate customization and resolved project documents with local JSON schemas. - Preserve accepted project identity and existing edits on identical requests. - Add publication scaffolding, data registry and read-only project validation. - Bundle the supplied 229-candidate resource snapshot with read-only queries, integrity checking and explicit verification limits. - Keep workflow integration, catalog lifecycle and application features pending.