The Engagement: Larkfield at Harbourline Freight
Every lesson in this course is set inside one customer engagement. Both companies are made up. All people, numbers, documents and events in it are fictional and simulated. The real cases that open each lesson are separate, cited, and clearly marked as real.
The two companies
Larkfield Systems is your employer. It sells Larkfield Assist, a platform for building AI assistants over a company's own documents and systems. You are a forward deployed engineer (FDE) at Larkfield. Your job is to make the product work inside a customer's organisation, on their data, against their constraints.
Harbourline Freight is the customer. It is a regional freight carrier based in the north of England. It moves pallets and parcels for about 3,000 business customers and has around 600 staff. It works in pounds sterling, writes dates day first, and follows the bank holidays of England and Wales. Personal data it holds falls under UK data protection law, which gov.uk names as the UK GDPR and the Data Protection Act 2018 (gov.uk/data-protection, checked 9 October 2026). That is context for the story, not legal advice.
The problem
When a delivery goes wrong, it becomes an exception: late, damaged, missing, or sent to the wrong address. Harbourline handles about 1,400 exceptions a week.
- A claims team of nine works them from a shared spreadsheet,
exceptions_master.xlsx, and a shared email inbox. - Each exception means looking in three places: the transport management system (TMS), the customer relationship system (CRM), and the email thread.
- The median time to resolve an exception is 6.5 working days. Only 18% are resolved within 2 working days.
- About 3.1% of paid claims in the last year were paid wrongly: too much, too little, or not owed.
- Customers who wait longest are the ones most likely to leave.
Harbourline has bought Larkfield Assist to speed this up. A previous vendor built a website chatbot, ClaimBot, in 2024. It was paused when the budget ran out and nobody uses it.
The target agreed during discovery (Module 3): 70% of exceptions resolved within 2 working days, measured from the TMS and the spreadsheet and judged on the four weeks after handover, with no increase in the share of wrongly paid claims.
What the engagement builds: a claims triage assistant for the clerks. It reads an incoming exception, finds the shipment and the customer across the systems, sorts it by type and urgency, drafts a reply and a proposed payment with the policy it relied on, and leaves every decision about money to a person. It does not reply to customers on its own.
The people
At Harbourline
| Name | Role | In the engagement |
|---|---|---|
| Carol Whitfield | Chief Operating Officer | The economic buyer. Signed the contract. Wants the resolution time down before the board meeting on 17 September 2026. |
| Rafael Dias | Claims Operations Manager | Your champion. Pushed for the project. His reputation is tied to it. Leaves Harbourline in week 10. |
| Joan Petrov | Senior Claims Clerk, 14 years in the team | The person who does the work. Built and maintains the spreadsheet. Saw ClaimBot fail. |
| Dev Mistry | Claims Clerk | Pilot user. Owns several open exceptions in the spreadsheet. |
| Priti Kaur | Claims Clerk | Pilot user. The newest clerk; learned the job from Joan's notes. |
| Viktor Hale | Head of IT and Security | The gatekeeper. Controls access, networks and what may be deployed. Was not consulted before the contract was signed. |
| Mei Lin | Data Engineer | Looks after the nightly exports and the warehouse. Will own what you build after you leave. |
| Tom Abara | Finance Controller | Approves claim payments above £500. Cares about wrongly paid claims. |
| Helen Marsh | Transport Operations Manager | Becomes the interim owner of the project when Rafael leaves. |
At Larkfield
| Name | Role | In the engagement |
|---|---|---|
| You | Forward Deployed Engineer | The only Larkfield engineer on site. |
| Nadia Okafor | Engagement Lead | Your manager. Owns the commercial relationship and escalations. |
| Ben Castell | Account Executive | Sold the deal. Made some promises in the sales cycle. |
| Ines Varga | Product Manager, Larkfield Assist | Decides what goes into the core product. |
Minor characters (a depot supervisor, a customer's site manager) may appear in a single lesson. The main cast above does not change.
Harbourline's systems
| System | What it is | What you will find |
|---|---|---|
| TMS | Transport management system, installed in 2009, on Harbourline's own servers | No API. A nightly CSV export pushed by SFTP. Column names nobody documented. |
| CRM | A hosted customer relationship system | A REST API with rate limits. Customer names that do not match the TMS. |
exceptions_master.xlsx | Joan's spreadsheet | The real process. Colour codes, a notes column, and rules that exist only in Joan's head. |
| Claims inbox | A shared mailbox | Customer emails, photos of damage, forwarded threads. |
| Data warehouse | A cloud warehouse fed by Mei's nightly jobs | Some of the above, a day late. |
| Identity provider | Harbourline's single sign-on | Everything you deploy must use it. |
| Cloud account | Amazon Web Services (AWS), run by Viktor's team | Where the claims tool is deployed. Exports land in the S3 bucket harbourline-exports, in eu-west-2 (London). |
| Finance system (ERP) | Owned by Tom's team | Where payments are made. The assistant may not touch it. |
| IT service desk | Owned by Viktor's team | Where access requests and change tickets go. |
| ClaimBot | What the previous vendor left behind (2024) | A paused chatbot and a notes file with out-of-date rules. |
The data for all of these is in 06-shared-data.md.
The claims policy
Short on purpose, so that you can check every answer yourself.
| Rule | Detail |
|---|---|
| Damage | Must be reported within 7 days of delivery, with at least one photo. |
| Late delivery | If delivered more than 2 working days after the promised date, the customer is credited 10% of the freight charge. |
| Missing shipment | Declared missing after 5 working days with no scan. Then treated as a loss. |
| Liability cap | £2,000 per shipment, unless a higher declared value was recorded at booking. |
| Wrong address | If Harbourline's error, redelivered free. If the customer's error, a £35 redelivery fee applies. |
| Approval | A clerk may approve payments up to £500. Above that, the Finance Controller approves. |
Two rules are not in the policy. They live only in Joan's spreadsheet notes: gold-tier accounts get a late credit without argument, and the hospital (St Mary's) gets a same-day reply. Module 3 writes them down as the hidden rules R1 (gold accounts) and R2 (St Mary's, customer code C-1203, same-day reply).
Colour codes in exceptions_master.xlsx: red means blocked or waiting, amber means a credit is due, green means done.
Dates
- Course date: Friday 9 October 2026. Model names, prices, laws and documentation were checked on this day. Lessons say "(checked October 2026)".
- The engagement: Monday 16 March 2026 to Friday 5 June 2026, twelve weeks. Lessons are told in the present tense, as if you are there.
- The data date: Monday 16 March 2026, your first morning. The shared data is a snapshot from then. Code measures "how late" from that date (
DATA_AS_OF), never from the computer's clock. - Bank holidays inside the engagement: Good Friday 3 April, Easter Monday 6 April, 4 May and 25 May 2026 (gov.uk, checked 9 October 2026). They are not working days.
Key events
Lessons refer to these events. They are fixed, so that every module tells the same story. Week N starts on the Monday shown.
| When | Week | Event |
|---|---|---|
| January to February 2026 | Before | Ben promises Carol "deployed in four weeks", suggests the assistant "could reply to customers", and speaks of "fully automated claims". None of these is in the contract. |
| Friday 27 February 2026 | Before | Contract signed. Viktor hears about it afterwards. |
| Monday 16 March | 1 | Kickoff. You shadow Joan for the day. The kickoff plan (Module 11) dates the problem statement for 27 March, single sign-on for 17 April, the pilot for Wednesday 22 April and handover for 5 June, with steering every other Thursday from 26 March (26 March, 9 April, 23 April, 7 May, 21 May, 4 June). |
| Wednesday 18 March | 1 | A two-day prototype lets Joan look up an exception across the three systems. Carol sees it and wants it "rolled out on Monday" (23 March). |
| Thursday 19 March | 1 | Rafael rules in writing that the team pays on working days (HD-02). In a corridor he also says the pilot should cover all four exception types (D3, minuted at steering on 9 April). |
| Wednesday 25 March | 2 | The data contract, the data dictionary and Joan's crosswalk of five customers are agreed with Mei and Joan. |
| Friday 27 March | 2 | The problem statement, the baseline and the target are agreed with Rafael and Carol. |
| Monday 30 March | 3 | You request single sign-on and network access, planned for Thursday 2 April. |
| Wednesday 1 April | 3 | Viktor sends a 140-question security questionnaire. |
| Tuesday 14 April | 5 | The security review pack is ready. Viktor reviews it on Thursday 16 April. |
| Friday 17 April | 5 | Access is approved, two weeks later than planned. CR-01 is raised the same day and approved on Monday 20 April: the pilot moves from 22 April to 6 May (9 working days), single sign-on to 30 April, handover unchanged. |
| Wednesday 22 April | 6 | Pilot planning meeting: Mei raises the warehouse cutover; Tom sets his control (every Monday he checks 20 clerk approvals he picks, plus every approval from £400 to £500). |
| Friday 24 April | 6 | The penetration test report arrives. Finding PT-2 blocks the pilot until it is retested. |
| Tuesday 28 April | 7 | The change advisory board approves CHG-0417 (release 0.4.0, window Tuesday 5 May, 18:00). Workshop with the nine clerks on what "urgent" means. |
| Thursday 30 April | 7 | Single sign-on is finished (planned for week 5). Demos to the clerks (10:00) and Carol (15:00); Carol chooses to start on 6 May with week 1 figures flagged. Console rollback rehearsed. |
| Wednesday 6 May | 8 | The pilot starts at 08:30 with three clerks: Joan, Dev and Priti. It covers all four exception types (D3), with late deliveries as the first measured slice. In the same week Mei's team cuts over a warehouse migration, which renames a TMS column. |
| Friday 8 May | 8 | Rafael tells you privately that he is leaving. He tells the claims team on Monday 11 May, and meets Helen the same day. |
| Tuesday 12 May | 9 | A late delivery for St Mary's (HF-91318) is typed correctly but routed to the routine queue. The reply goes out on Thursday 14 May at 11:02. The same-day rule was matched on the TMS spelling of the name, but the pilot read the CRM spelling, so it never fired. Module 3 had written R2 keyed on C-1203, but the week 8 routing rule was copied from the text of Joan's note, which names the hospital, and nothing tested it against R2. No payment was due or made. Trust has to be rebuilt. |
| Thursday 14 May | 9 | St Mary's supplies desk calls and asks for a person's reply before 12:00 on the day. |
| Friday 15 May | 9 | Amber status update; incident email to Rafael and Joan; Rafael's apology to the hospital. |
| Monday 18 May | 10 | Incident review (Rafael, Joan, Mei, Helen); the fix's change ticket is raised; 16:00 call with Carol. |
| Tuesday 19 May | 10 | The fix is ready for review. Carol asks the assistant to "tell them what credit they are owed". |
| Wednesday 20 May | 10 | Carol confirms Helen as interim owner. |
| Thursday 21 May | 10 | Steering and pilot review. D5: Helen owns the project from 26 May. D6 settles CR-02: clerks send drafted credit replies now; automatic sending is priced as new work after 5 June. Rafael hands over in front of Carol. |
| Friday 22 May | 10 | Rafael's last day. Helen Marsh becomes the interim owner from Tuesday 26 May. The weekly summary, emailed to Rafael until now, goes to Helen. |
| Tuesday 26 May | 11 | The St Mary's fix is released (release 0.5.0). Helen's first day as owner. |
| Wednesday 27 and Thursday 28 May | 11 | Mei reruns the eval set; on 28 May she changes a triage rule from the runbook while you watch. |
| Tuesday 2 June | 12 | Release 1.0.0 (CHG-0461), 18:00. Joan and you train the first group of clerks. |
| Wednesday 3 June | 12 | All nine clerks start using the assistant. Joan runs the second training group. |
| Friday 5 June | 12 | The pilot ends. Handover to Mei and the claims team. Helen announces that pilot_compare retires (switched off Friday 19 June). |
| Saturday 6 June | After | Harbourline IT's out-of-hours rota starts. Mei is on leave from 15 to 26 June. |
| Monday 6 July | One month later | You check whether it is still used. Carol's value page follows on Wednesday 8 July, with Ben's pitch; Nadia closes the commercial file on Friday 10 July. |
| Thursday 17 September | After | Carol reports the results to Harbourline's board. On Tuesday 22 September she sends three asks; your plan is due Friday 25 September (Module 15). |
Facts that later lessons rely on (simulated)
Lessons add these facts as the engagement goes on. They are kept here so that every module states them the same way. All are fictional.
Systems and environment
- Mei's nightly job copies the TMS export to
tms/inharbourline-exportswith a manifest (row count and checksum). Until access was approved on 17 April, Mei emailed the export each morning (Module 4, Lesson 1). Viktor's team proposes a backup copy ineu-west-1(Module 4, Lesson 3). - Warehouse tables:
CONSMST,CUSTMSTand a leftoverCUSTMST_OLD(Module 4, Lesson 1). - The data dictionary, the data contract (8 columns, 5 working days' notice of change, stop the load above 20% quarantined rows) and Joan's crosswalk of five customers, including St Mary's
C-1203to CRMACC-505, were agreed on 25 March (Module 4, Lesson 2 and lab). - Directory groups
HF-Claims-Clerks,HF-Claims-Senior,HF-Claims-ManagersandHF-Finance-Approvers, deny by default. Service accountsvc-claims-crm(owned by Mei, secret in AWS Secrets Manager) and IAM roleclaims-exports-read. ClaimBot's admin account is disabled (Module 6, Lesson 1). - Change process: the change advisory board meets on Tuesdays. Access is by VPN plus a jump host. The pilot virtual machine sits in a private subnet with outbound traffic only through
proxy.harbourline.example:8080(Module 6, Lesson 2). - Model route for real claims: Amazon Bedrock in Harbourline's own AWS account, region
eu-west-2(London), reached through a VPC endpoint; a self-hosted model is the fallback (Viktor's model register, Module 5, Lesson 2). The course's provider setting (Groq, Gemini or Ollama) runs on simulated data only. - Data after 5 June: the engagement's working copies and its data processing agreement end on 5 June (delete or return). After handover, the Larkfield Assist platform processes claims under the subscription's own data processing agreement. This is story context, not legal advice (Module 4, Lesson 3).
- Larkfield Assist counts lateness in calendar days by default. A
harbourlinebranch has patchedsla.pysince week 5. Ines decides on a calendar setting by 30 June (Module 13). - Larkfield's platform team works in Toronto. Larkfield support runs an out-of-hours rota for platform faults; Harbourline IT covers its own systems (Module 14).
- Other Larkfield customers named in the course: Ashby Vale Homes (a housing association), Corran Parts (Glasgow, Scottish bank holidays) and Lowther Estates (Module 13).
History and rules
- Two earlier attempts failed before ClaimBot: a TMS replacement shelved on cost in 2021, and inbox keyword rules added by IT in 2022 and switched off at Joan's request (Module 8, Lesson 1).
- HF-88207: Atlas claims £4,800. The photos arrived in MSG-3102, but Joan's sheet was never updated and still says "waiting on photos". Module 8 finds and settles the conflict; earlier lessons report what the sheet says.
- Pilot scope: the signed scope (Module 3) named late deliveries as the first slice. D3 widened the pilot to all four exception types from 6 May, with late deliveries still the first measured slice. D3 should have been a change request (Module 11).
- Ids that share a letter: D1 to D6 are the decision log (Module 11); D2 there means a person approves every payment (a clerk up to £500, Tom above) and the assistant never replies to customers on its own. Module 2's debt register numbers its own items D1 to D10, and its lab reuses those numbers (D4 is always the calendar question). R1 and R2 are the hidden rules (Module 3); R1 to R5 in Module 11 are risks.
- Releases: 0.4.0 (CHG-0417, 5 May) starts the pilot; 0.4.1 adds Tom's weekly approval sample and keeps the pilot at three clerks; 0.5.0 (26 May) fixes St Mary's; 1.0.0 (CHG-0461, 2 June) opens it to all nine.
Commercial
- Fixed price £124,200: 12 calendar weeks at £9,000 a week, bank holidays included, plus 15% for risk. Signed 27 February 2026.
- Subscription £60,000 a year, platform costs £4,800 a year, Larkfield support days £600 each; renewal 27 February 2027.
- Loaded day cost: FDE £850, Nadia £1,000. Planned 56 FDE days and 10 of Nadia's; actual 64 and 15. Margin 50.4% planned, 40.4% actual (Module 12).
- Model prices, the exchange rate and the triage cost (£0.21 a week) are kept only in Module 5, Lesson 1, section 7, the course's one place for prices.
Placeholder people
- The six clerks other than Joan, Dev and Priti are
clerk4toclerk9. Harbourline IT's out-of-hours engineers areIT-1toIT-4. Customer contacts from the shared inbox: Ravi Shah (Atlas), Dana Price (Northgate), Sam Okoro (Greenway).
The one-month check (simulated)
On Monday 6 July 2026, one month after handover: 7 of the 9 clerks use the assistant at least once a week, Joan among them. Over the four weeks after handover, 52% of exceptions were resolved within 2 working days, up from 18% but short of the 70% target. The share of wrongly paid claims did not rise. Mei has changed one triage rule on her own, using the runbook, without calling you: a sign that she owns it. Modules 11, 12 and 15 use these numbers; they are the only "after" numbers in the course.
The engagement, module by module
The modules follow the engagement roughly in order, though real engagements loop back. Each one adds a piece to one repository.
| Module | Where you are | What you add |
|---|---|---|
| 1. Engineering Floor | Before you arrive and day 1 | A project skeleton with tests, CI, Docker Compose and secrets handled properly |
| 2. Speed of Delivery | Week 1 | The cross-system lookup prototype, labelled as a prototype, and a written list of the debt it carries |
| 3. Discovery and Problem Framing | Weeks 1 to 2 | Joan's process map, the problem statement, the baseline and the target |
| 4. Their Data | Weeks 2 to 4 | A pipeline that loads the TMS export, matches TMS and CRM customers, and redacts personal data |
| 5. AI and LLM Application Work | Weeks 3 to 8 | The claims triage assistant: structured triage, policy answers with citations, a human approving, and an eval set built from real exceptions |
| 6. Enterprise Integration | Weeks 3 to 9 | Single sign-on, roles mapped to the claims team, service accounts, and a release through Harbourline's change process |
| 7. Security and Compliance | Weeks 3 to 8 | The threat model, an audit log, and answers to Viktor's questionnaire |
| 8. Domain Immersion | Throughout | A freight glossary, a schema that models exceptions as Harbourline does, and an account of why ClaimBot failed |
| 9. Communication | Throughout | Status updates, a design doc, two demo scripts, and the St Mary's incident email |
| 10. Stakeholders and Politics | Weeks 8 to 10 | A stakeholder map and the handover plan from Rafael to Helen |
| 11. Delivery Management | Kickoff to handover | The kickoff plan, risk register, decision log, training and runbook, and the one-month adoption check |
| 12. Commercial Awareness | Before and after | Proof-of-concept exit criteria, an estimate with ranges, and the value delivered in Harbourline's numbers |
| 13. Product Feedback Loop | Weeks 10 to 12 | Product feedback for Ines, one reusable component, and the customisations that stay out of the product |
| 14. Operating in the Field | Throughout | A working plan for site and VPN days, on-call boundaries, and a check that you are not the single point of failure |
| 15. Professional Practice | Afterwards | A post-mortem of your own engagement and your pattern library |
What "done" means
One month after you leave, is it still being used, without you?
That is the measure the whole course works towards. Almost every lesson exists to move that number.