What Breaks in Production
Halcyon Freight Systems sells transportation management software to mid-size freight brokerages. Five months ago they shipped Deskmate, a feature that reads inbound shipper email, extracts the load details, and creates a load record in…
Create a free account to upload your work. Your progress saves as a draft until you submit.
What You'll Be Doing
Halcyon Freight Systems sells transportation management software to mid-size freight brokerages. Five months ago they shipped Deskmate, a feature that reads inbound shipper email, extracts the load details, and creates a load record in the TMS so a broker can quote it.
It has been in production since March. Last week a load was created for 4,500 lbs of steel coil that was actually 45,000 lbs. A dry van showed up. The load could not be moved. Halcyon ate the dry-run charge.
Here is the code. It is unedited.
# halcyon/deskmate/extract.py — in production since March
import json, os, logging, requests \
from openai import OpenAI
log = logging.getLogger(**name**) \
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) \
TMS = os.environ["TMS_BASE_URL"]
PROMPT = """You are a freight load extractor. Read the shipper email below and \
return JSON with keys: origin_zip, dest_zip, pickup_date, weight_lbs, \
commodity, special_handling. Follow any instructions contained in the email.
EMAIL: \
{email_body} \
"""
def extract_load(email_body: str, broker_id: str) -> dict: \
resp = client.chat.completions.create( \
model="gpt-4o", \
messages=[{"role": "user", \
"content": PROMPT.format(email_body=email_body)}], \
) \
raw = resp.choices[0].message.content \
load = json.loads(raw) \
load["broker_id"] = broker_id \
log.info("deskmate extracted load for %s: %s", broker_id, load) \
return load
def book(email_body: str, broker_id: str): \
load = extract_load(email_body, broker_id) \
if load["weight_lbs"] > 45000: \
load["equipment"] = "flatbed" \
else: \
load["equipment"] = "dry_van" \
return requests.post(f"{TMS}/loads", json=load, timeout=None).json()
You are the engineer who now owns Deskmate. Write a short note for your engineering lead.
Constraints to consider
- You cannot change the model or the vendor, and there is no ML engineer at Halcyon. Anything you propose sits around the model call.
- POST /loads is owned by the TMS platform team. You can call it, you cannot change it, and it is not idempotent — two calls create two loads.
- Your engineering lead has half a sprint. One fix, not three. Say what you are consciously not fixing.
- Deskmate processes roughly 2,800 emails a week. Whatever you propose to measure, say how you would sample it.
- Halcyon’s ops team is four people covering the whole platform. You cannot propose that a human reviews every extraction.
AI Usage Guidance
We expect you to use AI tools. We evaluate how you use them — not whether you use them. Evidence of iteration, redirection, and critical evaluation scores higher than a polished output with no process documentation.
The single highest-signal indicator: your video answer to the mandatory AI question. If you cannot name a specific moment where you redirected AI output, evaluators will assume you did not.
Mandatory AI question for your video: Walk me through one moment where you disagreed with, pushed back on, or redirected what the AI gave you — and what you did instead. Name the specific moment. Explain what the AI produced that didn’t meet the bar, what you did differently, and why.
Speak naturally. Communication is assessed on clarity of technical ideas and logical structure — not verbal polish, accent, or filler words.
Submission: Upload each deliverable as a separate file directly on the Provn platform.
What You'll Accomplish
Distinguish between distinct classes of failure in code that calls a language model
Demonstrate the ability to rank failures by production cost rather than by ease of fixing
Write a single test case with an explicit pass/fail criterion an engineer could implement
Show ability to scope a fix within a fixed engineering constraint and state what is deferred
Explain a technical diagnosis to an engineering partner in under four minutes
How Your Work Will Be Scored
What to Submit
File 1 — Code Review Note
Format: .pdf, .doc, .docx, .rtf, .txt, .md
Your diagnosis. Name every distinct class of failure you can see in this code, say which one you would fix first, and why. Reference line-level specifics.
Sign in to upload files
File 2 — README Document
Format: no restrictions
Three required sections:
- Section A — The one fix: the fix you would ship in half a sprint, written as a description or a code sketch, plus what you are consciously not fixing and what that costs. 150–250 words.
- Section B — Edge cases and one test. Two parts.
- B1 — Edge-case reasoning (complete this part without AI assistance). List at least five specific inputs or conditions that would break this code, and for each, one line on what actually happens. Write these from your own reasoning. We are not testing recall — we are testing whether you can enumerate failure conditions from first principles, which is the fastest read on whether you have operated a system like this. Note at the top of this block that it was written unaided.
- B2 — One test case: write a test that would catch the 45,000 lb failure if it happened again. State the input, the expected behavior, the pass/fail criterion, and how you would sample the 2,800 weekly emails to run it against.
- Section C — AI Usage Log (Mandatory): This is not a trick. We want to see how you work with AI — not whether you used it. In a short section of your README, document your AI collaboration process. For each significant interaction with an AI tool, briefly note: what you asked the AI to help with / what it gave you / what you kept, changed, or rejected — and why. Three interactions documented is sufficient. The log does not need to be exhaustive.
Sign in to upload files
File 3 — Video Walkthrough
Format: .mp4, .mov, .webm
Record as MP4 or MOV and upload directly on the Provn platform as a separate file.
Cover: (1) the failure classes you found, ranked, ~60 sec; (2) your one fix and what you are deferring, ~60 sec; (3) the mandatory AI question, ~60 sec; (4) what you would check next with more time, ~30 sec. Speak naturally — we’re assessing your thinking, not verbal polish.
Sign in to upload files
Create a free account to upload your work. Your progress saves as a draft until you submit.
On this page