# Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings — Joao Wenzel — session 2026-10-14T19:20:00.000Z → 2026-10-14T19:38:00.000Z

_42 transcript lines · 54 slides · source: full recording_

## Transcript

**[00:00:00 · 0]** Own technology down to the Silicon. At this point, over two thirds of our employees write code, so naturally, we are completely AI filled, and agents already help us with a lot of things at the organization. So naturally, leadership started asking questions about strategy. These harnesses are really good at producing high, you know, high quality code, but can they actually help define and refine the strategy of our company? So this is one of my favorite visuals I've borrowed from Tim Urban.

**[00:00:32 · 0]** Strategy really comes down to three questions, right? Where do we stand right now? What's going to happen next? And how did we get here? And to answer any of those questions, an Agent has to have a really rich profile of the company that it is operating in.

**[00:00:49 · 0]** So this is broadly a talk about, engineering, a institutional memory layer. Let us let us call it that. The agents need to have information about relationships, right? Two teams that used to work together but no longer talk because there was a reorg, or a project story and why it was rescoped several times, or the politics. Right?

**[00:01:11 · 0]** Like, who's in the room? What are they saying? And what are they not saying? There's two ways in. Right?

**[00:01:18 · 0]** There's top down and there's bottom up. Top down, you have the decks, you have your strategy docs, your meeting and status reports, and they are tidy and they are pretty clean, but there is a unique human twist. People generally like to infuse their thoughts and opinions into these things, sometimes by design, so you end up with what, you know, things I call watermelon projects, right? They are green on the outside and red on the inside. Then you have on the bottom, you have the really noisy stuff, which has a surprising amount of signal, but it is hard to uncover, right?

**[00:01:50 · 0]** You have meeting notes, and you have Slack, and code changes, and even your session traces with your favorite harness. And the model is where they meet. The evidence is synthesized at that level. Now, the evidence piece sometimes is problematic because it is either partial or wrong. But it turns out that in robotics, you actually have the solution for this, and it is called a State Estimator.

**[00:02:13 · 0]** Right? What you do is you have some sort of belief about something you care about, and the longer it has been since you have seen or observed evidence that supports it, the more you the less you trust it, right? The fuzzier it gets. Until you have a deck, or, you know, some thread, or some meeting note, that sort of collapses that, and you now have new evidence, right? And now you are more certain of it, and therefore, you produce the update.

**[00:02:41 · 0]** And the things that I care about when producing an update, or that the agent should care about, there are three things. There is how long has it been since some signal has been received? There is where did that signal come from, and is it still trustworthy? And then does it broadly agree with other sensors? Right?

**[00:02:59 · 0]** There are a lot of parallels here with self driving, for example, that I will come back to. So let us start at the top, right? Like, a very simple example is something like a slide that is produced already by someone in BizOps, and they produce a monthly status deck. And the question is, how do you get data out of this slide, right? Many of you, I am sure, have tried that.

**[00:03:20 · 0]** It is deceptive, actually, right? Because let us say you try to parse the file, right? Like, you unpack the PowerPoint file, and you get an XML, and all of a sudden, you get into this really interesting conceptual question what is green? Right? What is the hex code for green?

**[00:03:35 · 0]** And you sort of things break down when it comes to this type of script. Then the solution is to say, well, I am just going to take a screenshot of it and throw it at a vision model. But at that point, even if it is like pretty high res, you are dealing with someone who copy pasted a screenshot back into a presentation, and like, essentially, you have Claude trying to squint and trying to figure out if it is a 31 or an 81. And so, you know, the theme of the talk really is about like elegance comes from just synthesizing things and adding more information. And in this example, it is very basic, but you get the true picture by taking both the XML and the output of a vision model.

**[00:04:12 · 0]** Now, that is pretty basic, right? But the issue is that you want to establish some continuity over time, right? Like these this collateral that your company accrues is very much sort of always building up. And so in in this particular example, you have a project that just spontaneously changed names back in March. And so, you know, you have to establish that sort of longitudinal traceable audit layer, as you as you create this shared context layer about this sort of institutional memory of your company.

