The agents went and found them. One page, checked before it leaves.
01
Introduction
Session 3 wrote the rules. Today, we hand over the doing.
Sessions 1, 2 and 3
Three sessions, in one sentence
Session 1: what it knows. A project. Session 2: how it works. A skill. Session 3: which source wins. The rules, and a page.
Two questions, before we start
Read us your precedence rule. One sentence.
Which document did you pick? The one you redo after every deal.
Sessions 1 to 4
The thread
Each session gives Claude one more thing.
projectWhat it knowsThe Airbus brief. The house rules.session 1 · context
skillHow it worksA method, written once. The price file, the deck.session 2 · method
artifactWhich source winsThe rules of the one-pager. Seventeen questions. And a page to type into.session 3 · rules
agentWho does the workThe answers, fetched where they live. Then checked.today · the doing
Context, method, rules. Today: the doing. Same folder, same Claude.
Since session 3
What changed since session 3
Three weeks ago
Two documents: the launch Term Sheet and the pricing press release. The rest was typed by a banker, at eight p.m.
Since last week
The desk gave us its own page on this deal: the real allocations, the marketing ranges, the implied vol. For once, the right answer.
1 · Fetch your parameters where they liveInstead of me typing them. Step 3.
2 · Hold what we produce against what you produceField by field. Step 4.
Two things we could not do three weeks ago. Your documents make this session possible.
02
Sixteen answers
The page came out in session 3. But somebody answered sixteen questions first. How many of them can go?
Sixteen answers
Seventeen questions, again
The questionnaire of the skill, in the desk’s order. Sixteen of them need an answer before the page comes out.
1–4 · The dealIn the Term Sheet and the pricing release
1
2
3
4
5–7 · The wall-crossDays, investors sounded, hit ratio
5
6
7
8–13 · The bookSize, lines; demand and allocation, by type and by geography
8
9
10
11
12
13
14–16 · The deskImplied vol, bond floor, delta: range and priced
14
15
16
The page came out in session 3. But somebody answered sixteen questions first.
Sixteen answers
The cost is the collection
To the desk
Honestly: how long does it take to fill in those sixteen answers, on a pricing evening?
The cost of a deliverable is not the layout. It is the collection.
The question of the session. Which answers already exist somewhere, in a document, in a syndication file? And which exist only in the desk’s head?
Today
The same folder as session 3: a Term Sheet, a pricing release. Plus one file: yours, from syndication.
AGENT 1ReadThe two documents. The final terms.
AGENT 2RebuildThe book, line by line.
AGENT 3ComputeThe pricing parameters.
AGENT 4FetchYours, from your own documents.
AGENT 5Re-readThe result, against the release.
The one-pager comes outA sixth agent compares it to yours
Sixteen answers
Three words
One sentence each. No more.
Skill the know-howThe desk’s rules, written once. Session 3: the rules of the one-pager.
MCP the accessTo files, to market data, to applications. The arms, in session 2.
Agent what runs themIt runs the skill, through the access. And several can run at once.
A skill knows. An MCP reaches. An agent does the work.
03
The agent reads
Two documents in, the final terms out. And one sentence it must be able to say: I do not have it.
Step 1 · the agent reads
The final terms
Prompt 01 · trainer screen · the folder connected
Read the documents in 01_Source and give me the final terms of the transaction. For anything you cannot find, write “Not available” — do not guess.
The coupon comes from the release, the range from the Term Sheet. The precedence rule of session 3, applied by an agent. Nobody had to think about it.
Final terms · Rexel OCEANEsource
Size€400mrelease
Coupon1.00% range 1.25–1.75%release
Premium35% range 30–35%release
Reference price€37.2696release
Conversion price€50.3140release
Dilution2.68%release
Issue, maturity13 May 2026 · 13 May 2031release
RatingBa1 / BB+ StableTerm Sheet
Dividend protectionabove €1.20Term Sheet
Anything else“Not available”never a guess
Step 1 · the agent reads
Octans or Rexel?
The agent asks
The Term Sheet and the allocation file say “Octans”. The press release says “Rexel”. Is that intended?
It spotted an inconsistency between two sources. It told me, instead of deciding on its own.
It only missed what all of you know: a deal carries a code name until launch.
01_Source/
Project Octans - Launch Term Sheet.pdf
Rexel - CB Pricing PR (EN).pdf
02_Saisie/
Allocation_Octans_SYNTHETIC.xlsx
It finds a document by its folder. And step 4 checks that “Octans” never reaches the page.
Step 1 · the agent reads
Not available, not zero
1 · The final coupon from the release, the range from the Term Sheet. Session 3 wrote the rule. An agent applies it.
2 · What it did not find is written “Not available”. Not zero. Not an estimate. Not a market average.
3 · What it derives, it flags. On the folder of the close, the reference price is not in the release: conversion price ÷ (1 + premium), marked as derived.
An agent that reads is only useful if it can say “I do not have it”.
04
The agent rebuilds the book
221 lines, one account per line. The file already exists: it comes out of syndication. Nobody re-reads it.
It comes out of syndication. Nobody re-reads it to derive percentages: we ask the banker instead.
Step 2 · the agent rebuilds the book
The desk’s taxonomy
Prompt 02 · trainer screen
Take the allocation file in 02_Saisie and compute the book: total size, number of lines, oversubscription, then the split by investor type (LO / HF / Others) and the geographic split in the desk’s taxonomy — France, United Kingdom, and Rest of World for everything else. Do it on demand and on allocation.
FranceFR
United KingdomGB
Switzerland, Germany, the Netherlands, Singapore, SwedenRoW
Without the instruction, a column for each country. And your percentages no longer match the desk’s.
Step 2 · the agent rebuilds the book
Questions 8 to 13, gone
€4.0bnbook
221lines
10xoversubscribed
The wall-cross tab22 investors sounded the day before, 22 indications. Questions 5 to 7.
Demand
LO 27%HF 64%9%
GB 51%FR 14%RoW 35%
Allocation
LO 60%HF 39%
GB 44%FR 34%RoW 22%
Others: 9% of demand, 1% of allocation
Questions 8 to 13 have just disappeared. Nobody keyed them in.
Step 2 · the agent rebuilds the book
By meaning, not by position
The agent reads the header row. It finds each column by what it means. Never by where it sits.
Your template names them differently? It still works.
It cannot identify a column?It stops, instead of guessing.
Book sheet 'Book & Allocations', header row 4demand -> column 'Demand (EUR m)'alloc -> column 'Allocation (EUR m)'type -> column 'Investor type'country -> column 'Country'Wall-cross sheet 'Wall-cross log'
22 investors, 22 indications given
A column not identified: stop, and ask the desk.
It survives a different desk template. And what it cannot read, it reports.
Step 2 · the agent rebuilds the book
A synthetic file, and a request
Honestly
This file is synthetic. The format is rebuilt. The accounts are anonymised codes. The totals are calibrated on the desk’s own figures for this deal.
That is why the result matches the page you know.
The request
A real allocation file, anonymised. Or only the list of its column headers.
With your headers, we test step 2 on your format. Not on ours.
One header row is enough to know whether the agent reads your file.
05
The agent computes
Not to reproduce the desk’s numbers. To find out which of them can be reproduced at all.
Step 3 · the agent computes
Which result is robust?
Prompt 03 · trainer screen
Compute the bond floor from the final terms in 01_Source alone, with a 5-year EUR swap at 2.45% and a 165 bp credit spread. Give its sensitivity to plus or minus 50 bp.
Then compute the delta and the implied volatility, stating the model you use and your dividend and borrow-cost assumptions. Tell me which of these three results is robust to the choice of model and which are not.
Finally, fetch the desk’s marketing ranges from 99_Reference and place your values against them. Do not use those ranges in the calculation itself.
Write your results to 02_Saisie/desk_calcule.json and 02_Saisie/desk_params.json.
This step does not reproduce the desk’s numbers. It finds out which of them can be reproduced at all.
Step 3 · the agent computes
Three runs
The same prompt, three times. One result never moves. Two never come out the same.
Bond floordesk range 86.3–89.7%
86.1 · 86.1 · 86.3
Robust. It depends only on the discount rate.
Deltadesk range 47–48%
47 · 42 · 51
It depends on the model, and on the dividend assumed.
Implied voldesk range 26.6–32.6%
34.4 · 38.9 · 30.9
The same, and amplified.
Each line spans twenty points. The band is the desk’s marketing range; the dots are the three runs.
Step 3 · the agent computes
What does it depend on?
The bond floor · a discount
Coupon, maturity, rate. Nothing else.
→86.1%of par
−50 bp88.2
−25 bp87.1
165 bp86.1
+25 bp85.1
+50 bp84.1
Linear. Fifty basis points move it about two points. It goes on the page.
The delta and the vol · a model
A convertible model needs four things the documents do not give.
A volatility
An expected dividend
A stock borrow cost
A treatment of the call features
Change one, and the result moves by several points. Shown as computed. It waits for your sign-off.
Not “is it right?” but “what does it depend on?”
A result that does not move when you change the model is a result you can sign.
Step 3 · the agent computes
Where your figures live
The desk’s own page, slide 2. Three lines. Not cells in a table: loose text boxes.
The agent looks for the label. Then it reads what sits on the same line.
Here, a previous one-pager, because that is what we had. At your desk: your pricing sheet, or the trader’s email.
The desk’s page · key terms of the offering
Implied volatility26.6%32.6%34.4%
Bond floor86.3%89.7%
Delta47%48%
The label, then the boxes on the same line: low, high, and the priced value when it stands apart. Where it does not, the reader says so.
The agent fetches your figures where they are. Not where someone copied them.
Step 3 · the agent computes
It says where it is weak
At the end of its answer · what it states
Its model, and its number of steps
Its conversion window
Its rate conventions
Its dividend and borrow-cost assumptions
What it did not model · and says so
The soft call
The clean-up call
The change-of-control put
And the direction of the bias that the ignored soft call brings.
It tells you where it is weak. That is what you ask of a junior. Rarely what you get from a tool.
06
Generate, verify, compare
Three prompts in a row. One produces the page. One re-reads it. One holds it against the desk’s own.
Step 4 · generate, verify, compare
Nobody keyed anything
Prompt 04 · generate
Now generate the one-pager. Take the terms extracted from the documents, the rebuilt book and the desk parameters, write the JSON expected by _outils/onepager_eql.py following the structure of _outils/modele_structure.json, and produce the PowerPoint in 03_Sortie. Invent nothing: flag whatever you do not have.
Read in the two documents · agent 1
Rebuilt from the allocation file · agent 2
Computed, ranges fetched · agents 3 and 4 · to confirm
Rexel | €400m 5Y Convertible Bond (OCEANE) | May 2026
10x oversubscribed; coupon priced at 1.00%, below the 1.25%–1.75% marketing range, and conversion premium at the top of the 30%–35% range.
PASSThe code name is absent“Octans” appears nowhere on the page
And twelve more: the size, the dilution, the oversubscription, no range shown as a final term, the provenance of the desk parameters…
It flags. It never fixes.
Step 4 · generate, verify, compare
Four objections
It does not stop at the checklist. And each objection is right.
The book comes from a synthetic file.It read the header: “SYNTHETIC TEST DATA”. It refuses a page that presents those figures as real.
Floor and delta are computed, not the desk’s.The skill asks for the banker’s figures. That is exactly the argument of step 3.
Allocations outside the Reg S perimeter.If it finds any. A compliance question, not a layout one. No internal check would raise it.
The skill’s own procedure was not followed.The skill says: ask the desk before generating. The chain did not ask. It went and found the answers.
The fourth cannot be fixed here. The skill itself needs updating: a rule to rewrite.
Step 4 · generate, verify, compare
Against the desk’s own page
Prompt 06 · compare · run it twice
Now compare the generated one-pager to the desk’s document in 99_Reference, field by field on the splits. Flag every value difference and every labelling difference.
First on the one-pager of session 3. Then on the one that just came out.
The one-pager of session 311discrepancies
The one-pager of the agent chain0discrepancies
For once, we have the right answer. Eleven, then zero.
Step 4 · generate, verify, compare
A labelling error is invisible
Session 3, against the desk · demand
US 35%→RoW 35%
UK 51%→GB 51%
HF 73%→HF 64% + Others 9%
The amounts were right. The labels were wrong. The same at allocation. Delivered three weeks ago, and nobody spotted it.
It passes every internal check. The totals add to 100. The amounts are right.
Only a document of record shows it. A verifier checks consistency. You also need a document that counts as the truth.
One change to the generator since session 3: a segment too narrow for its label is no longer labelled. “Others” at 1% spilled over its neighbour. Layout only, no data touched.
Step 4 · generate, verify, compare
A verifier that cries wolf
The first version of the verifier
It objected to the text of the page, because the text quoted the marketing range. Legitimately.
A false alarm.
Tightened
The prose may quote the range. The terms table may not.
It flags what matters, and nothing else.
After the third false alarm, you stop reading it. And then it is worth nothing.
07
A folder nobody prepared
A public pricing release. No Term Sheet, no allocation file. Can it still produce the page?
A folder nobody prepared
NO-GO
Prompt 07 · go / no-go
Can you produce the one-pager for Dossier2_Public? If not, tell me exactly what is missing and who has to supply it.
Neoen, October 2019. A public pricing release, nothing else. The reference price is not in it: 30.17 ÷ 1.35 = €22.35, flagged as derived.
NO-GO8 inputs missing before generation
The deal teamThe launch Term Sheet, and what only it carries: the rating, the dividend protection, the coupon range, the premium range5
SyndicationThe allocation file. The wall-cross log.2
The bankerThe marketing ranges: implied vol, bond floor, delta1
Nothing is guessed. It stops here, rather than fill the gaps.
It produces nothing. And that is exactly what we asked of it.
A folder nobody prepared
From sixteen to three
1–4 · The dealRead in the documents
1
2
3
4
5–7 · The wall-crossRebuilt from the allocation file
5
6
7
8–13 · The bookRebuilt from the allocation file
8
9
10
11
12
13
14–16 · The deskPriced values computed. The ranges stay yours.
14
15
16
Three inputs remain: the marketing ranges of the vol, the bond floor, the delta. They exist only in the pre-launch pricing run. No calculation recovers them.
And even those, the agent reads out of your own documents, as soon as you have produced one.
A folder nobody prepared
The agents we built
AgentWhat it doesWhat it replaces
DocumentReads the Term Sheet and the release, extracts the final terms, writes “Not available” for the restQuestions 1 to 4, and the cross-reading of both documents
BookRebuilds the book line by line from the allocation file: size, lines, oversubscription, splitsQuestions 5 to 13: nine inputs
PricingRecomputes the bond floor and the delta from the final terms and explicit assumptionsPart of questions 14 to 16
Desk-parameter readerFetches the marketing ranges from the desk’s documents, instead of having them keyed inThe rest of questions 14 to 16
VerifierFifteen checks of the page against the release and the skill’s checklistA review nobody had time for
Benchmark comparatorHolds the page against the desk’s own, field by fieldNothing: that check did not exist
Go / no-goLists the inputs, names who must supply what is missingThe back-and-forth of finding a missing piece
The PowerPoint generator is not an agent. It is a tool, written once in session 3. The layout is fixed; the data moves.
A folder nobody prepared
When something is missing
What a good agent does. Four rules, for every agent you will build.
stopIt stopsIt does not average, estimate, or carry a marketing range over as a final term.step 1 · the close
nameIt names what is missingAnd who has to supply it: the deal team, syndication, the banker.the NO-GO
provenanceIt says where each figure comes fromOur footnote: “computed by the agent, pending desk confirmation”. Not the desk’s name.step 3
flagIt flags, it never fixesA checker that silently corrects is a checker you cannot audit.step 4
A folder nobody prepared
Six questions you will ask
Did it invent the bond floor?No. It computed it from the coupon, the maturity and a credit spread it shows. With no rating and no spread, it refuses to compute.
Our allocation file looks different.Columns are found by meaning, not by position. What it cannot identify, it reports.
Who signs off?You, as today. But on a page already checked on fifteen points, instead of rebuilding it.
Can it run on its own, overnight?Technically, yes. Not for a page that leaves the desk: the go / no-go is there so that a human decides.
Our allocation files are sensitive.They stay in the connected folder. Claude reads them to do the work. On a work plan, they are not used for training.
An ABB, or a straight bond?The machinery is written once. What changes per product are the rules: a document, not code.
Wrap-up
In one hour
readIt readThe final terms, from the right document. And “Not available” for the rest.questions 1 to 4
rebuildIt rebuilt the book221 lines, in the desk’s taxonomy. By meaning, not by position.questions 5 to 13
computeIt computed, and said on whatThe bond floor, robust. The delta and the vol, to confirm.questions 14 to 16
checkIt checked, and it refusedFifteen checks. Eleven, then zero. A NO-GO on a folder nobody prepared.the checking
Sixteen inputs at the start. Three at the end. What stays is not a quantity of work. It is the desk’s judgement on what it signs.
One sentence ties it all together
Building an agent is not automating everything. It is finding the irreducible human input, and automating rigorously around it. Checking included.
The words
AgentWhat runs the skill, through the access. Several can run at once.
MCPThe access: to files, to market data, to applications. The arms.
SkillThe know-how. Session 3: the rules of the one-pager.
ChainAgents one after the other. Each one hands its file to the next.
Final termsWhat we got, in the pricing release. It prevails over the Term Sheet.
Not availableWhat an agent writes when it did not find it. Never zero, never a guess.