02_content_freshness

02 - Content Freshness Audit

Audited 2026-09-26 against galaxyproject/galaxy origin/dev @ 8cecbebdf98 (26.2.dev0). Local clone working tree is on merge_26.1_into_dev; path checks use git ls-tree origin/dev. Word counts exclude notes/ and plan/.

TL;DR

Per-topic table

Staleness 1 = current, 5 = obsolete. Effort: S < 2h, M = half-day to 1 day, L = multi-day.

TopicWordsLastStaleTop issues (evidence)Effort
startup21962026-02 (content ~2016)52016 log: checkout master, cp27 wheels, lib/galaxy/model/migrate (sqlalchemy-migrate, gone since 22.05), lib/tool_shed/galaxy_install/migrate, Paste :8080, migrated_tools_conf.xml, Trackster/Circster, requests_common controllers. 26 broken-path hits.L rewrite (gravity/gunicorn/uvicorn, alembic, app/__init__.py init order, toolbox/search index, celery)
client21842026-024webpack slides/config/webpack.config.js (removed 2025-12); yarn targets (now pnpm; client-watch gone; client-dev-server = Vite HMR); jest/qunit paths missing (now vitest.config.mts, client/tests/vitest/); vuejs.org/v2 link; “Future components” GAlert/GCollapse/GTabs already exist; nothing on api-client/openapi-typescript or Vue 2.7 (vue ^2.7.16, @vitejs/plugin-vue2). Component-library half fine.M
files10752025-114client/src/bundleEntries.js, client/webpack.config.js, client/tests/jest missing; packages/tool_util/{setup.cfg,galaxy/__init__.py,galaxy/tool_util} missing; “directory symlinks” outdated; CITATION → CITATION.cff; tox.ini described as lint entry point. Mindmap SVGs generated from these fragments, so also stale.M
dependencies3132026-024script/common_startup.sh (typo → scripts/); describes virtualenv+pip; script now prefers uv venv, conda fallback, pinned-*.txt, GALAXY_WHEELS_INDEX_URL. No pnpm. Too thin to stand alone.S (merge)
principles6672025-113”Built with webpack”; MySQL “sort of”. Ideas timeless.S
production5872026-023Admin content; “gunicorn production-grade ASGI”; old usegalaxy.org diagrams; no TPV/Pulsar/celery.S-M
frameworks38422026-053 (split)Async/aiocop current. Old half: webapps/galaxy/controllers/api/ (dead → api/); roles example uses pydantic v1 __root__/RoleManager/List[] (current uses RolesService, RoleListResponse); “WSGI API controllers until 21.09”; “favor uWSGI”; fast_factory/initialize_fast_app snippets pre-MCP/TUS/limiter/a2wsgi; fastapi-utils link.M
dependency-injection27152026-022Concepts accurate (DatasetCollectionManager injected, depends() in api/__init__.py). Metadata app.py/structured_app.py broken. Celery slide shows magic_bind_to_container in tasks.py, replaced by magic partial in 2022 (98019394223). “Python 2” diagram framing.S
tasks13332025-113galaxy_task + pydantic serialization valid. “Future Work” cites 2021 #11721 (tool requests/celery submission since landed). 2022 gravity output, external cloudfront image. PR stories read like release notes. No beat, queues (galaxy.internal/external), pebble pool.M
application-components14922026-012Alembic text correct. Mostly image-only slides (models/HDA/workflow/libraries), diagrams unaudited. Services slide thin (webapps/galaxy/services/ exists).M (diagrams)
plugins10442026-024Viz = XML+Mako, config/plugins/visualizations examples (now npm); “DrammaJobRunner” typo; no TPV/job-conf YAML; bit.ly/gcc21files; Py2-style container-resolver code; jobs/objectstore coverage image-only.M
markdown32982026-022Well researched. “Adding a Directive” likely stale (dev has make client-gen-markdown-directives generating reference/requirements/validator registry from directives.yml). Recheck “History Markdown (planned)”. NewDirective.vue placeholder.S
file-sources18902026-02116/16 code paths valid; mycloud.py placeholder.S
tests113652026-021-2Current (Playwright, vitest, populators). Metadata client/tests/vitest/helpers.ts → .js. Duplicates doc/source/dev/writing_tests.md. Far larger than any other topic.S (dedupe decision)
project-management10462025-114tox -e lint/tox -e mypy gone (tox.ini only mako_count, check_indexes…; Makefile mypy:; ty.toml); SECURITY_POLICY.md → SECURITY.md; Gitpod; 21.01 types history; 25.1 release issue example.S / drop
ecosystem17822025-113Link directory of external repos (starforge, cargo-port, tiaas2… some likely archived). Not Galaxy-repo architecture.Drop / keep in GTN

Broken paths (origin/dev)

(P) = placeholder.

Missing topics (prioritized for new devs)

  1. Jobs & tool execution: ToolAction → Job → handler/JobWrapper → runners → job_execution → metadata → finish; job conf YAML, TPV, Pulsar, job cache, tool requests. Link build_a_job_runner.
  2. Data model & DB access: SQLAlchemy 2.0 models, galaxy_scoped_session, HDA/HDCA/Dataset/LDDA, alembic. Link database_session_management.
  3. API layer & schema: webapps/galaxy/api + services + galaxy.schema → OpenAPI → client/packages/api-client (make update-client-api-schema). Link api_guidelines. Could absorb old half of frameworks.
  4. Workflows: modules, scheduling manager/invocations, refactor, gxformat2, subworkflows.
  5. Object stores & storage: hierarchical/distributed/S3/irods, user-selectable storage, quotas, short_term_storage, cleanup.
  6. Tools & tool-state models: tool_util, tool_util_models, parameter models, toolbox/search, user-defined tools.
  7. Datatypes & collections: registry, sniffing, converters, metadata, collection semantics (doc exists).
  8. Auth/users/security: sessions/API keys, OIDC/PSA, roles/permissions, id encoding, vault.
  9. AI agents / MCP (beta): lib/galaxy/agents, /api/ai, /api/chat, MCP mount.
  10. Tool Shed & installs.
  11. Client app architecture: router, Pinia, api-client usage, composables, Vue 2.7 → 3 plan.
  12. Lower: notifications, interactive tools, viz framework (npm), model stores/RO-Crate export, config schema pipeline, carbon emissions, webhooks/tours.

Merge / drop

Suggested refresh order

  1. Quick path fixes (≤1h): DI metadata, frameworks controller path, tests helpers.js, SECURITY.md, CITATION.cff, scripts/ typo, DRMAA, remove client “Future components”.
  2. client + files + dependencies → dev-environment topic.
  3. frameworks old half + new API-layer topic.
  4. plugins (viz npm, TPV), then new jobs/tool-execution topic.
  5. startup rewrite.
  6. tasks refresh, then DI celery slide.
  7. New topics: data model → workflows → object stores → tools → datatypes/collections.
  8. Diagram audit (images/).
  9. Decide ecosystem/production/project-management + tests dedupe before migration.

Method / limits