Q38, run 2026-11-06-0519-sonnet-query

← back to the run

Which institutions is W71 credited to, at every level?

Tests: Local rule on affiliations, then the hierarchy: the Tessel Laboratory is listed last, so Halloran gets nothing.

Expected: institutions = ['I01', 'I02', 'I03', 'I04']

❌ D1 sql run 1 graded by code · query session

I06 (primary on W71), I04, and their ancestors I03, I02 and I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ D1 sql run 2 graded by code · query session

I06 and I04, plus I04's parents I03, I02 and I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ D1 sql run 3 graded by code · query session

I04, I03, I02, I01, plus I06 (which is also under I02). W71 lists I06 and I04.

JSON: {"institutions": ["I04", "I03", "I02", "I01", "I06"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I04', 'I03', 'I02', 'I01', 'I06']

❌ D1 sql run 4 graded by code · query session

I06 and I04 directly. Through the hierarchy, W71 is also credited to I03, I02 and I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ D1 sql run 5 graded by code · query session

I06, I04, I03, I02, I01. W71 lists I06 and I04, and I03, I02 and I01 are their ancestors.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

✅ D2 sql+markdown run 1 graded by code · query session

I04, I03, I02 and I01. On W71 the last-listed affiliation is I04, and credit passes up its chain of parents.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D2 sql+markdown run 2 graded by code · query session

I04, I03, I02 and I01. W71 is credited to I04, and its parent chain gives the rest.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D2 sql+markdown run 3 graded by code · query session

I04, I03, I02, I01. For W71 the last-listed affiliation is I04.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D2 sql+markdown run 4 graded by code · query session

I04, I03, I02 and I01. The last-listed affiliation on W71 is I04, so the work is also credited up its chain.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D2 sql+markdown run 5 graded by code · query session

I04, I03, I02 and I01. W71's last-listed affiliation is I04, and credit passes up through its parents.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D3 sql+executed run 1 graded by code · query session

I04, I03, I02 and I01. W71 is credited to I04, and the unit table rolls it up through those levels.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D3 sql+executed run 2 graded by code · query session

I04, I03, I02 and I01. W71 is credited to I04, which rolls up through I03 and I02 to I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D3 sql+executed run 3 graded by code · query session

I04, I03, I02, I01. This is the credited institution I04 plus every level above it.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D3 sql+executed run 4 graded by code · query session

I04, I03, I02 and I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D3 sql+executed run 5 graded by code · query session

I04, I03, I02, I01. W71 is credited to I04, which counts towards the other three.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

❌ D4 sparql run 1 graded by code · query session

I04, I03, I02, I01 and I06. W71's authorship lists I04 and I06, and I04's ancestors are I03, I02 and I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01", "I06"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I04', 'I03', 'I02', 'I01', 'I06']

❌ D4 sparql run 2 graded by code · query session

I04, I06, I03, I02 and I01 (the two listed institutions and their ancestors).

JSON: {"institutions": ["I04", "I06", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I04', 'I06', 'I03', 'I02', 'I01']

❌ D4 sparql run 3 graded by code · query session

I06, I04, I03, I02, I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

❌ D4 sparql run 4 graded by code · query session

I04, I03, I02 and I01 (the Tessel Laboratory's chain), plus I06 (Halloran Institute, an affiliate of I02).

JSON: {"institutions": ["I04", "I03", "I02", "I01", "I06"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I04', 'I03', 'I02', 'I01', 'I06']

❌ D4 sparql run 5 graded by code · query session

I06 and I04, plus their ancestors I03, I02 and I01.

JSON: {"institutions": ["I06", "I04", "I03", "I02", "I01"]}

Why: institutions: expected ['I01', 'I02', 'I03', 'I04'], got ['I06', 'I04', 'I03', 'I02', 'I01']

✅ D5 sparql+ontology run 1 graded by code · query session

I04, I03, I02 and I01. For W71, A08's last-listed affiliation is I04, and the work is also credited to I04's parents.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D5 sparql+ontology run 2 graded by code · query session

I04, I03, I02, I01. W71's last-listed affiliation is I04, and credit passes up the chain.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D5 sparql+ontology run 3 graded by code · query session

I04, I03, I02, I01. A08 lists I06 at sequence 1 and I04 at sequence 2, so I04 is credited, and with it everything above I04.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D5 sparql+ontology run 4 graded by code · query session

I04, I03, I02 and I01. For W71 the author's last-listed affiliation is I04, which sits under I03, I02 and I01.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}

✅ D5 sparql+ontology run 5 graded by code · query session

I04, I03, I02 and I01. For W71, A08's last-listed affiliation is I04 (sequence 2), and the credit passes up through its parents.

JSON: {"institutions": ["I04", "I03", "I02", "I01"]}