Repository navigation
Conversation
- pl-client: tx.status(rid) with create() and setData(), sent only when the backend advertises statusApi:v1 - pl-middle-layer: heavy block renders get a root status context with name, block-pack and block-id - plapi protos: StatusAPI messages and parent fields on creates
🦋 Changeset detectedLatest commit: 49f8c6e The changes in this PR will be included in the next version bump. This PR includes changesets to release 10 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Codecov Report❌ Patch coverage is ❌ Your patch check has failed because the patch coverage (33.33%) is below the target coverage (50.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #1893 +/- ##
==========================================
- Coverage 57.34% 57.28% -0.07%
==========================================
Files 446 446
Lines 23309 23330 +21
Branches 5254 5258 +4
==========================================
- Hits 13367 13365 -2
- Misses 8402 8418 +16
- Partials 1540 1547 +7 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The render is collected once its outputs resolve, and its status context with it. prodStatus/stagingStatus reference the render's status field, so the project keeps the context for the current render.
CI runs pl main, which does not advertise the capability. There the test now checks that the status calls send nothing and the commit succeeds.
xnacly
marked this pull request as ready for review
October 8, 2026 10:53
The context stays readable through prodStatus after the render is collected, a re-render replaces it, and stopping production removes the reference. Without statusApi:v1 there is no prodStatus field.
xnacly
added this pull request to stack #1896
October 9, 2026 15:03
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.
tx.status(rid)withcreate()andsetData()in pl-client, only sent when the backend advertisesstatusApi:v1name,block-packandblock-idprodStatus/stagingStatusproject fields reference the render'sstatusfield, so the context outlives the render (renders are garbage collected once their outputs resolve)The PR appears safe to merge, with non-blocking feedback to test saved status after render collection and cleanup.
Fix with agent prompt
Summary
Adds status contexts for heavy block renders when the backend advertises
statusApi:v1.prodStatusandstagingStatus, with cleanup on reset and stop.Important touched terms:
StatusContextHandle: A transaction handle for a render's status context. New methodscreate()andsetData()queue writes; unsupported backends receive nothing.BlockStatusData: New metadata type containing the block's display name, serialized block-pack source, and block ID.ProjectField: Identifies a block field in a project. AddsprodStatusandstagingStatus, and recognizes both when parsing saved field names.BackendCapability: Lists supported backend features. AddsstatusApi:v1.PlTransaction: Groups reads and writes into one transaction. AddsstatusApiEnabledandstatus().StatusAPI: New protocol messages for creating contexts, setting data, recording transitions, and setting attributes. This PR exposes creation and data writes through the client handle.Diagram
%%{init: {'theme': 'neutral'}}%% flowchart TD A[Create heavy render] --> B{Backend supports status API?} B -- No --> C[Return existing outputs] B -- Yes --> D[Create status context] D --> E[Write block name, pack source, and ID] E --> F[Save context reference in project] F --> G[Context remains after render finishes] F --> H[Reset or stop removes saved reference]Reviews (1) · Last reviewed commit: "MILAB-6922: gate the status context test..." · Reviewed by Greptile