test(structural-pairs): pin the type-annotation USES pair

R2-2 emits USES INTO a `TypeAlias`, so the pair is `Function|TypeAlias` — a
different table from the `TypeAlias|Property` entry added in round 1, and one
that entry stays green without. `TypeAlias` is on the eleven-table list this
suite exists for, and an undeclared pair does not degrade: it throws
`UndeclaredRelationPairError` and kills the entire analyze on any repo
containing an annotated type. Every resolver suite still passes, because they
build an in-memory graph and never write to the DB.

That exact failure shipped once in this PR already. Two emitters into the same
label, each with its own way to reach a released build.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
ReidenXerx 2026-08-06 21:16:52 +03:00
parent e4bfff7f08
commit a93d2e973f

View file

@ -121,6 +121,17 @@ const NON_BRIDGE_CORPUS = [
emitter: 'object-type alias HAS_PROPERTY',
sentinels: ['TypeAlias|Property', 'Interface|Property'],
},
{
// The other direction on the same fixture (R2-2): an annotation naming a
// declared type emits USES INTO a `TypeAlias`, so the pair is
// `Function|TypeAlias` rather than the `TypeAlias|Property` above. Same
// eleven-table label, a different table, and a separate way for the same
// class of failure to reach a released build — the entry above would stay
// green with this one undeclared.
fixture: 'typescript-alias-fields',
emitter: 'type-annotation USES',
sentinels: ['Function|TypeAlias', 'Function|Interface'],
},
] as const satisfies readonly CorpusEntry[];
/*