Opening / 00:00 / 60:00 Fact sheet ↗ 1 / 49
Human-AI Chat Interaction Observatory · 60 minutes

Instrumenting
Conversation

Measuring how human and artificial participants divide the work of talking — and refusing to say more than the measurement supports.

Theory · Technology · Application · Impact presenter · venue · date
Speaker notes

0:00–0:45 Open with the promise and the constraint in one breath: this talk is about building a real instrument for conversation, and about the discipline of not over-claiming what it reads.

Tell the room what they will leave with: a vocabulary (functional segment, quadrant, characteristic curve), an architecture, and a set of commitments they can apply to any measurement system they build.

The question · spec §1

How do human and artificial participants distribute language production, time, initiative, response, semantic contribution, repair, and influence across an evolving conversation?

Master specification · product mission

Speaker notes

0:45–2:00 Read the sentence aloud, slowly. Every measure in the system is downstream of one of those seven nouns — that is the organising claim of the whole talk.

Point out what the sentence does not say: nothing about topic, correctness, satisfaction or learning. That absence is deliberate and it is the design.

The gap

We ship conversational AI at planetary scale, and measure it with instruments that cannot see a conversation.

What is instrumented today

Token counts. Latency. Thumbs up and thumbs down. Task completion. Session length. Retention. Cost per call.

volumespeed satisfaction proxyspend

What is not

Who opened the line of enquiry. Who repaired the misunderstanding, and how often. Whose idea was taken up. Whether the person is still doing the reasoning, or has handed it over.

initiativerepair uptakesemantic contribution

The right-hand column is not exotic. Linguistics has described it for fifty years. What has been missing is an instrument that computes it continuously, at interaction speed, over conversations nobody transcribed by hand.

Speaker notes

2:00–3:15 This is the motivating slide. Land the asymmetry: the left column is measured because it is easy to measure, not because it is what matters.

If the audience is industry-heavy, ask: what is your current answer to "is this assistant making our users better at their work?" Usually the honest answer is thumbs-up rate.

Roadmap · 60 minutes

Five parts.

IConversation as an object of analysis. What the unit is, and why the turn is the wrong one.9 min
IITheory. Where the constructs come from, and the two curve families they produce.12 min
IIITechnology. Two layers, two engines, and the engineering that keeps a measurement honest.15 min
IVApplication. Tutoring, group discussion, assistant evaluation, research.9 min
VImpact in the AI era. What changes, what could go wrong, and what would count as validation.11 min

The rail at the bottom of every slide carries this budget. Press T to start the clock and it will tell you whether the talk is where it should be.

Speaker notes

3:15–4:00 Keep this short. Signal that Part III is the longest and most technical, and that Part V is where the argument becomes normative — so nobody is surprised by the turn.

I

Conversation as an object of analysis

Duration9 minutes
QuestionWhat exactly are we measuring, and in what units?
Leaves you withThe functional segment, and seven distributions
Speaker notes

4:00 Dividers are for breathing and for re-orienting latecomers. Say the part title, say the question, move on within twenty seconds.

Framing

Three ways to read a transcript. Only one of them travels.

1 · Topic

What is this conversation about? Classification, tagging, retrieval. Domain-bound: a taxonomy for physics tutoring tells you nothing about a support desk.

2 · Summary

What was said? Abstractive compression. Useful, lossy, and unstable — two summarisers disagree and there is no ground truth to appeal to.

3 · Interaction

How was it done? Who produced what, when, in response to whom, adding what. The same measures apply to physics tutoring and to a support desk.

This system takes the third position. It is not a summariser and not a topic classifier. It reports how the work of the conversation was distributed between the participants, whatever the conversation was about.

Speaker notes

4:20–5:40 The portability argument is the one that persuades engineers; the stability argument persuades researchers. Give both.

Anticipate the objection "surely topic matters" — yes, and topic analysis is a legitimate neighbouring discipline. The claim is only that interaction structure is separable and worth measuring on its own terms.

Units of analysis · spec §8.1

The turn is not the unit.

Functional segmentThe minimal part of a contribution carrying one speech act. The base unit of everything pragmatic.
TurnOne submitted message or event. What the transport layer sees. Several segments, several acts.
ExchangeA contribution and the contribution that responds to it. Where adjacency lives.
Thread / sessionAn ordered sequence, divided by inactivity gaps rather than by anyone declaring an ending.
thread / session exchange session gap functional segment human ↑ · assistant ↑
Every system that counts "messages" has silently chosen the turn row. The turn in the middle carries three acts; counting it as one unit discards that structure before analysis begins. The dashed line is not a pause — it is a gap past the session threshold, retained and flagged rather than deleted.
Speaker notes

5:40–7:00 This is the most important conceptual move in Part I. If the audience takes one thing from this part, it should be that the message boundary is an artefact of the chat protocol, not a unit of meaning.

Note that the four levels are nested, not alternatives — measures are reported at the level where they are defined.

Worked example · functional segmentation

One turn, four acts.

Good — you've got the mechanism right.positive_feedback But the oxygen comes from water, not from carbon dioxide.correction The CO₂ is fixed in the Calvin cycle instead.inform So where would you expect the labelled oxygen to show up?question

