learn-web3-with-phoebe / Leader session 6 of 6
Learn Web3 with Phoebe · Leader session 6 of 6

Scoping a project on this

Five sessions of findings turn into six questions, and the questions are only worth asking if you know in advance what answer would move you. So each one comes paired with the answer that changes your mind, in both directions. One of the six is a number nobody writes down, and it is worth a measured example rather than an assertion, so it gets one. The last few minutes are the one-line version, which is shorter and more uncomfortable than the six questions it summarises.

🟠 Leader track Anyone who has to say yes or no to a proposal Anyone who will be carrying it afterwards 45 min
0-3 · Welcome 3-20 · The six questions 20-32 · The number nobody writes down 32-45 · Build-along and Q&A
Part 0

Six questions, and what a good answer sounds like

A list of questions is easy to produce and easy to ignore, because a question with no stated acceptance criterion is answered by whoever is most confident in the room. So each of the six below is written with the answer that would move you attached to it, which does two things: it makes a vague answer visibly vague, and it commits you in advance rather than after you have heard how the proposal is going.

Live = presented in the 45 minutes Self-study = the full depth, after class 🔍 Every diagram zooms

★ What you walk out with tonight. Six questions you can ask in a real meeting, each traced to the session that produced it and each paired with the answer that would change your position. A measured example of the one question that is a number, so you can say why it matters rather than asserting that it does. A clear picture of who makes the decision and who carries it, drawn rather than complained about. And the one line that fits on a card, which is where the whole thing lands.

LiveWhy an unanswered question is an answer4 min▶

Four of the six have a property worth noticing: a vague answer and a bad answer look the same from outside, and both mean the same thing in practice. If nobody can say what stays off the permanent record, the boundary has not been drawn. If nobody can name a reorg depth, the lag was chosen by default. If nobody can name the party who benefits from the metric, nobody has looked.

That makes these questions cheap to ask and hard to deflect, which is the point. You are not asking anybody to predict the future or defend a technology choice. You are asking whether a specific decision has been made yet, and the absence of an answer is itself the finding.

Real world

Larkfield's proposal was approved with five of these six unanswered, and none of the five was hidden. Nobody asked, because the meeting was about whether the product idea was good and these read like implementation detail. Four of the five became work for the data team within a year, and the fifth is still waiting.

Self-studyThe words that keep coming back4 min▶
  • The boundary. What goes on the permanent record and what deliberately stays off it. Session 4, and the first question.
  • Counterparty. Any party that has to accept the record as authoritative. Session 5, and the second question.
  • Unit of identity. What one row of your reporting counts. Addresses, entities or people, and they are three different numbers. Session 2.
  • Error direction. Which way a method is wrong. One-sided error gives a bound, two-sided error gives a number you must trust.
  • Reorg depth. How far back the recent history can be replaced. The number the fifth question is about, and the one nobody writes down.
  • Finality lag. How long you wait before loading. A defence that works only if it is at least as deep as the reorg.
  • Retraction. Removing already loaded rows when their source is replaced. A separate defence with a separate cost, and the two are easily confused.
  • Paying metric. Any published number that causes money or resource to move. Session 3, and the sixth question.
Part 1 · covers the six questions

Six questions, each with the answer that moves you

17 min live

These are in the order you would actually ask them, which is not the order the sessions came in. The first two decide whether there is a project at all. The next three decide what it costs to run. The last one decides whether the number at the end of it will mean anything.

