Streamlit harness for deepagents with assignment-driven implementation modules.
- SCORECARD.md — the 12 components of an agent, as a checklist you keep afterwards
- docs/modules/ — base-to-solution module branch flow and per-module assignment READMEs
- CLAUDE.md — architecture and implementation conventions
Install uv:
Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | shOpen a new terminal and verify the installation:
uv --versionThen set up and run the project:
git clone https://github.com/DatacationOrg/ddd-harness-engineering-public.git
cd ddd-harness-engineering-public
uv sync # install everything
cp .env.example .env # PowerShell: Copy-Item .env.example .env
# then paste in the key you were given
uv run python scripts/seed_sandbox.py --reset # generate the agent's sandbox
uv run streamlit run ddd_harness_engineering/main.pyThen ask it something in the collapsible chat drawer on the right. The Activity workspace shows agent actions, arguments, results, and approval decisions.
uv run pytest # no API key requiredscripts/seed_sandbox.py generates sandbox/northwind-freight/.
Use it as the only runtime workspace for assignments.
Every module follows this sequence:
| Beat | |
|---|---|
| Ship | Apply the guided change manually, or brief your coding agent. Get it working. |
| Break | Feed it garbage, oversized input, malicious input. Try to escape the sandbox. |
| Guard | Add the constraint that makes your break impossible. |
| Observe | Find the whole story in the execution trace. |
| Log | Tick the scorecard. Write one line on what surprised you. |
- Never commit
.env. It is gitignored. Never paste your key into chat and never screen-share it. - Point the agent at
sandbox/and nothing else. Station 2 is where you make that a hard boundary rather than a good intention. - Station 4 enables shell execution. Keep command guardrails enabled.