Julenmendieta/more adjustments - #21
Conversation
| ...(hasRun | ||
| ? [ | ||
| { type: "link" as const, href: "/qc" as const, label: "Sample QC" }, | ||
| //{ type: "link" as const, href: "/qc" as const, label: "Sample QC" }, |
There was a problem hiding this comment.
Commenting out this navigation entry removes the only normal link to /qc, even though the route and its per-sample QC page remain registered. After a run, users can no longer reach this existing review page unless they manually enter its URL.
| //{ type: "link" as const, href: "/qc" as const, label: "Sample QC" }, | |
| { type: "link" as const, href: "/qc" as const, label: "Sample QC" }, |
Knowledge Base Used:
Prompt To Fix With AI
This is a comment left during a code review.
Path: model/src/index.ts
Line: 1836
Comment:
**Sample QC Becomes Unreachable**
Commenting out this navigation entry removes the only normal link to `/qc`, even though the route and its per-sample QC page remain registered. After a run, users can no longer reach this existing review page unless they manually enter its URL.
```suggestion
{ type: "link" as const, href: "/qc" as const, label: "Sample QC" },
```
**Knowledge Base Used:**
- [Feature integration user interface](https://app.greptile.com/milaboratories/-/custom-context/knowledge-base/platforma-open/feature-integration/-/docs/feature-integration-ui.md)
- [UI application flow](https://app.greptile.com/milaboratories/-/custom-context/knowledge-base/platforma-open/feature-integration/-/docs/ui-application-flow.md)
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.| "pl7.app/isDiscreteFilter": "true", | ||
| "pl7.app/discreteValues": VERDICT_STATES, | ||
| "pl7.app/description": "One of four states. 'Never asked' means the experiment did not put this antigen to these cells; 'unreliable' means it did and the data cannot settle it. Neither is a kind of 'not bound'." | ||
| "pl7.app/description": "One of four states. 'Bound' and 'not bound' read the count against the baseline that served. 'Never asked' means the antigen appeared in no read from these cells' samples; 'unreliable' means it was measured and the reading cannot tell bound from not bound. Neither is a kind of 'not bound'." |
There was a problem hiding this comment.
This description says never asked means the antigen appeared in no reads, but the state is determined by whether the antigen was offered in the sample’s panel. An offered antigen with zero signal is still a measured not bound result, so this metadata can cause users to misread a valid zero-count call as untested.
| "pl7.app/description": "One of four states. 'Bound' and 'not bound' read the count against the baseline that served. 'Never asked' means the antigen appeared in no read from these cells' samples; 'unreliable' means it was measured and the reading cannot tell bound from not bound. Neither is a kind of 'not bound'." | |
| "pl7.app/description": "One of four states. 'Bound' and 'not bound' read the count against the baseline that served. 'Never asked' means no sample holding these cells offered this antigen in its panel; 'unreliable' means it was measured and the reading cannot tell bound from not bound. Neither is a kind of 'not bound'." |
Knowledge Base Used:
Prompt To Fix With AI
This is a comment left during a code review.
Path: workflow/src/column-specs.lib.tengo
Line: 559
Comment:
**Never Asked Is Misdefined**
This description says `never asked` means the antigen appeared in no reads, but the state is determined by whether the antigen was offered in the sample’s panel. An offered antigen with zero signal is still a measured `not bound` result, so this metadata can cause users to misread a valid zero-count call as untested.
```suggestion
"pl7.app/description": "One of four states. 'Bound' and 'not bound' read the count against the baseline that served. 'Never asked' means no sample holding these cells offered this antigen in its panel; 'unreliable' means it was measured and the reading cannot tell bound from not bound. Neither is a kind of 'not bound'."
```
**Knowledge Base Used:**
- [Verdict analysis workflow stages](https://app.greptile.com/milaboratories/-/custom-context/knowledge-base/platforma-open/feature-integration/-/docs/workflow-verdict-analysis.md)
- [Feature integration user interface](https://app.greptile.com/milaboratories/-/custom-context/knowledge-base/platforma-open/feature-integration/-/docs/feature-integration-ui.md)
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.| (v for d, v in zip(deciles["decile"], deciles["value"], strict=True) if d == 100 and v is not None), | ||
| None, | ||
| ) | ||
| decile_detail = "" if _top is None else f"highest {_top:,.0f}" |
There was a problem hiding this comment.
Distribution Description Is Stale
The measurement detail now contains only the highest value, while the published column description still says all deciles are carried there. The full deciles now use a separate result frame, so the stale description documents a data shape this emitter no longer produces and can mislead consumers.
Knowledge Base Used: Verdict analysis workflow stages
Prompt To Fix With AI
This is a comment left during a code review.
Path: software/per-cell-metrics/src/emit_verdicts.py
Line: 1117
Comment:
**Distribution Description Is Stale**
The measurement detail now contains only the highest value, while the published column description still says all deciles are carried there. The full deciles now use a separate result frame, so the stale description documents a data shape this emitter no longer produces and can mislead consumers.
**Knowledge Base Used:** [Verdict analysis workflow stages](https://app.greptile.com/milaboratories/-/custom-context/knowledge-base/platforma-open/feature-integration/-/docs/workflow-verdict-analysis.md)
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
Greptile Summary
This PR adjusts result-table identity and filtering, enriches the clonotype punchcard with V(D)J columns and voting thresholds, introduces a joinable V(D)J-matched cell-list output, separates undeclared barcodes onto their own axis, and rewrites QC and punchcard explanations.
Important touched terms:
cellInListand inner-joins it into the per-cell display so that view is limited to matched cells.bound,not bound,unreliable, ornever asked. Tooltip and legend explanations were rewritten, although the workflow metadata now incorrectly describes the offer condition fornever asked.undeclaredTagIdaxis, with a saved-table-state migration.The principal merge blocker is the loss of navigation to Sample QC. Two lower-impact metadata inconsistencies should also be corrected.
Confidence Score: 4/5
The PR is not yet safe to merge because it removes the only normal navigation path to the still-supported Sample QC page.
The workflow and result-contract additions are largely coordinated, but users can no longer reach Sample QC through the application navigation, and two changed descriptions no longer match the underlying verdict and distribution contracts.
Files Needing Attention: model/src/index.ts, workflow/src/column-specs.lib.tengo, software/per-cell-metrics/src/emit_verdicts.py
Important Files Changed
never askeddescription to an incorrect read-presence definition.Prompt To Fix All With AI
Reviews (1): Last reviewed commit: "still unstable" | Re-trigger Greptile
Context used (4)