positive_feedback correction inform question 0 38 104 152 210 chars respond repair respond initiate
A segment is a character span, not a sentence and not a clause — which is what makes it checkable: the application re-validates every offset against the actual text, so a model cannot label a span that is not there. Note the last row: the turn both responds and initiates, and it is the initiating segment that hands the floor back. Segmentation is itself an inferred measurement with boundary error, scored by the evaluation harness — every act-derived measure inherits it.
Speaker notes

7:00–8:10 Read the utterance in a natural voice, then read the four labels. The audience should hear the seams before they see them.

Flag honestly that segmentation error propagates into every act-derived measure — this is the first appearance of a theme that runs all the way to Part V.

A precise distinction · spec §8.8

Content-agnostic is not content-free.

ReadsThe classifier reads the text. It has to — communicative function is not recoverable from length and timing alone.
LabelsFunction only: what the speaker is doing. Constrained by prompt and by schema, then re-validated by the application.
Never labelsTopic. Correctness. Quality. Sincerity. Intent beyond the utterance.

Three things this buys

Portability. The same instrument reads a tutorial, a design review and a support thread.

Privacy posture. What is stored and logged is structure, not content: logs and analytics exports carry no raw text.

Claim hygiene. A label that only describes function cannot quietly become a judgement about a person.

Speaker notes

8:10–9:20 People hear "content-agnostic" and assume "blind to the words". Correct that immediately — the distinction is between reading and adjudicating.

The spine · everything downstream maps here

Seven things a conversation distributes.

DistributionMeasured asLayer
Language productionVisible-token ratios: HS, AHR, ER, AR, FCR1
TimeTTFT, generation duration, TPOT, end-to-end, human adjacent-turn latency1
InitiativeInitiative balance over segments: initiate / respond / repair / manage1
ResponseAct-to-act transitions; ICCC Overall Responsivity1 · 2
Semantic contributionLCC quadrants; ICCC Newness and Communication Density2
RepairRepair rate over eligible turns; repair-family acts1
InfluenceICCC Social Impact — semantic uptake by others, forward-looking2

Note the layer column. Four of the seven are computed deterministically with no model call at all. Only three require semantics — and those are the three that are optional, queued, and never enabled implicitly.

Speaker notes

9:20–11:00 This is the map for the rest of the talk. Tell the audience they can point at any measure later and ask which row it belongs to.

The last line pre-empts the "so it's all just an LLM guessing" objection: most of the instrument is arithmetic over timestamps and tokens.

Why now

Ratios that were uninteresting between people are diagnostic between a person and a model.

between people AHR 1.1 between a person and a model AHR 17.2 human ↑ · other person ↓ human ↑ · model ↓ 1 px ≈ 2.2 visible tokens
Five exchanges each, drawn at one shared scale. Between people, production is self-limiting — nobody writes nine hundred words because you wrote nine, so the ratio hovers near 1 and carries little information. Between a person and a model it is unbounded on one side, and the same ratio moves through an order of magnitude. That is what makes it worth measuring.
HS = ΣU ÷ (ΣU + ΣC) human share of visible language AHR = ΣC ÷ ΣU assistant-to-human output ratio ERi = Ci ÷ Ui immediate expansion of one prompt FCRi = Ui+1 ÷ Ci follow-up compression: how much the human writes back
Prohibited interpretation

None of these is a measure of effort, contribution quality, or ownership of ideas. A falling FCR is a shorter follow-up. It is not evidence of disengagement, dependence or comprehension — those require external measures.

Speaker notes

11:00–13:00 This is the "why this talk, why now" beat. The measures are old; the interlocutor is new, and the new interlocutor breaks the symmetry the old measures assumed.

Deliver the prohibited-interpretation box immediately after the seductive claim. That rhythm — claim, then boundary — is the deck's signature and it starts here.

II

Theory

Duration12 minutes
QuestionWhere do the constructs come from, and what do they license?
Leaves you withTwo curve families, and one boundary
Speaker notes

13:00 Signal the register change: the next twelve minutes are conceptual, and the payoff is that Part III will make sense as engineering rather than as arbitrary formulas.

Lineage

Six strands, reconstructed.

Speech act theoryAustin; Searle. An utterance is an action with illocutionary force. Gives us: acts as the pragmatic unit, and the taxonomy's shape.
Conversation analysisSacks, Schegloff, Jefferson. Turn-taking, adjacency pairs, and repair as ordinary machinery. Gives us: repair as a first-class measure rather than an error signal.
Functional linguisticsHalliday. Lexical density as content words over word tokens. Gives us: a text measure with a theory behind it instead of a word count.
Information theoryShannon. Entropy over a distribution of categories. Gives us: act-type variety as a single number, in nats.
Intelligent tutoringExpectation–misconception tailored dialogue. Gives us: LCC's reference model — a versioned list of what a good answer contains and what commonly goes wrong.
Curve traditionsCharacteristic curves from measurement theory; group interaction analysis from CSCL. Gives us: the idea that a participant has a trajectory, not a score.
Honesty note

The specification operationalises these constructs; it does not cite them. This slide is a reconstruction of the lineage, offered so the formulas in Part III are legible as descendants of a literature rather than as inventions.

Speaker notes

13:20–15:30 Do not linger on each strand; name the strand and name what it contributes. The honesty note matters — say it out loud rather than letting people read it.

If challenged on any attribution, concede readily: the point is the shape of the intellectual debt, not a citation audit.

Method · metric dictionary

Every metric carries seven things, or it does not ship.

