MILAB-6497: enroll rarefaction on structurer software-build#33
Open
vadimpiven wants to merge 1 commit into
Open
MILAB-6497: enroll rarefaction on structurer software-build#33vadimpiven wants to merge 1 commit into
vadimpiven wants to merge 1 commit into
Conversation
|
Warning Gemini encountered an error creating the review. You can try again by commenting |
Comment on lines
+15
to
+17
| "env": [ | ||
| "PL_PKG_DEV", | ||
| "PL_DOCKER_REGISTRY_PUSH_TO", |
There was a problem hiding this comment.
The
PL_PKG_DEV entry in build.env is no longer set by any root script after the migration to PL_BUILD_* env vars (the build:dev script that set it was removed from package.json). Keeping it in the cache-key env list unnecessarily widens the cache invalidation surface. If no individual sub-package still reads PL_PKG_DEV, it should be removed.
Suggested change
| "env": [ | |
| "PL_PKG_DEV", | |
| "PL_DOCKER_REGISTRY_PUSH_TO", | |
| "env": [ | |
| "PL_DOCKER_REGISTRY_PUSH_TO", |
Prompt To Fix With AI
This is a comment left during a code review.
Path: turbo.json
Line: 15-17
Comment:
The `PL_PKG_DEV` entry in `build.env` is no longer set by any root script after the migration to `PL_BUILD_*` env vars (the `build:dev` script that set it was removed from `package.json`). Keeping it in the cache-key env list unnecessarily widens the cache invalidation surface. If no individual sub-package still reads `PL_PKG_DEV`, it should be removed.
```suggestion
"env": [
"PL_DOCKER_REGISTRY_PUSH_TO",
```
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!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enrolls rarefaction onto the structurer's software-build path (
block-tools structure refresh --software-build), so its software builds viablock-tools software buildand the block gains the channel/locationbuild:*script set.What changed
.structure→softwareBuild: truemarker.build:dev-local/build:dev-remote/build:dev-no-software/build:dev-binary-existing/build:release, andteston the dev-binary-local selector (legacybuild:devremoved).software/leaf →build/prepublishOnly=block-tools software build; turbobuild.envgainsPL_BUILD_*.block/layout brought to current canonical (block/src/…,block/tsconfig.json, facade), which required SDK bumps:@milaboratories/ts-configs 1.2.3 → 1.3.0,@milaboratories/ts-builder 1.5.2 → 1.6.0(both released).Verified
build:dev-remoteis green (10/10 tasks). Software built (polars+numpy), pushed to the dev ECR + midev, descriptorisDev / midev / content-addressed, and downloadable frombin-dev.pl-open.science(HTTP 200). Block-pack assembles.Blocked before this can go green in CI / merge
block-toolswith thesoftware buildcommand must be published and the catalog entry bumped — this block now callsblock-tools software build, which the current published@platforma-sdk/block-tools(catalog) does not have, so CIbuildwill fail until then.Local
pnpm.overrides(used to test against the unreleased block-tools / package-builder-lib) are intentionally not included.Greptile Summary
This PR enrolls the rarefaction block onto the structurer's
software-buildpath by addingsoftwareBuild: trueto.structureand wiring up all the corresponding infrastructure. The block package is migrated from a flat CJS facade to a proper ESM TypeScript facade (block/src/) built byts-builder --target block-facade, with workspace runtime deps correctly moved todevDependenciesand theBlockPointervalue computed viaimport.meta.url.build:devroot script is replaced by the canonical 5-script scenario set (build:dev-local,build:dev-remote,build:dev-no-software,build:dev-binary-existing,build:release), andtest/test:dry-runare updated to the newPL_BUILD_*env var convention. Turbo'sbuild.envgains the new variables accordingly.@milaboratories/ts-builder1.5.2 → 1.6.0 and@milaboratories/ts-configs1.2.3 → 1.3.0 across all sub-packages;modelgainsprivate: true; CI workflow corrects the Turborepo S3 secret name and enables the test job.block-tools software buildis not yet in the published@platforma-sdk/block-tools, so the CIbuildstep will fail until that command ships and the catalog entry is bumped (documented in the PR description).Touched terms:
softwareBuild(booleanin.structure) — new flag that tellsblock-tools structure refreshto include the block in the software-build pipeline, enablingbuild:*channel scripts and thesoftware/build path.BlockContract(type inblock/src/index.ts) — aggregate type capturing a block'soutputs,data, andhrefshapes, inferred from theplatformamodel definition viaInferOutputsType/InferDataType/InferHrefType.BlockPointer(const inblock/src/index.ts) — runtime value of typefrom-pack-v2that exposes the package root URL andblock-pack/URL derived fromimport.meta.url, replacing the old__dirname-based CJS object.PL_BUILD_CHANNEL/PL_BUILD_VARIANT/PL_BUILD_LOCATION(env vars inpackage.jsonandturbo.json) — new trio that replacesPL_PKG_DEV; controls which software artifact tier (dev/release), which variant (all/binary/none), and where to push (local/remote).block-facade(ts-builder target inblock/package.json) — build target that compilesblock/src/index.tsinto a minimal, dependency-free ESM facade with accompanying.d.tsdeclarations.from-pack-v2(type literal inBlockPointer) — block pointer protocol version used by the Platform runtime to locate and load a block-pack directory from a URL.Confidence Score: 4/5
Safe to merge once
block-tools software buildis published and the catalog entry is bumped; the current state will produce a CI build failure on the software step.The structural changes are mechanical and well-understood (structurer enrollment pattern). The block facade migration is clean — BlockPointer correctly uses import.meta.url, runtime deps are properly in devDependencies, and the 2-level directory assumption is documented and owned by the structurer. Two minor cleanup items exist in turbo.json (stale PL_PKG_DEV in build.env, unused build:dev task), but neither affects correctness. The known pre-merge blocker is explicitly called out in the PR description.
turbo.json has a stale PL_PKG_DEV env entry and a build:dev task no longer driven by any root script — worth cleaning up before or shortly after merge.
Important Files Changed
softwareBuild: trueto enroll the block in the structurer's software-build path; minimal one-field change.prepublishOnlyno longer callsblock-tools packexplicitly, relying onbuildhaving been run first.block-tools software build, and block-tools as devDependency, enabling the software-build pipeline.private: true— consistent with the new architecture where only the block facade package is published.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A["pnpm build:dev-remote / build:release"] --> B["turbo run build"] B --> C1["model: ts-builder build"] B --> C2["ui: ts-builder build"] B --> C3["workflow: tengo-builder build"] B --> C4["software: block-tools software build"] B --> C5["block: ts-builder --target block-facade + block-tools pack"] C1 --> C5 C2 --> C5 C3 --> C5 C4 --> C5 C5 --> D["block-pack/"] C5 --> E["dist/index.js (BlockPointer via import.meta.url)"] D --> F["block-tools publish"] E --> F%%{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-remote / build:release"] --> B["turbo run build"] B --> C1["model: ts-builder build"] B --> C2["ui: ts-builder build"] B --> C3["workflow: tengo-builder build"] B --> C4["software: block-tools software build"] B --> C5["block: ts-builder --target block-facade + block-tools pack"] C1 --> C5 C2 --> C5 C3 --> C5 C4 --> C5 C5 --> D["block-pack/"] C5 --> E["dist/index.js (BlockPointer via import.meta.url)"] D --> F["block-tools publish"] E --> FPrompt To Fix All With AI
Reviews (1): Last reviewed commit: "MILAB-6497: enroll rarefaction on struct..." | Re-trigger Greptile
Context used: