Skip to content

Retrieval diagnostics and measurement activation

Continue the authorized recommendation work from commit 393de766b. Two independent tracks avoid making production outcome collection wait for experimental story models.

  1. Audit all fourteen story facets in the twelve development stories with an independent blind reference. Preserve disagreements and ambiguous decisions; multiple AI reviewers do not establish human ground truth. Diagnose quote selection and taxonomy boundaries before changing the extraction contract.
  2. Freeze a static retrieval diagnostic before generating rankings: sixty new public story families, fifteen each in English, Chinese, Japanese and Spanish, selected by a fixed hash and excluding the earlier development/pilot/frozen-evaluation families. Retain bounded published inputs only. No private conversation data.
  3. Use eight concrete reader intents, translated into those four languages. An independent model grades every story/intent pair from published source evidence without seeing vectors, descriptors or rankings. Grade 0 = unsupported, 1 = partial match, 2 = clear match to the complete intent. Uncertain/failed judgments remain visible; never silently treat them as negative relevance.
  4. Compare the same eligible candidates with the same embedding model using the published-greetings baseline, rich content, and a fixed reciprocal-rank fusion of rich content and independently reviewed experience evidence (constant 60, equal weights). Missing experience gets only its content contribution. Report content-only coverage and model/extraction failures separately.
  5. Primary diagnostic: macro NDCG@5 within the query language. Also report strong relevance recall@5, relevant inventory, per-language results and matched-query differences. Queries with no relevant supply have undefined metrics and explicit counts. Translations are not independent observations. This is a current-content information-retrieval diagnostic with AI relevance labels, not a causal reader experiment, historical replay or evidence of increased retention. Do not tune on these scores or promote serving from them.
  6. Independently audit the foundation/measurement integration, source schema, CDC, warehouse grants, flags and rollback. Prepare the smallest verified measurement release with experimental personalization at zero. Execute safe authorized prerequisites; do not claim collection exists until end-to-end receipts reconcile.

Existing providers and Railway/Neon/Redis/ClickHouse remain sufficient for this work. No additional vendor subscription is requested. Provider requests are explicitly bounded and billed to the existing authorized accounts. Artifacts containing public story text stay ignored; committed reports contain aggregate findings and hashes.

Frozen inputs

  • Protocol SHA-256: 2d4d0048cabaa1853432b79bab0d71e1b0767e0381fdf3658dee3772a6bf5f83.
  • Corpus SHA-256: 21f1562c63fc0b79a918b694bdcc7ee50ebac8d80c9756f63d4cdab22984e19c.
  • Sixty families, fifteen per language; 719,954 bytes of bounded story inputs.
  • Eight intents: quiet companionship, romantic rivalry, an established franchise cast, idol careers, exploration with advancement, managing a community/business, active clue-solving, and survival with consequential alliances. Four language versions each produce 32 query/language observations from eight intent groups.
  • All vectors use text-embedding-3-small. Experimental proposals use google/gemini-3-flash-preview; evidence review and independent relevance assessment use anthropic/claude-sonnet-4.6. Relevance assessment receives only story sources and intents, never descriptors or rankings. A shared review model can still create correlated labeling bias; this is not independent human truth.
  • At most 400 provider requests. Failures retain their attempt records. Missing relevance or content vectors prevents complete scoring; missing experience vectors retains the story through its content ranking and is reported explicitly.
  • The baseline is the published-greetings representation from the foundation PR, not a replay of the deployed feed or a claim about the old production vectors.

Annotation transport amendment, before first scoring

The initial relevance pass rejected 13 of 60 responses for malformed literal evidence. Thirty-three identical-rubric retries recovered five; eight still had case/punctuation/Markdown changes or incorrect source IDs. Keeping only accepted stories would bias the candidate inventory. None of these grades has been used to compute rankings or metrics.

Reannotate all sixty stories uniformly with the same model, intents and grade definitions. Supply full source sections plus deterministic numbered literal passages (at most 320 UTF-16 characters/800 UTF-8 bytes each). The assessor selects one or two passage IDs; code resolves them to unchanged source text. Grade zero requires no evidence. Pairing two independent stories per request keeps the full run inside the original 400-request budget. Unknown IDs, missing decisions and wrong input hashes still fail. This establishes quote provenance, not semantic truth; the reference remains AI-generated. No retrieval weight or query changes.

Amendment SHA-256: de29379a75fc03e7316362db8e9cbcab197ac1a3c29cc47df3516b3727a5cc16. Retain every failed attempt and report total cost. The original free-form grades and retries are diagnostics only; the uniform passage-based reference is used for the primary comparison. Independently revalidate source quotes and all frozen hashes when assembling the scorer input.