Six questions, in the order you would actually ask them. 1 What exactly goes on the permanent record, and what deliberately stays off? FROM SESSION 4 THE ANSWER THAT MOVES ME A two column list that already exists, where the permanent side holds events and one opaque reference and nothing else. "We will work that out during the build" is a no. 2 Who are the counterparties, and do they actually distrust each other? FROM SESSION 5 THE ANSWER THAT MOVES ME Nobody in the room can name a keeper the others would accept. If a keeper can be named, a database with an audit log is cheaper on every count and can still fix a row. 3 What is the unit of identity in the reporting, and which way does it err? FROM SESSION 2 THE ANSWER THAT MOVES ME A ceiling with a stated method and no floor claimed. A point estimate of people is the wrong shape however carefully it is caveated, because the caveat is the part that drops off. 4 What happens when a record turns out to be wrong? FROM SESSION 4 THE ANSWER THAT MOVES ME Somebody describes the sequence out loud: the annotation, the read path rule, and a named reader who will miss it. A silence here means the boundary has not been drawn. 5 What reorg depth are you designing for, and where did that number come from? MEASURED IN PART 2 THE ANSWER THAT MOVES ME A number with a source, a lag at least that deep, and retraction treated as a separate defence. "We load it as it arrives" is 5.75 percent wrong and nothing errors. 6 Who is paid by the metric you are about to publish? FROM SESSION 3 THE ANSWER THAT MOVES ME A named party and the cheapest way for them to move it. If the answer is that nobody benefits, that is because nobody has looked, not because nobody does.
🔍 Click to zoom - card 5 is amber because it is the only one of the six whose answer is a number, and the only one where a plausible-sounding answer can still be wrong by a measurable amount.
LiveThe first two decide whether there is a project4 min▶

Question one is the boundary from session 4, and the reason it goes first is that it is the only decision in the whole arrangement that is genuinely reversible before the build and genuinely irreversible afterwards. Everything else on this list can be improved later at some cost. What went on the permanent record cannot.

Question two is the two-question test from session 5 compressed into one, and it is the one people resent most, because it asks about relationships in a meeting that was supposed to be about technology. Ask it anyway, and ask it in the form that does the work: not "do you trust each other" but "who would keep the record if we did not do it this way, and would everyone accept them". A name that everyone accepts means the machinery is buying tolerance of a distrust that is not present, and session 5 was clear about what that costs.

If the first two come back well, the project may be worth doing. If either comes back vague, nothing further on the list matters yet, because you are scoping something that has not been decided.

LiveThe next three decide what it costs to run4 min▶

Questions three, four and five are the standing operational load, and they are the three that land on a data team specifically. Three is session 2: what your reporting counts and which way it is wrong. The acceptance criterion is the shape of the answer rather than its accuracy, because a ceiling with a stated method survives being repeated by somebody who was not in the room, and a point estimate with a caveat does not.

Four is session 4, and it is the question that produces the most informative silence on the list. You are not asking for a policy. You are asking somebody to narrate an incident: a record is wrong, what happens next, who does what, and who ends up reading the wrong value anyway. Anyone who has drawn the boundary can do this in twenty seconds.

Five is the one with a number, which is why it gets part 2 rather than a sentence. The honest version of this question is not "have you thought about reorgs", which everybody answers yes to. It is "what depth are you designing for and where did the number come from", and then a lag at least that deep, with retraction discussed separately.

Self-studyQuestion six, and why it is last rather than first4 min▶

Session 3's finding is arguably the most severe on the list, so putting it sixth looks like an ordering mistake. It is deliberate. The first five are about whether the thing can be built and what it will cost to operate. The sixth is about whether the output will mean anything, and that question only becomes answerable once you know what is being published to whom.

There is a second reason. The first five can be answered by the people proposing the project. The sixth usually cannot, because the party who benefits from the metric is often somewhere else in the organisation, or outside it entirely, and asking the question in the design meeting is how you find out that nobody owns the answer. That discovery is worth more than the answer would have been.

The failure mode to watch for is a confident "nobody benefits, it is just a reporting metric". Session 3 measured what that reasoning costs: the conditions for manufactured identity are permanently present, the cost of one more of them is one more row, and the resulting rows do not trip anything. A metric that nobody is paid to move is a claim about the incentive landscape, and it needs the same evidence as any other claim.

Part 2 · covers the number nobody writes down

Question five, measured rather than asserted

12 min live

Five of the six questions are answered in words. This one is answered with an integer, and a plausible integer can be wrong in a way that is invisible from inside the pipeline. The practitioner bench runs a warehouse loader against a source whose recent history gets replaced, and the result is worth having in your head before you ask anybody the question.

