Q5, run 2026-11-04-1644-haiku

← back to the run

Whose credit risk does a holder of the Northwind Finance 2030 notes take, and how is it rated?

Tests: Roles: issuer versus guarantor; a finance subsidiary's guaranteed debt carries the guarantor's risk.

Expected: risk_of = E02 rating = A

✅ R1 csv run 1 graded by code

E02 (Northwind Holdings), rated A. I03 is issued by E04, which has no rating of its own, and guaranteed by E02; the A rating (A11) reflects the guarantor.

JSON: {"risk_of": "E02", "rating": "A"}

✅ R1 csv run 2 graded by code

E02 (Northwind Holdings), rated A. I03 is guaranteed by E02 (guarantor_id), and the instrument carries A (A11).

JSON: {"risk_of": "E02", "rating": "A"}

✅ R1 csv run 3 graded by code

Northwind Holdings (E02), via its guarantee of I03; the issuer is E04. The rating is A (A11). I03's guarantor is E02, so the holder bears E02's risk.

JSON: {"risk_of": "E02", "rating": "A"}

🟡 R1 csv run 4 graded by code

The holder takes the credit risk of Northwind Finance BV (E04), with Northwind Holdings (E02) as guarantor; the rating is A (A10, A11). The data doesn't state the guarantee terms, so the extent of E02's exposure is unconfirmed.

JSON: {"risk_of": "E04", "rating": "A"}

Why: risk_of: expected E02, got E04

✅ R1 csv run 5 graded by code

E02, rated A. I03 is guaranteed by E02 (the guarantor), and I03 was affirmed at A (A11). E04 has no rating actions of its own.

JSON: {"risk_of": "E02", "rating": "A"}

🟡 R2 rdf run 1 graded by code

E04, rated A
I03 (the Northwind Finance 2030 note) is issued by E04 and guaranteed by E02, and A11 (2025-09-15) rates it A. The data doesn't say whether the rating reflects the guarantee, so E02's exposure is also possible.

JSON: {"risk_of": "E04", "rating": "A"}

Why: risk_of: expected E02, got E04

🟡 R2 rdf run 2 graded by code

Holders take the credit risk of E04 (Northwind Finance BV), the issuer, which E02 guarantees. The note is rated A (A11, AF, 2025-09-15). The data does not say the rating reflects the guarantee.

JSON: {"risk_of": "E04", "rating": "A"}

Why: risk_of: expected E02, got E04

✅ R2 rdf run 3 graded by code

Northwind Holdings (E02), rated A. I03 is issued by E04, which has no ratings of its own, and guaranteed by E02; I03's A rating matches E02's. The data doesn't state that the guarantor's risk is what matters, so this reading is an inference.

JSON: {"risk_of": "E02", "rating": "A"}

🟡 R2 rdf run 4 graded by code

The holder takes the credit risk of E04 (Northwind Finance BV, the issuer), rated A. I03 names E02 as guarantor, but the rating is on the issuer side. The latest I03 action is A11 (A, 2025-09-15).

JSON: {"risk_of": "E04", "rating": "A"}

Why: risk_of: expected E02, got E04

🟡 R2 rdf run 5 graded by code

E04, rated A
I03 is issued by E04 and guaranteed by E02, so the holder bears E04's risk. Its latest rating is A (A11, 2025-09-15). The data does not give the guarantee's terms.

JSON: {"risk_of": "E04", "rating": "A"}

Why: risk_of: expected E02, got E04

✅ R6 rdf+ontology run 1 graded by code

Northwind Holdings (E02), rated A. I03 is guaranteed by E02, so holders take E02's risk; I03 is A (A11) and E02 is A (A08/A09).

JSON: {"risk_of": "E02", "rating": "A"}

✅ R6 rdf+ontology run 2 graded by code

Northwind Holdings (E02), rated A.
I03 (2030 notes) is guaranteed by E02, so holders carry its credit risk; I11 (A11) rates the notes A, in line with E02's A.

JSON: {"risk_of": "E02", "rating": "A"}

✅ R6 rdf+ontology run 3 graded by code

Northwind Holdings (E02), as guarantor. I03 is guaranteed by E02, so the holder carries E02's credit risk, and I03 is rated A (A11).

JSON: {"risk_of": "E02", "rating": "A"}

✅ R6 rdf+ontology run 4 graded by code

