Skip to content

[Story] Prove paired backend and Blazor Studio source development #8279

Closed
2 of 2 issues completed
Closed

Description

@sfmskywalker

Program: #8194
Parent: #8215

Outcome

Provide a focused solution/sample that develops and debugs a real paired backend and Blazor Studio module against Core source. Preserve module identities and API contracts. First capture a reproducible pinned-source contract probe; integrate the source layout and exercise actual UI/debugging after consolidation permits it.

Acceptance

  • Reproducible source references, focused solution/filter and local setup.
  • Real Studio module request reaches its backend endpoint with expected data.
  • Backend and Blazor source breakpoints demonstrated with recorded tooling and steps.
  • Tests, limitations and teardown documented; complete solution remains buildable.

Existing readiness evidence: #8215 (comment) . Build and feature registry checks alone do not fulfill UI/debugging acceptance.

Children

Accepted closeout — 2026-10-06

Paired source-development acceptance is complete; native children #8280 and #8284 are closed. The lead replayed the real imported WorkflowContexts endpoint and Blazor editor on clean merged Core main 6dbfc58624c28e147a90e2d2b0d1a610817012e2: HTTP 200, UI updates 0→1→2, selection persisted in the synthetic host, both backend and Studio source breakpoints, debugger exit 0 and listener teardown. A separate full Elsa.sln Debug build on that head passed with 470 warnings and zero errors; it ran no tests. #8630 retains the portable receipt and reproducible guide on the program branch at 3413534 after exact-head review/CI. Draft receipts remain historical. This is a representative, synthetic loopback development proof; it does not establish production authorization, tenant isolation, persisted-workflow upgrades, published-package compatibility or cutover.