A 3 block reorg, four times over 200 blocks, against seven choices of how long to wait. rows left wrong rows held back 0 130 260 390 520 511 0 lag 0 346 44 lag 1 172 84 lag 2 0 125 lag 3 0 168 lag 4 0 249 lag 6 0 497 lag 12 THE DANGEROUS MIDDLE The lag has to match the reorg depth, and going deeper than that buys nothing at all. At lag 3 the wrong rows reach zero. At 6 and 12 they are also zero, and the only difference is 249 and 497 rows held back from the report. A lag of 1 still leaves 3.99 percent of the warehouse wrong, which feels like a precaution and is mistaken for safety. So the question is not what lag to use. It is what reorg depth you are designing for, and that is the input nobody writes down.
🔍 Click to zoom - at lag 0 nothing errors, no job fails and 5.75 percent of the warehouse describes history the source no longer has. The only visible symptom is the report being wrong.
Live The warehouse loader, running in this page. Two defences, deliberately on separate controls, because conflating them is a known trap.

...

...
LiveTwo defences, and why they must be kept apart4 min▶

Waiting and retracting are different mechanisms with different costs, and the box above puts them on separate controls for a reason. Waiting keeps rows out of the report until they are settled, so it costs freshness and it costs nothing else. Retracting lets rows in and removes them afterwards, so it costs nothing in freshness and it means your published figures move after publication.

They are easy to blur together because both end up with a clean warehouse, and blurring them produces a specific error: a shallow lag that appears to solve a deep reorg because the retraction was quietly doing the work. An earlier version of this bench made exactly that mistake and made a one block lag look like a fix for a three block reorg. The practitioner track spends a whole session on how that was caught.

The practical form of the question is therefore two questions in a trenchcoat, and you should separate them when you ask. What depth are we waiting for, and do we retract as well. A project that answers only the second has chosen to publish figures that move. A project that answers only the first has chosen staleness. Both are legitimate and neither is the default anybody meant to choose.

LiveWhere the cost lands, drawn rather than complained about4 min▶

Five sessions have produced a consistent pattern that is worth stating plainly at the end rather than implying throughout. The decision to build on this is made once, quickly, by people who are evaluating a product idea. The consequences are continuous, and they arrive at a different desk.

That is not an accusation of bad faith, and treating it as one gets you nowhere. It is a structural feature of how the costs are shaped: the boundary decision looks like an implementation detail in the room where it is made, and looks like the whole job eighteen months later. The read path, the bound that has to be re-explained every quarter, the loader lag, the metric that no amount of engineering will fix.

The remedy is not louder objection. It is the six questions, asked before the decision rather than after, by the people who will be carrying it. That is the entire argument for spending forty five minutes on a list of questions.

Who makes the decision, and who carries it. THE DECISION · ONE AFTERNOON a product owner, a sponsor, a supplier They are evaluating a product idea, and none of this looks like part of it. THE COST · EVERY MONTH AFTERWARDS, AT THE DATA TEAM a read path that only ever grows a bound re-explained every quarter a loader lag nobody chose on purpose a metric no engineering will fix None of it is recoverable by working harder, and none of it appears in the decision it came from. The technology decision is downstream of whether the parties distrust each other. Most of the cost lands on the data team rather than on the people who chose it. Which is why the six questions are asked before the decision, by the people who will be carrying it afterwards, and why an unanswered one counts as an answer rather than as something to follow up.
🔍 Click to zoom - nothing in the left box is done in bad faith. The shape of the cost is what makes it invisible from there, which is the case for asking rather than for objecting.
Part 3 · build-along

Run the six on something real, out loud

13 min hands on

No code. Six steps on a proposal that exists in your organisation, said in the room. The aim is to leave with one proposal scored against all six and one question you know you cannot currently answer.

Say the six from memory

Boundary, counterparties, unit of identity, what happens when a record is wrong, reorg depth, who is paid. Most people lose the fifth, which is the one with a measurable wrong answer.

Pick a real proposal and run one and two

Is there a written boundary, and can anybody name a keeper the others would accept. Answer both out loud before going further. If either is vague, stop and say what that means rather than continuing politely.

Narrate a wrong record

Someone describes the sequence: the wrong record, the annotation, the read path rule, the reader who misses it. Time it. Anyone who can do it in twenty seconds has drawn the boundary; anyone who cannot has not.

Set the lag to 1 and look at it

In the live box, leave retraction off and set the lag to 1. Read the wrong row count and the share. Say why that setting is worse than no precaution at all, in terms of what somebody would believe about it.

Separate the two defences out loud

