Distinguish duplicate workflows in the catalogue - #3233
Merged
AbigailDeng merged 1 commit intoAug 6, 2026
Merged
Conversation
AbigailDeng
merged commit Aug 6, 2026
deb529a
into
feat/2026-08-04_workflow-activity-vnext
13 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem and solution
Same-name workflow rows exposed too little authoritative context to choose the right definition. This change makes purpose, Draft/Published revision, save-location ownership, and localized update time part of the row hierarchy. It adds an accessible row menu for Rename and Copy workflow reference, and warns on duplicate names during create/rename without enforcing uniqueness.
Copy reference uses the actual
workflowId. It never substitutes a member identity or published service identity. The current catalogue contracts do not expose last-editor identity; the frontend omits that fact rather than inferring it from auth, route, or another identifier.Impact paths
/scopes/:scopeId/workflow-activity-vnext/workflows/scopes/:scopeId/workflow-activity-vnext/workflows/newLocal verification
pnpm --dir apps/aevatar-console-web exec jest --runInBand --runTestsByPath src/pages/workflow-activity-vnext/index.test.tsx- PASS, 73/73 testspnpm exec biome check src/locales/workflowActivityVNextMessages.en-US.ts src/locales/workflowActivityVNextMessages.zh-CN.ts src/pages/workflow-activity-vnext/index.test.tsx src/pages/workflow-activity-vnext/styles.ts src/pages/workflow-activity-vnext/workflows/NewWorkflowPage.tsx src/pages/workflow-activity-vnext/workflows/WorkflowsPage.tsxfromapps/aevatar-console-web- PASS, 6 filesbash tools/ci/test_stability_guards.sh- PASSpython3 docs/design-baselines/workflow-activity-vnext/verify-baseline.pyfromapps/aevatar-console-web- PASS, hash verified and 17/17 framesgit diff --check- PASSDesign baseline
Design baseline:
apps/aevatar-console-web/docs/design-baselines/workflow-activity-vnext/
Primary design:
aevatar-workflow-activity-vnext.excalidraw
Design SHA-256:
30e74d7b410ae72c4c91432355436679033679c54c10b1702908435b001577de
Contract specification:
apps/aevatar-console-web/docs/superpowers/specs/
2026-08-04-workflow-activity-vnext-design.md
User paths:
apps/aevatar-console-web/docs/superpowers/specs/
2026-08-04-workflow-activity-vnext-user-paths.md
Authentication and localization:
Existing Aevatar login, callback, session, returnTo, and Umi locale logic;
presentation may change, behavior may not.
Production data source:
Real APIs and API-acknowledged user actions only; no mock fallback.
Baseline integrity:
python3 apps/aevatar-console-web/docs/design-baselines/
workflow-activity-vnext/verify-baseline.py
Closes #3218