Skip to content

Show only block results in the UI table - #4

Merged
mzueva merged 7 commits into
mainfrom
mzueva/filter-result-table
Aug 31, 2026
Merged

Show only block results in the UI table#4
mzueva merged 7 commits into
mainfrom
mzueva/filter-result-table

Conversation

@mzueva

@mzueva mzueva commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator
  • Fix result UI table to show scores only from current block
  • Migrate to the latest block layout

Greptile Summary

The PR scopes the results table to score columns produced by the current block and migrates the package to the latest block-kind layout and SDK toolchain.

  • Adds a typed block-kind package and round-trip template initialization parameters.
  • Supplies the current workflow’s score columns directly to the table while excluding discoverable FACS-bin scores from other block instances.
  • Upgrades Platforma SDK packages and CI to Node.js 22, adjusts publication configuration, and disables the block workflow’s test stage.
  • Important touched terms:
    • Block kind — the typed identity and initialization contract for a Platforma block; newly introduced through kind/ and connected to the data model.
    • BlockParams — optional initialization values used when creating a block from a template; newly defines metadata column references, gate ordering, and selection snapshots.
    • Template parameters — configuration exported from one block and supplied when creating another; the model now projects the seven BlockParams fields through templateParams.
    • PColumn — a typed Platforma data column identified by its name, axes, domain, and annotations; current-run score PColumns now become primary table columns.
    • Primary table columns — authoritative columns supplied directly to the table rather than discovered from the project pool; now sourced from this block’s scoresPf output.
    • Result-pool discovery — lookup of related project columns sharing the result axis; now excludes the complete pl7.app/facsBin/ namespace to prevent sibling-block scores from appearing.
    • Gate rank mean — the read-weighted mean gate position for a variant and condition; remains the table anchor and is now shown only from the current block.
    • Bin score — the parent-relative difference in gate steps; remains conditionally available and is now scoped to the current block.

Confidence Score: 4/5

The PR appears safe to merge, but restoring the package test stage would preserve non-blocking release verification for the assembled block.

The current-block table scoping and block-kind migration are internally consistent, while the only accepted concern is that the main block CI lane no longer executes its configured integration tests.

Files Needing Attention: .github/workflows/build.yaml

Important Files Changed

Filename Overview
kind/src/index.ts Introduces the block identity, typed initialization parameters, and runtime validation for template-supplied values.
model/src/dataModel.ts Connects the block kind to the existing model version and seeds new instances from optional template parameters.
model/src/index.ts Scopes score columns to the current workflow output, filters score discovery, and adds template-parameter export.
.github/workflows/build.yaml Moves CI to Node.js 22 but disables the package test stage, removing assembled-block test coverage from this lane.
block/package.json Adds the block-kind workspace dependency and changes the block-tools publication invocation.
pnpm-workspace.yaml Registers the new kind package and upgrades the shared Platforma SDK and build-tool catalogs.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  T[Template parameters] --> K[Block kind parser]
  K --> D[Initialized block data]
  D --> W[Workflow run]
  W --> S[Current scoresPf]
  S --> P[Primary score columns]
  R[Project result pool] --> X[Exclude pl7.app/facsBin namespace]
  X --> C[Related variant columns]
  P --> V[Results table]
  C --> V
Loading

Fix all with Greploop Fix All in Claude Code

Prompt To Fix All With AI
### Issue 1
.github/workflows/build.yaml:33
**Package tests are disabled**

Setting `test: false` prevents the reusable block workflow from invoking the configured repository test script, removing package-level verification of the assembled workflow, model, UI, and analysis package before publication.

```suggestion
      test: true
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "Fix changeset level" | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

Context used (5)

mzueva added 5 commits August 31, 2026 12:58
The table discovered its columns from the result pool by anchor and axis
match. A second Sort-Seq Analysis block exports gateRankMean and binScore
on the same variant axis, so both runs' scores appeared side by side; the
block's own exports were found twice for the same reason.

This block's columns now come from its workflow output as the table's
primary columns, and the whole pl7.app/facsBin/ namespace is excluded from
the pool query, which keeps supplying the variant label, the mutation list
and the profiler's per-variant columns.
Output of the canonical upgrade-sdk flow (refresh --update-deps-only,
install, refresh, install, fmt), plus the kind/ package the structural
refresh requires: block-tools hard-fails a block that declares no kind.

SDK: model/ui-vue 1.81.1 to 1.83.x, workflow-tengo 6.8.2 to 6.8.3,
tengo-builder 4.0.22 to 4.0.23, block-tools 2.13.0 to 2.14.3, ts-builder
1.6.2 to 1.7.2. New catalog entry: block-kind 1.1.0.

The refresh wired the kind as a direct devDep of the facade and a
dependency of the model and test packages, and moved the CI workflows to
node 22. It also dropped --unstable from the facade's prepublishOnly.

kind/src/index.ts and the model wiring follow in the next commit.
The contract is the metadata reading of a sort-seq run: the condition,
gate and sort-fraction column refs, the gate ladder, and the three value
snapshots the settings drawer writes when a column is picked.

The column refs travel between projects because of what they point at. An
anchored id encodes the column's own spec, and every samples-and-data
metadata column is created with global: true, so its discriminating domain
key is the column's label rather than a per-project generated id. Two
projects whose metadata carries a column labelled the same way derive the
same id.

The value snapshots are in the contract for a less obvious reason.
settingsIssues validates gateOrder against gateValues, so a template
carrying a ladder with an empty snapshot arrives with Run disabled; and
refilling the snapshot from the UI means re-picking the gate column, which
overwrites gateOrder with every value of the column. Without the snapshots
the act of making a templated block runnable destroys what the template
carried.

The dataset ref stays out (a PlRef names one project's result pool), as do
the exclusions, the read floor and all view state.

The parser checks a column ref with isAnchoredPColumnId, not
isColumnUniversalId. The latter is the obvious choice and rejects every id
this block stores: ColumnUniversalId does not include the anchored form,
and SUniversalPColumnId is a deprecated alias of it. Verified against
pl-model-common 1.48.0.
pnpm-recursive-build: false

test: true
test: false

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Package tests are disabled

Setting test: false prevents the reusable block workflow from invoking the configured repository test script, removing package-level verification of the assembled workflow, model, UI, and analysis package before publication.

Suggested change
test: false
test: true

Knowledge Base Used:

Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/build.yaml
Line: 33

Comment:
**Package tests are disabled**

Setting `test: false` prevents the reusable block workflow from invoking the configured repository test script, removing package-level verification of the assembled workflow, model, UI, and analysis package before publication.

```suggestion
      test: true
```

**Knowledge Base Used:**
- [CI build and stability](https://app.greptile.com/milaboratories/-/custom-context/knowledge-base/platforma-open/sort-seq-analysis/-/docs/ci-build-and-stability.md)
- [Verification and release](https://app.greptile.com/milaboratories/-/custom-context/knowledge-base/platforma-open/sort-seq-analysis/-/docs/verification-and-release.md)

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code

mzueva added 2 commits August 31, 2026 13:21
The changeset named @platforma-open/milaboratories.sort-seq-analysis, which
is not a workspace package — the facade is published as
...sort-seq-analysis.block. changeset version fails hard on a name it
cannot resolve, so CI never reached the build.

Also drops the .ui and .workflow entries. Neither was touched by the
migration, and .ui already gets a patch through its dependency on .model.
The previous commit rewrote the changeset to fix the facade package name
and reverted the levels to minor along with it. Patch is what was chosen.
@mzueva
mzueva merged commit a519254 into main Aug 31, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant