Julenmendieta/MILAB-6469_migrateToStructurer#2
Conversation
Full SDK upgrade via block-tools 2.11.0 structure refresh: model/ui-vue/test 1.79.14, workflow-tengo 6.6.3. Adopts the canonical tool-managed layout (tsconfig, oxlint/oxfmt, turbo, block index, CI workflows, upgrade-sdk script); removes legacy .prettierrc and the comment-only placeholder test. pnpm pinned to canonical 9.12.0.
There was a problem hiding this comment.
Code Review
This pull request migrates the block onto the structurer, performing a full SDK upgrade across multiple packages (block, model, software, test, ui, and workflow). It updates configurations for TypeScript, oxlint/oxfmt, and Turbo, and aligns dependency versions. Feedback on these changes highlights two main points: first, when updating the main entry point in model/package.json to support CommonJS, the exports field should also be updated to include the require key; second, the packageManager field should be removed from sub-packages like block/package.json to prevent version conflicts with the root configuration.
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 downgraded the root packageManager to its canonical pnpm@9.12.0 but leaves block/package.json untouched, so its stale pnpm@9.14.4 created a root/sub-package mismatch (Corepack version-mismatch under strict mode). Align to root, matching the samples-and-data canonical layout.
Greptile Summary
This PR migrates the block onto the
structurertoolchain — the canonical layout manager introduced in@platforma-sdk/block-tools2.11.0. It upgrades all platform SDK packages to their latest aligned versions (model/ui-vue/test 1.79.14, workflow-tengo 6.6.3) and adopts the tool-managed configurations for tsconfig, oxlint/oxfmt, Turborepo, and CI.blockSpec(new): The canonical block entry-point object exported fromblock/index.js/block/index.d.ts. Containstype: "dev-v2"andfolder: __dirname, replacing the oldTemplatesexport pattern fromworkflow/index.js.Templates(removed): The previous workflow template descriptor ({ type: "from-file", path }) exported byworkflow/index.js. Removed entirely; the workflow template path is now referenced directly inblock/package.json'scomponents.workflowfield.structurer: The new tool surface (block-tools structure refresh) that manages the repo's canonical layout — tsconfig presets, linting configs, turbo task graph, and CI workflow files. Its presence is declared via the new.structurefile.WorkflowStats(unchanged): The model type imported inReportTable.vuerepresenting per-scope embedding counts (max_length,scopes[]). Not modified by this PR; included only because the model package version changed.passThroughEnv(turbo.json): The Turborepo mechanism that forwards specific environment variables to task processes without affecting the cache hash. The test task now explicitly listsPL_ADDRESS,PL_TEST_*, andDEBUG, replacing the previous--env-mode=looseflag that passed all env vars.Confidence Score: 4/5
Straightforward toolchain migration with no changes to application logic; safe to merge after verifying the pnpm version alignment and registry availability.
All application logic (model types, Vue components, Tengo workflow) is untouched. The changes are config, tooling, and dependency upgrades. Two observations worth resolving before merging: the root packageManager was downgraded to pnpm@9.12.0 while block/package.json remains at 9.14.4, which can cause Corepack enforcement conflicts; and the GitHub Packages registry entry was removed, so CI builds depend on every @milaboratories/* package being available on npmjs.org.
.github/workflows/build.yaml (registry change), package.json (pnpm version)
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD subgraph root["Workspace root"] PJ["package.json\n(pnpm@9.12.0)"] TJ["turbo.json"] ST[".structure\n{version:1}"] end subgraph block["block/"] BI["index.js\nblockSpec { type:'dev-v2', folder:__dirname }"] BPJ["package.json\n(pnpm@9.14.4 ⚠)"] end subgraph model["model/"] MPKG["package.json\nmain: dist/index.cjs\nmodule: dist/index.js"] MTSC["tsconfig.json\nextends ts-configs/block/model"] end subgraph ui["ui/"] UPKG["package.json"] UTSC["tsconfig.json\nextends ts-configs/block/ui"] end subgraph workflow["workflow/"] WPKG["package.json"] WDIST["dist/tengo/tpl/main.plj.gz\n(built artifact)"] end subgraph test["test/"] TPKG["package.json\nvitest run --passWithNoTests"] end ST -->|"structurer manages configs"| model ST -->|"structurer manages configs"| ui ST -->|"structurer manages configs"| test BI -->|"folder = block dir"| BPJ BPJ -->|"components.workflow"| WDIST BPJ -->|"depends on"| MPKG BPJ -->|"depends on"| UPKG BPJ -->|"depends on"| WPKG WDIST -->|"built by"| WPKG TPKG -->|"this-block ref"| BPJ%%{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 subgraph root["Workspace root"] PJ["package.json\n(pnpm@9.12.0)"] TJ["turbo.json"] ST[".structure\n{version:1}"] end subgraph block["block/"] BI["index.js\nblockSpec { type:'dev-v2', folder:__dirname }"] BPJ["package.json\n(pnpm@9.14.4 ⚠)"] end subgraph model["model/"] MPKG["package.json\nmain: dist/index.cjs\nmodule: dist/index.js"] MTSC["tsconfig.json\nextends ts-configs/block/model"] end subgraph ui["ui/"] UPKG["package.json"] UTSC["tsconfig.json\nextends ts-configs/block/ui"] end subgraph workflow["workflow/"] WPKG["package.json"] WDIST["dist/tengo/tpl/main.plj.gz\n(built artifact)"] end subgraph test["test/"] TPKG["package.json\nvitest run --passWithNoTests"] end ST -->|"structurer manages configs"| model ST -->|"structurer manages configs"| ui ST -->|"structurer manages configs"| test BI -->|"folder = block dir"| BPJ BPJ -->|"components.workflow"| WDIST BPJ -->|"depends on"| MPKG BPJ -->|"depends on"| UPKG BPJ -->|"depends on"| WPKG WDIST -->|"built by"| WPKG TPKG -->|"this-block ref"| BPJPrompt To Fix All With AI
Reviews (1): Last reviewed commit: "Rename QC column" | Re-trigger Greptile
Context used: