aws / aws/aws-durable-execution-sdk-python

Reevaluate CompletionConfig Presets

Open
#38 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
53
Forks
25
Avg merge
1d 19h
Merged PRs (30d)
40

Description

## Context
**GitHub Reference**: [config.py#L47](https://github.com/aws/aws-durable-execution-sdk-python/blob/0307cf96e22a0bdbfdb7539f2780cde19f44a55d/src/aws_durable_execution_sdk_python/config.py#L47)

Review and update `CompletionConfig` presets for `first_successful`, `all_completed`, and `all_successful` to ensure they match expected behavior and service capabilities.

This is currently not implemented in TypeScript.

## Technical Requirements
- Review current preset implementations
- Validate against service behavior
- Update presets if needed
- Ensure consistency with TypeScript SDK

## Implementation Details
- **File**: `src/aws_durable_execution_sdk_python/config.py`
- **Line**: Around line 47
- **Presets to Review**:
- `first_successful`: Complete when first operation succeeds
- `all_completed`: Complete when all operations finish (success or failure)
- `all_successful`: Complete when all operations succeed

```python
@dataclass(frozen=True)
class CompletionConfig:
@classmethod
def first_successful(cls) -> CompletionConfig:
"""Complete when first operation succeeds."""
return cls(
completion_type="FIRST_SUCCESSFUL",
min_successful=1,
fail_on_first_error=False
)

@classmethod
def all_completed(cls) -> CompletionConfig:
"""Complete when all operations finish."""
return cls(
completion_type="ALL_COMPLETED",
min_successful=None,
fail_on_first_error=False
)
```

## Acceptance Criteria
- [ ] All presets match expected behavior
- [ ] Presets are consistent with service capabilities
- [ ] Documentation clearly explains each preset
- [ ] Tests validate preset behavior
- [ ] Alignment with TypeScript SDK confirmed

**Priority**: LOW
**Estimated Effort**: 0.5 days

Contributor guide

Open the contributing guide

Research direction

Start in src/aws_durable_execution_sdk_python/config.py around line 47 and review the first_successful, all_completed, and all_successful presets. Compare their documented behavior with service capabilities and the TypeScript SDK, then add or update documentation and tests so each preset's behavior is validated and the acceptance criteria are met.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, typescript
Domain
backend-api-design
Issue type
Feature
Difficulty
3/5
Estimated time
Half a day
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.