Activity

  1. sfmskywalker commented on Sep 23, 2026

    @sfmskywalker
    MemberAuthor

    Source-debugging readiness update (2026-09-23): after the paired source contract probe, root ran the built net10 host under official NetCoreDbg release 3.2.0-1092 on macOS arm64 (binary reports 3.2.0-1, commit 9744e1f). Downloaded archive SHA-256 f4fa33b3ff874910cc184b4bb3b9c56d0abdf5c6521cee0b144d7c6e4a6e59ea matches its GitHub release asset digest.

    Both breakpoints resolved and hit in one HTTP roundtrip:

    • Studio module: RemoteWorkflowContextsProvider.cs:27, ListAsync before API request.
    • Backend module: Endpoints/ProviderTypes/List/Endpoint.cs:28, List.ExecuteAsync.

    Continuing each breakpoint completed the expected descriptor roundtrip and exited with code 0. This is actual source breakpoint evidence for the module service/backend pair, not yet an interactive Blazor component/browser proof. The first attempt used non-executable lines and a later command-file attempt paused indefinitely on an unnecessary wait; both were discarded and their probe processes terminated. The successful command file uses run, backtrace, continue, backtrace, continue, quit after declaring the breakpoints.

    I will retain reproducible commands and bounded evidence with the paired development work. #8279 and #8215 remain open for interactive Blazor and consolidated solution acceptance.

  2. sfmskywalker commented on Sep 23, 2026

    @sfmskywalker
    MemberAuthor

    Additional root verification at the pinned source commits (2026-09-23): a disposable Blazor Server host rendered the actual WorkflowContextsEditor Razor component and fetched its Synthetic provider through the real backend endpoint. Selecting the checkbox produced callback count1 and Elsa:WorkflowContextProviderTypes = ["SyntheticWorkflowContextProvider, UiProbe"]; deselecting produced count2 and an empty list. The host explicitly registers this trusted provider's serialization alias; without that required configuration Core emits intentionally non-resolvable UnregisteredClrType: metadata.

    Root then ran the host under the verified NetCoreDbg binary and hit WorkflowContextsEditor.razor.cs:50 inside the actual OnCheckChanged callback. The captured stack identifies Elsa.Studio.WorkflowContexts.dll; after continuation the browser showed callback count1 and the expected type identifier. Earlier service/backend breakpoints also hit and continued successfully. The first function-name breakpoint did not resolve for the async callback; the source-line breakpoint did. No unverified breakpoint is counted.

    The temporary browser tabs are closed and the disposable host is being shut down. This is real interactive component/source-debug evidence in the pre-consolidation sibling layout. The reproducible UI host, focused solution/filter and a repeat run against the consolidated layout still need delivery; #8279/#8215 remain open. Contract harness PR #8281 is separate and remains in review.

  3. added
    elsa 3This issue is specific to Elsa 3
    enhancementNew feature or request
    prio highIs on the roadmap for the near-future
    on Sep 23, 2026
  4. sfmskywalker commented on Sep 26, 2026

    @sfmskywalker
    MemberAuthor

    Draft-layout paired proof is open for review in #8488. At import head 66f511e, the focused source filter built net8/9/10 with zero errors; a disposable net10 Blazor host returned the real backend descriptor response, updated the real Studio editor through select/deselect, and hit both imported source breakpoints in one debugger run (exit 0). The PR adds a reproducible filter/preparer, tests, guide, and structured observed receipt. This is not yet delivered: exact-head CI/review and a replay on the final #8409 head remain before closing this story. No package was published.

  5. sfmskywalker commented on Sep 26, 2026

    @sfmskywalker
    MemberAuthor

    Merged final-layout paired-debug proof #8488 into draft history import #8409 as 6b6c6fe27a76ead762fc5dc3ec4e9abc5672f8c9. The PR head 0c73fa81c passed import-rehearsal, selector, mapped-source artifact, CLA and GitGuardian checks; Greptile 5/5 had no outstanding findings and both earlier threads were resolved. The committed filter and preparer passed 6/6 focused tests in normal and optimized Python; the combined source filter built net8/9/10 with zero errors (74 inherited warnings), and a clean-checkout net10 disposable host built successfully. The recorded real browser endpoint/editor sequence and dual source breakpoints were observed on imported source at earlier draft head 66f511e; the receipt explicitly marks final import-head verification false. #8279 stays open for a final-head browser/debug replay and the canonical solution gate. No package/wiki publisher ran.

  6. sfmskywalker commented on Sep 26, 2026

    @sfmskywalker
    MemberAuthor

    Focused draft-head replay is under review in PR #8493, based on import head 6b6c6fe. The original preparer generated Python bytecode during import and falsely marked a clean checkout dirty; the PR fixes that and adds a standalone regression test. On probe head f944f9c, the disposable host receipt recorded sourceDirty=false; the three-project filter built Debug on net8/net9/net10 with zero errors, the backend returned one synthetic provider descriptor, and the browser selected/deselected the Studio checkbox with updates 0→1→2. NetCoreDbg stopped in both imported backend and Blazor source frames; the selected value appeared after continuation. The debuggee was force-stopped after observation, and no listener remained.

    This is synthetic paired-source evidence only. PR checks/review, the full canonical Elsa.sln job on parent #8409, and final merged-import-head replay remain open; #8279 and #8215 are not complete. No package publisher or production environment was used.

  7. sfmskywalker commented on Sep 26, 2026

    @sfmskywalker
    MemberAuthor

    PR #8493 has merged into the draft import branch after its exact-head import-rehearsal, mapped-source artifact, selector, CLA, GitGuardian, and Greptile checks passed. It records the real paired WorkflowContexts UI/backend replay, net8/net9/net10 focused builds, both source breakpoints, and the clean-source helper-import fix. The draft import branch's broader CI has restarted at its new head 9a4c3270; this is not yet a merge into main or a published release. I am keeping the story open until current-head integration checks and the remaining program gate are verified.

  8. sfmskywalker commented on Sep 29, 2026

    @sfmskywalker
    MemberAuthor

    Delivered: #8409 landed on main as merge commit 8b34ab1e71c22c853e1aa340774231c80e92e677, 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.

  9. sfmskywalker commented on Oct 6, 2026

    @sfmskywalker
    MemberAuthor

    Acceptance audit reopened this item for the narrow final merged-head paired browser/debugger replay. The committed consolidated-paired-debug-replay-f944.json explicitly records finalMergedImportHeadVerified:false, and the guide requires the final-head check. The September29 closeout links the merged import and solution CI but does not supply that replay. Existing code/import/solution work and historical successful browser/debug evidence remain delivered; the pinned-source child probe remains closed.

    The lead is now replaying the existing fixture against clean isolated Core main 6dbfc58624c28e147a90e2d2b0d1a610817012e2. This is bounded program QA while #8626 remains the only active implementation Task. No new feature design or publisher change is included. Acceptance requires the actual backend response, editor select/deselect, both source breakpoints and cleanup evidence; builds alone cannot close this gap.

  10. sfmskywalker commented on Oct 6, 2026

    @sfmskywalker
    MemberAuthor

    Lead-observed merged-head replay — 2026-10-06

    Replayed the existing fixture against clean Core main 6dbfc58624c28e147a90e2d2b0d1a610817012e2, a descendant of the final history import. The focused source filter built on .NET8/9/10 and all seven preparer tests passed. The disposable net10 host receipt reported sourceDirty:false and a successful build.

    The lead observed the real imported endpoint return HTTP200 with exactly one Synthetic provider. In the actual Studio component, selection produced update1 and SyntheticWorkflowContextProvider, UiProbe; deselection produced update2 and an empty provider list. In the same debugger session, the backend Endpoint.cs:28 and Studio WorkflowContextsEditor.razor.cs:50 source breakpoints both hit, and the browser updated after continuation. The pinned official NetCoreDbg archive and executable digests matched the existing guide. After the observation, interrupt/quit completed with exit0 and no loopback listener remained.

    This closes the missing browser/debugger observation on merged source. The full Elsa.sln source build is still running; canonical receipt/guide reconciliation is queued in #8628. Keep #8279/#8215 open until those remaining acceptance records are complete. Raw debugger logs stay local. This synthetic host does not prove production authorization, persistence, published packages or publisher cutover.

  11. sfmskywalker commented on Oct 6, 2026

    @sfmskywalker
    MemberAuthor

    The lead has now completed the full solution Debug build on clean merged main 6dbfc58624c28e147a90e2d2b0d1a610817012e2: dotnet build Elsa.sln --configuration Debug -p:UseProjectReferences=true -p:GeneratePackageOnBuild=false --verbosity minimal succeeded with 0 errors and 470 warnings in 8:55. The worktree remained clean. This is build evidence, not a full test run. Together with the observed paired browser/debugger replay above, it resolves the final-merged-head verification gap. Canonical portable evidence and guide reconciliation remain queued in #8628; #8215 and #8279 remain open until that record is merged.

  12. sfmskywalker commented on Oct 6, 2026

    @sfmskywalker
    MemberAuthor

    Acceptance verified and recorded above. Merged #8630 at 3413534be6803d81616ca1da1703ca8582512caf on the shared program branch; final integration into main and remaining program gates stay open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    elsa 3This issue is specific to Elsa 3enhancementNew feature or requestprio highIs on the roadmap for the near-futuretriaged

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions