My own product · DusklineAffan Yasir · Toronto

The eval behind
a connector.

Duskline is my own product, an evening planner for Toronto. Its engine is also an MCP server. A language model reads a request; an exact-match eval checks what it understood. This is the method I bring to a connector build.

Visit Duskline ↗
Three turned brass calibration weights on the studio sweep.
Duskline reader
Recorded 1 November 2026Enlarge ↗

Rounds 1 and 6

I changed the output contract, decoding and policy checks between these runs of claude-haiku-5-5. Both were recorded on 19 October 2026.

Recorded live reader results from reader-eval.json
CheckRound 1Round 6
GatesFailedPassed
Exact requests64 / 8075 / 80
Exact fraction0.80.9375
Invalid outputs40
Invented locations00
Must-ask lines asked10 / 1010 / 10
False ready00
p50 latency · ms1,0601,039
p95 latency · ms2,1901,508
Reference USD / read0.0002170.000203
Reference USD / run0.017342060.0162595

Approximate claude-haiku-5-5 reference rates, not actual billing. Cache reads discounted; cache-write premiums are not modelled.

Recorded metrics and provenance ↗

The 80 live requests

All 80 requestsMissed first ↓
r057MISSED

ramen then a warm cup near sherbourne common

R1 missed / R6 missed
r058MISSED

sushi then a celebratory glass near tommy thompson park

R1 missed / R6 missed
r059MISSED

tacos then something sugary near humber arboretum

R1 missed / R6 missed
r065MISSED

tacos but skip cilantro near sugar beach

R1 missed / R6 missed
r067MISSED

dumplings but hold the pork near chester hill lookout

R1 missed / R6 missed
r001EXACT

pizza in a hurry

R1 exact / R6 exact
r002EXACT

sushi at a reasonable price

R1 exact / R6 exact
r003EXACT

ramen in a rush

R1 exact / R6 exact
r004EXACT

tacos on a budget in a hurry

R1 missed / R6 exact
r005EXACT

dumplings in a pinch

R1 exact / R6 exact
r006EXACT

pho at an easy pace

R1 exact / R6 exact
r007EXACT

noodles in good company

R1 exact / R6 exact
r008EXACT

pizza by myself

R1 exact / R6 exact
r009EXACT

sushi in peace

R1 exact / R6 exact
r010EXACT

tacos in a relaxed mood

R1 exact / R6 exact
r011EXACT

ramen at a gentle price

R1 missed / R6 exact
r012EXACT

dumplings in a celebratory mood

R1 exact / R6 exact
r013EXACT

pho in a mellow mood

R1 exact / R6 exact
r014EXACT

pizza at a leisurely pace

R1 exact / R6 exact
r015EXACT

sushi in a festive mood

R1 exact / R6 exact
r016EXACT

tacos by candlelight

R1 exact / R6 exact
r017EXACT

ramen in a low key setting

R1 exact / R6 exact
r018EXACT

dumplings in a sociable mood

R1 exact / R6 exact
r019EXACT

pho at a modest price

R1 exact / R6 exact
r020EXACT

pizza in a thoughtful mood

R1 exact / R6 exact
r021EXACT

ramen near flibbertown

R1 exact / R6 exact
r022EXACT

coffee near the east mall

R1 exact / R6 exact
r023EXACT

sushi near rouge hill

R1 exact / R6 exact
r024EXACT

tacos near sugar beach

R1 exact / R6 exact
r025EXACT

ramen near the well

R1 missed / R6 exact
r026EXACT

coffee near keele station

R1 exact / R6 exact
r027EXACT

pizza near the kay gardner beltline

R1 exact / R6 exact
r028EXACT

dumplings near crothers woods

R1 exact / R6 exact
r029EXACT

pho near chester hill lookout

R1 exact / R6 exact
r030EXACT

gelato near sherbourne common

R1 exact / R6 exact
r031EXACT

tea near tommy thompson park

R1 exact / R6 exact
r032EXACT

tacos near humber arboretum

R1 missed / R6 exact
r033EXACT

sushi near trillium park

R1 exact / R6 exact
r034EXACT

coffee near colonel sam smith park

R1 exact / R6 exact
r035EXACT

ramen near the bentway

R1 missed / R6 exact
r036EXACT

something comforting after a long day

R1 exact / R6 exact
r037EXACT

something warm after a tiring shift

R1 exact / R6 exact
r038EXACT

something soothing after a rough afternoon

R1 exact / R6 exact
r039EXACT

something familiar after a difficult week

R1 exact / R6 exact
r040EXACT

something hearty after an exhausting commute

R1 exact / R6 exact
r041EXACT

I could use something nourishing after today

R1 exact / R6 exact
r042EXACT

in the mood for something indulgent

R1 exact / R6 exact
r043EXACT

hoping for something warming this evening

R1 exact / R6 exact
r044EXACT

all I want is something simple

R1 exact / R6 exact
r045EXACT

feeling like something satisfying tonight

R1 exact / R6 exact
r046EXACT

