Skip to content

Add non-blocking PACE links to simulation details#176

Merged
tomvothecoder merged 3 commits intoE3SM-Project:mainfrom
tomvothecoder:feature/173-pace-links
May 5, 2026
Merged

Add non-blocking PACE links to simulation details#176
tomvothecoder merged 3 commits intoE3SM-Project:mainfrom
tomvothecoder:feature/173-pace-links

Conversation

@tomvothecoder
Copy link
Copy Markdown
Collaborator

Description

Adds non-blocking PACE links to the simulation details page.

  • Closes [Enhancement]: Add PACE links to simulation details page #173
  • Adds GET /api/v1/pace/resolve?execution_id=... to resolve a PACE experiment ID with a 5.0s timeout
  • Keeps the main simulation details API unchanged and independent from PACE
  • Shows Search in PACE immediately when executionId exists, then upgrades to Open in PACE if resolution succeeds
  • Shows lightweight in-progress and fallback tooltip states in the Performance section

Checklist

  • Code follows project style guidelines
  • Self-reviewed code
  • No new warnings
  • Tests added or updated (if needed)
  • All tests pass (locally and CI/CD)
  • Documentation/comments updated (if needed)
  • Breaking change noted (if applicable)

Deployment Notes (if any)

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds the non-blocking PACE-link flow requested in #173 by resolving a PACE experiment ID separately from the main simulation-details fetch, so the details page can render without waiting on PACE.

Changes:

  • Adds a new backend GET /api/v1/pace/resolve endpoint to look up a PACE experiment ID from a simulation execution ID.
  • Updates the simulation details page to request PACE resolution asynchronously and build either a direct experiment link or a fallback search link.
  • Adds UI states in the Performance section for in-progress and fallback PACE-link behavior, plus backend tests for the new resolver.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
frontend/src/features/simulations/SimulationDetailsPage.tsx Triggers async PACE resolution and passes link/status props into the details view.
frontend/src/features/simulations/components/SimulationDetailsView.tsx Renders the new PACE link, spinner, and tooltip states in the Performance section.
frontend/src/features/simulations/api/api.ts Adds the frontend API client/types for /pace/resolve.
backend/tests/features/pace/test_api.py Adds backend tests for the resolver’s success, validation, and fallback paths.
backend/app/main.py Registers the new PACE router in the FastAPI app.
backend/app/features/pace/api.py Implements the PACE resolution endpoint and upstream lookup/parsing logic.
backend/app/features/pace/__init__.py Adds the new backend feature package.

Comment thread frontend/src/features/simulations/SimulationDetailsPage.tsx Outdated
Comment thread backend/app/features/pace/api.py
Comment thread backend/tests/features/pace/test_api.py
Comment thread backend/app/features/pace/api.py
@tomvothecoder tomvothecoder merged commit ce6f330 into E3SM-Project:main May 5, 2026
1 check passed
@tomvothecoder tomvothecoder deleted the feature/173-pace-links branch May 5, 2026 23:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Enhancement]: Add PACE links to simulation details page

2 participants