Skip to content

fix(workflows): load custom steps before update - #4768

Open
WOLIKIMCHENG wants to merge 1 commit into
github:mainfrom
WOLIKIMCHENG:fix/workflow-update-custom-steps
Open

WOLIKIMCHENG wants to merge 1 commit into
github:mainfrom
WOLIKIMCHENG:fix/workflow-update-custom-steps

Conversation

@WOLIKIMCHENG

Copy link
Copy Markdown
Contributor

Description

Load project-installed custom workflow steps before workflow update
validates a downloaded candidate.

This aligns update with add, run, and resume. Updates that reference an
installed custom step can now succeed, while unrelated unknown step types
remain rejected without changing the installed workflow or registry.

Testing

  • Custom-step update regression: 1 passed
  • Unknown-step transactional regression: 1 passed
  • tests/specify_cli/workflows/test_command_update.py: 21 passed
  • Workflow add/run/resume tests: 197 passed
  • tests/specify_cli/workflows: 359 passed, 1 skipped
  • AST, compile, and git diff --check: passed

AI Disclosure

  • I did not use AI assistance for this contribution
  • I did use AI assistance

AI disclosure: OpenAI Codex (GPT-5.6 Sol, Terra, and Luna;
human-supervised) assisted with code and tests.

@mnriem mnriem added the triage-nice-to-have Verdict: evidence-backed fix or greenlit feature — land after review label Sep 28, 2026
@mnriem
mnriem requested a balanced review from Copilot September 28, 2026 13:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Process-global custom steps can leak across projects and incorrectly validate an update.

Review effort: Balanced
Findings: 1 High severity

Open (1)
What changed in this PR

Loads custom workflow steps before validating workflow updates.

Changes:

  • Registers project custom steps during workflow update.
  • Adds success and transactional rejection regressions.
File Description
src/​specify_cli/​workflows/​command_update.py Loads custom steps before update validation.
tests/​specify_cli/​workflows/​test_command_update.py Tests custom and unknown step updates.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

from .catalog import WorkflowCatalog, WorkflowCatalogError

project_root = cli._require_specify_project()
load_custom_steps(project_root)
@mnriem

mnriem commented Sep 28, 2026

Copy link
Copy Markdown
Collaborator

Please address Copilot feedback

This branch has not been deployed

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

Labels

triage-nice-to-have Verdict: evidence-backed fix or greenlit feature — land after review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants