File size: 950 Bytes
31c8075
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# ADR 0001: Rewrite Around Python DeepAgents

## Status

Accepted

## Context

Previous app mixed SvelteKit, Cloudflare Durable Objects, E2B sandboxes, Vercel AI SDK, OpenRouter, and a browser game UI. New direction is ground-up Python using LangChain DeepAgents and their sandbox backend interface.

## Decision

Use Python FastAPI for HTTP, LangChain DeepAgents for contestant-side autonomous building, LangGraph for judging workflows, OpenRouter for model access, and Daytona as default DeepAgents sandbox provider.

Keep sandbox provider behind `DEEPAGENT_SANDBOX_PROVIDER` so local smoke tests can use `LocalShellBackend` explicitly.

## Consequences

- Legacy TS/Svelte/Worker/E2B modules are removed.
- Main contestant-side seam is `arena.agent.create_session()`.
- Judging should live behind a separate LangGraph seam.
- Route handlers do not know provider details.
- Local backend is allowed only for smoke tests because it is not isolated.