**[00:04:40 · 0]** And the irony there are two institutional memory of your company. And the irony there are two things. The irony here is that even if you do this really well, you are still missing half the picture. Right? You are looking at a deck and your Slack says otherwise because that was five days ago, and now you have someone on Slack saying, hey, by the way, I think we are on track for this, but then someone replies with a picture of a dashboard, and it is no longer the case.

**[00:05:02 · 0]** So things just start breaking down. And so we need to do a better job of like integrating all these things, Right? Your company has no model of itself. So I am proposing just a brief plan here. Right?

**[00:05:16 · 0]** The idea is you take the three things that I described earlier about the state estimator. You have the update, age, and observe observe stages. And then you have grade. The grade stage is basically comparing what you observed versus what you expected. And then the correct stage is basically a way for people to allow the system to get new feedback and steer the behavior of the system.

**[00:05:39 · 0]** Right? At Citadel Securities, the system that we have built has agents at every part of this, of this particular loop, right? But the key thing is that the model is proposing these changes, and then you have code and people deciding how the records are updated. And of course, you are probably asking yourself, like, why not just rag, right? Like, probably rag would do the trick.

**[00:06:00 · 0]** And in fact, it really doesn't, right? Like you, in this example, I asked, hey, what is the status of this project? Is it on track? And as of March 16, some model would happily pick up a couple of Slack messages and some slides and say, yep, it's green. But it's missing a lot of the context, right?

**[00:06:17 · 0]** It's not enough. So here's how we start building this world model. The first stage is about updating information consistently and robustly. In this simple example, where I am taking some slides and some decks, we are basically just looking at, you know, every month, you know, a new month comes around, we take last month's record and this month's slide, and you try to construct a sort of longitudinal record, right? And we have been doing this now for three years, right?

**[00:06:46 · 0]** We have a pretty large historical database of these records that now allow us to construct this robust so called institutional or enterprise world model. You start with the basics, right? Like, you know, sometimes these models struggle with the most basic things, but they are normal, right? The, the actual name of a particular project changed spontaneously. But by actually looking at that historical set of records, it can see and infer that it actually refers to Project North Star, by virtue of who was involved, by virtue of some continuity in the types of goals, those kinds of things.

**[00:07:21 · 0]** But more interestingly, what you want to do is you have the agentic system try to discriminate between what is being reported and actual evidence for what it is saying. So you look at some status deck, for example, and here it is identifying that while it is green on the deck, in fact, it should be highlighted as a yellow and should be flagged as such because there is a comment someone left talking about how there is a dependency still outstanding. The main thing here is that you do not touch previous months, right? You just sort of heal into sort of feed forward mechanism. And what that allows you to do is to actually do some robust Evals down the line, right?

**[00:07:59 · 0]** So here is what the actual update step writes very simple. This is what it was reported, this is how the evidence this is where the evidence points, and this is why. And then you fold in the second component, age. The reality is, every fact has a half life. We have all seen, you know, you go back at some slides, and you see that the go live date for a particular project keeps slipping.

**[00:08:24 · 0]** It was Q2 in January, then it was Q3, now it is October, right? And you actually observe this, right? By actually collecting all this data, you can have some pretty interesting beginnings of analytical insights. For example, in the last three years, you look at these delivery dates, and on average, half the delivery dates change within two months, and 90% of those change into a date that is after what was originally proposed. Right?

**[00:08:48 · 0]** So far, so good. Pretty basic. But what you what this forces you to do is then introduce this notion of like a date that it is associated to a particular claim so that the agent can introduce some sort of recency bias when you ask about the status of a particular project person or, or, or, or the corporate intent, let us say. Then the Observe section. The Observe section here, I am going to pretty quickly gloss over it, but just kind of give you something very tactical.

**[00:09:18 · 0]** In the beginning, I was pretty seductive to just basically say, well, let's just YOLO this. Let's have Claude or some other model take a look at the entire corpus of things, and let's see what it does. And as it turns out, it is pretty clear that a lot of information is lost, right? It loses some attention to detail. And so what ultimately we had to do was engineer a simple, agentic workflow, where you have a series of specialists break down the collateral of these assets, look for specific things, be reviewed by other agents, and so on.

**[00:09:53 · 0]** And what you see here on the on the right hand side is that actually, the amount of insightful updates to a particular project more than doubled after doing this. So I guess the takeaway here is, be intentional about how you, how you build these workflows, and do not just assume that a YOLO method is going to work out. But now you get, I think, to the really interesting stuff. Right? A World Model should tell you what happens next.

**[00:10:15 · 0]** What project is about to slip, or which green turns red the next month? And it turns out that you can actually do this, right? Because you can look back and establish a snapshot as of some sort of past date, and essentially run a back test. So, for example, if we take a snapshot as of February, we can look at the future labels that came after that, and see and compare what the agent said was going to slip or flagged versus what actually happened. And you can see that as the agent, analyzes all this information, that for statuses that were green but flagged, they were twice as likely to actually turn yellow or red.

**[00:10:52 · 0]** And so, again, this is encouraging because we were starting to see some beginning of the inability to say, well, it is not predictive of exactly what is going to go wrong, but at least it should tell you what to look at. So, you know, you have 18 different cases where you have a verdict from a Agent, it is flagged. But what about those where you do not? And this is where some product intuition comes in. First of all, how would you incorporate a very elegant sort of loop where you include an actual user, a stakeholder, a human?

**[00:11:22 · 0]** And what do you ask them, and where do you meet them? Right? I put a non trivial amount of work into finding out how best to actually capture this information. It's meeting the users where they are, whether it's the app they're using, or Slack, or email, whatever. And the closer you can get to them, and the simpler you can make that feedback collection mechanism, the more scalable and robust the process is going to be.

**[00:11:45 · 0]** It also matters what you ask, right? You want to understand whether, like, you are asking a fact, which only fixes one output, or if you are asking about a rule. And once that an agent understands that pattern, it does a much better job of fixing every output it covers, both, both now and into the future. So we have this notion now of our record containing not just an element of what was inferred by the agent, but more importantly, confirmed after someone actually provided that signal. Okay, so now, bottom up, right?

**[00:12:18 · 0]** You have meetings with, you know, really strong signal, what people say out loud. You have your Slack. You are obviously, it is constant. It is noisy. It is very close to the truth.

**[00:12:27 · 0]** Code changes describe what shipped. And then, of course, the Agent Sessions, which is how the sausage was made. And I think I encourage you all to explore all of these disparate data sources to kind of build such a model up. With Slack, it's relatively simple. Right?

**[00:12:41 · 0]** Like, you're just looking at every thread and trying to understand based on attachments and participants and content, the claims that you want the agent to record or update. When was this? Who was responsible, or who does this relate to? What projects? What is the sort of link to the evidence, and so on.

**[00:13:02 · 0]** With PRs, of course, it shows you what changed, and it is a really nice way to see how a project is evolving. But when it comes to the actual, like, subtleties of how projects are sort of run and deployed, it is really interesting to look at the actual traces for users and engineers who opt into that, right? Like, you understand how the ask was how we evolved over time, test failures, or particular decisions from the developer those kinds of things. Ultimately, these culminate in a pull request, but the synthesis of these things, I think, makes a big difference. The other gotcha I just want to share is to just be mindful of how you think about the validity of signal coming from different so called sensors.

**[00:13:45 · 0]** If you are driving down a highway, for example, and your speedometer just disappears, it it does not mean you are now going at zero miles an hour. Right? It is just like a faulty signal. So for example, here, we ran into a couple of issues sometimes when the bottoms up approach, you had some semblance of a claim saying, hey, this particular channel, this thing is going quiet, what is going on? But in reality, you know, we were treating it as a zero, and really, it shouldn't have been.

**[00:14:10 · 0]** And so we sort of iterated over time to understand how to incorporate when we last tried to get information from that sensor, when it was last okay, and what do you do when these diverge? So now, if you look at the actual record that we constructed, the agents are going to be much more effective in understanding the true state of the world. Right? It it it is not green, right? It It is the go live, slip twice, the evidence says yellow, people are talking about failing tests.

**[00:14:40 · 0]** It is going to be tricky. So what do we use this for, right? We use it to steer leadership conversations. Instead of circulating a deck to everyone and forcing everyone to just go through some slides everyone glosses over, you start with the stuff that actually, you know, matters. You start where the deck and the evidence disagree.

**[00:14:58 · 0]** You also produce a weekly read for managers and leaders on what stuck and what went quiet. But I think also, most importantly, you have the sort of beginning of a context layer that every agent can rely on. And we're using this pattern and constructing it so that it's extendable to other different use cases. Right in our client franchise, for example, we're we're curious about how we can build similar models to help serve our clients. We know we have some client and we want to understand who holds what, what are they interested in?

**[00:15:27 · 0]** How can we anticipate their needs as best as possible by folding in information from all sorts of disparate internal and external sources. So a couple of things that are difficult to do, just to kind of maybe we can chat outside about your solutions, I'd be very curious to hear, are when you have a lot of, you know, for example, one client with four records and four different systems with no canonical identifier, how do you go about mapping those in a very elegant way? That is one thing that I do not think we have a clear answer to. The second thing is, how can we be most effective at capturing signal from stakeholders and users? Where the model is sure, and the stakes are pretty low, you should just apply it automatically.

**[00:16:10 · 0]** When those stakes are low, but you know, the model is unsure, just wait for more evidence. But if the stakes are high, it really matters, like who you ask, when you ask it, and kind of the whole mechanism there. So here's the loop again. Update, age, observe, grade, and correct. And three things I want you to take home.

**[00:16:32 · 0]** The model that your company has, should you should think about it as a state estimator, right? Don't assume that just like indexing everything and cataloging everything is enough because by definition, these things are extremely nuanced and this intrinsic information that lives almost between the lines is hard for even the best state of the art models to capture. Grade it against what happens next, right? So be intentional and think through how you can integrate and implement Evals from the get go. And think about an elegant solution that allows your models and your and your agents and your stakeholders to kind of play nice together.

**[00:17:12 · 0]** So your company can have a model of itself. I encourage you to start collecting now if you're not collecting already. And certainly, if you have, if you're at a bigger company and like me, you had the, I mean, fortune or misfortune of dealing with thousands of decks, definitely something you should start thinking about, because I have definitely seen Material improvements in how these agents are able to reconstruct that sort of corporate memory and apply it in all sorts of daily tasks without sort of being all confused about things. Okay. Thank you very much.

**[00:17:43 · 0]** I am Joao, and I will be outside for any questions if you want. Cheers.

## Slides

### 00:00:00–00:00:20

# We build our own technology, down to the silicon

## Data
- **200 PB** of research data

## Hardware and networks
- **100%** custom production compute hardware
- **Custom** silicon
- **Wireless** some of the fastest networks in the world

## Software and

### 00:00:20–00:00:40

# Leadership asked for agents that help with strategy, not just code

- Write code
  where most agents work today
- Help define and refine the strategy

A model of the company

### 00:00:40–00:01:00

# Strategy comes down to three questions

- How did we get here?
- Where do we stand?
- What happens next?

A model of the company
After Tim Urban, Wait But Why

[Diagram illustrating a timeline with a single path from "Founded" to the present, then branching into multiple possible future paths]

### 00:01:00–00:01:20

# The hard part is knowing how it got here

- **Relationships**
  - Two teams that stopped talking after a reorg
- **A project's story**
  - Why

### 00:01:20–00:01:40

# There are two ways in, top down and bottom up

## Top down
- Decks, strategy docs, status reports
- somebody's summary, late, and sometimes green outside, red inside

The model is where they meet

## Bottom up
- Meetings, Slack, code changes, agent sessions
- close to the truth, noisy, and years of it