something restorative after a tiring shift

R1 exact / R6 exact
r047EXACT

something cheerful after a grey afternoon

R1 exact / R6 exact
r048EXACT

something filling after an endless day

R1 exact / R6 exact
r049EXACT

something comforting for a weary evening

R1 exact / R6 exact
r050EXACT

something nostalgic after a long journey

R1 exact / R6 exact
r051EXACT

ramen then something sweet near flibbertown

R1 missed / R6 exact
r052EXACT

sushi near the east mall then something warming

R1 exact / R6 exact
r053EXACT

tacos then a sweet finish near rouge hill

R1 exact / R6 exact
r054EXACT

pizza then a quiet cup near sugar beach

R1 missed / R6 exact
r055EXACT

dumplings then something fizzy near crothers woods

R1 exact / R6 exact
r056EXACT

pho then something cold and sweet near chester hill lookout

R1 missed / R6 exact
r060EXACT

coffee then something filling near colonel sam smith park

R1 exact / R6 exact
r061EXACT

no chains, something quick near the east mall

R1 exact / R6 exact
r062EXACT

something not too spicy near the east mall

R1 exact / R6 exact
r063EXACT

ramen without mushrooms near flibbertown

R1 exact / R6 exact
r064EXACT

sushi with no mayo near rouge hill

R1 exact / R6 exact
r066EXACT

pizza without olives near crothers woods

R1 missed / R6 exact
r068EXACT

pho with nothing fried near sherbourne common

R1 exact / R6 exact
r069EXACT

coffee but avoid chains near tommy thompson park

R1 missed / R6 exact
r070EXACT

tacos without cheese near humber arboretum

R1 missed / R6 exact
r071EXACT

dinner by the water

R1 exact / R6 exact
r072EXACT

pizza near the game

R1 exact / R6 exact
r073EXACT

coffee around campus

R1 exact / R6 exact
r074EXACT

sushi by the station

R1 exact / R6 exact
r075EXACT

ramen near the market

R1 exact / R6 exact
r076EXACT

tacos near the park

R1 exact / R6 exact
r077EXACT

dumplings close to the museum

R1 exact / R6 exact
r078EXACT

pho around the mall

R1 exact / R6 exact
r079EXACT

gelato by the shoreline

R1 exact / R6 exact
r080EXACT

drinks near the stadium

R1 exact / R6 exact
Recorded 19 October 2026
Field differences, latency and recorded replay

Duskline reader · Recorded live eval

· claude-haiku-5-5

Affan Yasir’s own product

Round 1

Gates failed

64 / 80exact (0.80)

4 invalid outputs

Round 6 · Shipped

Gates passed

75 / 80exact (0.94)

0 invalid outputs

Round 6 checks

Invented locations
0
Must-ask lines asked
10 / 10
p95 latency
1.5 s

About USD 0.0002 per read at reference rates.

The 5 misses · Round 6

  1. r057Flagged Sherbourne Common as unknown.

    ramen then a warm cup near sherbourne common

    Field
    unknowns
    Expected
    null
    Returned
    ["Sherbourne Common"]
  2. r058Added a “celebratory” preference.

    sushi then a celebratory glass near tommy thompson park

    Field
    preferences
    Expected
    null
    Returned
    ["celebratory"]
  3. r059Flagged Humber Arboretum as unknown.

    tacos then something sugary near humber arboretum

    Field
    unknowns
    Expected
    null
    Returned
    ["Humber Arboretum"]
  4. r065Flagged Sugar Beach as unknown.

    tacos but skip cilantro near sugar beach

    Field
    unknowns
    Expected
    null
    Returned
    ["Sugar Beach"]
  5. r067Flagged Chester Hill Lookout as unknown.

    dumplings but hold the pork near chester hill lookout

    Field
    unknowns
    Expected
    null
    Returned
    ["Chester Hill Lookout"]
Inspect all 80 recorded lines Round 6

Scroll across for verdicts and latency; down for every line. Scroll the table to inspect every line. “Exact” means a match to the authored expectation.

