Migrate rarefaction onto the structurer + SDK upgrade#32
Conversation
Adopt the tool-managed block layout (oxlint/oxfmt, ts-builder, regenerated configs across model, ui, workflow, block, software, test) and the full SDK upgrade to latest (model/ui-vue, workflow-tengo, tengo-builder 3->4, block-tools). The block is already on BlockModelV3, so no model migration was needed — this is layout/tooling + SDK-version only. Remove dead test scaffolding: the empty placeholder test/src/wf.test.ts (oxlint no-empty-file) and the orphaned model/ui vitest.config.mts (tests live in the test/ package). CI workflows left unchanged from main (unrelated structurer drift).
There was a problem hiding this comment.
Code Review
This pull request migrates the repository to the block-tools structurer, which involves updating configurations for linting and formatting (oxlint/oxfmt), reorganizing package scripts to use ts-builder, and bumping the Platforma SDK packages to their latest versions. Feedback on these changes suggests updating the do-pack script in workflow/package.json to use shx instead of native rm and mv commands to ensure 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.
The structurer shx-ified the build script and added shx as a devDep but left do-pack on bare rm/mv (fails on Windows). Match the build script and the canonical do-pack (shx rm / shx mv).
Migrates
rarefactiononto the block-tools structurer and bumps the SDK to latest.Note: already on BlockModelV3 (
BlockModelV3.create+DataModelBuilder+defineAppV3), so no model-V3 migration — structurer layout adoption + SDK-version bump only.Commits
chore:structurer refresh + SDK upgrade — tool-managed layout (oxlint/oxfmt, ts-builder, regenerated configs across model, ui, workflow, block, software, test). SDK → model/ui-vue1.79.15, workflow-tengo6.6.3, tengo-builder3.0.0→4.0.9(3→4), block-tools2.11.1. Removes the empty placeholdertest/src/wf.test.tsand orphaned model/uivitest.config.mts.chore:changeset — patch on model, ui, workflow, software; root auto-patches. No block behavior change.Graphs/table
Unchanged — keeps the hand-rolled
<GraphMaker>(graph page) andcreatePlDataTableV2table; no plugin.Verification
pnpm build:dev+check+pnpm testall green (turbo 10/10). Changeset validated.CI workflows left identical to
main(unrelated structurer drift).Greptile Summary
This PR migrates the rarefaction block onto the block-tools structurer (tool-managed layout) and bumps the SDK stack to latest. No block logic was changed — all functional code (
BlockModelV3,DataModelBuilder, workflow, UI) is byte-for-byte equivalent after quote-style normalization by oxfmt.eslint-configremoved in favour ofts-builder check;vitest.configfiles regenerated;model/vitest.config.mtsand the empty placeholdertest/src/wf.test.tsdeleted.@platforma-sdk/model/ui-vue/test1.77→1.79.15,workflow-tengo5.25→6.6.3,tengo-builder3.0→4.0.9 (major version),block-tools2.8→2.11.1;block/index.jsnow exports a realblockSpecobject (replacing the empty stub).turbo.jsongainsfmt/checktasks;buildnow declarescheckas a dependency;--env-mode=looseremoved from the roottestscript, tightening env-var passthrough to the explicitpassThroughEnvlist.Confidence Score: 4/5
Safe to merge. All changes are mechanical structurer-layout adoption and SDK version bumps with no block logic altered.
The migration is faithful — every source file change is quote-style normalization or config regeneration, and the functional code paths in the model, UI, and workflow are unchanged. The only non-trivial delta is block/index.js now exporting a real blockSpec and the major-version SDK bumps (tengo-builder 3 to 4, workflow-tengo 5 to 6), which are intentional and confirmed green by CI. The one remaining rough edge is the workflow/package.json do-pack script still using bare rm/mv rather than shx, which is inconsistent with the rest of the migration but does not affect runtime behavior.
workflow/package.json — do-pack script uses bare rm/mv while shx is available.
Important Files Changed
blockSpecobject (type: "dev-v2", folder: __dirname) as CJS instead of the empty ESM stub; matching.d.tsupdated accordingly.modulefield and CJSmainfor dual-build; broadensexports["./dist/*"]wildcard; removes eslint-config/vitest devDeps in favour of ts-builder; typescript/@types/nodemoved to peerDeps.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[pnpm build:dev] --> B[turbo run build] B --> C{per workspace} C --> D[check\nts-builder check] D --> E[build\nts-builder build / pl-tengo build] E --> F[block-tools build-model\nmodel only] G[pnpm check] --> H[turbo run check] H --> D I[pnpm fmt] --> J[turbo run fmt\nts-builder format / oxfmt] K[pnpm test] --> L[turbo run test\n--concurrency 1] L --> M[dependsOn: build + check] M --> N[vitest run --passWithNoTests] style D fill:#f9c,stroke:#c99 style E fill:#9cf,stroke:#99c style N fill:#cfc,stroke:#9c9%%{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] --> B[turbo run build] B --> C{per workspace} C --> D[check\nts-builder check] D --> E[build\nts-builder build / pl-tengo build] E --> F[block-tools build-model\nmodel only] G[pnpm check] --> H[turbo run check] H --> D I[pnpm fmt] --> J[turbo run fmt\nts-builder format / oxfmt] K[pnpm test] --> L[turbo run test\n--concurrency 1] L --> M[dependsOn: build + check] M --> N[vitest run --passWithNoTests] style D fill:#f9c,stroke:#c99 style E fill:#9cf,stroke:#99c style N fill:#cfc,stroke:#9c9Prompt To Fix All With AI
Reviews (1): Last reviewed commit: "chore: add changeset for structurer migr..." | Re-trigger Greptile