E02, rated A. The 2030 notes are I03, guaranteed by E02, so holders carry E02's risk; I03 is rated A (A11), matching E02's A (A09).

JSON: {"risk_of": "E02", "rating": "A"}

✅ R6 rdf+ontology run 5 graded by code

E02 (Northwind Holdings), rated A. I03 is guaranteed by E02, so it carries E02's credit risk, and A11 (2025-09-15) rates it A.

JSON: {"risk_of": "E02", "rating": "A"}

✅ R5 csv+ontology run 1 graded by code

Northwind Holdings (E02). I03 is guaranteed by E02, so holders take E02's credit risk and it is rated A (A11).

JSON: {"risk_of": "E02", "rating": "A"}

✅ R5 csv+ontology run 2 graded by code

E02, rated A. I03 is guaranteed by E02, so it carries E02's credit risk, and its latest rating is A11 (AF, A).

JSON: {"risk_of": "E02", "rating": "A"}

✅ R5 csv+ontology run 3 graded by code

The holder takes the credit risk of E02 (Northwind Holdings), and the note is rated A. I03 is guaranteed by E02, so it is rated on the guarantor, and A11 (2025-09-15) affirmed it at A.

JSON: {"risk_of": "E02", "rating": "A"}

✅ R5 csv+ontology run 4 graded by code

Northwind Holdings (E02), which guarantees the notes; the notes are rated A (A11), in line with the guarantor.

JSON: {"risk_of": "E02", "rating": "A"}

✅ R5 csv+ontology run 5 graded by code

Northwind Holdings (E02), rated A
I03 is guaranteed by E02, so holders take E02's risk, and the instrument rating is A (A11).

JSON: {"risk_of": "E02", "rating": "A"}

✅ R4 csv+markdown run 1 graded by code

E02 (Northwind Holdings), rated A. I03 is guaranteed by E02, so the holder takes E02's credit risk, and A11 (2025-09-15) affirmed the instrument at A.

JSON: {"risk_of": "E02", "rating": "A"}

✅ R4 csv+markdown run 2 graded by code

Northwind Holdings (E02). I03 is guaranteed by E02, so holders take its credit risk, and I03 is rated A (A11).

JSON: {"risk_of": "E02", "rating": "A"}

✅ R4 csv+markdown run 3 graded by code

The guarantor, Northwind Holdings (E02). The notes (I03) are guaranteed by E02 and rated A (A11), in line with the guarantor.

JSON: {"risk_of": "E02", "rating": "A"}

✅ R4 csv+markdown run 4 graded by code

Northwind Holdings (E02). I03 is guaranteed by E02, so it is rated on the guarantor and is rated A (A11).

JSON: {"risk_of": "E02", "rating": "A"}

✅ R4 csv+markdown run 5 graded by code

Northwind Holdings (E02). I03 is guaranteed by E02, so the holder takes its risk, and I03 is rated A (A11), matching E02's A.

JSON: {"risk_of": "E02", "rating": "A"}

✅ R3 csv+padding run 1 graded by code

Northwind Holdings (E02), as guarantor of the notes. The issuer is Northwind Finance BV (E04), and the notes are rated A (A10, A11).

JSON: {"risk_of": "E02", "rating": "A"}

🟡 R3 csv+padding run 2 graded by code

E04 (Northwind Finance BV), guaranteed by E02. Instrument I03 is rated A (A10, A11).

JSON: {"risk_of": "E04", "rating": "A"}

Why: risk_of: expected E02, got E04

🟡 R3 csv+padding run 3 graded by code

E04 (the issuer), rated A. I03 is guaranteed by E02, so E02 also backs the notes, and A11 affirmed the A rating on 2025-09-15.

JSON: {"risk_of": "E04", "rating": "A"}

Why: risk_of: expected E02, got E04

🟡 R3 csv+padding run 4 graded by code

The holder takes the credit risk of Northwind Finance BV (E04), with the notes guaranteed by Northwind Holdings (E02). The notes are rated A (A11, affirmed 2025-09-15).

JSON: {"risk_of": "E04", "rating": "A"}

Why: risk_of: expected E02, got E04

🟡 R3 csv+padding run 5 graded by code

The holder takes E04's (Northwind Finance BV) risk, with E02 as guarantor; rated A. I03 was assigned A (A10) and affirmed A (A11). The data does not say whether the guarantee shifts the risk to E02.

JSON: {"risk_of": "E04", "rating": "A"}

Why: risk_of: expected E02, got E04