Turn retraction on at lag 0, then off at lag 3. Both give you a clean warehouse and they cost different things. Say which cost your organisation would rather pay, and why, in one sentence each.

Name the question you cannot answer

One of the six will have no answer available in the room. Write it down with the name of the person who could answer it. That name, and that question, is the actual output of tonight.

The habit to keep. Ask the six before the decision, not after, and ask them as a person who will be carrying the result rather than as a sceptic. Say the acceptance criterion out loud with the question, so that a vague answer is visibly vague to everyone in the room and not only to you. And treat an unanswered question as a finding rather than as an action item, because an action item gets carried forward and a finding changes the meeting.

Check yourself

Three questions

A team says they have thought about history being replaced and have set a one block wait. Against a three block reorg, what have they actually bought?

A lag shallower than the reorg is the dangerous middle. It reduces the wrong rows from 511 to 346 and it leaves a team believing the problem is handled. The lag has to be at least as deep as the reorg, and going deeper than that only holds more rows back.

In a design review, nobody can name who would keep the shared record if the project did not use this machinery. What does that tell you?

That is the question in the form that does the work. A name everyone accepts means a database with an audit log is cheaper on every dimension and can fix a row as well. No such name means you are in the one cell of four where the costs of sessions 1 to 4 are buying something.

What is the one-line version of all six sessions?

The first half is the finding from session 5 and it decides whether there should be a project. The second half is the pattern running through sessions 1 to 4 and it decides who needs to be in the room when the decision is made.

After session 6

Homework

Twenty minutes, on the question you could not answer and on where to go next.

Send the question to the person who can answer it

The one from step 6, with its acceptance criterion attached, so that a vague reply is visibly vague. Give it a date. An unanswered question with no date becomes an assumption within a month.

Put the six somewhere you will find them

The cheat sheet below is the card version. Keep it wherever your design review notes live rather than wherever your training notes live, because the two are not the same place and only one of them gets opened.

Decide whether you need the practitioner track

If you or your team will be building any of this, the ten practitioner sessions start at reading a chain as a dataset and end with both benches driven by the reader. If you are only signing things off, the six you have just done are the whole of it.

Covered tonight

What this session covers

✓Six questions, in asking orderBoundary, counterparties, unit of identity, a wrong record, reorg depth, and who is paid by the metric.
✓An acceptance criterion for eachThe answer that would move you, stated in advance so that a vague answer is visibly vague in the room.
✓The keeper questionNot "do you trust each other" but "who would keep the record otherwise, and would everyone accept them".
✓The reorg depth, measured511 wrong rows at lag 0, 346 at lag 1, zero from lag 3, and 249 and 497 rows held back at lag 6 and 12.
✓Waiting and retracting kept apartTwo defences with different costs, on separate controls, because conflating them produced a known false result.
✓Where the cost landsDecided in one afternoon by people evaluating a product idea, carried monthly by a data team that was not there.
✓The one line versionDownstream of distrust, and paid for by the data team. The whole of the leader track on a card.
◐Building any of itThe practitioner track runs from reading a chain as a dataset to both benches driven by the reader.
○Chain mechanics, including how a reorg happensAssumed from learn-blockchain-with-phoebe rather than repeated.
○Probabilistic record linkageFellegi-Sunter, blocking and string comparison live in learn-entity-resolution-with-phoebe.
○What any law requires, and anything about price or marketsObligations live in learn-gdpr-with-phoebe. Nothing here is advice of any kind.
Take this with you

Cheat sheet

The one line. The technology decision is downstream of whether the parties distrust each other, and most of the cost lands on the data team.
Question 1. What goes on, what stays off. Moves me: a two column list that already exists.
Question 2. Who are the counterparties. Moves me: nobody can name a keeper the others would accept.
Question 3. Unit of identity and error direction. Moves me: a ceiling with a stated method and no floor claimed.
Question 4. What happens when a record is wrong. Moves me: somebody narrates it in twenty seconds.
Question 5. What reorg depth. Moves me: a number with a source, and a lag at least that deep.
Question 6. Who is paid by the metric. Moves me: a named party and the cheapest way for them to move it.
The two defences. Waiting costs freshness. Retracting means published figures move. Never treat them as one.