A model of the company

### Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
Joao Wenzel / COO ☷ CITADEL

[Diagram showing "Top down" with icons for reports and documents, connected by a downward arrow to a curly brace icon labeled "The model is where they meet". An upward arrow connects the curly brace to "Bottom up", which is represented by a grid of small icons for various digital interactions like chat, code, and meetings.]

### 00:01:40–00:02:00

# There are two ways in, top down and bottom up

## Top down
- Decks, strategy docs, status reports
- somebody's summary, late, and sometimes green outside

### 00:02:00–00:02:20

# A world model is a state estimator

## Project status

- Age
- Observe
- Update

A state estimator

[Diagram of a central bright dot surrounded by concentric rings of smaller dots, representing a project status]
[Horizontal timeline with a marker, labeled "Weeks with nothing new"]

### 00:02:20–00:02:40

# A world model is a state estimator

## Project status
[Circular diagram with a central bright dot and concentric rings of smaller dots]

Weeks with nothing new
[Horizontal timeline with a marker]

- Age
- Observe
- Update

A state estimator

### 00:02:40–00:03:00

# The belief updates, and the uncertainty shrinks

## Project status

- Age
- Observe
- Update

`belief[t] = update(belief[t-1], evidence[t])`

A state estimator

### Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
Joao Wenzel / COO CITADEL

[Diagram showing a central cluster of dots representing a state, surrounded by a dashed circle representing uncertainty, with a timeline below labeled "Weeks with nothing new"]

### 00:03:00–00:03:20

# The belief updates, and the uncertainty shrinks

## Project status
A state estimator

- Age
- Observe
- Update

```
belief[t] = update(belief[

### 00:03:20–00:03:40

# How would you get the data out of this slide?

## Platform Services - Project status
Monthly operating review - data as of 6 Feb 2026

| Area

### 00:03:40–00:04:00

# Green is three different colors

- Parse the file
- Show a model the picture
- 92D050
- 00B050
- 70AD47

[Screenshot of a project status dashboard table with columns for Area, Project, Owner, Status, Go-live, and Commentary. The 'Status' column shows multiple entries labeled 'On track' in different shades of green and one 'At risk' entry in orange.]
[Line graph titled 'Mood-hamilton rate - falling hard - half a minute' showing a decreasing trend.]
[Three distinct

### 00:04:00–00:04:20

# Read the picture and the XML together

```xml
<a:tc>
  <a:txBody><a:p><a:r>
    <a:t>Failing tests
    down to
    31 (threshold 50).
    Parallel run...</a:t>
  </a:r></a:p></a:txBody>
</a:tc>
```

- The picture: color, layout, charts
- The XML: the exact words

Top down: the slide

[Screenshot of a "Platform Services - Project status" dashboard showing a table with project details and a line graph titled "Min in conversation traffic - talking time - last 8 weeks"]

### 00:04:20–00:04:40

# Now a new deck arrives every month
Northstar becomes Atlas Ledger Migration

[Timeline showing monthly progress from January to July, with five small screenshots of a "Platform Service: Project Status" dashboard, each corresponding to a month from January to May.]

### 00:04:40–00:05:00

# Your company has no model of itself

- `# "Cutover dry-run is on track for Friday"`
- Three days later, failing tests are climbing
- A screenshot in a reply

Top down: the slide

## Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
Joao Wenzel / COO CITADEL

[A solid green square]

### 00:05:00–00:05:20

# Your company has no model of itself

- On track
  The deck says green
  - "Cutover dry-run is on track for Friday"
  - Three days later, failing tests are climbing
  - A screenshot in a reply
  - A note dictated after a client meeting

### Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
Joao Wenzel / COO CITADEL

[Green square labeled "On track"]

### 00:05:20–00:05:40

# A world model is a loop you can grade

The loop

## Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
### Joao Wenzel / COO CITADEL

[Diagram showing a circular loop with a central glowing sphere. The loop steps are: Correct (with a person icon), Update (with refresh arrows), Age (with an hourglass), Observe (with an eye icon), and Grade (with a target icon).]

