Scenario
Expected output
Fixed code passes all assertions, generated tests are syntactically valid and catch the original bug
Dataset files
How the three files work together
manifest.json
Lists all available files and the evaluation contract. Read this first to understand the challenge structure.
dataset.json
The full source data (FAQ entries, documents, issues, etc.) your solution is built on. Index it, embed it, or process it.
test_inputs.json
10–20 test queries the evaluator will run against your solution at submission time. Your code reads this file and writes results.json.
Dataset files
Sign in to download manifest.json, dataset.json, and test_inputs.json.
Scoring rubric
Agent output is structured and easy to inspect per function
Prompts guide the model to reason before coding, not just guess fixes
Handles ambiguous bugs, functions with multiple issues, and unsolvable edge cases
Fixed functions pass all ground truth test cases, generated tests catch the original bug
Agent loop is well-structured, reasoning step is explicit before the fix
Language-free evaluation
Build your solution in any language or framework — Python, TypeScript, Go, Rust, Java, C#, or anything else. The dataset artifacts may be in one language; your implementation does not need to match. TryCrucible evaluates the behaviour of your system, the quality of your AI workflow, your verification strategy, and the reproducibility of your submission — not your language choice.
Submission requirements
- A public GitHub repository link
- A Dockerfile in the repo root — any language or framework; the evaluator builds and runs your container
- Your solution reads test_inputs.json from /workspace/test_inputs.json (use the TEST_INPUTS_PATH env var) and writes results.json to /workspace/results.json (use the RESULTS_PATH env var)
- A decisions.md — 3–5 sentences on the key architectural and AI-workflow choices you made
- The system must be fully reproducible — we clone, build, and run it against real test inputs
Evaluation contract
When you submit, the evaluator runs these steps in order:
- 1Clone your public GitHub repository
- 2Build your container from the Dockerfile in the repo root
- 3Mount test_inputs.json at /workspace/test_inputs.json (TEST_INPUTS_PATH env var)
- 4Run your solution in a network-isolated sandbox (5 min limit, 512 MB RAM)
- 5Read results.json from /workspace/results.json (RESULTS_PATH env var)
- 6Score correctness against hidden ground truth, then score architecture, AI workflow, robustness, and clarity
Input (provided by evaluator)
// test_inputs.json
[
{ "id": "t1", "input": { ... } },
{ "id": "t2", "input": { ... } }
]Output (written by your solution)
Create a free account to start
Already have one? Sign in