Repository navigation
[Task] Verify imported activity descriptors and serialized workflow compatibility #8313
Description
Activity
PR #8317 adds the reviewed static activity/workflow probe and retained net8/net9/net10 evidence. It compares 118 released descriptors with 127 current descriptors, imports a 114-activity release workflow in first-write and canonical form with actual CLR/ID/version/typed-input checks, and rejects five negative probes per framework. All six hosts build; all 7,694 source/build input hashes remain unchanged.
The overall probe remains nonzero: four GitHub activities have an existing Id collision in both hosts. Nine LDAP/MQTT descriptors have no public NuGet 3.8.4 baseline, and Agents/MassTransit/Orchard/Telnyx generated descriptors still need configuration fixtures. No remote activity executes. This task and the source-import parent remain open; the PR is proposed evidence, not completed delivery.
PR #8322 adds configured descriptors from the real Agents, Orchard, MassTransit and Telnyx providers, stacked on #8317. All three frameworks produced 134/143 released/source descriptors and historical workflow imports containing 130/139 activities; 18 mutated workflows were rejected. The original typed synthetic values are compared before any round-trip can erase them. Five failures remain in each baseline/source host: four GitHub Id-shadow cases plus generated Agent root synthetic-input loss, now tracked by #8320. Each runner exits 1. The PR includes sanitized hash-linked evidence and explicit fixture/live-dispatch limitations; it remains proposed evidence, and #8313 stays open.
Reopening to keep delivery status aligned with the acceptance criteria. PRs #8317 and #8322 delivered the static/generated comparison harness and historical evidence, and #8323 fixed generated root serialization. The current/final-import compatibility matrix has not yet been rerun; four historical GitHub activity ID-shadowing failures still require explicit resolution or migration evidence. The actual history-preserving import has not occurred. These are remaining gates, so merged proof tooling does not complete this task.
- addedenhancementNew feature or requestNew feature or requestprio highIs on the roadmap for the near-futureIs on the roadmap for the near-futureelsa 3This issue is specific to Elsa 3This issue is specific to Elsa 3
on Sep 24, 2026 - added a commit that references this issue
on Sep 27, 2026 #8512 merged into draft import #8409 as
ecd2a77613405efe98a4adb9f9587a8d668c31e7(merge commit). It passed exact-head checks (import-rehearsal-tests, mapped-source-artifact-proof, selector-and-plan, pinned-source-contract) with Greptile 5/5 and resolved threads.GitHub fix (#8325):
- The version-2 activities (
DeleteCommentV2,GetCommentV2,UpdateCommentV2,GetGistV2) and their identity tests are now in the imported source. Before, the fix existed only as a stored patch in Core. - Version-1 classes are unchanged, per the ADR.
- Focused tests: 6/6 reviewed tests plus a new nested-ID regression test, on net10.0.
Compatibility matrix on the actual import, identical on net10.0, net9.0 and net8.0:
- Released 3.8.4 has 134 activity types (118 plain + 16 generated); the imported source has 147.
- The source adds only the 9 approved LDAP/MQTT activities and the 4 maintainer-approved GitHub version-2 contracts. The latter use a separate, versioned matrix entry that approves exactly those four.
- Historical workflows import with IDs and typed inputs preserved.
- Negative probes reject 18/18 mutations.
The four version-1 GitHub identity failures stay failing by maintainer decision, with no allowlist, so the runner exits 1. The ADR and migration utility are the supported path. The generated Agent root failure is fixed in source by #8323.
Remaining:
- verification after the import lands on
main; - generated activities beyond the controlled fixtures;
- provider behaviour, live dispatch and webhooks;
- a production workflow corpus.
No package publication occurred.
- The version-2 activities (
Delivered: #8409 landed on
mainas merge commit8b34ab1e71c22c853e1aa340774231c80e92e677, with the imported histories preserved. The work and evidence for this issue were merged into the import branch, as recorded above. No package publication or cutover occurred.
Program: #8194
Parent: #8286
Outcome
Prove activity type/version identity and serialized workflow compatibility before the real source import. The current inventory records static activity attributes and the Slack package proof checks one descriptor; the successful consolidated build does not establish the wider runtime contract.
Acceptance
Boundaries
This is compatibility verification, not authorization to build all catalog candidates, publish packages, send messages, or change production. Existing #8260 selective-package proof and #8301 Secrets API/Studio contract remain distinct gates; reuse their fixtures where useful rather than duplicate them.