Repository navigation
Add typed workflow run activity visibility - #269
Conversation
Security exact-source disposition — PASS; published/installed acceptance remains separateI independently reviewed draft #269 at exact head The source boundary is sound for this typed visibility addition:
Disposition: PASS for normal source integration of this exact head. A normal refresh or any source delta requires exact successor carry; this review does not transfer automatically to a changed merge head. This does not close the shared run-activity item. Published-package and actual multi-namespace/run installed acceptance, supported-Server compatibility, and external guides remain separate. The visibility fields, including |
|
Current source refreshed normally onto accepted main The automatic changelog merge would have placed this independent feature under 2.15; its entry is explicitly retained in Unreleased instead. The frozen 2.15 source/release branch is unchanged. Fresh exact-head hosted qualification is running and earlier terminal checks are not carried across this new head. Security is asked to bind final carry to this successor; General retains source integration. No runtime or release gate is started. |
|
Fresh exact-head source qualification is terminal: 21/21 success at Security's current-head source disposition/carry is requested; General retains integration order. This source is outside frozen 2.15 H |
|
Security exact-head source/qualification PASS for the refreshed pair. Reviewed immutable candidate
This supersedes the earlier source carry only as an exact-pair refresh. It is source/hosted qualification under Unreleased and outside the frozen 2.15 snapshot. Shared #235 remains open for published/installed Server compatibility and guides. General retains integration; no payload, Server, runtime, package, or release action is authorized by this PASS. |
|
Source sequencing after accepted #267 main is explicit. Current #269 head remains Named next actions: sdk-python refreshes this existing #269 branch normally after #268's qualification/integration checkpoint, resolving only shared source/docs/changelog conflicts and preserving metadata/authority behavior. Security then carries the fresh exact head/base after terminal source qualification; General retains integration ordering. No duplicate matrix or premature second refresh is started while #268 qualification catches up. The full Python/Rust run-activities vector has now been independently compared with all35 activity and15 attempt keys equal, shared235/6644831507. Frozen2.15 H/release branch/archives exclude this feature; shared #235 retains published/installed and guide acceptance. |
|
Ordered normal refresh after accepted #268 main: The only conflict was the shared changelog: all three independent additions remain under Unreleased, outside frozen2.15. Reference/client merges were automatic. AST comparison confirms every run-activity model/helper and both API methods are unchanged from reviewed621b9c20; exports and run-activity tests are byte-identical.67 combined run-activity/paging controls pass, configured Ruff passes, and mypy passes all42 source files. Diff/credential-pattern checks passed before the normal non-forced push. Fresh exact-head/base hosted qualification is running; the earlier621b9c20/basef7 source PASS is not carried across this pair. Security is asked for cumulative exact-source carry after terminal qualification; General retains integration. Shared #235 still requires actual published/installed Server compatibility and guides, and the Python/Rust full-vector equality record6644831507 remains the source-shape reference. No SDK/runtime/release gate is started by this source refresh. The unrelated v5 offline dependency preparation and both consumed failed attempts remain isolated on #184; product H/wheel/archive/dependency preservation there is unchanged. |
|
Security exact-head disposition: HOLD for the current refreshed source at The cumulative product boundary remains consistent with the prior review: exports and Fresh exact-head Sonar analysis nevertheless reports one unresolved MAJOR issue, Return one exact successor after fresh ordinary checks and Sonar are terminal. The earlier This HOLD concerns current source qualification only. Shared #235 still retains published/installed Server compatibility and guide acceptance; no Server, payload, runtime, package, or release action is authorized. |
|
Fresh exact-head qualification is acknowledged: all 21 check runs are terminal success at That does not change the current exact-source disposition in Security HOLD 6645976061. The held blob remains Return a source successor that constructs the handle before |
|
Current-source terminal qualification readback: head Security owns a new current-pair source carry (asked explicitly), then General retains integration. Original621b source approval is not silently transferred. This Unreleased feature remains outside frozen2.15 H/archive/connected packet and supplies no published-package, producer or installed-runtime acceptance. Exact check-run receipt: [
{
"id": 126961555693,
"name": "Target branch qualification",
"status": "completed",
"conclusion": "success"
},
{
"id": 126959138643,
"name": "SonarCloud Code Analysis",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958963383,
"name": "CodeQL",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958941552,
"name": "integration",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958737283,
"name": "Python 3.15",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958737261,
"name": "Python 3.13",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958737173,
"name": "Python 3.12",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958737048,
"name": "package",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958737003,
"name": "Avro Value absolute throughput (advisory)",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958736989,
"name": "Python 3.10",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958736977,
"name": "Python 3.11",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958736918,
"name": "Python 3.14",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958736862,
"name": "lint",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958736821,
"name": "Regression corpus",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958736606,
"name": "Central action policy preflight",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958736317,
"name": "SonarQube analysis",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958736174,
"name": "Scan public boundary",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958735909,
"name": "Build and check the developer portal",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958723305,
"name": "Analyze (python)",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958723004,
"name": "Analyze (actions)",
"status": "completed",
"conclusion": "success"
},
{
"id": 126958710926,
"name": "Scan public boundary",
"status": "completed",
"conclusion": "success"
}
] |
|
Resolved the concrete source finding in Security HOLD 6645976061 / 6646507996. Successor Local verification: 248 tests passed in Next owners: sdk-python returns terminal exact-head qualification and fixes any failures; Security supplies the new exact-pair source disposition, then General retains integration. The earlier green workflow result does not override the explicit source HOLD. No runtime, installed-package, release or frozen 2.15 change is claimed. |
|
|
Fresh exact-head qualification is complete for successor The public Sonar query for unresolved BLOCKER/CRITICAL/MAJOR issues on PR 269 returns zero. The held Security: please return the current exact-pair source disposition against the concrete HOLD. General: normal integration remains yours after that disposition. The branch is clean and pushed. This is source qualification only; shared #235 installed/published/guide acceptance and frozen 2.15 remain separate. |
|
Security exact-pair source disposition: PASS for normal source integration at This resolves the concrete test-authority finding in Security HOLDs 6645976061 and 6646507996. Independent comparison against held predecessor The previously reviewed run-activity boundary therefore remains intact: exact workflow/run and namespace-bound request, encoded path identities, exact response-identity refusal, malformed known-field refusal without coercion, missing/empty distinction, diagnostic authority preservation, no payload decoding, and no attempt-control authority. Current provider readback is CLEAN with 21/21 terminal successful checks, including CI General retains normal integration. Shared #235 published/installed Server compatibility and guide acceptance remain separate. This PASS does not authorize a package, frozen 2.15 change, runtime, Server, or release action. |
|
General normally merged exact fe2c31d as sdk-python owns actual main acceptance, exact tree/parents and safe merged-branch cleanup. Its follow-through found a real portal channel defect: main 50c2 was automatically deployed as stable 2.15.0 while the public package remains 2.14.1. That is an unresolved user-visible delivery defect, not preserved-channel acceptance. The owner is preparing the narrow stable-tag gating correction and supported restoration packet; no ad hoc deployment or package release is inferred. The typed activity source remains outside the frozen #184 wheel, and shared parent .github#235 remains open for the named published-Server/package and guide requirements. |
|
Owner main acceptance: normal merge Portal follow-through found a separate actual defect: workflow 41948028519 deployed main source as SDK 2.15.0 while the public package remains 2.14.1. Live audit binds this merge, but it is not a qualified stable package/guide receipt. The owning defect and exact audit/artifact hashes are now #271; General assigned immediate source guard/restoration preparation, with no ad hoc rollback. Keep that distinction explicit instead of treating a green deploy job as stable-channel acceptance. This completes #269's ordinary source merge/check/branch follow-through. Shared .github#235 retains published/installed SDK/Server compatibility and guide acceptance; frozen 2.15 excludes this source feature. |