construct operational formula range missing permitted prohibited the number travels with it API response body { value · qualityFlags[] · researchIntegrityNotice }
The seventh link is the unusual one. Most metric catalogues stop at permitted — here the prohibited interpretation is normative and is returned inside the response, so it reaches everyone who ever handles the number, not only whoever read the specification.
ConstructHow often human turns do interactional repair work.
Formula(corrections + reformulations + revision requests + misunderstanding signals) ÷ eligible human turns
Range≥ 0
Missingnull with LLM_CLASSIFICATION_PENDING — an unclassified turn is not a turn with zero repairs.
PermittedComparison across turns and participants under one classifier version.
ProhibitedNot evidence of system failure. Repair is normal interaction work.
Speaker notes

15:30–17:10 The seventh column is the unusual one. Most metric catalogues stop at "permitted". Emphasise that the prohibited interpretation is normative and is returned inside the API response, so it travels with the number to wherever the number ends up.

Taxonomy · 11 families · 40 acts

What a speaker is doing, in forty labels.

Information seekingquestion · clarification_request · verification
Action seekingrequest · instruction · constraint · revision_request
Information provisioninform · answer · example · evidence
Evaluationagreement · acceptance · disagreement · rejection · quality_evaluation
Feedbackacknowledgement · positive_feedback · negative_feedback
Repaircorrection · reformulation · misunderstanding_signal · metacommunication
Dialogue managementopening · closing · topic_shift · continuation
Social-relationalgreeting · thanks · apology · self_disclosure
Epistemic regulationuncertainty · challenge · reflection · justification_request
Agencyauthorization · selection · action_confirmation · action_cancellation
Otherunclassifiable
Per segment, alsoinitiative initiate · respond · repair · manage
epistemic position certain · uncertain · neutral
Read this correctly

unclassifiable is not a residual bin. It is returned when the evidence is inadequate — a refusal to guess. And uncertainty records how a speaker marks their certainty, not what they actually know.

Speaker notes

17:10–19:00 Do not read all forty. Read the family names, then pick two acts the audience will not have expected — metacommunication and action_cancellation — and say why they earn a place.

The agency family is the AI-era addition: authorising, selecting and cancelling an agent's action are speech acts that barely existed in the original taxonomies.

Live illustration · the panels /lab draws, on a transport

Step a thread and watch the structure accumulate.

illustration · computed in this page
One bar per act, longest first, coloured by family. A single turn can add several.
Row is the preceding segment's family, column the following one. Counts only, shaded against the largest cell — a contrast within this thread, not a scale you can carry to another.
Speaker notes

19:00–20:40 Press Step and narrate the first three turns aloud. The moment worth waiting for is turn 3, where one tutor turn adds an acknowledgement, a correction and a question — three cells in the matrix out of one message.

Then point at the repair rate. On turn 1 it is null — no eligible human turn exists yet, so the rate is not measurable. On turn 2 it becomes 0.00, which is a measured zero. That is the whole null-is-not-zero distinction, happening on screen in two clicks.

Say the honest thing about the widget: this one computes in the browser. The real interface computes nothing and shows only what the API returned — the contrast is worth thirty seconds.

A load-bearing claim

A repair rate of zero is not success.

Repair is ordinary interactional work — the machinery by which two parties keep a shared understanding. Its absence can signal disengagement as readily as it can signal that nothing needed fixing.

The tempting reading

"Corrections went down after the model upgrade, so the model got better." Perhaps. Or users stopped checking. Or they stopped caring. Or the conversations got shorter.

Why it is shipped as a prohibition

Because the tempting reading is the one a dashboard invites. The metric dictionary states the prohibition and the API returns it beside the number.

Speaker notes

19:00–20:15 This is the theoretical heart of the talk's ethics. Conversation analysis has known for decades that repair is constitutive of talk, not a defect in it.

Good place for a pause. If the room takes one prohibition home, make it this one.

LCC · Learner's Characteristic Curves · spec §10

Two questions about a learner's contribution, asked at once.

illustration · computed in this page
A contribution is not in a quadrant. Step it: the point moves on the plane and the bar beside it re-stacks by the products RN = R·N, RO = R(1−N), IN = (1−R)N, IO = (1−R)(1−N) — always to a full bar, because the four always sum to 1.
Read "irrelevant" precisely

Irrelevant means off the current instructional goal. Not globally meaningless, not wrong, not unimportant. A correct and insightful tangent scores as IN — and moving the goalposts, by publishing a different reference model, moves the same contribution to a different quadrant.

Speaker notes

20:15–22:00 Draw the two axes in the air: relevance to the goal, novelty within this dialogue. Everything else in LCC is a consequence of those two questions.

The tangent example is worth telling as a story — it is the fastest way to stop people hearing "irrelevant" as "bad".

The precondition that defines the engine

Remove the reference model and LCC does not degrade. It becomes inapplicable.

QuestionThe current instructional problem, stated.
ExpectationsWhat a good answer contains. Weighted. At least one required.
MisconceptionsWhat commonly goes wrong. Weighted. Recommended, not required.
VersionImmutable. Every result records the model identifier and version it was computed against.

Why immutability is not bureaucracy

Relevance is defined relative to this document. Edit an expectation in place and every curve computed before the edit silently becomes incomparable with every curve after it — while both still carry the same name.

Versioning is what makes a curve a measurement instead of an opinion with a timestamp.

Also

Where a learner's off-goal content does not resemble any described misconception closely enough, it is reported as unmapped and flagged — never forced into the nearest known category. An instrument that always finds something is not measuring.

Speaker notes

22:00–23:40 This slide answers "why can't you just run LCC on any conversation?" You cannot, and the API says not_applicable rather than inventing a curve.

ICCC · Individual Conversation Characteristics Curves · spec §11

Six measures per participant, referenced to the others.

ParticipationShare of the window against an equal share1 = equal
Overall ResponsivitySimilarity to what others said recently0–1
Internal CohesionSimilarity to one's own recent contributions0–1
Social ImpactWeighted semantic uptake by others afterwards0–1
NewnessOne minus similarity to everything before0–1
Communication DensitySemantic units per 100 visible tokens≥ 0

No instructional reference model. No notion of correctness. Every measure is referenced to the other participants and the evolving discussion — which is exactly what makes it applicable where LCC is not.

Speaker notes

23:40–25:30 Walk the six names once. Stress the shared reference frame — that single sentence at the bottom is what distinguishes ICCC from six unrelated statistics.

Curves, not scores: a participant has a trajectory through a discussion, and the trajectory is the object of interest.

The awkward measure

One measure looks forward — and therefore changes after it is published.

illustration · computed in this page
Advance it and watch the value republish itself. Note that v3 lands below v2 — a forward-looking value can move either way as its window fills, and both earlier versions stay readable in the ledger.

What follows from that

Every still-open window is recalculated when a new contribution arrives, and republished as a new version. History is never mutated: the earlier value stays readable in the ledger.

Prohibited interpretation

High impact is not benefit. Confusion draws responses as readily as insight does, and the measure counts responses either way.

Speaker notes

25:30–27:00 This is a lovely engineering-meets-epistemology beat. The measure is honest about not being finished yet, and the system has a vocabulary for that state.

Contrast with the usual practice of showing a number that quietly changes when you refresh.

A design commitment enforced in code

LCC is not ICCC for one person. ICCC is not LCC for several.

PropertyLCCICCC
SettingLearner–tutor instructional dialogueMulti-person or multi-agent discussion
Modelled entityA designated learnerEvery participating individual or agent
Reference frameInstructional expectations, misconceptions, learner historyThe other participants and the evolving discussion
Main measuresRN · RO · IN · IOParticipation · Responsivity · Cohesion · Impact · Newness · Density
Needs a reference modelYes — or not_applicableNo
Needs future contributionsNoYes, for final Social Impact
No merged score

The two engines share embeddings and semantic units, and their results may be visualised together. They are never combined arithmetically. A composite would imply a construct that neither model defines and neither has been validated for.

Speaker notes

27:00–28:20 Product pressure always pushes toward one number. Say so explicitly, and say that resisting it is a theoretical commitment, not stubbornness.

Where Part II lands

Agreement with human annotation is not validity.

What a good score means

A macro-F1 of 0.8 against expert speech-act coding means the classifier reproduces expert labels reasonably well.

What it does not mean

It says nothing about whether act frequency predicts learning, satisfaction, or group effectiveness. Those are separate empirical questions with separate evidence requirements.

ICCC formulas are reproducible operationalisations of theoretical constructs — not evidence that the curves predict anything. LCC validity depends on the quality of the reference model as much as on the classifier. Reproducible is not valid.

Speaker notes

28:20–29:40 Close Part II here and let it sit. This sentence is the one the Part V argument will be built on, so plant it firmly.

III

Technology

Duration15 minutes
QuestionWhat does it take to compute this continuously, and honestly?
Leaves you withAn architecture, and six invariants
Speaker notes

29:40 The longest part. Warn that it goes from architecture down to specific constants, and that the constants are the point — they are what makes the theory computable.

Architecture · spec §2

Two layers. Two engines. One shared kernel.

conversation events posted as they happen inline · returned in the 201 queued · never implicit Layer 1 · content-agnostic deterministic · no external call Layer 2 · semantic optional · explicit configuration shared semantic kernel units · embeddings · similarity LCC vs reference model ICCC vs the others no merged score persisted, then returned versioned analysis envelope results stored separately · revisions add versions · history never mutated
The crossed link is the part worth pointing at. LCC and ICCC share the kernel above them and the store below them, and there is deliberately no edge between them — the two results may be plotted on one pair of axes, and are never combined into one number.
Speaker notes

30:00–31:30 Trace the diagram with a finger, top to bottom. The two branches under "conversation events" are the whole design in one picture: one branch is free and certain, the other is expensive and provisional.

The flow · one contribution

What happens when a chat app posts one turn.

response written in the request in the worker validate Layer 1 persist enqueue dequeue classify semantic publish the client already has usable numbers reaches the client on the event stream
Everything to the left of the dashed line finishes before the client is answered; everything to the right happens after. The one arrow that crosses it is a queue write, not a promise — which is the whole reason the split exists.
Why step 4 is not an implementation detail

The platform may terminate the container the moment a response is written. Any Layer 2 work left on a promise after the response would be silently lost — and the analysis would appear to succeed while being empty.

Speaker notes

31:30–33:20 The sync/async column on the right is the thing to point at. Engineers recognise the shape immediately; researchers need the note at the bottom to see why it is forced.

Layer 1 · deterministic, every valid thread

What you get without a single model call.

Production

HS = ΣU ÷ (ΣU+ΣC)
AHR = ΣC ÷ ΣU
ER = Ci ÷ Ui
AR = Ci ÷ Pi
FCR = Ui+1 ÷ Ci

