Mandate Guardrails
Investment guidelines turned into approved, versioned rules, tested before and after each trade, with every breach and override on record.
We read the IMA, its guideline schedule, the prospectus and the regulatory limits, and draft each restriction as a rule. Your compliance officer approves every rule version, and each one keeps a link to the clause it came from. At run time only the rule engine tests orders and positions: before each trade and again in the daily batch. Breaches are classed active or passive, given a remediation clock, and logged with any override reason and approver. The annual review then draws on that record.
run R-2026-09-27-0412 · snapshot SNAP-ABOR-20260926
4.2 Concentration. The Manager shall ensure that:
(b) no more than 10% of market value is invested in any one industry sub-group; and
(c) no more than 5% of market value is invested in any one issuer group, and each security is investment grade at purchase.
- Numerator
- market value, all issuers in parent group
- Denominator
- total portfolio market value incl. cash
- Limit
- ≤ 5.00% · tested pre-trade and daily batch
- Warning
- 4.50% · pre-trade and in-trade only
- Rating
- ≥ BBB− at purchase · middle of 3, lower of 2
- Approved
- head of investment compliance · 2026-09-14 10:22
- v1 · 2025-11-03onboarding: single issuer ≤ 5%
- v2 · 2026-03-02amendment 1: issuer group
- v3 · 2026-09-14rating rule defined
“Investment grade” read as the middle of three ratings, as compliance approved on 14 September.
Split ratings: middle of three says investment grade; the lowest says high yield. Compliance chose the rule, and it is written into v3.
Guidelines live in a PDF; limits live in the OMS
Every restriction in an IMA or prospectus has to become a rule your order management system can test. Someone reads the clause, someone codes it, someone approves it, and the rule then runs on every order and every night until the mandate changes.
- 1Guideline analystReads the executed IMA, its investment guidelines schedule, amendments and side letters, and writes an interpretation note for each clause.
- 2Rule-coding analystCodes each restriction as an OMS compliance rule from templates; a second person approves it before it goes live.
- 3Compliance analystTests new or changed rules against current holdings, what-if trades and historical "as of" snapshots.
- 4Portfolio managerCreates the order; the OMS tests it before release. A warning can be overridden with a reason; compliance approves or rejects the override.
- 5Investment complianceRuns the daily batch on full positions, classes each breach active or passive, and sets its remediation deadline.
- 6Chief compliance officerNotifies the client, fund board or depositary as the IMA and the rules require, and signs the annual review.
- Investment management agreement (IMA) and its investment guidelines schedule
- Amendments, addenda and side letters
- Prospectus or SAI fundamental policies, including any 80% names policy; UCITS fund rules
- Regulatory limits (Investment Company Act, Rules 18f-4 and 22e-4, UCITS Art 52, FCA COLL 5)
- Security master: ratings from Moody's, S&P and Fitch; GICS sector; issuer-to-parent-group map
- Orders (FIX New Order-Single) and allocations (FIX Allocation Instruction)
- Positions: investment book of record (IBOR) and accounting book of record (ABOR)
- Interpretation notes per clause
- Versioned rule set per account or account group
- Pre-trade results and override tickets
- Breach and exception log, with remediation deadlines
- Client, board and depositary notifications
- Annual review file and the CCO's report to the board
Where mandate compliance goes wrong
- 1
Limits breached, and missed
The FCA fined Invesco Perpetual £18.6m in 2014 for 33 breaches of investment limits across 15 funds between 2008 and 2012. About £5m of losses was paid back to the funds.
- 2
One clause, two codings
"Investment grade" passes under the middle of three ratings and fails under the lowest; a 5% limit can pass against total assets and fail against net assets. A wrong reading misses breaches or raises alerts people learn to override.
- 3
Passive breaches left to age
Market moves create breaches without a trade, and they cannot be stopped before one. UCITS rules make remedying them a priority for sales; the Names Rule allows 90 consecutive days.
- 4
A review without its evidence
In September 2026 SEC exam staff reported that some advisers did not keep the documentation of their annual compliance-review testing.

