This repository has a generated openwiki/ evidence index. It is optional just-in-time context, not required startup reading. The scheduled OpenWiki GitHub Actions workflow refreshes the repository wiki. Do not hand-edit generated OpenWiki pages unless explicitly asked; prefer updating source code/docs and letting OpenWiki regenerate.
No other project uses it yet
18k39d agoReviewMountCreate a free account to mount
Open SWE is an asynchronous coding agent and software factory. Graphs and the FastAPI app are registered in langgraph.json. JS packages form a pnpm/turbo workspace (pnpm-workspace.yaml); use pnpm for them. Local setup: docs/DEVELOPMENT.md. Before making any change, first till the soil: refactor the surrounding code so the change slots in naturally and the result reads as if it had always been designed that way. Spend real effort here rather than bolting features onto whatever shape the code happens to be…
11k5d agoReviewMountCreate a free account to mount
A row that belongs to a person references users.id with a foreign key. Never key it on a provider identifier (a GitHub id or login, a Slack user id, an email) as a stand-in for a person, even when the event that creates the row only carries one: resolve the person through useridentity (User.foridentity) where the event arrives, and skip, with a log line, events from someone with no Open SWE account. Provider identifiers belong in user_identity only.
11k5d agoReviewMountCreate a free account to mount
Managed Deep Agents creates and replaces every thread's sandbox; the backend only connects to one by its id, and must never create one. An unreachable existing sandbox must raise rather than be abandoned, because a fresh one would lose the thread's work. Only the read-only reviewer and review scout may opt into abandoning one, which hands the thread to MDA for its next run. The deployment's sandboxes are LangSmith's (providers/langsmith.py).
11k5d agoReviewMountCreate a free account to mount
Everything here is copied into a thread's sandbox and run with its python3. Put any non-trivial in-sandbox logic here as a real script, never as shell or Python built up in f-strings. - Standard library only, and Python 3.8 syntax. make lint (ruff per-file-target-version) and make typecheck (ty --python-version 3.8) check this directory at that version. - The backend side lives in openswe/sandboxes/scripts.py. Keep it out of this directory, which is held to 3.8. - Run a script with SandboxScript("<name>.py",…
11k5d agoReviewMountCreate a free account to mount
Exporting a tool from init.py does not enable it. A tool takes effect only once it is explicitly added to a graph in openswe/server.py or openswe/reviewer.py. Do not accumulate tools without that wiring and an authorization review of what the tool can reach.
11k5d agoReviewMountCreate a free account to mount
Read DESIGN.md before changing Open SWE’s web/app UI. Prefer the installed Macaw components and semantic tokens over custom controls and styles. Before implementing or replacing a control, use Macaw CLI discovery from the repository root: Use the returned imports and read the installed component and styling guidance linked in DESIGN.md. Discovery reads the installed catalog; do not assume APIs from another Macaw version. Preserve the specialized integrations documented in DESIGN.md.
11k5d agoReviewMountCreate a free account to mount