Skip to main content

Third-party code and services

What counts as third-party work

Third-party work is code, a generated runtime, a font, data or an online service that the team did not create. We document it because it affects reproducibility, licensing, availability and security. This page is an inventory, not legal advice.

The simulation plugins, experiment schema, arena presets, researcher website, local backend, headless adapter and test code are project code. Godot's generated web runtime and the libraries listed below are third-party components used by that code.

Application components

ComponentVersion usedWhere it is usedLicence or termsWhy it is used
Godot Engine4.7.1 stableEditor, 3D simulator, headless runtime and generated web exportMIT. Distributed engine copies require the copyright and licence notice.Godot was a project prerequisite and supports both 3D rendering and headless fixed-step execution.
Supabase JavaScriptMajor version 2 CDN importHosted authentication, Postgres queries and RPC calls from web/app.jsMITIt provides the browser client for the hosted Supabase project.
Open-MeteoHosted APILocation lookup and optional weather-derived setup suggestionsAPI data is CC BY 4.0. Free use has attribution and usage conditions.It avoids manually looking up basic environmental conditions for a place and time.
InterBundled variable fontGodot UI, website and documentationSIL Open Font License 1.1It keeps the simulator and website visually consistent and readable.
Python standard libraryPython 3.12 in CILocal HTTP server, SQLite access, JSON, networking and testsPython licence applies to the interpreterThe local backend deliberately avoids a large third-party framework.
Coverage.py7.10.7 in CIMeasured Python test coverageApache 2.0It enforces the 60% Python application coverage gate.

The website currently imports Supabase JavaScript from https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2/+esm. That pins the major version but not the exact release. Before a research release, the team should pin an exact tested version or bundle it with the website. Otherwise a new compatible-looking version could arrive without a repository change.

The Godot web export contains generated JavaScript, WebAssembly and package files. These files are build output from Godot, not manually authored simulation code. When the project redistributes that runtime, the Godot notice must remain available in the release documentation.

Documentation components

The documentation's exact direct dependencies are recorded in package.json and resolved by package-lock.json.

PackageResolved version in the checked buildLicence
Docusaurus core, faster and classic preset3.10.2MIT
React and React DOM19.2.8MIT
MDX React3.1.1MIT
clsx2.1.1MIT
prism-react-renderer2.4.1MIT
TypeScript6.0.3Apache 2.0
Wrangler4.125.0MIT or Apache 2.0

Docusaurus has transitive dependencies that are also locked in package-lock.json. A formal release should generate a complete software bill of materials or licence report from that lock file rather than copying only this shorter direct-dependency table.

CI actions

The Gitea Actions workflow downloads and runs:

  • actions/checkout@v4;
  • actions/setup-python@v5;
  • actions/setup-node@v4;
  • Coverage.py 7.10.7; and
  • the official Godot 4.7.1 Linux build from godotengine/godot-builds.

Major-version action tags are convenient, but a high-assurance pipeline should pin actions to reviewed commit hashes. The workflow also downloads Godot during the job, so a runner needs network access and the run can fail if the upstream release service is unavailable.

Hosted services

ServiceProject useData or operational concern
SupabaseAuthentication, Postgres database and Row Level SecurityStores accounts, projects, experiments and replays. The publishable key is safe for a browser only when RLS and grants are correct.
VercelHosts the researcher website and Godot web exportDeployment environment stores the Supabase URL and publishable key.
Cloudflare PagesHosts this Docusaurus websiteContains public documentation only.
GiteaSource control, pull requests and ActionsShared runners may queue jobs when capacity is unavailable.
jsDelivrDelivers Supabase JavaScript to the browserRuntime availability and the unpinned minor version are external dependencies.
Open-MeteoSupplies optional environmental dataData availability and accuracy are not guaranteed; accepted values are stored with an experiment for reproducibility.

Scientific references are not copied code

The MCSF-inspired layout is informed by the client-provided Conduct Science and Uppsala University resources and the referenced behavioural-neuroscience paper. These sources motivate arena concepts and terminology. They are not third-party source code copied into RODENT, and the project must not describe its simplified preset as a validated reproduction of the published apparatus without dimensional and scientific verification.

Attribution and release checklist

Before a release, the team should:

  1. Keep the Inter OFL.txt file beside the distributed font.
  2. Include or link the Godot copyright and MIT licence notice.
  3. Credit Open-Meteo when displaying or redistributing imported data and state when RODENT modifies it into a suggestion.
  4. Keep package-lock.json and the pinned Godot version with the release.
  5. Replace major-only CDN and CI references with exact reviewed versions where practical.
  6. Record the source and licence of any future model, texture, sound, mesh, animation or dataset.
  7. Do not upload third-party research models until their licence, data provenance and execution safety have been reviewed.

Not currently included

PyTorch is discussed as a possible future model-training tool but is not a current runtime dependency. The labelled model drop zones do not install or execute any third-party model. No third-party biological model should be listed as integrated until the adapter, licence, provenance and validation evidence are present.


AI Attribution: This inventory was prepared with OpenAI Codex assistance from the repository, lock file and official project licence pages. The team should repeat the licence review before a formal release.