Visible tokens only. AR is the one ratio against the full provider input, and is null unless that figure was supplied.

Time

TTFT
generation duration
TPOT = dur ÷ (C−1)
end-to-end
HL, HL/100 tok

The first four describe the provider generating. The last describes a person. They are never summed.

Text & structure

lexical density
type-token ratio
moving-average TTR
sentences, questions
repeated n-gram share

Each with its method string, because a stop-list approximation and a POS tagger produce different numbers under the same name.

Provenance travels with every count

Each token count is labelled provider_reported, locally_counted or estimated. A missing provider figure is never silently replaced by a local estimate — the substitution would be invisible and would change every ratio above.

Speaker notes

33:20–35:10 Move quickly through the formulas; dwell on the provenance box. It is the smallest idea on the slide and the one most often skipped in real systems.

One measure, in full · spec §8.6–8.7

Human adjacent-turn latency.

HLi+1 = t(next human submit) − t(previous AI last token) HL100i = HLi+1 ÷ (Ci / 100) normalised per 100 completion tokens
ContainsReading, deliberation, typing, interruption, multitasking and plain inactivity — in unknown proportions.
Summarised byMedian and geometric mean. The distribution is right-skewed; the arithmetic mean is reported but is pulled by one long gap.
SessionsA gap past the session threshold opens a new session and raises CROSS_SESSION_GAP.
Prohibited interpretation

Not reading time. Not thinking time. Not engagement, and not attention.

The field is named humanAdjacentTurnLatency precisely because that is all it is: the interval between two observable timestamps. Nothing in the measurement separates the causes.

median arithmetic mean human adjacent-turn latency → short gaps the shaded tail is what moves the mean, and it is a handful of observations
The same handful of long gaps that make the mean untrustworthy are the ones worth keeping: a gap past the session threshold is retained and flagged, never dropped, because deleting it would quietly improve every summary computed over it.
Speaker notes

35:10–36:50 A good slide for a joke: the long tail of this distribution is usually somebody making a cup of tea. Then land the naming point — the field name itself is a piece of governance.

Layer 2 · spec §8.8

The language model is a measurement instrument, not an oracle.

1Constrain the output. A strict JSON schema, or a forced tool call whose input schema is the same JSON Schema. The model cannot return prose.schema
2Re-validate independently. Enum membership checked; character offsets checked against the actual text, so a model cannot invent a span it claims to have labelled.application
3One repair request. A malformed result gets a single structured retry naming the specific problems. Not an open-ended negotiation.retry ×1
4Fail loudly, degrade safely. If it still fails, a failure state is stored and the deterministic analysis proceeds unaffected. The thread is not left half-measured and unlabelled.flag
5Report confidence. Below the confidence threshold the result carries LOW_CLASSIFICATION_CONFIDENCE rather than being dropped or promoted.flag
6Keep provenance. evidenceKind is llm_inferred for a real provider and rule_based for the mock. The two are never mixed inside one analysis.evidence
Speaker notes

36:50–38:40 Step 2 is the one to emphasise: the application does not trust the model's own account of where in the text it found something. Offsets are checked against the real string.

Step 6 matters for anyone who has run a system in mock mode and quietly shipped the numbers.

From construct to number · LCC

How relevance and novelty become four numbers.

S = (cos + 1) / 2 similarity scale: unrelated sits at 0.5, not at 0 R ∈ [0,1] relevance, against the reference model's expectations N ∈ [0,1] novelty, against the learner's own prior units and what is covered RN = R·N RO = R(1−N) IN = (1−R)N IO = (1−R)(1−N)
MembershipPiecewise-linear between versioned thresholds — relevance 0.58 to 0.78, novelty 0.62 to 0.85, on the scale above.
Methodshybrid scores each semantic unit and aggregates by length; factor_product works at turn level; direct_semantic_classification assigns a dominant quadrant.
UnmappedOff-goal content below the misconception-mapping threshold is reported as unmapped and flagged, not forced into the nearest known misconception.
unrelated sits here relevance · 0.58 → 0.78 novelty · 0.62 → 0.85 0 1 0.5 .58 .78 .62 .85 similarity S = (cos + 1) / 2
Everything left of the dashed line is less alike than two unrelated things. That is why a relevance of 0.5 means unrelated rather than half-relevant, and why a threshold quoted without its scale is not a threshold.
Speaker notes

38:40–40:30 The 0.5 point is the single most misread number in similarity-based analytics. Say it twice.

"Versioned thresholds" will come back two slides from now — plant the phrase.

From construct to number · ICCC

Who was this addressed to? The answer is weighted, never assumed.

explicitly submitted targets reply / parent-turn structure direct address · @name, vocative speech-act & discourse inference group-level default unknown 1.00 0.90 0.85 0.70 / 0.45 0.30 0.00 weight a Responsivity Social Impact the method and its confidence are recorded with every result
The ladder is not documentation of a guess — it sets the weight. A target resolved only by group default contributes at 0.3 and raises ICCC_LOW_TARGET_CONFIDENCE, so weak targeting produces a weak number rather than a confident wrong one. And a contribution is never assumed to target whoever spoke last.
The rule that prevents a common error

A contribution is never assumed to target the immediately preceding participant. Weak targeting produces weak weights rather than confident wrong answers.

