[spec-kit] Add Parallel state support for StepFunctions TestState API#13769
Draft
[spec-kit] Add Parallel state support for StepFunctions TestState API#13769
Conversation
Generated without additional prompt
Enable Parallel states in TestState by adding mock result validation (must be a JSON array matching branch count), MockedStateParallel execution wrapper, and preprocessor integration for state decoration and recursive state lookup across branches. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update spec and tasks to require running tests against real AWS with AWS_PROFILE=ls-sandbox TEST_TARGET=AWS_CLOUD SNAPSHOT_UPDATE=1 before marking snapshot-dependent tasks as complete. Add explicit snapshot recording tasks (T015-T017) and test_parallel_state_mock_execution. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Record parity snapshots from real AWS for Parallel state TestState tests. Fix the branch-count mismatch ValidationException message to match AWS exactly: "Mocked result must contain the same number of items as number of Parallel branches." Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…mmand) Add instruction to use `python -m localstack.dev.run` from .venv for local testing instead of `localstack start`. Also mark T013/T017 as complete in tasks.md. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…cation Mark spec as Complete, mark T013/T017 done after running tests against LocalStack (started via python -m localstack.dev.run), and remove stale parenthetical from T009 description. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Test Results (amd64) - Integration, Bootstrap 5 files 5 suites 2h 37m 42s ⏱️ For more details on these failures, see this check. Results for commit 68eed53. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR tests feature implementation with SpecKit, attempt 1. All of SpecKit constitution, feature spec, plan, tasks and implementation was generated with Claude Code. Constitution had to be iterated a couple of times to unblock the implementation.
To be compared with: 1) same feature, but implemented using openspec 2) second pass of SpecKit, paying more human attention to feature spec completeness and referencing docs and API specs more explicitly. 3) Using lighter model, e.g. sonnet.
Contributes to DRG-513.
Comparison basis: feature completeness, following test guidelines, token consumption, number of steps.
Note
The following is the PR description by Claude Code
Parallelas a supported state type for the TestState API, enabling mock-based testing of Parallel statesmock.resultis a JSON array and its size matches the number of branches in the Parallel state definition, with error messages matching real AWS behaviorMockedStateParallelexecution wrapper following the existingMockedStateMappattern, with preprocessor integration for state decoration and branch recursionTest plan
test_mock_result_is_not_array_on_parallel_state— non-array mock rejected with AWS-matching errortest_mock_result_array_size_mismatch_on_parallel_state— wrong-size array rejected with AWS-matching errortest_state_type_requires_mock[ParallelState]— Parallel without mock rejectedtest_parallel_state_mock_execution— valid mock executes successfully with correct outputAWS_PROFILE=ls-sandbox TEST_TARGET=AWS_CLOUD SNAPSHOT_UPDATE=1)🤖 Generated with Claude Code