Skip to content

MILAB-6382: update from boilerplate - #4

Merged
blackcat merged 2 commits into
mainfrom
MILAB-6382-extend-gpu-support
Jun 18, 2026
Merged

MILAB-6382: update from boilerplate#4
blackcat merged 2 commits into
mainfrom
MILAB-6382-extend-gpu-support

Conversation

@blackcat

@blackcat blackcat commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR synchronises the gpu-test block with the latest boilerplate, replacing ESLint with oxlint/oxfmt, switching TypeScript and @types/node to peerDependencies, adding fmt/check/mark-stable scripts, wiring a new check step into the Turbo build pipeline, and removing the loadBlockDescription helper from the block package. It also introduces vitest testing for the workflow package and adds @platforma-sdk/test to the catalog.

  • Local file override committed by mistake: package.json and pnpm-lock.yaml both hard-code an override for @platforma-sdk/block-tools pointing to file:///Users/pvyazankin/…/package.tgz. This breaks pnpm install for all other contributors and CI.
  • Catalog vs. override mismatch: pnpm-workspace.yaml still declares @platforma-sdk/block-tools: 2.10.6 while the lockfile resolves it to 2.10.17 via the local override; these should be reconciled once the override is removed.
  • --env-mode=loose dropped from the test script: The root test command no longer forwards the full environment to Turbo; any test relying on env vars not listed in the workflow task's passThroughEnv will silently lose access to them.

Confidence Score: 2/5

Not safe to merge in its current state — the committed local file override will break pnpm install for any machine that isn't the author's.

The root package.json and the lockfile both reference a .tgz on a single developer's machine. Every CI run and every other contributor's fresh install will fail at dependency resolution before a single line of application code is reached. Additionally the catalog version for block-tools is stale relative to what the lockfile actually installs, and removing --env-mode=loose from the test command may quietly starve integration tests of expected environment variables.

package.json and pnpm-lock.yaml — the local-path override must be removed and replaced with a published version before this branch can be merged.

Important Files Changed

Filename Overview
package.json Adds fmt/check/mark-stable/update scripts and new devDependencies, but introduces a developer-local pnpm override for @platforma-sdk/block-tools that will break installs on all other machines and CI.
pnpm-lock.yaml Lockfile encodes a file:// override pointing to /Users/pvyazankin/…/block-tools/package.tgz; every importer entry for block-tools resolves to this local path, making the lockfile non-reproducible outside the author's machine.
pnpm-workspace.yaml Adds @platforma-sdk/test to the shared catalog; block-tools catalog entry (2.10.6) is inconsistent with the override in package.json and lockfile (2.10.17).
turbo.json Adds fmt/check tasks and wires check as a build prerequisite; removes explicit lint task definition (turbo still runs it via per-package scripts, just without caching/ordering config).
block/index.js Removes loadBlockDescription helper and its @platforma-sdk/block-tools import; only blockSpec is now exported.
block/package.json Adds files array, shx devDependency, and packageManager field; alphabetically reorders dependencies.
model/package.json Adds fmt/check scripts, promotes typescript and @types/node to peerDependencies, and reorders exports fields.
workflow/package.json Adds @platforma-sdk/test, shx, and vitest as devDependencies to support workflow testing.
ui/package.json Adds fmt/check scripts and promotes typescript to peerDependencies, mirroring the model package changes.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[pnpm install] -->|reads overrides| B{block-tools override}
    B -->|file:///Users/pvyazankin/...| C[❌ File not found on CI / other dev machines]
    B -->|published catalog 2.10.6| D[✅ Resolves correctly]

    subgraph Turbo pipeline updated
        E[fmt] -->|cache: false| F[format sources]
        G[check] -->|dependsOn: ^build| H[ts-builder check]
        H --> I[build]
        I --> J[do-pack / test / mark-stable]
    end

    subgraph block package
        K[block/index.js before] -->|exports loadBlockDescription + blockSpec| L[consumers]
        M[block/index.js after] -->|exports blockSpec only| L
    end

    subgraph Linting toolchain
        N[ESLint + eslint.config.mjs removed] -->|replaced by| O[oxlint + .oxlintrc.json]
        P[prettier removed] -->|replaced by| Q[oxfmt + .oxfmtrc.json]
    end
Loading
%%{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 install] -->|reads overrides| B{block-tools override}
    B -->|file:///Users/pvyazankin/...| C[❌ File not found on CI / other dev machines]
    B -->|published catalog 2.10.6| D[✅ Resolves correctly]

    subgraph Turbo pipeline updated
        E[fmt] -->|cache: false| F[format sources]
        G[check] -->|dependsOn: ^build| H[ts-builder check]
        H --> I[build]
        I --> J[do-pack / test / mark-stable]
    end

    subgraph block package
        K[block/index.js before] -->|exports loadBlockDescription + blockSpec| L[consumers]
        M[block/index.js after] -->|exports blockSpec only| L
    end

    subgraph Linting toolchain
        N[ESLint + eslint.config.mjs removed] -->|replaced by| O[oxlint + .oxlintrc.json]
        P[prettier removed] -->|replaced by| Q[oxfmt + .oxfmtrc.json]
    end
Loading

Fix All in Claude Code

Prompt To Fix All With AI
Fix the following 4 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 4
package.json:33-37
**Developer-local file path in pnpm override**

`@platforma-sdk/block-tools` is overridden to `file:///Users/pvyazankin/mictx5/core/platforma/tools/block-tools/package.tgz` — a path that exists only on the author's machine. Any other contributor or CI runner that runs `pnpm install` will fail immediately with a resolution error because the `.tgz` file won't be present at that absolute path. The same local-path entry also appears in `pnpm-lock.yaml` (under the `overrides:` section and each importer that uses `block-tools`), so even without the `package.json` override the lockfile will force the broken resolution.

