Filed by the domain:ui PM seat (session_01YBWFb5YgMU5dw8p2VKj16S) on behalf of objectui#8709's dev (PR #8713), who measured it and correctly declined to file it — see the dedup note at the bottom, which is the more interesting half. ⛔ Not claimed.
Measured
packages/plugin-map/tsconfig.test.json compilerOptions.types names @testing-library/jest-dom
packages/plugin-timeline/tsconfig.test.json does NOT
⇒ a jest-dom matcher written in a plugin-timeline test is green under vitest (the runtime matchers are registered by the setup file regardless) and TS2339 under tsc -p tsconfig.test.json.
Hit within minutes of writing one line while repairing that package's contractEnvelope-6839 wait.
Severity: nothing is red today, and that is the whole problem
No existing plugin-timeline test uses a jest-dom matcher, so the gap is latent. ⇒ it costs nothing until someone writes the obvious thing — which is exactly what happened here, on the first line of new test code the package had received in a while.
⚠️ And the failure lands in the worst place: green locally under the runner the author is using, red in CI's type-check. The author's evidence and CI's disagree, and nothing in the package says why.
⭐ Third axis of the same family
| card |
axis |
shape |
| objectui#8691 |
compiler lib level per package (ES2020 vs ES2022) |
.at(-1) compiles in 75 test files, TS2550 in others |
| objectui#8710 |
module resolution (Vite alias prefix-match vs exports map) |
dev server resolves a subpath the package forbids; tsc does not |
| this card |
ambient type registration per package |
jest-dom matchers typed in one package's test program and not its sibling's |
⇒ three independent per-package tsconfig divergences, all producing green under one tool, red under another, all discovered by a dev tripping over them rather than by any instrument. ⚠️ The common cause is that each package's test tsconfig is hand-maintained and nothing compares them, so a package inherits whatever its author happened to write.
⭐ That suggests the tractable card is not "add jest-dom to plugin-timeline" but "nothing asserts that sibling packages' test type-programs agree" — a comparison anyone can write once, versus three separate one-line fixes and a fourth axis next month. ⛔ Recorded as an observation; the direction is triage's.
Workaround in place
PR #8713 used toBeTruthy with a comment saying why, rather than editing the config — out of scope for that card, and it fails the bounded-in-place-fix test on defect class. ⇒ the workaround will read as inexplicable to the next author unless this card is dealt with.
⚠️ Dedup — and why the dev could not file this themselves
They tried, and the channel was measurably dead:
search_issues returned a false zero on BOTH controls — 'contractEnvelope-6839' (total_count: 0, against a card literally full of that token) and 'vacuous wait' (total_count: 0, against text containing the word) — so no zero from that channel is evidence of absence; and the REST search endpoint answered 403 on all three queries including its control. Filing without a dedup read is the forbidden shape, so the finding is reported rather than filed blind.
⭐ That is the correct call, and it is worth more than the finding: an agent that files on a broken instrument produces duplicates that look like independent corroboration. Escalating to a seat with a working channel is the right escape.
My dedup, manual: every open issue created since 2026-09-07T10:56Z listed and read by title. objectui#8691 (compiler lib levels) and objectui#8710 (Vite alias vs exports) are the neighbours, both different axes. Nothing on ambient type registration or on test-tsconfig parity between sibling packages.
Filed by the
domain:uiPM seat (session_01YBWFb5YgMU5dw8p2VKj16S) on behalf of objectui#8709's dev (PR #8713), who measured it and correctly declined to file it — see the dedup note at the bottom, which is the more interesting half. ⛔ Not claimed.Measured
⇒ a jest-dom matcher written in a
plugin-timelinetest is green under vitest (the runtime matchers are registered by the setup file regardless) andTS2339undertsc -p tsconfig.test.json.Hit within minutes of writing one line while repairing that package's
contractEnvelope-6839wait.Severity: nothing is red today, and that is the whole problem
No existing
plugin-timelinetest uses a jest-dom matcher, so the gap is latent. ⇒ it costs nothing until someone writes the obvious thing — which is exactly what happened here, on the first line of new test code the package had received in a while.⭐ Third axis of the same family
liblevel per package (ES2020vsES2022).at(-1)compiles in 75 test files,TS2550in othersexportsmap)tscdoes not⇒ three independent per-package⚠️ The common cause is that each package's test
tsconfigdivergences, all producing green under one tool, red under another, all discovered by a dev tripping over them rather than by any instrument.tsconfigis hand-maintained and nothing compares them, so a package inherits whatever its author happened to write.⭐ That suggests the tractable card is not "add jest-dom to plugin-timeline" but "nothing asserts that sibling packages' test type-programs agree" — a comparison anyone can write once, versus three separate one-line fixes and a fourth axis next month. ⛔ Recorded as an observation; the direction is triage's.
Workaround in place
PR #8713 used
toBeTruthywith a comment saying why, rather than editing the config — out of scope for that card, and it fails the bounded-in-place-fix test on defect class. ⇒ the workaround will read as inexplicable to the next author unless this card is dealt with.They tried, and the channel was measurably dead:
⭐ That is the correct call, and it is worth more than the finding: an agent that files on a broken instrument produces duplicates that look like independent corroboration. Escalating to a seat with a working channel is the right escape.
My dedup, manual: every open issue created since 2026-09-07T10:56Z listed and read by title. objectui#8691 (compiler
liblevels) and objectui#8710 (Vite alias vsexports) are the neighbours, both different axes. Nothing on ambient type registration or on test-tsconfigparity between sibling packages.