Skip to content

Instantly share code, notes, and snippets.

View jmchilton's full-sized avatar

John Chilton jmchilton

  • Penn State University
  • Pittsburgh, PA
  • X @jmchilton
View GitHub Profile
@jmchilton
jmchilton / dedup-plan-test-job-cache.md
Created January 7, 2026 21:01
Deduplication Plan: test/integration/test_job_cache.py

Deduplication Plan: test/integration/test_job_cache.py

Summary

Metric Before After
Total Lines 160 ~110
Duplicated Lines ~70 (44%) ~10 (9%)
Test Methods 2 2
Helper Methods 0 3
@jmchilton
jmchilton / trs_test_review.md
Created January 5, 2026 15:21
TRS ID Tests Review: Mocking/Patching Analysis and Refactoring Plan

TRS ID Tests Review: Mocking/Patching Analysis

Overview

Review of tests/test_trs_id.py from the TRS ID support branch (claude/add-trs-id-support-mefAv). The branch adds support for running workflows via TRS IDs like workflow/github.com/iwc-workflows/parallel-accession-download/main.

Current Test Structure

Tests That Are Good (No Mocking)

@jmchilton
jmchilton / gist_implementation.diff
Created December 19, 2025 16:35
Add tool_shed_url config for explicit hostname setting
commit fa276e6532ba34939ce7d796370f679526e986e9
Author: John Chilton <[email protected]>
Date: Fri Dec 19 11:16:09 2025 -0500
Add tool_shed_url config for explicit hostname setting
Allows admins to set a fixed base URL for clone URLs and repository
hostnames, useful when behind proxies or needing a specific public URL.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
@jmchilton
jmchilton / urlTracker-test-review.md
Created December 19, 2025 15:54
Review: urlTracker.test.ts

Review: urlTracker.test.ts

Summary

Overall this is a solid test suite that covers the core functionality well. The tests are mostly focused on behavior, have clear names, and are independent. Mutation testing confirmed backward() behavior is properly tested.

Issues & Recommendations

1. Test #10 "should expose readonly navigationHistory" doesn't actually test readonly

@jmchilton
jmchilton / refactor.diff
Created December 17, 2025 19:50
Deduplication analysis and refactoring of test_history_archiving.py
diff --git a/test/integration/test_history_archiving.py b/test/integration/test_history_archiving.py
index 2bbcb91ccb..e12c193fdd 100644
--- a/test/integration/test_history_archiving.py
+++ b/test/integration/test_history_archiving.py
@@ -229,7 +229,7 @@ class TestHistoryArchivingWithExportRecord(PosixFileSourceSetup, IntegrationTest
)
self.dataset_populator.export_history_to_uri_async(history_id, target_uri, model_store_format)
export_records = self.dataset_populator.get_history_export_tasks(history_id)
- assert len(export_records) == 1
+ assert len(export_records) >= 1
@jmchilton
jmchilton / HISTORY_MARKDOWN_PLAN.md
Last active December 24, 2025 14:53
History Notebooks: Implementation Plan for Galaxy

History Notebooks: Implementation Plan

Overview

This plan implements History Notebooks - markdown documents tied to Galaxy histories that use HID-relative references. The feature enables human-AI collaborative analysis documentation with paths to Pages and Workflow Reports.

Reference Documents:

  • THE_PROBLEM_AND_GOAL.md - Vision and motivation
  • RESEARCH_FOR_PLANNING.md - Backend implementation research
  • RESEARCH_FOR_PLANNING_UX.md - Frontend/UX implementation research
@jmchilton
jmchilton / lively-napping-fiddle.md
Created December 4, 2025 19:08
IWC Workflow Integration Plan - Two Implementation Approaches

IWC Workflow Integration Plan

Goal

Add link to IWC (Intergalactic Workflow Commission) curated workflows at https://iwc.galaxyproject.org/ in Galaxy's workflow list interface. Implement BOTH a tab approach and a banner approach so you can decide which works better.

Background

  • IWC has 100+ vetted bioinformatics workflows
  • Current WorkflowList has 3 tabs: My workflows, Shared with me, Public workflows
  • No existing IWC integration in frontend
  • Uses Vue 3 + Bootstrap Vue + TypeScript
@jmchilton
jmchilton / omero_review.md
Created November 30, 2025 21:19
OMERO File Source Plugin Architecture Review

OMERO File Source Plugin Review

Question

I'm review a PR. It adds this file lib/galaxy/files/sources/omero.py - which is implementing a Galaxy File Source plugins. I'm worried about the size of the file - it seems large and it interwines plugin implementation logic and API communication a lot - would it make sense to extract the API interaction layer out and reduce the size of the plugin or does it make more sense as is?

Analysis

Based on my analysis, here's my assessment:

@jmchilton
jmchilton / WES_TASK_PAGINATION_PLAN.md
Created November 20, 2025 15:44
WES Task Logs Pagination - Database-Level Implementation Plan

WES Task Logs Pagination - Database-Level Implementation Plan

Problem Statement

Current implementation in wes.py:

  • _build_task_logs() (lines 886-913): Loads ALL WorkflowInvocationSteps into memory, then all related Jobs
  • Used in 3 places:
    1. get_run_tasks() (line 701) - loads all, slices in Python
    2. get_run_task() (line 742) - loads all to find one
    3. _invocation_to_run_log() (line 868) - populates deprecated field

🎃 Truth or Scare Cocktail Menu


🍸 Squid Ink Basil Gimlet (Gin)

  • Ingredients: Gin, lime, basil syrup, squid ink
  • Description: Fresh, herbal.
  • Garnish: 🌿 Basil leaf