### Issue 2 of 4
pnpm-lock.yaml:316-318
**Lockfile encodes the developer-local block-tools override**

This `overrides:` section — and all importer entries that resolve `@platforma-sdk/block-tools` to `file:../../core/platforma/tools/block-tools/package.tgz` — mirrors the local path baked into `package.json`. It means `pnpm install` will fail for everyone else on the project. Both the override in `package.json` and this lockfile entry need to be removed or replaced with a published version before this branch can be used by CI or other contributors.

### Issue 3 of 4
pnpm-workspace.yaml:17
**Catalog version inconsistent with override**

The catalog still pins `@platforma-sdk/block-tools` to `2.10.6`, but the pnpm override in the root `package.json` silently replaces it with a local `.tgz` path. Consumers of the catalog entry will get the local file instead of the stated version, which is misleading and breaks repeatability. Once the local override is removed the catalog version should be updated to the intended published release (the lockfile references `2.10.17`).

### Issue 4 of 4
package.json:8
**`--env-mode=loose` removed from root test script**

The previous command was `turbo run test --concurrency 1 --env-mode=loose`. Turbo's default strict env-mode only passes the variables explicitly listed in each task's `passThroughEnv`; `loose` forwarded the full environment. The workflow `test` task in `turbo.json` lists `PL_ADDRESS`, `PL_TEST_PASSWORD`, `PL_TEST_USER`, `PL_TEST_PROXY`, and `DEBUG`, but any other env var that integration tests currently depend on will silently be unavailable after this change. Verify that no active test relies on variables outside that explicit list.

Reviews (1): Last reviewed commit: "MILAB-6382: update from boilerplate" | Re-trigger Greptile

Greptile also left 2 inline comments on this PR.

Comment thread package.json
Comment on lines +33 to 37
"pnpm": {
"overrides": {
"@platforma-sdk/block-tools": "file:///Users/pvyazankin/mictx5/core/platforma/tools/block-tools/package.tgz"
}
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P0 Developer-local file path in pnpm override

@platforma-sdk/block-tools is overridden to file:///Users/pvyazankin/mictx5/core/platforma/tools/block-tools/package.tgz — a path that exists only on the author's machine. Any other contributor or CI runner that runs pnpm install will fail immediately with a resolution error because the .tgz file won't be present at that absolute path. The same local-path entry also appears in pnpm-lock.yaml (under the overrides: section and each importer that uses block-tools), so even without the package.json override the lockfile will force the broken resolution.

Prompt To Fix With AI
This is a comment left during a code review.
Path: package.json
Line: 33-37

Comment:
**Developer-local file path in pnpm override**

`@platforma-sdk/block-tools` is overridden to `file:///Users/pvyazankin/mictx5/core/platforma/tools/block-tools/package.tgz` — a path that exists only on the author's machine. Any other contributor or CI runner that runs `pnpm install` will fail immediately with a resolution error because the `.tgz` file won't be present at that absolute path. The same local-path entry also appears in `pnpm-lock.yaml` (under the `overrides:` section and each importer that uses `block-tools`), so even without the `package.json` override the lockfile will force the broken resolution.

How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

Comment thread package.json
"lint": "turbo run lint",
"type-check": "turbo run type-check",
"test": "env PL_PKG_DEV=local turbo run test --concurrency 1 --env-mode=loose",
"test": "env PL_PKG_DEV=local turbo run test --concurrency 1",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 --env-mode=loose removed from root test script

The previous command was turbo run test --concurrency 1 --env-mode=loose. Turbo's default strict env-mode only passes the variables explicitly listed in each task's passThroughEnv; loose forwarded the full environment. The workflow test task in turbo.json lists PL_ADDRESS, PL_TEST_PASSWORD, PL_TEST_USER, PL_TEST_PROXY, and DEBUG, but any other env var that integration tests currently depend on will silently be unavailable after this change. Verify that no active test relies on variables outside that explicit list.

Prompt To Fix With AI
This is a comment left during a code review.
Path: package.json
Line: 8

Comment:
**`--env-mode=loose` removed from root test script**

The previous command was `turbo run test --concurrency 1 --env-mode=loose`. Turbo's default strict env-mode only passes the variables explicitly listed in each task's `passThroughEnv`; `loose` forwarded the full environment. The workflow `test` task in `turbo.json` lists `PL_ADDRESS`, `PL_TEST_PASSWORD`, `PL_TEST_USER`, `PL_TEST_PROXY`, and `DEBUG`, but any other env var that integration tests currently depend on will silently be unavailable after this change. Verify that no active test relies on variables outside that explicit list.

How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request standardizes the project structure and build configurations across packages, introducing oxlint/oxfmt configurations, updating Turbo tasks, and adding formatting scripts. A critical issue was identified in the root package.json, where a hardcoded local file path was added to the pnpm overrides, which will break the build process in other environments.

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.

Comment thread package.json
Comment on lines +33 to 37
"pnpm": {
"overrides": {
"@platforma-sdk/block-tools": "file:///Users/pvyazankin/mictx5/core/platforma/tools/block-tools/package.tgz"
}
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

critical

The pnpm.overrides section contains a hardcoded local file path (file:///Users/pvyazankin/...) for @platforma-sdk/block-tools. This will break the installation and build process for other developers and CI/CD environments. Please remove this local override before merging.

  "pnpm": {
    "overrides": {}
  }

@blackcat
blackcat merged commit a695378 into main Jun 18, 2026
8 of 11 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.

2 participants