### 00:05:40–00:06:00

# Every step of the loop has its own workers

The loop

[Diagram showing a circular process with steps: Update, Age, Observe, Grade, and Correct, arranged around a central glowing point.]

### 00:06:00–00:06:20

# Ask retrieval, and you get the latest claim

> "As of 16 March, is the Atlas ledger migration cutover on track?"

## What retrieval found

- March deck:

### 00:06:20–00:06:40

# Carry one record per project forward, a month at a time

## January
- slides
- model
- Northstar
    - On track
    - Go-live Q2 2026

## February
- slides
- model
- Northstar
    - On track
    - Go-live Q3 2026
    - Waiting on the clearing feed

March, and every month after

Last month's record + this month's slides -> this month's record

Update Age Observe Grade Correct

[Flowchart showing a monthly process for updating a project record, starting with slides, feeding into a model, and resulting in a "Northstar" status, with an arrow indicating the record carries forward each month.]

### 00:06:40–00:07:00

# Carry one record per project forward, a month at a time

## January
- slides
- model
- Northstar
  - On track
  - Go-live Q2

### 00:07:00–00:07:20

# Let the model pick from the projects you already know

## Known projects
- Northstar
- Cash Forecasting Rebuild
- Partner Portal
- Access Reviews
- New project

## March'

### 00:07:20–00:07:40

# Let the model pick from the projects you already know

## Known projects
- Northstar
- Cash Forecasting Rebuild
- Partner Portal
- Access Reviews
- New project

### 00:07:40–00:08:00

# Keep what was claimed apart from what the evidence says

## Northstar
as of 16 February

- Reported: green
- Evidence: yellow, a dependency is still outstanding
- Go-live Q3 202

### 00:08:00–00:08:20

## This is what the update step writes