Weighting context, persisted

cumulative · rolling_window · exponential_decay with w = e−λd. The distance unit and λ are stored with every result — a curve computed under one weighting is not comparable to one computed under another.

Speaker notes

40:30–42:20 The ladder is the most transferable idea in this part: instead of guessing a target and proceeding confidently, resolve it, record the method, and let the confidence flow into the weight.

Engineering as epistemology

Six invariants. Breaking one is a regression even if nothing throws.

1null means "not measurable", never zero. Never coerced. Every null carries a quality flag naming the reason.measurement
2Unmet preconditions return not_applicable with reasons — never a fabricated curve. Layer 2 is never enabled implicitly.measurement
3Results are versioned, never overwritten. A revision writes a new version and swaps a pointer; the earlier value stays readable.storage
4Authentication is not authorization. Establishing who is asking is a separate step from deciding what they may see, on every route.access
5Logs and analytics carry no raw text, tokens or credentials. Redaction happens at a single chokepoint; exported actors are pseudonymous.privacy
6Production refuses to start with an in-memory store, a process-local queue, mock authentication, or a loopback host — the failure modes that are otherwise silent.deploy
Speaker notes

42:20–44:20 Frame these as epistemology expressed as engineering. Invariant 1 is the one to defend hardest: a zero standing in for an unmeasurable value corrupts every aggregate silently and permanently.

Invariant 6 is the practical one — it exists because a service that starts successfully and cannot be reached looks like a healthy deployment.

Persistence

No database. Objects, generations, and one key space.

ShapeEvery analysis is a JSON object. Envelopes share one key space: analysis/{type}/{subject}.json, where the subject is a turn, a participant, or the thread.
ConcurrencyOptimistic, not locked: read the generation, write with a generation precondition, retry on failure. Two writers cannot silently lose each other's work.
IdempotencyKeyed on thread, turn and client request. Reposting a stored turn returns the stored analysis rather than measuring it twice.
KeysBuilt from validated opaque identifiers only. No component is derived from an email address, a token subject, or any client-supplied string.

Why this is a measurement decision, not just an ops one

Versioned envelopes plus a pointer swap mean the value a client was given last week is still readable this week. Without that, a revisable measure like Social Impact would be unauditable — you could never reconstruct what a dashboard showed at the moment somebody made a decision from it.

An in-memory equivalent reproduces the same semantics, including generation preconditions, so the test suite exercises the real code paths rather than a stub with easier rules.

Speaker notes

44:20–45:40 If the audience is research-heavy, compress this slide. If it is engineering-heavy, the optimistic-concurrency line is worth an extra thirty seconds.

Evaluation harness · spec §21

Every classification is treated as an instrument that requires evaluation.

TargetMetrics
Speech actsPer-class precision, recall, F1; macro-F1; accuracy; confusion matrix
ConfidenceExpected calibration error over equal-width bins
Human annotationPairwise Cohen's κ across raters, and the mean
LCCMean absolute error per quadrant, overall MAE, dominant-quadrant accuracy against expert annotation
Target resolutionExact-match accuracy and Jaccard overlap against annotated targets
SegmentationBoundary precision, recall and F1 within a character tolerance
Stratified, always

By language, interaction type and contribution length — because an instrument that works on long English contributions may not work on short ones, or on another language.

Shadow before activation

A candidate classifier version is scored against the active one on the same gold set, and the deltas are reported with a recommendation, before anything is switched.

perfect calibration every bar sits below it 0.5 1.0 stated confidence observed accuracy
Expected calibration error is the weighted sum of those red gaps. A classifier can be accurate and still lie about how sure it is — which is why the confidence a result carries is evaluated separately from the label it carries.
Speaker notes

45:40–47:20 Note that κ requires multiple raters per item — which means gold sets are expensive, and that expense is the real barrier to instruments like this, not the modelling.

Where Part III lands

An unversioned threshold turns two different instruments into one name.

promptsschemasthresholds algorithmsreference models preprocessingmodel identifiers all versioned, or the harness emits no report
0.58 → 0.55, unversioned two instruments from here on ← six months of curves →
Both halves are labelled the same measure and plotted on the same axis. Nothing in the data marks the join — which is the failure: the discontinuity is real, unrecoverable, and invisible to every test that passed.

The failure this prevents

Someone nudges a relevance threshold from 0.58 to 0.55 to make a demo look better. Nothing breaks. No test fails. Six months of curves are now a mixture of two instruments, indistinguishable in the data, and every longitudinal claim built on them is void.

This is the most likely way a system like this quietly stops being a measurement system.

Speaker notes

47:20–48:40 Tell the failure story in the right-hand card as a story. It is the most memorable thing in Part III and it costs twenty seconds.

IV

Application

Duration9 minutes
QuestionWho uses this, for what, and where does the instrument stop?
Leaves you withFour applications and one boundary
Speaker notes

48:40 Shift energy here — Part III was dense. This part is concrete and should move fast.

How it is used · real time, not batch

A chat application posts contributions as they happen and reads the analysis back.

What the client sends

POST /threads/:id/turns
  participantId, speakerType
  text, submittedAt
  firstTokenAt, lastTokenAt
  tokenUsage + provenance
  targets, clientRequestId

What comes back, immediately

201 Created
  layer1 measures
  qualityFlags[]
  versions{...}
  researchIntegrityNotice

Semantic results arrive afterwards on the event stream, or on the next analysis read.

There is no batch import step and no offline pipeline in the critical path. The instrument runs at conversation speed, which is what makes the next four applications possible at all.

Speaker notes

49:00–50:10 The researchIntegrityNotice field in the response is worth pointing at explicitly — the caveat is data, not documentation.

Application 1 · LCC

Adaptive tutoring — with measurement kept separate from action.

productive_contributionMass in RN. Candidate moves: pump, elaboration.
relevant_repetitionMass in RO. Candidate moves: prompt, hint.
new_irrelevant_directionMass in IN. Candidate moves: hint, self-reflection prompt.
repeated_irrelevant_directionMass in IO. Flagged as a possible roadblock — a prompt to look, not a finding.
insufficient_evidenceToo little to place. Reported as such rather than resolved to the nearest state.
The boundary

The API returns candidate moves, never actions. It does not send anything to a learner, does not choose, and does not adapt.

The tutoring system decides. That separation is what keeps a measurement error from becoming an intervention error, and keeps the analytics accountable to a different standard than the pedagogy.

Speaker notes

50:10–51:40 The measurement/action separation is the most important sentence in Part IV. Say why it matters: the moment an analytics service starts acting, its errors become the learner's problem rather than the researcher's.

Application 2 · ICCC

Monitoring a discussion without scoring the people in it.

What a facilitator can see

Whose share of the floor is above or below an equal share. Who is tracking others and who is tracking only themselves. Whose contributions get taken up.

What stays visible with it

Every low-confidence target. Every provisional impact value. Every insufficient_history null. The uncertainty is on screen, not smoothed away.

What it must not become

A participation grade. A ranking. A record that follows a person. These are curves about a discussion, not attributes of the people having it.

Note on multi-agent discussion

ICCC treats an agent as a participant with the same six measures. In a discussion where several assistants contribute alongside people, "who is responsive to whom" becomes a question about the system's design as much as about the group.

Speaker notes

51:40–53:00 The third card is the ethical one and it should be delivered plainly, not defensively. Every group analytics tool drifts toward ranking unless something stops it.

Application 3 · Layer 1, mostly

A product metric for conversational AI that is not a thumbs-up.

SignalWhat it describesReads as
AHR, ERHow much language the assistant produces per unit of human inputAmplification
FCRHow much the human writes back after a completionFollow-up compression
repair rateHow often the human corrects, reformulates or asks for a revisionInteraction cost
act transitionsWhich moves follow which across the exchangeStructure
HL distributionThe shape of human response gaps, not the meanRhythm
initiative balanceShare of segments that initiate, respond, repair or manageWho is driving
Still bounded

Every row above describes form. None of them establishes that the assistant is helpful, correct, or good for the person using it. They are better instruments than a thumbs-up — not substitutes for asking whether the thing works.

Speaker notes

53:00–54:20 This is the slide industry attendees will photograph. Give them a beat to do it, then read the prohibition so the photograph carries the caveat.

Application 4 · scoped, consented, audited

As a research instrument, access is a first-class design problem.

GrantsScoped, revocable, and recorded with a purpose and a consent version.
ProjectionResearch reads are scope-filtered and pseudonymised at the projection boundary — a field no scope covers is absent from the body, not present and blanked.
Reference modelsProprietary instructional content. Never exposed through a research curve scope.
AuditWho acted, on what, under which grant, and when — carrying no raw text.

Absent, not blanked

The distinction sounds pedantic and is not. A blanked field still tells a reader that the field exists and has a value — which is itself a disclosure, and one that invites inference about what was hidden.

The same instinct runs through the whole system: say what is true, or say nothing, but never say something shaped like an answer.

Speaker notes

54:20–55:30 "Absent, not blanked" is a nice transferable principle. Offer it as something the audience can take back to systems that have nothing to do with conversation.

Method · the testing interface

The interface computes nothing. That is the feature.

DrivesThe real API. It creates a thread, ingests each contribution through the ordinary route, and displays only what the API returned.
Scrubbing backReplays the snapshot the API returned at that point rather than recomputing — which is how you can watch a provisional Social Impact value become final.
Why not compute locallyA metric computed client-side would make the interface lie: it would show a number the API never produced, under the API's name.
Synthetic data discipline

Generated sample conversations carry a synthetic-data notice, and a pattern in a simulation is a property of the generator — never evidence about people, and never pooled with real conversations.

A template fallback is always labelled as a template. Presenting one as a model-written transcript would make a broken provider look like a working instrument.

Speaker notes

55:30–56:40 If there is a live demo, this is where it goes — scrub backwards and let the audience watch a provisional value settle. If not, describe it; the image lands either way.

V

Impact in the AI era

Duration11 minutes
QuestionWhat changes, what could go wrong, and what would count as evidence?
Leaves you withA risk register and a research agenda
Speaker notes

56:40 Signal the register change again: from description to argument. This part contains the talk's actual opinions.

The shift

Four things stop being constant when one participant is a model.

SymmetryProduction is no longer self-limiting on both sides. Ratios that hovered near 1 between people now range over orders of magnitude.
PatienceOne party never tires of being asked again. Repeated clarification carries no social cost, so repair patterns change shape.
FaceCorrecting a model threatens nobody. The interactional cost that shaped human repair is simply absent on one side.
InitiativeInitiative can be handed over wholesale and continuously, in a way that has no natural analogue in human conversation.

Why this is a measurement opportunity

Each of those four is observable in interaction structure. Production symmetry is a ratio. Repair cost shows in repair-family acts. Initiative shows in the initiate/respond balance over segments.

This is the first period in which those quantities vary enough, across enough conversations, for the variation itself to be the object of study.

Speaker notes

57:00–58:40 Be careful here: these are hypotheses about what varies, not findings. Say so. The claim is that the variation is measurable, not that we know its direction or its consequences.

What goes wrong

Five ways an instrument like this fails in the world.

1Proxy creep. A measure becomes a target. Repair rate falls because a team optimised repair rate, and the conversations got worse in a way the number cannot see.Goodhart
2Surveillance drift. Analytics about an interaction quietly become analytics about a person — a participation curve turns into a performance record.governance
3Construct inflation. A latency gets labelled "engagement" in a dashboard title, and six months later a policy rests on it.naming
4Instrument drift. Unversioned thresholds and silently upgraded models. Longitudinal comparisons across a boundary nobody recorded.versioning
5Synthetic contamination. Generated conversations pooled with real ones, so a property of a generator is reported as a finding about people.provenance

Every one of these is a failure of the surrounding practice rather than of the arithmetic. Which is precisely why the arithmetic is not where the safeguards belong.

Speaker notes

58:40–60:30 Number 3 is the one this field commits most often. Give a concrete example if you have one from your own domain — it makes the abstraction land.

The response

The caveat ships with the data, not in a PDF nobody opens.

In the responseThe research-integrity notice is a field in the API response body. It travels wherever the number travels.
In the dictionaryEvery metric carries a normative prohibited interpretation, reproduced in responses rather than kept in documentation.
In the type systemnull for not measurable; not_applicable with reasons; quality flags naming why. The absence of an answer is expressible.
In the architectureNo merged score. Separate stores. Pseudonymisation at the projection boundary. Refuse-to-start rails on silent failure modes.
notice notice notice response dashboard decision specification reaches whoever read it documentation is advisory · structure is binding
A caveat in a specification is followed by whoever read the specification. A caveat in the response body is followed by everyone who ever handles the number, including the people who arrive after the authors have gone. If a constraint matters, encode it where it cannot be skipped.
Speaker notes

60:30–62:00 This is the transferable thesis of the whole talk for anyone building measurement systems of any kind. Deliver the right-hand card slowly.

The honest agenda

None of this is established by the formulas. Here is what would establish it.

Predictive validityDo act distributions, repair rates or LCC trajectories predict externally measured learning outcomes, beyond what prior attainment and time on task already predict?
Rater ceilingsWhat is the human κ on this taxonomy, per family? A classifier cannot meaningfully exceed the agreement humans reach with each other.
Instrument equivalenceDo the measures behave equivalently across languages and interaction types, or does the same number mean different things in different settings?
Reference-model sensitivityHow much does an LCC curve move under a defensible alternative reference model for the same question?
Longitudinal stabilityDo Social Impact values converge as forward windows close, and how often does the final value reverse the provisional one's ordering?
Stated plainly

Until that evidence exists, these are reproducible operationalisations of theoretical constructs. That is a real and useful thing to be. It is not the same thing as a validated measure, and the system is built to keep saying so.

Speaker notes

62:00–64:00 If there are researchers in the room, this is your recruitment slide. Say which of the five you most want collaborators on.

Take away

Five claims.

1The unit is the functional segment, not the message. The message boundary is an artefact of the chat protocol.Part I
2Content-agnostic is a stance, not a limitation. Read the text; label only function. It buys portability, a privacy posture, and claim hygiene.Part I–II
3Two engines, no merged score. LCC measures against an instructional model; ICCC measures against the other participants. Separation is theoretical, and it is enforced in code.Part II
4null is not zero and not_applicable is not failure. An instrument that always returns a number is not measuring.Part III
5Reproducible is not valid — and the number must carry that boundary with it, in the response, not in the documentation.Part III–V
Speaker notes

64:00–65:30 Read all five. This is the slide people write down. Then move to the notice and stop talking.

Research-integrity notice · spec §27 · returned with every analysis

These measures describe observable and computationally inferred interaction patterns.

They do not, by themselves, establish learning, mastery, cognitive effort, engagement, trust, factual quality, intelligence, personality, or causal influence. Such interpretations require external measures and empirical validation.

Thank you · questions

Speaker notes

65:30–66:00 Read the notice aloud in full. It is the only slide where reading the text verbatim is the right delivery — this is the sentence the system returns to every caller, and hearing it in a human voice is the point.

Then stop. Let the silence do the work before questions.

Appendix · for the photograph

Constants and where things live.

Constants in force

SimilarityS = (cos + 1) / 2 · unrelated = 0.5
Relevance0.58 → 0.78
Novelty0.62 → 0.85
Misconception map≥ 0.72, else unmapped
Unit redundancy≥ 0.82
Forward window3 stabilizing · 8 final
Low confidence< 0.5
Taxonomy11 families · 40 acts

The intro pack

Documentation

Every measuremetric-dictionary.md — definition, formula, range, missing-data behaviour, permitted and prohibited interpretation
Evidencedocs/evaluation.md — harness, gold sets, shadow evaluation, the claim boundary. Internal: not on the public documentation allowlist.
Speaker notes

Leave this on screen during questions. It answers most of the "what exactly was the threshold" questions without needing to go back through the deck.