Round 6 · 19 October 2026 · toronto-reader-v1
Line / kindRequestVerdict / differenceMust askAskedLatency · ms
r001idiompizza in a hurryExactNoNo1,392
r002idiomsushi at a reasonable priceExactNoNo1,682
r003idiomramen in a rushExactNoNo2,110
r004idiomtacos on a budget in a hurryExactNoNo1,116
r005idiomdumplings in a pinchExactNoNo1,737
r006idiompho at an easy paceExactNoNo874
r007idiomnoodles in good companyExactNoNo963
r008idiompizza by myselfExactNoNo1,039
r009idiomsushi in peaceExactNoNo1,031
r010idiomtacos in a relaxed moodExactNoNo1,018
r011idiomramen at a gentle priceExactNoNo1,158
r012idiomdumplings in a celebratory moodExactNoNo1,176
r013idiompho in a mellow moodExactNoNo1,455
r014idiompizza at a leisurely paceExactNoNo1,165
r015idiomsushi in a festive moodExactNoNo939
r016idiomtacos by candlelightExactNoNo968
r017idiomramen in a low key settingExactNoNo898
r018idiomdumplings in a sociable moodExactNoNo1,016
r019idiompho at a modest priceExactNoNo1,039
r020idiompizza in a thoughtful moodExactNoNo1,344
r021unknown-nameramen near flibbertownExactNoNo1,022
r022unknown-namecoffee near the east mallExactNoNo1,007
r023unknown-namesushi near rouge hillExactNoNo948
r024unknown-nametacos near sugar beachExactNoNo1,216
r025unknown-nameramen near the wellExactNoNo1,130
r026unknown-namecoffee near keele stationExactNoNo839
r027unknown-namepizza near the kay gardner beltlineExactNoNo1,000
r028unknown-namedumplings near crothers woodsExactNoNo894
r029unknown-namepho near chester hill lookoutExactNoNo952
r030unknown-namegelato near sherbourne commonExactNoNo931
r031unknown-nametea near tommy thompson parkExactNoNo1,123
r032unknown-nametacos near humber arboretumExactNoNo1,081
r033unknown-namesushi near trillium parkExactNoNo854
r034unknown-namecoffee near colonel sam smith parkExactNoNo1,243
r035unknown-nameramen near the bentwayExactNoNo1,037
r036open-endedsomething comforting after a long dayExactNoNo892
r037open-endedsomething warm after a tiring shiftExactNoNo1,078
r038open-endedsomething soothing after a rough afternoonExactNoNo842
r039open-endedsomething familiar after a difficult weekExactNoNo1,045
r040open-endedsomething hearty after an exhausting commuteExactNoNo1,024
r041open-endedI could use something nourishing after todayExactNoNo989
r042open-endedin the mood for something indulgentExactNoNo1,061
r043open-endedhoping for something warming this eveningExactNoNo816
r044open-endedall I want is something simpleExactNoNo923
r045open-endedfeeling like something satisfying tonightExactNoNo1,508
r046open-endedsomething restorative after a tiring shiftExactNoNo1,001
r047open-endedsomething cheerful after a grey afternoonExactNoNo908
r048open-endedsomething filling after an endless dayExactNoNo1,270
r049open-endedsomething comforting for a weary eveningExactNoNo967
r050open-endedsomething nostalgic after a long journeyExactNoNo740
r051chainedramen then something sweet near flibbertownExactNoNo1,235
r052chainedsushi near the east mall then something warmingExactNoNo1,070
r053chainedtacos then a sweet finish near rouge hillExactNoNo1,025
r054chainedpizza then a quiet cup near sugar beachExactNoNo1,228
r055chaineddumplings then something fizzy near crothers woodsExactNoNo1,432
r056chainedpho then something cold and sweet near chester hill lookoutExactNoNo1,201
r057chainedramen then a warm cup near sherbourne commonMiss

unknowns: expected null; got ["Sherbourne Common"]

NoNo1,328
r058chainedsushi then a celebratory glass near tommy thompson parkMiss

preferences: expected null; got ["celebratory"]

NoNo1,052
r059chainedtacos then something sugary near humber arboretumMiss

unknowns: expected null; got ["Humber Arboretum"]

NoNo1,229
r060chainedcoffee then something filling near colonel sam smith parkExactNoNo1,124
r061negationno chains, something quick near the east mallExactNoNo1,027
r062negationsomething not too spicy near the east mallExactNoNo1,024
r063negationramen without mushrooms near flibbertownExactNoNo919
r064negationsushi with no mayo near rouge hillExactNoNo1,024
r065negationtacos but skip cilantro near sugar beachMiss

unknowns: expected null; got ["Sugar Beach"]

NoNo1,099
r066negationpizza without olives near crothers woodsExactNoNo1,038
r067negationdumplings but hold the pork near chester hill lookoutMiss

unknowns: expected null; got ["Chester Hill Lookout"]

NoNo1,044
r068negationpho with nothing fried near sherbourne commonExactNoNo1,118
r069negationcoffee but avoid chains near tommy thompson parkExactNoNo1,044
r070negationtacos without cheese near humber arboretumExactNoNo1,207
r071must-askdinner by the waterExactYesYes0
r072must-askpizza near the gameExactYesYes0
r073must-askcoffee around campusExactYesYes0
r074must-asksushi by the stationExactYesYes0
r075must-askramen near the marketExactYesYes0
r076must-asktacos near the parkExactYesYes0
r077must-askdumplings close to the museumExactYesYes0
r078must-askpho around the mallExactYesYes0
r079must-askgelato by the shorelineExactYesYes0
r080must-askdrinks near the stadiumExactYesYes0

Offline corpus · Separate test

112 authored cases

After the fixes
112 / 112 exact

A separate offline corpus.

112 authored regression cases.

112/112 exact

After the fixes. This corpus is separate from the 80 live reader requests.

For your connector, we agree the expected tool,
arguments and refusal before the build.

Read the acceptance test ↗
Email Affan