```json
{
  "id": "proj-2210",
  "names": ["Northstar", "Atlas Ledger

### 00:08:20–00:08:40

# Every fact has a half-life

Atlas's go-live, as each deck reported it

- January deck: Q2 2026
- February deck: **Q3 2026**
- March deck: **October 2026**

Two moves in three months, and both later

### 00:08:40–00:09:00

# Every fact has a half-life

## 100 delivery dates
Half the delivery dates changed within 2 months

## 100 project stages
Half the project stages changed within

### 00:09:00–00:09:20

# Every claim carries its age

```json
{
  "id": "proj-2210",
  "names": ["Northstar", "Atlas Ledger Migration"],

### 00:09:20–00:09:40

# Break the work up, and count what comes back

Specialists, one slice each

Reviewers check each other
- Update
- Age
- Observe
- Grade
- Correct

### 00:09:40–00:10:00

# Break the work up, and count what comes back

Specialists, one slice each
What came back
Code counts, and retries
Reviewers check each other

- Update
- Age

### 00:10:00–00:10:20

# Break the work up, and count what comes back

Specialists, one slice each
What came back
Code counts, and retries
Reviewers check each other

Update ↻ Age ⨂ Observe 👁️ Grade ⊙ Correct ☍

## Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
### Joao Wenzel / COO CITADEL

[Diagram showing a workflow: multiple "specialists" (represented by monitor and person icons) each produce a "slice" of work. These slices are observed by "reviewers" (eye icons), which then feed into a process that counts code and retries. The output is represented by a grid, with some squares filled (teal, representing completed work) and others empty (grey, representing pending work).]

### 00:10:20–00:10:40

# A world model should tell you what happens next

- Which project is about to slip?
- Which green turns red next month?
- Which client will want this trade next?

Update Age

### 00:10:40–00:11:00

# The future is the label

[Timeline chart showing multiple horizontal bars, each representing an item's state or flag over time from 2024 to 2026. A vertical line highlights "What it flagged in Feb 2026" and "Then". The legend includes Update, Age, Observe, Grade, and Correct.]

## Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings

**Joao Wenzel** / COO CITADEL

### 00:11:00–00:11:20

# Flagged greens were about twice as likely to turn yellow or red

- Flagged greens: 18
- Unflagged greens: 10

Turned within three months

### 00:11:20–00:11:40

# Send people a question, where they already work

> "The October go-live now depends on the clearing feed, so when will it be ready?"

- **The app they're using**
  answered right there
- **Slack**
  a reply in the thread
- **Email**
  one click from the inbox

As close to the work, and as easy, as you can make it

- Update
- Age
- Observe
- Grade
- Correct

[Diagram showing a question icon leading to a quoted question, which then branches to three options: an app icon, a Slack hashtag icon, and an email envelope icon, each with a description.]

### 00:11:40–00:12:00

# Send people a question, where they already work

> "The October go-live now depends on the clearing feed, so when will it be ready?"

- **The app they're using**
  answered right there
- **Slack**
  a reply in the thread
- **Email**
  one click from the inbox

As close to the work, and as easy, as you can make it

---
### Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
Joao Wenzel / COO CITADEL

[Diagram showing a central question branching out to three methods of answering: an app, Slack, and email, each with a corresponding icon.]

### 00:12:00–00:12:20

## Ask people about rules, not facts

### A fact
- "Is this project really yellow this month?"
- yes
- fixes one output

### A rule
- "Does an outstanding

### 00:12:20–00:12:40

# Bottom up, you read the work as it happens

- **Meetings**: the strongest signal, what people say out loud
- **Slack**: constant, noisy, and close to the truth
- **Code changes**: what actually shipped
- **Agent sessions**: how it got made

Bottom up

### Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
Joao Wenzel / COO ☷ CITADEL
[Microphone icon next to Meetings]
[

### 00:12:40–00:13:00

# Distill each thread into dated claims

## A thread
- "Cutover dry-run is on track for Friday"
- "Data import still fails on the old message format"

### 00:13:00–00:13:20

# Distill each thread into dated claims

## A thread
- "Cutover dry-run is on track for Friday"
- "Data import still fails on the old message format"

## The claim it writes
- 12 February
- The delivery lead
- Atlas Ledger Migration
- At risk
- Failing tests climbing in the parallel run
- A link back to the thread

A vision model captions the screenshot
A model reads the thread and pulls out what matters

Folded into the project's record day by day, the way the decks fold month by month

Bottom up

### Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
Joao Wenzel / COO ☷ CITADEL

[Screenshot of a dashboard with bar charts and numerical data]
[Flow diagram showing a process from "A thread" through AI models to "The claim it writes"]

### 00:13:20–00:13:40

# A PR shows what changed, and the session shows how it got there

| Output                                  | Process                                            |
| :-------------------------------------- | :------------------------------------------------- |
| - Pull request                          | - The ask: retry clearing messages that fail       |
| - Use the shared client for clearing messages | - The agent's plan: write a new client             |
| - Merged                                | - A test fails                                     |
|                                         | - **The person: no, use the shared client**        |
|                                         | - The agent tries again, and the tests pass        |
|                                         | - The pull request                                 |

The dead end and the correction never make it into the pull request

Bottom up

## Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings

Joao Wenzel / COO CITADEL

[Diagram showing a pull request with green and red lines representing code changes, and a 'Merged' status]
[Flowchart

### 00:13:40–00:14:00

# A broken source looked like a quiet one
## Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
Joao Wenzel / COO ☗ CITADEL

[Bar chart showing daily data volume for January and February, dropping to zero in March, labeled "Going quiet", with a note "Fetch: success, every day" and checkmarks below the x-axis.]

### 00:14:00–00:14:20

# A broken source looked like a quiet one
- Going quiet
- Fetch: success, every day
- Bottom up
[Bar chart showing daily data volume, with high volumes in January and February, then dropping to zero in March]

### 00:14:20–00:14:40

# Every source carries two dates

```json
{
  "id": "proj-2210",
  "names": ["Northstar", "Atlas Ledger Migration"],
  "status": { "evidence": "yellow", ... },
  "go_live": { "value": "2026-10", "moved": 2, ... },
  "sources": {
    "deck": { "last_tried": "2026-03-10",
              "last_ok": "2026-03-10" },
    "slack": { "last_tried": "2026-03-16",
              "last_ok": "2026-02-20",
              "state": "unseen" }
  }
}
```

- Count what comes back
- Keep two dates per source
- Unseen isn't quiet

Bottom up

[Diagram showing a circular flow with icons for a person, an hourglass, an eye, and a target]

### 00:14:40–00:15:00

# Ask the record, and you get what's true now
## "As of 16 March, is the Atlas ledger migration cutover on track?"

### Retrieval
- Green, on

### 00:15:00–00:15:20

# What we actually use it for

**The record**

- Steer leadership conversations
    start from where the deck and the evidence disagree, not from every slide
- A weekly

### 00:15:20–00:15:40

# We're building similar models to help us serve our clients

## Reactive
What it's for

## Proactive
### Halden Ridge Partners
- Who covers them

### 00:15:40–00:16:00

# One client, four records, and no clean way to unify them

- **The CRM**
  - Halden Ridge Partners LP
  - Assets $6.2bn
- **13F filings**
  - Halden Ridge Capital Management
  - Q2 holdings
- **Meeting notes**
  - Halden
  - Wants regional banks
- **A podcast**
  - Halden Ridge
  - Assets about $8bn

ask the owner

- Merge when you read, and give every kind of fact an owner
- When a match is ambiguous, ask a person instead of merging

### What's still hard

---

### Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
Joao Wenzel / COO CITADEL

[Diagram showing four distinct data sources (CRM, 13F filings, Meeting notes, A podcast) for a single client, with a box indicating a process to "ask the owner" to unify them.]

### 00:16:00–00:16:20

# Bring people in only where it's worth their time

| | The model is unsure | The model is sure |
|---|---|---|
| High stakes | Ask the owner | Ask the owner to confirm, in one click |
| Low stakes | Wait for more evidence | Apply it automatically |

And only a person's yes ever writes confirmed

## What's still hard

### Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
Joao Wenzel / COO 🏛️ CITADEL

[2x2 matrix diagram showing decision paths based on "stakes" (high/low) and "model certainty" (unsure/sure), with icons representing actions for each quadrant]

### 00:16:20–00:16:40

# Bring people in only where it's worth their time

- **When the model is unsure:**
    - **High stakes:** Ask the owner
    - **Low stakes:** Wait for more

### 00:16:40–00:17:00

# Three things to take home

1.  **Model your company as a state estimator, not a search index**
    Retrieval tells you what was said, the record tells you

### 00:17:00–00:17:20

# Three things to take home
1. Model your company as a state estimator, not a search index
   Retrieval tells you what was said, the record tells you what's true now
2. Grade it against what happened next
   The future is the label, and every human answer is a test
3. Models propose, code and people decide
   Count in code, key on IDs, only people confirm

## Your Company Has No Model of Itself: Bootstrapping a World Model from Slack, Decks and Meetings
### Joao Wenzel / COO CITADEL

[Diagram showing a circular process: a person icon points to a central curly brace icon, which is part of a cycle with an hourglass, an eye, and a target icon, with an arrow from the target back to the person.]

### 00:17:20–00:17:40

# Your company can have a model of itself

1.  **Model your company as a state estimator, not a search index**
    Retrieval tells you what was said, the record tells you what's true now
2.  **Grade it against what happened next**
    The future is the label, and every human answer is a test
3.  **Models propose, code and people decide**

### 00:17:40–00:18:00

# Your company can have a model of itself

1.  Model your company as a state estimator, not a search index
    Retrieval tells you what was said, the record tells you what's true now
2.  Grade it against what happened next
    The future is the label, and every human answer is a test
3.  Models propose, code and people decide
    Count in code, key on IDs, only people confirm

Start collecting now, and build your model from the exhaust

[Diagram showing a circular flow with icons: a person, curly braces, an hourglass, an eye, and a target symbol]
