You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
tooling: pre-commit hook to forbid new top-level WorkflowStep/AgentTask classes (#6951 AC8) #7048
The canonical WorkflowTask/WorkflowPlan in autobot_shared.workflow exist (#6951 Phase 1b–3 done), but nothing prevents future contributors from re-introducing the same fragmentation.
The script greps for class (WorkflowStep|AgentTask) definitions outside the allowlist (canonical module + already-existing aliases/subclasses + SubWorkflowStep per AC6).
Acceptance Criteria
Hook present in .pre-commit-config.yaml and named no-new-workflow-step-class
Hook script at scripts/check_no_new_workflow_step_class.py (Python, exits non-zero with helpful message)
Allowlist documents the legitimate exceptions: canonical types + 5 known domain-specializations
Smoke test: synthesizing a new class WorkflowStep: definition outside allowlist → hook fails
This issue was filed independently with the same goal (Phase 4 of #6951 — pre-commit hook to forbid new top-level WorkflowStep/AgentTask classes). The hook landed via PR #7037 closing #7014, with the canonical implementation at autobot-infrastructure/shared/scripts/hooks/pre-commit-no-new-workflow-step.
Closing as duplicate. The implementation matches the recommended fix in this issue's body (local pre-commit-config entry, exempt-paths list, mirrors no-new-health-route from #3333), with one differentiation: the hook uses # noqa: workflow-shape line-level suppression instead of file-level exclude: config — same exempt-paths intent, finer-grained control.
See PR #7037 for the implementation and 8-test-case verification table.
Activity
mrveiss commentedon May 6, 2026
Duplicate of #7014 — closed
This issue was filed independently with the same goal (Phase 4 of #6951 — pre-commit hook to forbid new top-level
WorkflowStep/AgentTaskclasses). The hook landed via PR #7037 closing #7014, with the canonical implementation atautobot-infrastructure/shared/scripts/hooks/pre-commit-no-new-workflow-step.Closing as duplicate. The implementation matches the recommended fix in this issue's body (local pre-commit-config entry, exempt-paths list, mirrors
no-new-health-routefrom #3333), with one differentiation: the hook uses# noqa: workflow-shapeline-level suppression instead of file-levelexclude:config — same exempt-paths intent, finer-grained control.See PR #7037 for the implementation and 8-test-case verification table.