Human–AI Chat Interaction Observatory

testing & research interface
connecting to the API… thr_…
turn 0/16 · t+0.0s

Lab dashboard

start here

This page replays one conversation through the production API, one contribution at a time, and shows what each analyser makes of it. Pick a conversation below, then open one section at a time — the cards are in pipeline order, from what arrives to what is derived from it. The replay controls at the top stay live while a section is open.

Open a conversation
…
Use your own AI interaction

Nothing here is limited to the samples. There are three ways to put a real conversation through the same measures, in increasing order of effort.

Open a section
one at a time

Ingestion topology

Spec §2, §6, §13.3, §15 — one image, two Cloud Run services, GCS authoritative

Live packet flow animated on each ingested turn

synchronous (returns in the 201) asynchronous (Cloud Tasks, OIDC) event fan-out (Pub/Sub → SSE)

Response contract

Layer 1 completes inside the request. Everything semantic is queued, so the client gets deterministic numbers immediately and semantic curves arrive over the event stream.

Cloud Run may terminate the container the moment a response is written, so no unawaited promise is allowed to carry Layer 2 work (§15).

Thread laboratory

Spec §18.1 — the interface calls the same API a third-party app would

Thread configuration

Participants

LCC reference model v2.1.0

Transcript 0 ingested

API inspector

Spec §13, §18.2 — request, response envelope, and the SSE stream

Request

Press Replay to ingest the first turn.

Response

—

Event stream text/event-stream

Endpoint surface

Asynchronous job board Cloud Tasks

TaskHandlerTurnStateAttempts
Handlers are idempotent and keyed on threadId + turnId + algorithmVersion, so a retry after a 5xx cannot double-write a curve point.

Layer 1 — content-agnostic interaction analytics

Spec §8 — deterministic, runs for every valid thread, never judges correctness

Token production by participant derived

RatioFormulaValueProvenance

Timing observed

TurnTTFTGen. dur.TPOTE2E

Human adjacent-turn latency HL

Completion length vs. adjacent latency OLS on log(1+HL)

Linguistic measures per language adapter

MeasureValueMethod
Lexical density here is a stop-list approximation, not a POS tagger; it is reported with its method string and is not ICCC Communication Density.

Speech acts and structural derivatives

Spec §8.8–§8.9 — schema-constrained LLM classification over functional segments

Act distribution LLM inferred

Act → act transitions

Rows: preceding act. Columns: following act. Counts only, no valuation.

Structural measures

LCC — Learner's Characteristic Curves

Spec §10 — requires a tutorial context and a versioned reference model
—

Quadrant curves R and N are model-inferred

RN relevant + new RO relevant + old IN irrelevant + new IO irrelevant + old

Soft membership per contribution RN+RO+IN+IO = 1

Current contribution

Expectation coverage non-duplicative

Misconception evidence

Instructional state descriptive

ICCC — Individual Conversation Characteristics Curves

Spec §11 — six measures per participant, Social Impact revisable

Six aligned curves

Dashed segments are provisional Social Impact: the forward window is not yet complete, so those points will be revised when later contributions arrive.

Contribution inspector

Social Impact revision ledger versioned

Per-participant snapshot at the playhead accessible table alternative

ParticipantParticipationResponsivityCohesionSocial impactNewnessComm. densityStatus

Group tutoring — two models, no merged score

Spec §12 — cross-model patterns are descriptive only

LCC × ICCC pattern map

Each mark is one learner contribution: horizontal = LCC RN, vertical = ICCC Social Impact. There is no arithmetic combining the two axes.

Observed patterns in this thread

Authorization laboratory

Spec §17, §18.6 — deny by default, scoped grants, immediate revocation

Grant active

GET /api/v1/threads/:threadId/turns …

—

Audit trail

Object layout

Spec §14 — opaque owner key, versioned analyses, no prefix scans on read paths

object layout 0 objects

Write semantics

Idempotency keythreadId + turnId + clientRequestId
ConcurrencyifGenerationMatch
Replay of a stored turn200 + DUPLICATE_TURN
Analysis overwritenever — new versions/{n}.json + pointer swap
Owner keyderived HMAC, never an email or JWT subject
Object keys are built from validated opaque identifiers only. No component is ever derived from an email address, JWT subject, or client-supplied string.

Metric dictionary

Spec §23 — every metric carries its prohibited interpretation
ConstructLayerOperational definitionRangeProhibited interpretationHelp
Research-integrity notice · spec §27

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.

Provenance: this interface contains no analytical implementation of its own. It creates a real thread, ingests each contribution through POST /api/v1/threads/:threadId/turns, and every number shown is read back from an API response. Scrubbing backwards replays the snapshot the API returned at that point rather than recomputing anything locally, which is what makes a provisional Social Impact value visibly become final. When the banner reports mock mode, speech acts are rule-based and embeddings come from a hashing vectoriser rather than a learned semantic model — the values are real API output, but the instruments behind them are stand-ins.