Skip to content

test(start): add implicit $start source state scenarios - #29

Merged
yilmaztayfun merged 3 commits into
masterfrom
feature/implicit-start-lab
Oct 2, 2026
Merged

yilmaztayfun merged 3 commits into
masterfrom
feature/implicit-start-lab

Conversation

@yilmaztayfun

@yilmaztayfun yilmaztayfun commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • New implicit-start-lab scenario. It proves end to end that a flow can omit the Initial state: the instance is born at $start and the start transition takes it to its target.
  • This scenario found a runtime defect: an async start returned 500 because the Dapr job name contained $. It is fixed in vnext 860c4a26.

Changes

  • core/Workflows/implicit-start-lab/: three flows. implicit-start-lab (no Initial, start → wizard) and -child (no Initial) are Initial-less; -parent declares an Initial (regression side) and starts the child with a SubFlow. Includes the builder script and the SubFlow mapping.
  • tests/Core.IntegrationTests/Tests/ImplicitStartLab/: 7 cases and a README.
  • TEST-SCENARIOS.md: feature matrix row.

Test Plan

  • --filter FullyQualifiedName~ImplicitStartLab → 7/7.

Integration test evidence

  • Runtime: vnext commit 860c4a26 at VNEXT_BASE_URL=http://localhost:4201 (run-docker.sh up core).
  • Result: 7/7 green. The first history row is fromState = $start (lab flow and child); two Initials → 400 "at most one initial state"; a missing or empty start target → 400 App:900006.
  • TEST-SCENARIOS.md row added: yes.

Notes

🤖 Generated with Claude Code

yilmaztayfun and others added 3 commits October 2, 2026 12:01
Add implicit-start-lab: two Initial-less flows (start -> wizard, and a
SubFlow child) plus a parent that declares Initial (regression side), and
ImplicitStartLabTests (6 tests / 7 cases): sync start lands on the target
with first history row from $start, async start + state polling, completion,
Initial-less SubFlow child completing its parent, and publish refusing two
Initial states and a missing/empty start target (400 App:900006).

Known red against runtime 21d6875e: a sync=false start of an Initial-less
flow returns 500 because JobName.ValidateKey rejects '$' in the source
state '$start', leaving an orphaned instance in $start/A.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The sync=false start 500 this scenario found (JobName rejected '$' in the
'$start' source state) is fixed in vnext 860c4a26. Replace the known-red
notes in the scenario README and the TEST-SCENARIOS row with a history line
and the 7/7 result; note that the async test's $start guard rarely fires.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@yilmaztayfun
yilmaztayfun requested review from a team October 2, 2026 10:51
@coldtea-pr-lens

Copy link
Copy Markdown

◈ PR Lens

Note

The title starts with test(start):, so PR Lens left this pull request undrawn. Comment @pr-lens draw to draw it

github.comment.notice: false in .github/pr-lens.yml turns this note off

@coderabbitai

coderabbitai Bot commented Oct 2, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: efb56e98-860a-419f-94a3-e30d6fb1401d

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@yilmaztayfun yilmaztayfun self-assigned this Oct 2, 2026
@yilmaztayfun
yilmaztayfun merged commit 7dd6b77 into master Oct 2, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant