Skip to content

AWS SFN: open real-cloud parity gaps #1473

Open

Description

@NitinKumar004

cloudemu's SFN emulation still differs from real AWS in the ways listed below. Each item is a separate fix, so pick any one and open a PR for it against development. Comment here with the item you're taking so two people don't work on the same one.

Check the expected behaviour against the AWS API reference and the real CLI or SDK. A good fix goes in the provider (providers/aws/...) so the Go library and cloudemu serve behave the same, and adds a test that fails before the fix. See CONTRIBUTING.md for setup.

High

  • Non-Lambda Task integrations (sqs/sns/dynamodb/ecs/states:startExecution/.sync) unsupported (providers/aws/sfn/asl/task.go:119 "only Lambda is supported")
  • Activity-ARN Task fails instead of dispatching to GetActivityTask pollers (same task.go guard)
  • RedriveExecution on SUCCEEDED execution not rejected (ExecutionNotRedrivable) (executions.go RedriveExecution has no status check)
  • RedriveExecution does not re-run; flips to SUCCEEDED leaving stale error/cause (executions.go RedriveExecution sets Status=SUCCEEDED unconditionally (metrics branch only adds emission))

Medium

  • .waitForTaskToken callback pattern unsupported
  • Missing intrinsics (MathAdd, ArrayLength, ArrayContains, Base64, Hash, JsonMerge, StringSplit...) fail executions (asl/intrinsics.go has only Array/ArrayGetItem/Format/JsonToString/StringToJson/UUID; merges report correctness #5)
  • StartSyncExecution accepted on STANDARD state machine (executions.go StartSyncExecution no type check)
  • No LambdaFunctions*/ActivityRunTime-style integration metrics (split from SFN-09; not in metrics branch sfn/metrics.go)
  • SFN terminal status event not emitted/verified under --async-settle
  • Missing CloudWatch metrics: Step Functions Version/Alias dimensioned metrics

Low

  • Distributed Map ItemReader (S3 input) not supported
  • LoggingConfiguration accepted but no log delivery to CloudWatch Logs (no log sink in providers/aws/sfn)
  • StopExecution on terminal execution returns original stopDate (needs re-verification)

Activity

  1. added
    help wantedExtra attention is needed
    awsAmazon Web Services
    aws-parityAWS real-cloud parity gap
    P1High priority
    bugSomething isn't working
    and removed
    help wantedExtra attention is needed
    on Oct 6, 2026
  2. NitinKumar004 commented on Oct 23, 2026

    @NitinKumar004
    CollaboratorAuthor

    #1689 is the first PR for this issue. StartSyncExecution on a STANDARD state machine now returns StateMachineTypeNotSupported, and the existence check still runs first. The rest of the issue is split into separate PRs: intrinsics, a resumable engine, integrations, task tokens, .sync, real redrive, versions and aliases, logging, and Distributed Map.

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

    P1High priorityawsAmazon Web Servicesaws-parityAWS real-cloud parity gapbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions