- Before
- Reads every clause, chases every definition and hand-codes each rule, with a back-test only when there is time.
- Now
- Opens a rule already drafted, read twice and tested; decides only where the readings differ — “tell me where the two readings differ and what each one would have flagged.”
Compliance rule coding for one mandate, clause by clause
Pensionskasse Rheinhafen, a German pension fund, has awarded Quillfield Capital a €1,698.4 million (about $1.8 billion) segregated Global Equity Opportunities mandate, account RH01. The client funds on Monday, November 2; the rules are due live on Wednesday, October 28. Here is how its investment guidelines become investment compliance rules, screen by screen, in the working solution.
- 01Monday morning
Everything that needs her, and what the agents did over the weekend
Nadia Brennan · Compliance rule analystNadia's Today screen shows 9 decisions waiting for her — 6 on Rheinhafen, 3 on rule changes — 23 mandates onboarding, 184 rule changes open with 32 due in 2 days, and 98.6% of live rules cited to a clause. The agents' morning brief reads like a conversation: the Reading agent agrees with the drafts on 37 clauses and differs on 4, and the Tester agent re-ran 64 rules overnight after a benchmark reclassification notice.
“People decide; agents never load a rule.”
- 02Friday, 15:20 London
The mandate package, read in the language it was signed in
Intake agentRavi Menon filed the package from document management: the Investment Management Agreement (64 pages), Schedule 2 Investment Guidelines (9 pages), a German side letter, the Nebenvereinbarung (6 pages), and the client's 212-issuer exclusion list, the Ausschlussliste. The mandate page walks the work in seven stages — documents, clauses, draft, second reading, tests, checker, load — with 47 clauses found, 3 side-letter overrides and 41 rules, each cited.
“The side letter overrides Schedule 2 in 3 places (§2: the side letter prevails). 3 clauses link to house rules already live.”
- 0336 minutes
Every step of the run, with its sources and timing
The agentsReplaying the run shows what each agent did. The Coding agent drafted 41 rules in 9 min 12 s, every element cited to its clause, median confidence 0.93. The Reading agent read all 47 clauses blind, on a different model, with no access to the drafts. The Mapping agent tied terms to data and matched 203 of 212 excluded issuers; the Tester agent ran 8 edge cases per rule and a 251-day back-test; the Load agent dry-ran 40 engine rules with 0 breaches.
“Hand-off to Nadia Brennan · 6 items need a person. Disagreements are never resolved by an agent. Nothing has been loaded.”
- 04The rule bench
Emerging-market issuers at most 10%: two readings, side by side
Nadia Brennan · Compliance rule analystSide letter §3(2) caps issuers “mit Sitz in Schwellenländern” at 10% of portfolio value. Reading A, the Coding agent's draft, codes it literally — issuer domicile, country of incorporation — at confidence 0.71. Reading B, the Reading agent's, follows the side letter's §1(1) to IMA definition 1.14, Emerging Market Issuer by Country of Risk, at 0.93. The test bench shows today's transition plan at 8.7%, eight edge cases passing, and the engine parameters cited field by field.
Limit: “≤ 10.00% (‘nicht überschreiten’: 10.00% is allowed)”
- 05The definitions trail
The German original, the English beside it
Reading agentOne click on the definitions trail opens the source: side letter §1(1) in German, “Die in dieser Nebenvereinbarung verwendeten Begriffe haben die im Vermögensverwaltungsvertrag vom 9. Oktober 2026 festgelegte Bedeutung”, and the English beside it — terms carry the meaning given in the Investment Management Agreement of October 9, 2026. The trail runs from SL §1(1) to IMA 1.14, 1.9 Country of Risk and 1.17 Portfolio Value.
The English is the Intake agent's translation, checked by the Reading agent; the German stays the source.
- 0609:41
She asks for the breach days, then decides
Nadia Brennan · Compliance rule analystThe Tester agent ran both readings for 251 business days: domicile would have been over 10% on March 11–13, 2026, peaking at 10.4%; country of risk peaked at 9.1%. Four holdings explain the gap — two Cayman-incorporated China issuers count only under country of risk, real China exposure the literal reading misses. Nadia chooses Reading B with the reason code “Defined term governs” and sends it to Tomás Ferreira; a one-line client confirmation is drafted for Ravi Menon in German and English.
Coding agent: “I agree the defined term should govern. I have not changed the draft: the choice is yours.”
- 07A failing test
Nine excluded issuers that don't match the security master
Mapping agentThe client exclusion list, side letter §4(6), is matched by ISIN, then LEI, then name with the parent hierarchy. 203 of 212 issuers matched; 7 renamed or merged issuers have proposed matches at confidence 0.91–0.99, and 2 need a person — one delisted, one ambiguous name. The rule stays “Test failing” until they are resolved: a pre-trade compliance hard block and a daily post-trade check, with list changes applying ten business days after notice.
The Mapping agent never guesses an identifier below 0.90 confidence; it asks.
- 08London, the same morning
The checker sees the clause, the decision and the tests on one page
Tomás Ferreira · Senior compliance officerNadia sends the 34 agreed, passing rules in one step and R-RH01-014 with her decision. Tomás opens it: the German clause and the English, the rule, Nadia's decision and reason, 8 of 8 edge cases, 0 days over in a 251-day back-test, and the version of the Coding agent that drafted it. He works a four-point checklist — clause read in its original language, defined terms applied, tests cover the clause, decision sound — then signs off or returns it with a reason code.
On a rule he coded himself: “You coded or decided this rule. Segregation of duties: another checker must sign it.”
- 09Before release
A dry-run, a diff against production, then the Head releases
Load agent · Helen AchebePackage RP-2026-1019-RH01 compiles in the engine's test environment as 40 engine rules and 1 manual control. The dry-run on the 64-holding transition plan shows 0 breaches and 1 warning: emerging markets at 8.7% against the 8.5% warning level. Against production it is 41 new, 0 changed, 0 retired. Nothing reaches production before a checker's signature on each rule and Helen Achebe's release; after the load the agent verifies the first pre-trade check and the first overnight batch.
“Only the Head of Investment Compliance releases packages over 25 rules.”
- 10When audit asks
One evidence pack for the mandate
Mireille Okafor · Internal auditFrom the audit trail, one export collects the mandate's 47 source clauses in German and English, both readings for every rule, the analyst's decisions with reason codes, checker sign-offs, edge cases and 12-month back-tests, the engine dry-run and load results, and the agent and model versions. The pack — PDF report, CSV event log and JSON bundle — comes with a SHA-256 manifest, and the export itself is logged. It answers what an auditor testing investment guidelines compliance asks: which clause, which reading, who signed and what was tested.
“Every file is listed in a SHA-256 manifest so a regulator or auditor can prove nothing changed after export.”