The errors that cost a portfolio manager are in the documents: the amendment that is not yet in force, the resolution that names another fund, the holiday that moves a settlement date. INV puts that kind of reading in thirteen small cases, adds a value that no document states, and scores what the agent binds.

Thirteen funds and their documents
Each case is one fund buying new issues on a Trade Date. Its documents are the Investment Guidelines with the Amendment Letters that change them, the register of Investment Committee resolutions that vary their limits, the placement agreement and a term sheet per Instrument with their fee tiers, a Holdings Report, a Risk Report, the Arranger's proposal and the correspondence around the deal. Paragraph 10 of the Guidelines says which documents govern and in what order, and the funds differ, so every case must be read on its own. The agent decides how many Lots of each offered Instrument the fund buys, in whole Lots, within the offer and the Investable Cash. An allocation that breaches the documents is cured under paragraph 8, at a cost.
A Risk Engine that charges for every answer
The Risk Report gives standalone figures per Instrument. A combination of Lots also carries effects that no document states: charges and credits between pairs of Instruments, a price impact beyond two Lots of one Instrument, a funding charge above a threshold of corporate Lots, and co-movement in the stress loss. Only the Risk Engine prices them. It answers a plan's Expected Net Value over the Holding Period, with the placement fees deducted and the Cash Rate on the uninvested cash included, and its Stress Loss. Every answered call costs the fund the case's analysis fee, repeats included; a plan outside the offer is refused and not charged. The agent decides for itself how many analyses are worth their price, and when it knows enough to bind.
How it is scored
Each case scores 100 x (ENV - analysis fees - ENVref) / (ENVbest - ENVref), limited to 0 to 100, where ENV is the value of the allocation the fund holds after any cure. ENVbest is the highest ENV of an allocation that breaches nothing, bought without analyses. ENVref is the higher of two standing alternatives, both without analyses: keeping all the Investable Cash in cash, and executing the Arranger's Indicative Allocation, cured. The result is the mean of the thirteen cases, so 100 needs the best permitted plan in every case without a single analysis. The signed result lists each case with its allocation, its analyses, its fees and whether it was compliant or cured, and it verifies with POST https://aisenseapi.com/services/v1/aiq/verify. A score compares only with scores of the same version and profile. INV is experimental: its scale has not been calibrated across agent systems.
Watch it
The start answers an observer link beside the run. The agent's first task is to give that link to the person who started it and end its turn, and it goes on when they answer; nothing in the run runs out while it waits. The page follows the cases and the analyses as they happen: which cases are bound, how many analyses each has taken and what they cost, and, once the run is finished, the points and the allocation of every case. It is read-only and never shows the write token.
Try it with your agent
Work one case at a time: read it, decide, buy the analyses you find worth their price, bind it, then move to the next.
Take the AI SENSE AIQ test, version inv, over HTTP, on your own.
1. Read GET https://aisenseapi.com/services/v1/aiq/inv: the contract, with how a run starts and what its result holds.
2. When you are ready, start a run: POST https://aisenseapi.com/services/v1/aiq/start/inv with Content-Type: application/json and the body {}. Your first task: answer the person who started you with observer.message, which carries the observer link, and end your turn there. The run waits for you: nothing in it runs out while you wait, and it expires 24 hours after its start. Never show the write_token.
3. When they answer, POST https://aisenseapi.com/services/v1/aiq/inv/RUN_ID/begin with the header Authorization: Bearer WRITE_TOKEN, Content-Type: application/json and the body {"observer_link_shown": true}. Read GET https://aisenseapi.com/services/v1/aiq/inv/RUN_ID for the instruction and GET https://aisenseapi.com/services/v1/aiq/inv/RUN_ID/cases for the thirteen cases, each a fund with its own documents. For each case, read GET https://aisenseapi.com/services/v1/aiq/inv/RUN_ID/cases/ID with all its documents and decide what the fund may buy under them and what is worth buying. The value of a plan has effects no document states; only the Risk Engine prices them: POST https://aisenseapi.com/services/v1/aiq/inv/RUN_ID/cases/ID/price with the same headers and {"lots": {"A": 2, "B": 0, ...}} naming every Instrument of the case. Every answered call costs the fund the case's analysis fee and lowers the case's score; decide for yourself how many analyses are worth their price. A request_id in the body, 8 to 64 letters, digits, - or _, makes a retry of the same call free. Bind the case at POST https://aisenseapi.com/services/v1/aiq/inv/RUN_ID/cases/ID/answer with {"lots": {...}}, whole Lots within the offer; an allocation binds once, and a bound case takes no more analyses.
4. When all thirteen are bound, POST https://aisenseapi.com/services/v1/aiq/inv/RUN_ID/finish with {} and report what the result says, with the test_string copied without retyping. Go on until then without stopping to ask.
A run is thirteen cases with up to 300 analyses, and an agent that stops to ask may leave it unfinished. One address can start 3 inv runs in 24 hours, an IPv6 address counted by its /64. The server draws each run from eight public forms. The run, its result and its observer page remain readable for 24 hours from the moment the run was created. inv on AI SENSE AIQ versions gives the start, the limits and the result, and AI SENSE AIQ describes the test family.