Migrate immune-assay-data onto the structurer + SDK upgrade#52
Conversation
…grade Adopt the tool-managed block layout (oxlint/oxfmt, ts-builder, regenerated tsconfig/turbo/index/package.json across model, ui, workflow, block and all 9 software packages) and bump the SDK to latest: model/ui-vue 1.79.14, workflow-tengo 6.6.3, tengo-builder 4.0.8, block-tools 2.11.0. The block is already on BlockModelV3 and tengo-builder 4, so no model migration was needed — this is layout/tooling + SDK-version only. Remove orphaned test scaffolding: the structurer drops vitest from ui devDeps (canonical structured blocks centralize tests in a test/ package), leaving ui's 'test': 'vitest' script and the model/ui vitest.config.mts files dangling — the block has zero test files. Drop the dead script and configs. CI workflows left unchanged from main (structurer drift — test:false->true, a turborepo S3 bucket secret rename, Slack reordering — is unrelated).
There was a problem hiding this comment.
Code Review
This pull request migrates the repository to the block-tools structurer, standardizing the project layout with oxlint, oxfmt, and ts-builder, and updates the SDK packages to their latest versions. Additionally, it formats the codebase to use double quotes and introduces cross-platform scripts using shx. Feedback is provided to update the do-pack script in workflow/package.json to use shx as well, ensuring consistent cross-platform compatibility.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| "do-pack": "rm -f *.tgz && pnpm pack && mv *.tgz package.tgz" | ||
| "build": "shx rm -rf dist && pl-tengo build", | ||
| "format": "/usr/bin/env emacs --script ./format.el || echo 'No emacs.'", | ||
| "do-pack": "rm -f *.tgz && pnpm pack && mv *.tgz package.tgz", |
There was a problem hiding this comment.
The do-pack script still uses the platform-specific rm and mv commands. Since shx has been added to the devDependencies of this package (and is used in the build script), please update do-pack to use shx rm and shx mv to ensure cross-platform compatibility (e.g., on Windows).
| "do-pack": "rm -f *.tgz && pnpm pack && mv *.tgz package.tgz", | |
| "do-pack": "shx rm -f *.tgz && pnpm pack && shx mv *.tgz package.tgz", |
| "@platforma-sdk/blocks-deps-updater": 2.2.0 | ||
|
|
||
| # Common dependencies - can use ^ or ~ |
There was a problem hiding this comment.
The
@platforma-sdk/blocks-deps-updater catalog entry is now orphaned — its only consumer ("@platforma-sdk/blocks-deps-updater": "catalog:" in root devDependencies) was removed in this PR and replaced by block-tools structure refresh --update-deps-only. The entry is harmless but will accumulate drift as the real package continues to version independently.
| "@platforma-sdk/blocks-deps-updater": 2.2.0 | |
| # Common dependencies - can use ^ or ~ | |
| # Common dependencies - can use ^ or ~ |
Prompt To Fix With AI
This is a comment left during a code review.
Path: pnpm-workspace.yaml
Line: 31-33
Comment:
The `@platforma-sdk/blocks-deps-updater` catalog entry is now orphaned — its only consumer (`"@platforma-sdk/blocks-deps-updater": "catalog:"` in root `devDependencies`) was removed in this PR and replaced by `block-tools structure refresh --update-deps-only`. The entry is harmless but will accumulate drift as the real package continues to version independently.
```suggestion
# Common dependencies - can use ^ or ~
```
How can I resolve this? If you propose a fix, please make it concise.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!
Migrates
immune-assay-dataonto the block-tools structurer and bumps the SDK to latest.Note: this block was already on BlockModelV3 (and already past the tengo-builder 3→4 jump), so there is no model-V3 migration here — only the structurer layout adoption + SDK-version bump.
Commits
chore:structurer refresh + SDK upgrade — tool-managed layout (oxlint/oxfmt, ts-builder, regenerated tsconfig/turbo/index/package.jsonacross model, ui, workflow, block, and all 9 software packages). SDK → model/ui-vue1.79.14, workflow-tengo6.6.3, tengo-builder4.0.8, block-tools2.11.0. Also removes orphaned test scaffolding: the structurer dropsvitestfromuidevDeps (canonical structured blocks centralize tests in atest/package), which leftui'stest: "vitest"script and themodel/uivitest.config.mtsfiles dangling — the block has zero test files, so the dead script and configs are removed.chore:changeset — patch on the 12 touched released packages (model, ui, workflow, 9 software); root auto-patches. No block behavior change.Deliberately not adopted
The structurer also rewrote the two CI workflows with changes unrelated to this migration —
test: false→true(the block has no tests), anAWS_CI_TURBOREPO_US_S3_BUCKET→AWS_CI_TURBOREPO_S3_BUCKETsecret rename, and Slack-secret reordering. Both.github/workflows/*.yamlare left identical tomain.Verification
pnpm build:dev+check(tsc + oxlint + oxfmt) +pnpm testall green (turbo 16/16) on the first try — no author-code fixes were required. Changeset validated.Greptile Summary
This PR migrates
immune-assay-dataonto the block-tools structurer layout and bumps all SDK versions (model/ui-vue1.77.17→1.79.14, workflow-tengo6.1.0→6.6.3, tengo-builder4.0.0→4.0.8, block-tools2.10.0→2.11.0). The block was already on BlockModelV3, so no data-model migration is needed — all author-logic files (model/src/,ui/src/) are reformatted only (single→double quotes, import ordering, line-wrapping).eslintreplaced byoxlint/oxfmt(check/fmtscripts),ts-builderreplaces loosetscinvocations, andshxreplacesrm/mvfor cross-platform compat in scripts.blockSpecexport ({ type: "dev-v2", folder: __dirname }) replacing an emptyexport {}, enabling the block to be referenced by its spec.vitestdevDep andvitest.config.mtsfiles formodelanduidropped (the block has no test files), and thetestworkspace package removed frompnpm-workspace.yaml.Confidence Score: 5/5
Safe to merge — all author-logic files are reformatted only, with no changes to block behaviour, data model, or workflow.
Every change in model/src/, ui/src/, and the workflow is a mechanical reformat (single→double quotes, import ordering, attribute line-wrapping). The only structural additions are the blockSpec CJS export in block/index.js (a new required structurer artefact), the check/fmt script split, and the SDK version bumps — all straightforward, tool-managed changes. The one stale catalog entry (blocks-deps-updater) is harmless. The PR description confirms pnpm build:dev, check, and pnpm test all passed green on first try.
No files require special attention. pnpm-workspace.yaml has a single orphaned catalog entry worth cleaning up, but it has no functional impact.
Important Files Changed
testworkspace removed;shxadded;vuepinned exactly;@platforma-sdk/blocks-deps-updatercatalog entry retained but no longer consumed.export {}with a realblockSpecCJS export ({ type: "dev-v2", folder: __dirname }); correctly uses CJS syntax since the package has no"type": "module".shxdevDep, reorders fields to structurer canonical order;buildswitchesrm -rftoshx rm -rffor cross-platform support."module": "dist/index.js"and"main": "dist/index.cjs"for dual CJS/ESM; exports wildcard./dist/*; removes vitest and eslint-config devDeps; replaceslintwithfmt/checkscripts.vitestdevDep andtest: "vitest"script (no test files exist); addsdevandcheck/fmtscripts; replaceslintscript; addspeerDependencies.lint/type-checktasks withfmt/check;buildnow depends oncheck(same-package lint+typecheck before compile); addsbuild:devtask.check(pl-tengo check) frombuild; adds@platforma-sdk/testandshxdevDeps; adds graceful emacs fallback; SDK bump to workflow-tengo 6.6.3.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[pnpm build:dev\nturbo run build] --> B{turbo tasks} B --> C[check\ndependsOn: deps build] C --> C1[ts-builder check\noxlint + tsc] B --> D[build\ndependsOn: check + deps build] D --> D1[model: ts-builder build\n+ block-tools build-model] D --> D2[ui: ts-builder build] D --> D3[workflow: pl-tengo build] D --> D4[block: block-tools pack] D --> D5[software: pl-pkg-builder pack] C --> D D1 --> D4 D2 --> D4 D3 --> D4 subgraph block/index.js E[blockSpec = type dev-v2 + folder __dirname] end D4 --> E%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% flowchart TD A[pnpm build:dev\nturbo run build] --> B{turbo tasks} B --> C[check\ndependsOn: deps build] C --> C1[ts-builder check\noxlint + tsc] B --> D[build\ndependsOn: check + deps build] D --> D1[model: ts-builder build\n+ block-tools build-model] D --> D2[ui: ts-builder build] D --> D3[workflow: pl-tengo build] D --> D4[block: block-tools pack] D --> D5[software: pl-pkg-builder pack] C --> D D1 --> D4 D2 --> D4 D3 --> D4 subgraph block/index.js E[blockSpec = type dev-v2 + folder __dirname] end D4 --> EPrompt To Fix All With AI
Reviews (1): Last reviewed commit: "chore: add changeset for structurer migr..." | Re-trigger Greptile
Context used: