Skip to content

Bring in gxformat2 Linting Improvements (add some agent assistance files)#1633

Open
jmchilton wants to merge 3 commits intogalaxyproject:masterfrom
jmchilton:linting_update
Open

Bring in gxformat2 Linting Improvements (add some agent assistance files)#1633
jmchilton wants to merge 3 commits intogalaxyproject:masterfrom
jmchilton:linting_update

Conversation

@jmchilton
Copy link
Copy Markdown
Member

Use gxformat2 0.25 lint interface; drop duplicated best-practices
Bump gxformat2>=0.25.0; switch workflow_lint to lint_*path and
lint_best_practices
{ga,format2}; delete the duplicated planemo
_lint_best_practices body that was migrated upstream. Wire the new
lint_pydantic_validation as a schema_validation lint step. Coerce
gxformat2 Linter classes to their names in WorkflowLintContext so
galaxy's LintMessage doesn't render class reprs.

Update test assertions for the new message text (drops "with ID",
uses native step ids directly). Clean up three legacy test fixtures
that strict pydantic validation now rejects: null input key in
wf14-unlinted-best-practices.yml and format2-style top-level inputs/
outputs on two native basic_native fixtures.

Comment thread .claude/commands/ready-release.md Outdated
@@ -0,0 +1,21 @@
Walk me through readying a planemo release. Run each step, check for problems, and pause if anything looks wrong.

## Steps
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was generated from that (or from gxformat2's version of that since that is where I got the command) but I can link the doc and request they stay in sync. Or would you rather this just say "read the doc, confirm the preconditions, and then run release method specified in the doc". I guess the answer is a bit of both huh... there should be a Makefile target that ensures the tree is clean, etc...?

Ugh... I will remove this command too and look at overhauling it in the context of gxformat2 first.

Copy link
Copy Markdown
Member

@mvdbeek mvdbeek Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i was hoping for read the doc, confirm the preconditions, and then run release method specified in the doc". ... one source of truth would be good.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I obviously agree about the source of truth.

I want to work on docs/developing.rst and the /ready-release command a bit. I think the developing doc is
very out of date - we don't use Travis anymore, we probably don't need to check the docs before the
release, we use trusted publishing, etc... Can you give me a plan that includes a new developing.rst,
adding a reference to the docs in /ready-release, a new Makefile target that does a pre-release checklist
(have history entries, .venv exists, git is clean, "make clean && make lint" passes. developing.rst should
not mention the agent instructions and the agent command should try to minimize how much information is
stored in the agent file and try to defer to the documentation.

Comment thread CLAUDE.md Outdated
@@ -0,0 +1,51 @@
# CLAUDE.md
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does claude get any of this wrong ? On the surface that seems like stuff claude does without telling it to, but it consumes tokens on every session.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No you're right. This is the default init as of last Thursday - I read they recently overhauled init and it was better now. But double checking on that just now apparently it has to be enabled and isn't on by default. https://medium.com/@AdithyaGiridharan/claude-codes-init-command-is-getting-a-brain-transplant-e0c389ec0c6b

I will drop this from the PR.

Copy link
Copy Markdown
Member

@mvdbeek mvdbeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is awesome, minus the claude.md. If we add anything it should be very short (use makefile when appropriate) ? xref https://arxiv.org/html/2602.11988v1

Bump gxformat2>=0.25.0; switch workflow_lint to lint_*_path and
lint_best_practices_{ga,format2}; delete the duplicated planemo
_lint_best_practices body that was migrated upstream. Wire the new
lint_pydantic_validation as a schema_validation lint step. Coerce
gxformat2 Linter classes to their names in WorkflowLintContext so
galaxy's LintMessage doesn't render class reprs.

Update test assertions for the new message text (drops "with ID",
uses native step ids directly). Clean up three legacy test fixtures
that strict pydantic validation now rejects: null input key in
wf14-unlinted-best-practices.yml and format2-style top-level inputs/
outputs on two native basic_native fixtures.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
jmchilton and others added 2 commits April 20, 2026 14:57
- Handle list-valued input format and extra scalar type names (integer,
  text, long, double) from updated inputs_normalized output.
- Drop gxformat2.interface usage; galaxy_interface is now unused by
  python_to_workflow. Removes DummyImporterGalaxyInterface and
  BioBlendImporterGalaxyInterface wiring; import_workflow no longer
  takes admin_gi.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mvdbeek
Copy link
Copy Markdown
Member

mvdbeek commented Apr 23, 2026

test_autoupdate_gxformat2_workflow times out, i wonder if that could be related ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants