Skip to content

Results step never shows any output: the Fetch results button is not wired, and the publish route returns 500 #110

Description

@mosoriob

What happens

A run completes on Tapis and writes its outputs, but the Results step shows
— No results available — for ever. The Fetch results button does nothing.

Measured at TACC on 2026-08-09 while resolving #92. Thread jx8ibyilmsmg1pvt, model
SUBSIDE Allocation Specification. Two runs went to Tapis: one succeeded, one failed on bad
input data. The successful job wrote a full output set to its archive:

✓ All processing complete!
Output directory: /scratch/.../d0b7b4c0-...-007/output/

execution_result in Hasura holds 0 rows for both executions.

Two independent causes

1. ui-react never asks. MintResults guards on an optional prop that no parent passes:

// MintResults.tsx:122
if (!onPublishResults) return;

MintThread.tsx:349 renders <MintResults> with threadData, executions, canWrite,
ingestionApiAvailable, onContinue and onFetchRuns — and no onPublishResults. So
handlePublish returns on its first line. The click makes no network request at all.

2. The server route it should call also fails. Called by hand with the same bearer token
the app holds:

Call Result
POST .../subtasks/{id}/outputs 400 No executions found to publish
POST .../executions/{success-id}/outputs 500 Request failed with status code 403
POST .../executions/{failed-id}/outputs 400 Execution is not successful — correct

registerOutputs reaches Tapis Files or CKAN and gets a 403, which surfaces as a 500. The
subtask-level route catches every per-execution error and reports the same
No executions found to publish regardless, so the 403 is invisible from the API. Same opacity
class as #108.

Why it matters

Fixing only cause 1 is not enough — the button would then call a route that returns 500. Both
need a fix before a user can see a run's outputs.

Scope

Blocks #77. A user who runs a model cannot reach its results.

Cause 1 is ui-react. Cause 2 is mint-ensemble-manager, and the 403 needs a look at which
credential registerExecutionOutputs uses.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions