awslabs / awslabs/startups

RFC: lambda.execution_timeout — recommendation reversed

Open
#285 1 comment 0 reactions 0 assignees View on GitHub
kb-needs-review
Dominant language
Python
Stars
17
Forks
30
Avg merge
2d 15h
Merged PRs (30d)
36

Description

> Opened by the knowledge auto-update pipeline. A recommendation **reversed** — nothing was
> rewritten. The maintainer decides the position below; the pipeline then does the typing.

## 1 · What changed

[AWS Lambda durable functions integrates with Pydantic AI](https://aws.amazon.com/about-aws/whats-new/2026/09/aws-lambda-durable-pydantic-ai/)

- was — lambda.md: AWS Lambda execution timeout is a hard 15-minute cap, no durable checkpoint/resume; "eliminates it for minutes-to-hours sessions"
- now — AWS Lambda durable functions (new product/mode) provides checkpointed, resumable execution with fault tolerance across interruptions/timeouts, integrated with Pydantic AI for agent workloads — dimension: standard Lambda (15-min stateless) vs. Lambda durable functions (checkpoint/resume, presumably longer-running agentic workloads)
- still true — Standard AWS Lambda's 15-minute execution timeout and stateless nature remain true for the non-durable Lambda product.

AWS announced "Lambda durable functions," a new execution mode/product that checkpoints progress at each model/tool call, letting a Pydantic AI agent resume after a timeout or interruption instead of restarting from scratch. This is distinct from standard AWS Lambda, which still has a hard 15-minute timeout and no built-in state/resume capability. The old skill recommendation treated Lambda's 15-minute cap as a disqualifier for long-running agent sessions; that blanket disqualification no longer holds for workloads using this new durable mode.

> "AWS Lambda durable functions saves your Pydantic AI agent's progress as it runs, so after an interruption like a timeout, your agent resumes from the last completed step instead of starting over."

## 2 · Recommendations it affects

| location | kind | current text |
| --- | --- | --- |
| `agent-advisor/references/decision-refs/lambda.md:13` | conclusion flips | - Execution timeout: 15 minutes (eliminates it for minutes-to-hours sessions) |
| `agent-advisor/references/decision-refs/temporal.md:54` | derived judgment | - **Lambda classic**: 15-min cap + freeze model is incompatible with a long-poll |
| `agent-advisor/references/decision-refs/temporal.md:96` | derived judgment | \| Short-tool (convert, scrape, validate) \| stateless, seconds, spiky \| **Lambda** (<15 min) |
| `agent-advisor/references/runtimes/lambda.json:11` | derived judgment | "reason": "Lambda has a 15-minute timeout", |
| `agent-advisor/references/runtimes/lambda.json:20` | derived judgment | "reason": "Lambda has a 15-minute timeout", |

## 3 · The decision space

- **Keep the old guidance (Lambda disqualified for minutes-to-hours agent sessions) for standard Lambda, and treat durable functions as a separate, not-yet-vetted option** — depends on: whether the maintainer wants to wait for production track record, pricing clarity, and independent verification before recommending a brand-new GA capability
- **Adopt durable functions as the new recommended path for long-running/agentic Lambda workloads, superseding the 15-min disqualifier** — depends on: confirming GA status (not preview), regional availability matching the workloads in scope, published pricing for checkpoint storage/resume overhead, and at least one real cost/latency benchmark for a multi-hour agent run
- **Split the recommendation: keep standard Lambda's 15-min cap as a hard disqualifier for short bounded tasks where durability adds no value, but allow durable functions as a conditional option for long-running Pydantic-AI-based agents specifically** — depends on: whether the workload is Python + Pydantic AI (the only integration announced) vs. other frameworks/languages, which are not covered
- **Do not change the fact table yet; flag as 'under evaluation' and re-check in the next update cycle** — depends on: maintainer bandwidth and whether any user is currently blocked by the old guidance

## 4 · Proposed position

> Standard AWS Lambda retains a hard 15-minute execution timeout and no native checkpoint/resume — still disqualified for minutes-to-hours stateful sessions run as a single invocation. AWS Lambda durable functions is a separate, newly announced execution mode that checkpoints each step (including model/tool calls) and resumes after interruption, removing the 15-minute wall for supported workloads; treat it as a conditional recommendation, not a blanket replacement: recommend it only for Python agents built on Pydantic AI (the only integration confirmed at announcement), and flag it as new/unproven until GA maturity, checkpoint-storage pricing, and cross-region availability are independently confirmed. Do not cite it yet for non-Python or non-Pydantic-AI agent frameworks, or as a general substitute for standard Lambda in short-task workloads where durability overhead is unnecessary.

**Assumptions to verify before adopting:**

- 'Lambda durable functions' is GA at announcement, not a preview/beta with different SLAs
- Regional availability of durable functions matches the regions the skill's target workloads actually run in (announcement claims 'all Regions where Lambda durable functions is available' but does not enumerate them)
- Checkpoint/resume pricing (storage of intermediate state, per-step overhead) is publicly documented and not materially higher than re-running short tasks
- The integration is currently scoped to Python + Pydantic AI only; other languages/frameworks are unsupported and this fact should not be generalized
- No independent benchmark yet exists confirming resume behavior avoids duplicate side effects (e.g., double billing) under real failure conditions, despite the vendor's claim
- Cold-start and checkpoint latency overhead versus standard Lambda has not been measured and could affect cost/latency-sensitive workloads
- The 'minutes-to-hours' session claim assumes no other AWS service limit (e.g., API Gateway, event source timeouts) truncates the session upstream of Lambda itself
- This is a vendor-authored announcement; maturity claims should be treated skeptically until third-party validation or maintainer's own testing confirms behavior under failure/retry scenarios

## Decision — tick one; the next run acts on it

- [ ] **Adopt the proposed position** — the pipeline rewrites the affected locations and opens a draft PR for review
- [ ] **Adopt with changes** — edit the "Proposed position" text above first, then tick this
- [ ] **Reject** — close this issue; nothing is rewritten

Contributor guide

Open the contributing guide

Research direction

Read the proposed position and inspect agent-advisor/references/decision-refs/lambda.md, agent-advisor/references/decision-refs/temporal.md, and agent-advisor/references/runtimes/lambda.json. First verify the listed assumptions about durable functions' status, regions, pricing, integration scope, and behavior; done requires a maintainer decision and consistent updates to the affected references through the pipeline.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, python
Domain
cloud, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.