BuildJuniorFull-stackAuto-graded
Software Engineer: Add a discount without changing any other price
Add a residents’ discount to an old ferry booking system without changing any other price.Use your coding agent to add a residents' discount to a ferry company's 2016 fare engine and its booking page, without changing any other price by a cent, following what Finance and Product have asked for.30 min
javascript, node
You're done when
- Checkout charges every booking in which nobody qualifies exactly what the engine charged before your changes (for past bookings, their
charged_cents). - Residents get the discount as
TICKET.mdandTEAM.mddefine it, rounded the way you decided. - The booking page shows exactly what checkout charges, for every booking, residents included.
- Your tests check that today's prices stay exactly the same, that the new rule works and that the page shows what checkout charges: they pass on a correct engine and fail on broken ones.
signoff.jsonrecords your rounding decision, with numbers that match what your engine does.
What it measures
Checking legacy behaviour before changing itPinning today's prices with a replay of real bookings before the agent touches the engine.
Specifying the ruleBriefing the agent exactly: who qualifies, on which legs, which part of the price, and how it rounds.
One price on the page and at checkoutMaking the price the page shows and the price checkout charges the same number, for every booking.
Owning the decisionMaking the rounding call yourself and saying why.
Proof with real numbersTests that catch broken engines, and a sign-off whose numbers come from a real run.
Your environment
Terminal + editorA full shell in the browser
Claude CodePre-authenticated, no key setup
Isolated microVMYours alone, wiped afterwards
Start this lab
30 min
Start labYou'll sign in to Anthropos to start. The lab opens in a private cloud workspace with Claude Code ready to use.AI Labs is part of Anthropos Workforce. Not on your plan yet? Book a demo