Julenmendieta/MILAB-6273_enableUpstream - #8
Merged
Merged
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors the workflow's column specification logic into a dedicated library and updates the UI and model to enable linker usage for plot options. The review feedback highlights several critical issues: the removal of 'trace.inject' in the workflow causes a loss of provenance metadata, and the updated UI predicates for data columns are considered overly restrictive. Additionally, the reviewer noted that existing documentation in the model has become stale due to the implementation of 'createPFrameForGraphs' and needs to be updated to reflect the new approach.
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.
Greptile Summary
This PR enables upstream linker columns to flow into the histogram and scatter plot pickers by switching
propertiesPfHandlefromctx.createPFrametocreatePFrameForGraphs, adding ametaColumnPredicateto both graph pages, and introducing a dedicatedcolumns.lib.tengolibrary that stampspl7.app/isOutput: "true"on all sequence-properties output columns.workflow/src/columns.lib.tengo(new): Extracts all column-spec building fromprocess.tpl.tengointo two public getters —forPropertiesPf(addsisOutput: "true") andforExport(score-only,blockId-stamped domain);trace.injectis removed fromresultPframebut kept forexportPframe, preserving downstream provenance.model/src/index.ts: AddsisOutput !== "true"to the upstream linker column match predicate so the block's own output columns don't receive the "optional" visibility rule that was designed for upstream metadata columns.ui/src/pages/HistogramPage.vue&ScatterPage.vue: TightensdataColumnPredicatetoisOutput === "true"columns and introducesmetaColumnPredicatefor upstream grouping columns; both predicates include apl7.app/tracecheck that is now dead code.Confidence Score: 4/5
The core logic change is sound and the export pframe trace is correctly preserved; the two dead trace checks in the UI predicates are the only loose ends.
The column-library refactor and the isOutput annotation mechanism work correctly end-to-end. The metaColumnPredicate in both graph pages relies entirely on a trace check that can never match, so sequence-properties output columns will appear alongside upstream metadata in the meta/grouping picker. The stale comment adds confusion but no runtime impact.
ui/src/pages/HistogramPage.vue and ui/src/pages/ScatterPage.vue for the metaColumnPredicate dead-code issue; model/src/index.ts for the stale comment block.
Important Files Changed
Comments Outside Diff (2)
model/src/index.ts, line 157-163 (link)The block comment says "Use
ctx.createPFrameinstead ofcreatePFrameForGraphs" and explains whycreatePFrameForGraphswas avoided (it would pull inexports.propertiescolumns causing duplicates), but the code immediately below now callscreatePFrameForGraphs. Any reader maintaining this file will be confused about which approach is intentional. The old justification no longer applies — theisOutput !== "true"guard and theupstreamMetatrace-filter together prevent the double-column issue — so the comment should be replaced with one that describes the new design.Prompt To Fix With AI
ui/src/pages/HistogramPage.vue, line 64-70 (link)pl7.app/tracechecks are now dead code in both predicatestrace.injectis no longer called when buildingresultPframeinprocess.tpl.tengo, sopropertiesPfcolumns carry nopl7.app/traceannotation. Both predicates use!spec.annotations?.["pl7.app/trace"]?.includes("sequence-properties"), which evaluates to!undefined→truefor every column and therefore has no filtering effect.For
dataColumnPredicatethis is harmless, becausespec.annotations?.["pl7.app/isOutput"] === "true"is the real gate. FormetaColumnPredicatethe dead check is the only guard, so the predicate unconditionally returnstrue, allowing sequence-properties numeric output columns (Net Charge, GRAVY, etc.) to appear in the meta/grouping picker alongside upstream sample-level metadata. If the intent was to keep outputs out of the meta picker, the predicate should testisOutputinstead of (or in addition to)trace. The same issue exists inScatterPage.vue.Prompt To Fix With AI
Prompt To Fix All With AI
Reviews (1): Last reviewed commit: "Changeset" | Re-trigger Greptile