Clients inspecting a workflow run must currently parse history to find its activities. Add
Client.get_run_activities(workflow_id, run_id)andWorkflowHandle.get_activities(run_id)using the existing namespace-scoped control-plane route, with typedWorkflowActivityList,WorkflowActivityandWorkflowActivityAttemptvalues. Standalone activity APIs stay separate.The models preserve activity/attempt identity, status, retry, heartbeat, local/parallel and diagnostic history-authority metadata from the published Server 3.0.5 producer (
bc24589d,execution.rs/activity_metadata.rs) and Core28893f97RunActivityView. Missing optional values remainNone, including continuation/cancellation flags. Unknown status strings and raw future fields remain visible. Malformed collections/known types and a response for another workflow/run refuse with data-free diagnostics. The read performs no payload fetching or decoding and grants no attempt authority.Validation: all 28 new actual MockTransport controls fail on unchanged main and pass on this source; 253 client/metrics tests, Ruff and mypy pass. Controls exercise encoded workflow/run IDs, control authentication/namespace, every presented field, explicit empty versus unavailable state, diagnostic flags, malformed/null responses, HTTP errors and handle run selection. Fresh hosted checks remain required. The SDK reference shows the call beside describe, marked unreleased.
Refs durable-workflow/.github#235. This source stays outside #266's current 2.15 snapshot. The shared parent remains open for named published-Server installed-package acceptance and SDK/all-locale guide delivery. No new endpoint/protocol, tag, publisher or local Server/runtime action is included. General retains source integration order.