The model drafts rules. Code tests every order.
The model works where there is reading to do: clauses, amendments, breach narratives. Every limit test runs in the rule engine. Every rule version, override and client notice has a named person behind it.
book IBOR · portfolio £500.00m incl. cash
- side
- BUY
- nominal
- 2,500,000
- security
- Brackwell Utilities plc 4.25% 2031
- price
- 98.00
- value
- £2.45m
The order stops in the OMS. Nothing reaches the broker until the block is cleared.
Projected values: market value including cash; price 98.00 held for illustration. A warning can be overridden with a reason; a block cannot.
The model never decides whether an order passes. Its part ends when compliance approves a rule; after that only the rule engine tests orders and positions. No rule goes live, no warning is overridden and no notice leaves without a named approver. Passive breaches cannot be prevented before a trade: they are caught in the batch and given a clock.
Every result traces back to a clause and an approver
Each test result carries the clause it came from, the rule version that ran, the inputs it read and the person who approved that version. When the IMA changes, the old rule stays on record beside the new one, so any past result can be explained against the rule that produced it.
Kept for every run
- 01IMA version (hash), clause text and the approved interpretation note
- 02Rule version, who drafted it, who approved it, and when
- 03Boundary-test results for that rule version
- 04Each evaluation: order ID or snapshot ID, the inputs read, the result
- 05Overrides: reason, approver, time
- 06Breaches: when identified, active or passive, deadline, closure
- 07Notifications: who was told, when, and what they were sent
- 08For anything the model drafted: model version, prompt version and raw output
Retention: records rules such as SEC Rule 204-2 and FCA SYSC 9.1 generally set five years; the period and storage are agreed with each client.
We will walk through how its clauses become versioned rules, where the interpretation calls sit, and who signs each one.
Rule engine at run time; model at encoding time
This is a workflow, not an agent. The model reads IMAs and drafts rule specs, which compliance approves. The approved rules run as deterministic code. The model is never in the path between an order and its pass, warn or block.
- IMA clause§4.2(c) p.14, with amendments and notes
- Model draftsMODELrule spec in the schema; lists interpretation choices (rating, denominator, timing)
- Code checksCODEschema validation, compile, boundary tests on synthetic portfolios (below)
- Compliance approvesPERSONfour-eyes; version, approver and timestamp recorded
- Rule libraryMG-0412 v3, read-only once approved; v1, v2 keptapproved versions → loaded into the rule engine
- Orders, positionsFIX 35=D / 35=J; IBOR pre-trade, ABOR in the batch
- Rule engineCODE ONLYevery applicable rule, per account after allocation: pre-trade, in-trade, post-execution, daily batch. pass · warn · block; breaches classed active or passiveno model between the order and pass / warn / block
- People decidePERSONoverride a warning (reason); breach disposition; client and board notices
- Model draftsMODELbreach narrative and review pack, from the record, after the decision
rule: MG-0412 version: 3 # v1 2025-11-03 · v2 2026-03-02 scope: ACCT-ASHBY-01 source: IMA-QGCM-2025 amdt 1 · Sch.2 §4.2(c) p.14 note: IN-4.2(c)-02 part_1: # issuer group concentration numerator: mv where issuer_group = $g aggregation: parent_group denominator: total_mv_incl_cash operator: "<=" limit: 0.0500 warn: 0.0450 stages: [pre_trade, in_trade] stages: [pre_trade, in_trade, post_exec, batch] part_2: # credit quality test: rating >= BBB- rating_rule: middle_of_3_else_lower_of_2 timing: at_purchase unrated: route_to_compliance effective: 2026-09-15 drafted_by: rule_draft@v5 · model snapshot pinned approved_by: head_of_investment_compliance approved_at: 2026-09-14T10:22
Rules change by version, each tested and approved. At run time, only code decides.
Expected outcomes are written before the engine runs. A version is approved only when every synthetic case matches.
Harness
- Pattern: deterministic rule engine, with the model only at encoding time. No agent loop runs at run time.
- Why a workflow. Fixed code paths suit well-defined tasks that need predictability; mandate testing is one.
- Why not a model at run time. Models apply policy inconsistently across runs: in τ-bench, gpt-4o (mid-2024) solved 61.2% of retail tasks once, but fewer than a quarter consistently across 8 tries.
- Rules are governed as code. Versioned, tested, approved and read-only once live. Model-risk guidance treats deterministic methods as needing documented controls, and asks firms to consider more for material, complex ones.
- Where the rules run: compiled to your OMS compliance module, or run in our engine beside it.
Data and integrations
- Guideline sources: IMA and guideline schedule (PDF or Word, sometimes scanned), amendments and side letters; prospectus and SAI policies; UCITS fund rules.
- Rule schema: scope, numerator filter, aggregation key, denominator, operator, limit and warning level, test stages, effective dates and source clause, per rule version.
- Security master: ratings from Moody's, S&P and Fitch with an explicit selection rule; GICS sector (four tiers); an issuer-to-parent-group map for group limits.
- Positions: IBOR for pre-trade (intraday, including pending orders); ABOR for the batch; custodian files for reconciliation. Every test names the book it read.
- Orders: FIX 4.4 New Order-Single (35=D) with ClOrdID (11), Account (1) and pre-trade allocations (78/79/80); Allocation Instruction (35=J), whose quantities must sum to the order. Block orders are tested per account after allocation.
- Derivatives: notional exposure, 10-year bond equivalents for rate derivatives and delta-adjusted options, where the Names Rule requires them.
- Cadence: per order, per execution and in a daily batch, with month-, quarter- and year-end snapshots; Rule 18f-4 VaR each business day, 22e-4 liquidity at least monthly, the Names Rule basket at least quarterly.
What is hard for machines, and what we do about it
"Investment grade" with split ratings. Baa3 / BB+ / BBB− is investment grade on the middle rating and high yield on the lowest.
The model flags the term; compliance chooses the rule (Bloomberg's index methodology, for example, uses the middle of three, lower of two), and the choice is written into the rule version.
Which denominator, and when. The Names Rule uses net assets plus borrowings for investment purposes, tested at the time of investment; s.5(b)(1) uses total assets.
Every rule names its denominator, book and timing. Boundary tests run under each variant (below).
The same words pass under one denominator and fail under three. The rule has to name which.
Issuers that belong to one group, and funds that hold other funds.
A maintained parent hierarchy, with group companies counted as one body where UCITS requires it; a look-through flag on each rule.
Models drift. GPT-4's accuracy on one task fell from 84.0% to 51.1% between its March and June 2023 versions under the same name.
Pinned model versions; after any model change, the rule drafts are re-tested before the model drafts again.
Passive breaches arrive without a trade.
The engine classes each breach from trade history ("no trade in scope since the last pass"), and compliance confirms it.
How we know it works
- Clause coverage: every clause in the golden IMAs maps to at least one rule or is marked manual with a reason. Target: 100% accounted for.
- Rule correctness: each rule runs on synthetic boundary portfolios (1bp under, at, and 1bp over the limit) under each denominator and timing mode. The suite must pass 100% before a version is approved.
- Seeded-breach replay: historical orders and batches replayed with planted breaches: split ratings, group issuers, look-through, derivatives notional, passive moves. Target: no misses.
- Golden set: 20–40 fictional clauses covering each hard case, plus several of your own mandates with known historical breaches.
- Shadow run: results compared case by case with your incumbent compliance system, which stays authoritative; every disagreement is logged with its root cause.
- In production: override rate per rule. A rule that is overridden often is usually specified wrongly.
These targets are our proposals, not industry benchmarks; none has been published for this work.
Controls and security
- Four-eyes on every rule version. An approved version cannot be edited; a change creates a new version with its own approver.
- Append-only records. Corrections stay visible and records are not otherwise altered, the pattern FCA SYSC 9.1 describes.
- Least privilege. The model can read guideline documents and propose rule specs. It has no tool to change a live rule, release an order or send a notice; those run from the approval screen under the approver's identity.
- Documents are data. Text inside an IMA, amendment or email fills typed fields; it cannot choose an action.
- Where the model runs and what it sees: agreed with each client and named in writing. At encoding time it reads guideline documents only; it has no access to live order flow.
The rules, as of 28 September 2026
- ESMA fund-names guidelines apply to existing fundsAn 80% threshold for ESG terms; temporary deviations are passive breaches to correct.
- SEC FY2026 exam prioritiesFund portfolios checked for consistency with stated strategy, filings, marketing and the amended Names Rule.
- Names Rule compliance, fund groups of $1bn or moreEach fund complies from its first annual prospectus update on or after this date.
- SEC risk alert on annual compliance reviewsStaff found testing documentation not kept. The review needs its evidence on file.
- Names Rule compliance, fund groups under $1bnQuarterly review of the 80% basket; 90 consecutive days to return to compliance.
Terms
- Investment management agreement (IMA)
- The contract appointing a manager for a segregated account; the investment guidelines are usually a schedule to it. UK/EU "IMA"; US also "investment advisory agreement".
- Investment guidelines / restrictions
- The client's limits on what, and how much, the manager may buy. US "guidelines"; UK/EU often "restrictions".
- Pre-trade and in-trade compliance
- Tests of a proposed order before release, and of a trader's order before it is committed.
- Portfolio (batch) compliance
- A scheduled test of the whole book, usually daily.
- Rule coding
- Turning a restriction into a compliance rule the OMS can run.
- Four-eyes approval
- A second person approves a rule or change before it is used.
- Hard and soft limit
- A hard limit blocks the order; a soft limit warns and can be overridden with a documented reason.
- Active and passive breach
- Caused by the manager's own trade, or by a market move or event outside its control. UK/EU usage; US statute speaks of a "discrepancy".
- Issuer group aggregation
- Counting companies in the same group as one issuer. Explicit in UCITS.
- Look-through
- Testing limits against the holdings of funds the portfolio owns.
- Middle rating
- The middle of the Moody's, S&P and Fitch ratings, or the lower of two if only two exist.
- 80% basket and "Assets"
- The Names Rule requires at least 80% of Assets, meaning net assets plus borrowings for investment purposes, to match the fund's name. US; ESMA applies an 80% threshold to ESG names in the EU.
Recently updated
- Rules strip updated for the Names Rule compliance dates and the SEC's 14 September 2026 risk alert on annual compliance reviews.
- Evidence list now names the testing records an annual review draws on.
Questions
No. The model drafts rule specs from your IMA, and your compliance officer approves each version. From then on, orders and positions are tested by the rule engine alone. The model also drafts breach narratives and notices, but only from the recorded result, after the decision, and a person signs anything that leaves.
No. A pre-trade check can block or warn on an order that would breach a rule. It cannot stop a passive breach, which comes from a price move or an event with no trade behind it. Those are caught in the daily batch, classed from the trade history, and given a remediation deadline and an owner.
The amended clause is compared with the live rule, and a new rule version is drafted, tested and approved. The previous version stays on record, read-only. An "as of" replay can show what the new version would have said about past positions, and every past result stays tied to the version that produced it.
No. Most asset managers already run pre-trade rules in an OMS compliance module. We work on how rules get there: drafting from the clause, testing and approval, lineage and evidence. The approved rules either compile to your OMS or run beside it in shadow until you choose.
At encoding time the model reads your guideline documents; it needs no access to live order flow. Where it is hosted, which provider and region, and what is retained are agreed with each client and named in writing. Every model call is logged with its model and prompt version.
A record, not a rebuilt spreadsheet: rule versions with approvers, test results, overrides with reasons, and breaches with their deadlines and closures. Rule 38a-1 requires a fund CCO's annual written report to the board, and Rule 204-2 requires advisers to keep annual-review records. SEC staff found in 2026 that some advisers kept no testing documentation.







