Q7, run 2026-11-04-1643-sonnet

← back to the run

Which issuers were downgraded in 2026?

Tests: Action types: outlook changes, Watch placements and withdrawals are not downgrades.

Expected: issuers = ['E08', 'E10']

❌ R1 csv run 1 graded by code

E08, E10, E16. These had issuer-rating downgrades in 2026 (A21/A22, A27, A44).

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R1 csv run 2 graded by code

E08, E10 and E16. Their downgrades are A21/A22, A27 and A44. I05's 2026 downgrade (A29) is an instrument action, and E11 has no issuer rating.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R1 csv run 3 graded by code

E08, E10 and E16. E08 was downgraded twice (A21, A22), E10 once (A27), and E16 once (A44).

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R1 csv run 4 graded by code

E08, E10 and E16 had issuer ratings downgraded in 2026 (A21/A22, A27, A44). I05's downgrade (A29) is an instrument action, and its issuer E11 has no issuer rating.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R1 csv run 5 graded by code

E08, E10 and E16 were downgraded in 2026 (A21, A22, A27, A44). I05's downgrade (A29) is an instrument rating, not an issuer rating for E11.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R2 rdf run 1 graded by code

E08, E10 and E16. Their issuer-level downgrades are A21/A22, A27 and A44. A29 is an instrument downgrade, so it is excluded.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R2 rdf run 2 graded by code

E08, E10 and E16. These are the issuer-level downgrades in 2026: A21 and A22 (E08), A27 (E10) and A44 (E16). I05's downgrade (A29) is an instrument rating, and E06's action (A17) is only a watch.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R2 rdf run 3 graded by code

E08, E10, E16. Their issuer-level downgrades in 2026 are A21/A22, A27 and A44. I05's downgrade (A29) is an instrument rating, so I didn't count its issuer E11.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R2 rdf run 4 graded by code

E08, E10 and E16. They were downgraded in A21/A22, A27 and A44. The I05 downgrade (A29) is an instrument rating, not an issuer rating.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R2 rdf run 5 graded by code

E08, E10 and E16. These were downgraded in A21/A22, A27 and A44. I05's downgrade (A29) is on an instrument, not an issuer.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

✅ R6 rdf+ontology run 1 graded by code

E08 and E10. E08 was downgraded in A21 and A22, and E10 in A27. A44 is on E16, a QA record, so it is ignored. A29 is an instrument downgrade, not an issuer one.

JSON: {"issuers": ["E08", "E10"]}

✅ R6 rdf+ontology run 2 graded by code

E08 and E10. E08 was downgraded in A21 and A22, and E10 in A27. E16's downgrade (A44) is on a QA record and is ignored.

JSON: {"issuers": ["E08", "E10"]}

✅ R6 rdf+ontology run 3 graded by code

E08 and E10. E08 was downgraded in A21 and A22, and E10 in A27. I05 is an instrument, and E16 is QA test data, so both are ignored.

JSON: {"issuers": ["E08", "E10"]}

✅ R6 rdf+ontology run 4 graded by code

E08 and E10. E08 was downgraded by A21 and A22, and E10 by A27. A44 is on E16, a QA record, so I ignored it. A29 is an instrument rating, not an issuer.

JSON: {"issuers": ["E08", "E10"]}

✅ R6 rdf+ontology run 5 graded by code

E08 and E10. E08 was downgraded by A21 and A22, and E10 by A27. A44 is on E16, a QA record, so it is ignored, and A29 is an instrument rating.

JSON: {"issuers": ["E08", "E10"]}

✅ R5 csv+ontology run 1 graded by code

E08 and E10. E08 was downgraded in A21 and A22, and E10 in A27. A29 is an instrument rating, and A44 (E16) is QA data, so both are ignored.

JSON: {"issuers": ["E08", "E10"]}

✅ R5 csv+ontology run 2 graded by code

E08 and E10. E08 was downgraded in A21 and A22, and E10 in A27. I05's downgrade (A29) is an instrument rating, and E16's (A44) is QA data, so both are excluded.

JSON: {"issuers": ["E08", "E10"]}

✅ R5 csv+ontology run 3 graded by code

E08 and E10. E08 was downgraded in A21 and A22, and E10 in A27. E16's downgrade (A44) is QA test data and is ignored. I05's downgrade (A29) is an instrument rating, not an issuer's.

JSON: {"issuers": ["E08", "E10"]}

✅ R5 csv+ontology run 4 graded by code

E08 and E10. E08 was downgraded in A21 and A22, and E10 in A27. The other 2026 downgrades are on instrument I05 (A29) and on QA entity E16 (A44), which is ignored.

JSON: {"issuers": ["E08", "E10"]}

✅ R5 csv+ontology run 5 graded by code

E08 and E10. These are the issuers with 2026 downgrades (A21 and A22 for E08, A27 for E10). E16's downgrade (A44) is QA test data and is ignored, and A29 is an instrument downgrade.

JSON: {"issuers": ["E08", "E10"]}

✅ R4 csv+markdown run 1 graded by code

E08 and E10. E08 was downgraded in A21 and A22, and E10 in A27. A29 is an instrument rating, and A44 is a QA record, so both are ignored.

JSON: {"issuers": ["E08", "E10"]}

✅ R4 csv+markdown run 2 graded by code

E08 and E10. E08 was downgraded in A21 and A22, and E10 in A27. E16's downgrade is QA test data and is ignored, and A29 is an instrument rating.

JSON: {"issuers": ["E08", "E10"]}

✅ R4 csv+markdown run 3 graded by code

E08 and E10. The 2026 downgrades are A21 and A22 (E08) and A27 (E10). A29 is an instrument rating, and A44 is a QA record, so I ignored it.

JSON: {"issuers": ["E08", "E10"]}

✅ R4 csv+markdown run 4 graded by code

E08 and E10. E08 has the 2026 downgrades A21 and A22. E10 has A27 (E17 is the same entity). A29 is an instrument rating, and E16 is QA and ignored.

JSON: {"issuers": ["E08", "E10"]}

✅ R4 csv+markdown run 5 graded by code

E08 and E10. E08 was downgraded in A21 and A22, and E10 in A27. The E16 downgrade (A44) is QA data and is ignored.

JSON: {"issuers": ["E08", "E10"]}

❌ R3 csv+padding run 1 graded by code

E08, E10 and E16. E08 had A21 and A22, E10 had A27, and E16 had A44, all downgrades in 2026.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R3 csv+padding run 2 graded by code

E08, E10, E16. They were downgraded in A21/A22, A27 and A44. I05's 2026 downgrade (A29) is on an instrument, not an issuer.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R3 csv+padding run 3 graded by code

E08, E10 and E16 had issuer-rating downgrades in 2026 (A21/A22, A27, A44). I05's instrument downgrade (A29) is not counted because its issuer E11 has no issuer rating. E06's action (A17) is a watch placement, not a downgrade.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R3 csv+padding run 4 graded by code

E08, E10 and E16 (A21, A22, A27, A44). I05's downgrade (A29) is an instrument rating, and E11 has no issuer rating.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']

❌ R3 csv+padding run 5 graded by code

E08, E10 and E16 were downgraded in 2026 (A21, A22, A27, A44). The E06 action (A17) is a watch, not a downgrade.

JSON: {"issuers": ["E08", "E10", "E16"]}

Why: issuers: expected ['E08', 'E10'], got ['E08', 'E10', 'E16']