Skip to content

test(state-function): pin annotations on scheduled entries, the timeout block and every triggerable kind - #23

Merged
yilmaztayfun merged 1 commit into
masterfrom
test/state-function-annotations
Sep 24, 2026
Merged

yilmaztayfun merged 1 commit into
masterfrom
test/state-function-annotations

Conversation

@yilmaztayfun

Copy link
Copy Markdown
Contributor

Summary

Changes

  • timeout-lab (timeout-lab-root / timeout-lab-parent → 1.0.1)
    • Root: adds root-note (shared, $self), exit and updateData; every listed entry carries a distinct ui/source annotation, and the timeout carries ui/countdown: root-deadline. None of the new transitions is ever called — the timeout still does the moving.
    • Parent: subFlow.overrides.timeout carries ui/countdown: parent-override.
    • New test RootFlow_StateBodyCarriesTheAnnotationsOfEveryListedEntry; SubFlowChild_ReportsAndHonoursTheParentsTimeoutOverride now also asserts the override's annotations reach the child.
  • schedule-after-auto (→ 1.0.1, regenerated with build-schedule-after-auto.py)
    • gate-timeout carries ui/countdown: gate-timeout; NoAutoWinner_ArmsTheScheduledTransition_AndItFires asserts the scheduled entry exposes it.
  • Both scenario READMEs and their TEST-SCENARIOS.md rows updated.

Test Plan

  • Local runtime built from feat(state-function): expose annotations on scheduled entries and timeout; bump Aether 1.0.42 vnext#1029 at VNEXT_BASE_URL=http://localhost:4201
  • --filter "FullyQualifiedName~TimeoutLab|FullyQualifiedName~ScheduleAfterAuto" — 6/6
  • Neighbours SubflowOrchestration + ChainBusy — 37/37; all four together on Aether 1.0.42 — 43/43
  • Beyond the summary: live state body shows all five triggerable kinds with their annotations and timeout.annotations; postgres shows instances bound to 1.0.1, the child's subflow.timeout_override stamp carrying the parent's annotations, and the scheduled job with SourceState=gate.

Notes

🤖 Generated with Claude Code

Extends two existing scenarios instead of adding one.

timeout-lab (flows 1.0.1): the root gains a shared transition, exit and
updateData, and every listed entry carries a distinct ui/source annotation,
plus timeout.annotations. A new test asserts the state body passes each
kind's annotations through and the timeout block carries its own; the
SubFlow test now asserts the child's block carries the parent override's
annotations (override replaces, no merge).

schedule-after-auto (1.0.1): gate-timeout carries an annotation and the
armed-entry test asserts the kind:"scheduled" entry exposes it — the
runtime used to drop it (vnext#1029).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@yilmaztayfun
yilmaztayfun requested review from a team September 23, 2026 21:40
@coderabbitai

coderabbitai Bot commented Sep 23, 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: 060788d9-4df9-4c84-9157-ea9cc504420b


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 Sep 24, 2026
@yilmaztayfun
yilmaztayfun merged commit 3b5ebab into master Sep 24, 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