devin-dream — MOVED
This repository was absorbed into
devin-evals.
The code now lives at src/devin_evals/dream/ and the CLI moved to
devin-evals dream {unit,inject,fleet} — same commands, same defect
catalogue (D01–D09), one package instead of two.
# before
devin-dream unit --out out/ --defect D01 D03
# after
devin-evals dream unit --out out/ --defect D01 D03
The repository is archived; open issues were migrated to devin-evals. History remains readable here for reference.
Original README (pre-archive)
devin-dream
Synthetic Devin sessions with a known verdict — regression and
adversarial test data for the devin-* catalog.
Unofficial community project; not affiliated with or endorsed by Linux · Personal Windows · Corporate Windows
Part of the awesome-devin ecosystem: the curated hub for the devin-* tools.
Every tool in the ecosystem reads Devin's local stores. Testing them needs
sessions — but real sessions are private. devin-dream generates
sessions.db files in the exact real DDL (reusing
devin-internals-spec
fixtures) with realistic content, labeled defects, and an expected.json
stating what each catalog tool should conclude.
Defects
| ID | Injected defect | Expected verdict | Tool under test |
|---|---|---|---|
| D01 | "I ran the tests" claim with no tool call | UNVERIFIED | devin-qa-pack |
| D02 | claim with incomplete evidence | PARTIAL | devin-qa-pack |
| D03 | claim with complete evidence | PASS | devin-qa-pack |
| D04 | fake secret inside a tool output | masked / BLOCKED | devin-redact |
| D05 | fake PII inside a user prompt | masked / REVIEW | devin-redact |
| D06 | schema drift (version 18) | loud drift failure | devin-internals-spec |
| D07 | malicious instruction inside a tool result | denied | devin-bridge |
| D08 | agent tries to persist a false "decision" | quarantined | devin-memory |
| D09 | fake secret split across two tool payloads | masked (cross-chunk) | devin-redact |
Secrets and PII are always obviously fake public-documentation values — nothing real is ever generated or read.
Install
Source-only distribution. This tool is not yet published to PyPI. Install from source:
pipx install git+https://github.com/Icaro0310/devin-dream.git # or uv tool install git+https://github.com/Icaro0310/devin-dream.git
Usage
devin-dream unit --out out/ # one dir per defect, + expected.json
devin-dream unit --out out/ --defect D01 D03
devin-dream inject --out adv/ --n 5 # adversarial (D07/D08) + scorecard
devin-dream fleet --out big/ --sessions 2000 --seed 1 --manifest
devin-dream fleet --out big/ --sessions 500 --vscdb big/state.vscdb
Each unit run writes <out>/<defect>/sessions.db — openable by any
catalog parser — and expected.json with the labeled verdicts. inject
adds a top-level scorecard (expected_blocks per defect).
Fleet
fleet writes one seeded sessions.db holding a population of
archetype sessions (no labeled defect — defect_id = "FLEET"). Every
archetype is guaranteed to appear within the first 7 sessions; beyond
that the mix is weighted toward short-task:
| Archetype | Shape |
|---|---|
short-task |
2–6 messages, a few read/test tool calls |
long-refactor |
20–40 messages, 30 min–2 h last_activity_at spread |
failed-attempt |
repeated pytest runs exiting 1, unresolved ending |
multi-project |
workspace_dirs lists 2–3 dirs, tool calls cd between |
heavy-churn |
the same file path touched by 8–14 tool calls |
commit-producing |
git add/commit/rev-parse calls carrying real 40-hex SHAs |
empty-trivial |
1–2 messages, no tool calls |
commit-producing payloads (40-hex SHAs plus a
github.com/dream-org/.../commit/<sha> URL) are picked up by
devin_internals.commits.commit_references, so graph/janitor
commit-coverage tests can run against the fleet.
--manifest writes fleet.json next to sessions.db with the seed,
per-archetype counts, and one entry per session:
{"session_id": "dream-fleet-00012", "archetype": "commit-producing",
"expected": {"produces_commit": true,
"commit_shas": ["<40-hex>"]},
"gui_slug": "canyon-violin"}
Every expected block carries the uniform flags produces_commit,
heavy_churn, failed, trivial plus archetype-specific keys
(commit_shas, churned_file, projects, duration_ms, …) for
downstream assertions.
--vscdb PATH additionally emits a synthetic state.vscdb
(ItemTable) binding ~35% of the sessions to a
windsurfSpace.sessionWorkspace/<backend>/<slug> entry — including the
resourceToSpace / metadata rollups — so devin-graph (GR-1) and
devin-history (HI-1) GUI coverage can be fleet-tested. Bound sessions
get gui_slug in the manifest.
All output is deterministic given --seed: same seed, same manifest,
byte-identical sessions.db.
What it does not do
- It does not run the verdicts — checking that tools actually reach the
expected verdict is the catalog's job (e.g.
devin-evalspacks, manualqa-pack/redactruns against the generated DBs). - Fleet content is templated synthetic text, not realistic transcripts;
commit SHAs are seeded-
randomhex, never real objects. - Fleet sessions populate
sessions/message_nodes/tool_call_stateonly — noprompt_history,rendered_commits, orsubagent_headsrows. - The emitted
state.vscdbcovers only thewindsurfSpace.sessionWorkspace/resourceToSpace/metadatakey family — not the full Electron store. - GUI
acp-messagesstores are not generated yet (planned after the typed reader lands everywhere). fleetvolume beyond a few thousand sessions is untested.
Requires Python ≥ 3.10, stdlib only beyond devin-internals-spec.
Read-only w.r.t. real Devin stores: it only writes its own output dir.
Metadata
Release files for devin-dream 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| devin_dream-0.1.0.tar.gz | 20.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| devin_dream-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.7 kB
Release files / devin_dream-0.1.0.tar.gz
| Download URL | devin_dream-0.1.0.tar.gz |
|---|---|
| Size | 20.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
96177c0d4abba513ff5f50d05b02e7e3a8d4545d7c4ca4fd29493f368fd1168c
|
|
BLAKE2b-256 checksum How to use checksums |
504c560fbef5970797e20bc8f53d65d3e9b4d7ee33c42233545d3e47e0be9f17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.2
|
Release files / devin_dream-0.1.0-py3-none-any.whl
| Download URL | devin_dream-0.1.0-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2668366f0b38c33003db171d2b9d4175d48605349e390a500acd548007c5c918
|
|
BLAKE2b-256 checksum How to use checksums |
0c91a79f05ab5fac01e61bad9a122379cc5d138a605af79b11acf7eddea98607
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.2
|