ONCE Campfire's own Minitest suite, run against a Roundhouse emit of the same commit. A failure here mostly names a Rails construct not yet modeled; some are answers that came out wrong with nothing raised, and some have not been triaged at all. That makes their tests the worklist generator — so the ranked causes below, not the pass count, are what this page is for.
This is the compiled lane: each test file compiled to its own native binary by spinel, then run. The same emitted source runs on the interpreted lane, so a difference between the two is the compiler's, not the app's — and this lane can report a status its sibling cannot. 69 of 69 files never linked, and their tests are counted against their first compile error rather than against anything the emit got wrong.
scripts/campfire-suite and is compiled by spinel 01a5aa147.
The app is pinned at 90b330024dec; the compiler is not.
This lane compiles 54 whole programs, which is too much to run per commit, so it runs on a schedule
and its spinel is whatever the publisher pulled and built that morning. That makes a movement here
two-sided: it belongs to a Roundhouse change or to a compiler change, and the two are told
apart by the spinel version recorded above — not by this page. Read a regression by checking that
version first.
The file list is theirs. Every test file campfire's own suite declares, read from the emitted Makefile's SPINEL_TESTS rather than restated here — a `find test -name '*_test.rb'` would also sweep in the scaffold's own tests, which are not campfire's.
Each run stands alone. There is no history here and no comparison to previous runs: a chart of a number that moves for a dozen reasons is not the point of a worklist.
Occurrences churn; causes are the unit of work, so each carries a stable slug you can still refer to forty commits later. Owner says who can act: most of this is Roundhouse's own modeling debt.
Counts are how many tests are currently stopped by each cause, not how many will pass when it lands: a test is attributed to the first thing that stopped it, so clearing one cause routinely reveals another behind it. Each unpassed test carries its own message; a file that never ran contributes its whole count against its load error.
| Blocked | Cause | Owner | |
|---|---|---|---|
| 407 | Not yet triagedunclassified | untriaged | |
No rule in bench/campfire/suite-causes.json matches these. Triage, then add a rule.
12 of 407 tests
| |||
A rule at zero is kept, not deleted: it is the tripwire that catches the fix coming undone. What it means depends on why it is at zero.
| Rule | Why it reads zero |
|---|---|
turbo-signed-stream-name | served 2026-09-22 (room_messages_channel_test 6/6 + the stock-channel pair 2/2); the rule stays as a regression tripwire. |
web-push-pinned-delivery | served 2026-09-22 on both lanes (web_push_persistent_request_test 2/2 ruby and spinel, through campfire's own PersistentRequest over the real gem / the port); the rule stays as a regression tripwire. |
cable-test-case | served 2026-09-22 (test/channels 20/20 on the ruby lane); the rule stays as a regression tripwire for a harness method going missing. |
view-test-case | served 2026-09-22 (messages_helper_test 3/3); the rule stays as the tripwire for a `view` call no helper defines, which is ActionView::Base's own surface and still unmodeled. |
uri-parse-conformance | the space case served upstream 2026-09-22 (matz/spinel#4806 + fd49be64); the rule stays as the tripwire for the colon-form divergences still open in the same parser, and for the guard itself being loosened again. |
rails-test-support-classes | served 2026-09-22 (opengraph-embed 8/8, log_scrubbing 6/6); the rule stays as the tripwire for the next Rails test stand-in the corpus reaches for, and names the three it has needed so far. |
kwargs-splat-forwarding | served 2026-09-21 (opengraph-embed 7/8, the eighth is `ActionDispatch::TestRequest`); the rule stays as a regression tripwire. |
actiontext-fragment-mutation | served 2026-09-21 (Node writes, `Fragment#update`/`at_css`/`css`, and Rails' attachable-driven plain text; content_filters 12/14); the rule stays as a regression tripwire. |
activesupport-string-core-ext | `squish` served 2026-09-22; the rule stays as the tripwire, and names the three String core exts (`squish!`, `truncate_words`, `remove`) the corpus has not asked for yet. |
ipaddr-octets-on-stdlib | served 2026-09-21 (guard 24/24 on the ruby lane); the rule stays as the tripwire for a runtime IPAddr method the stdlib facade does not mirror. |
tempfile-stdlib | served 2026-09-22; the rule stays as the tripwire for the next caller that reaches for a temp file, and for the port's one real difference from Ruby's — it opens by name where Ruby opens O_EXCL and retries. |
vips-policy-not-applied-in-tests | served 2026-09-22 (16/17, the last one is `skip`); the rule stays as the tripwire for the policy going unapplied again — and it is worth keeping loud, because the failure it catches is a security control that is configured, reported as on, and off. |
test-harness-surface | served 2026-09-22; the rule stays as the tripwire for the next harness method the corpus reaches for — `file_fixture`, `fixture_file_upload`, `response`, `parsed_body` and the bare `assert` family are all named in the match because each hides an unknown number of assertions behind it. |
attachable-partials-not-rendered | both halves landed: sgid attachables through the generated `Content.render_attachment` (fe2ce576), content-type attachables through their own `from_node` with the partial's local named `model_name.element` and `caption` delegated back through the node, plus the shared `auto_link` running Rails' body pass so the outer node is stripped around the partial on every lane; ruby 294/300, spinel 292/300. The rule stays as the tripwire for an attachment node reaching the page bare again. |
test-helper-kwarg-defaults | the skipped-slot fill landed 2026-09-19 (unfurl 7/7 both lanes); the rule stays as a regression tripwire. |
direct-uploads-not-served | served 2026-09-20 (4/4 both lanes; with the generated filter reopens deleted the anonymous POST creates a blob and the anonymous PUT is not a 401, so the guard is what the tests see); the rule stays as a regression tripwire. |
mocha-stub-raises | served 2026-09-19 (sessions 9/10 spinel, 10/10 ruby); the rule stays as a regression tripwire. |
mocha-bare-mock | served 2026-09-20 (sessions 10/10 both lanes; a no-op `disconnect` fails the test with `expected 1 time(s), got 0`); the rule stays as a regression tripwire. |
proc-call-lost | spinel#4529 closed by PR #4530 (b93306b6, same day): the fast path's guard is arity-aware; spinel lane 286 -> 290/300 on the merge. The rule stays as the tripwire for the two guards disagreeing again. |
sti-becomes | `becomes!` landed in f2d42854; the rule stays as a regression tripwire. |
actiontext-attachment-from-node | `from_node`, `#attachable` and `MissingAttachable` landed with the generated `ActionText::Attachable.locate` (the includer set is the registry); the rule stays as a regression tripwire. |
sgid-wire-format | the wire format is Rails' and the tolerant list is read off the reopen; the rule stays as a regression tripwire for either end drifting (a salt, digest, padding or `?expires_in` change fails the pinned literal first). |
socket-interception | served 2026-09-17 (sequential Resolv answers + the TcpSocketStub seam); the rule stays as a regression tripwire. |
object-extend | campfire ed0f9a5d (2026-09-20) mints the sgid with `to_sgid(for:)` in action_text_attachment_test, and 91d294f4 (#280, 2026-09-24) does the same for action_text_attachables_test, both of which `lower::to_sgid` grounds; the construct itself is still outside the subset, so the rule stays as the tripwire for the next test that reaches for a per-object `extend` — owner `subset`, not a todo. |
globalid-sgid | minting served 2026-09-22; the rule stays as the tripwire for a mint whose model the pass cannot name, which is reported rather than guessed. |
turbo-streams-channel | the constant landed in fd1a3259; the rule stays as a regression tripwire. |
conditional-get | `fresh_when` / `stale?` landed in 7ea262e2; the rule stays as a regression tripwire. |
pagination | landed in 0ef8fb79; the rule stays as a regression tripwire. |
id-zero-sentinel | zero is the intended reading. This is a deliberate divergence rather than a gap, and the rule exists to catch the day it becomes visible again. |
shared-cache-table-lock | the harness opens a per-test file database since 2026-09-17; the rule stays as the tripwire — a reappearance means a shim opened a shared-cache database again. |
render-json-encoder | the monomorphized writer landed for the declared-readers case (campfire's only site); the rule stays as a regression tripwire, and names the shapes that would still reach the encoder. |
Held at zero by the harness, not by the compiler — the stub ledger below covers what would otherwise fail here: belongs-to-autosave. Deleting the stub is what makes these counts real.
No explanation recorded, so these are the open question: either the cause is cleared and nobody wrote that down, or the failure's message changed and it is now being counted as untriaged above. vips-image-construction, fixture-accessors, params-object-representation, relation-vs-array, rails-module-facade, broadcast-assertions, view-helper-in-helper-module, active-storage-attachments, route-helper-takes-a-record, out-of-scope-gems, arity-divergence, allow-browser, params-hash-in-path, silent-divergence.
Nothing: this run spliced no stubs (--no-stubs), so the numbers above are the emit's own.
A file that never ran is not the same as a file whose tests failed: it died at load, so its whole count is charged to one error and nothing behind that error has been seen yet.
And on this lane there is a third row: a file that never linked. Its tests are charged to its first compile error, and unlike a load failure it has not been observed to do anything at all — the emit may be perfectly correct behind it. Sort the work by asking which of the three a row is: didn't link, linked and diverged, linked and agreed.
| File | Tests | Pass | Fail | First error |
|---|---|---|---|---|
test/restricted_http_private_network_guard_test | 24 | 0 | 24 | never linked — /tmp/spinel_split_jzacRa/sp_part7.c:2311: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/messages_by_bots_controller_test | 23 | 0 | 23 | never linked — /tmp/spinel_split_V3meoA/sp_part7.c:1548: error: ‘_t25618’ undeclared (first use in this function); did you mean ‘_t25619’? |
test/content_filters_test | 19 | 0 | 19 | never linked — /tmp/spinel_split_pwHLOP/sp_part7.c:2382: error: ‘_t25477’ undeclared (first use in this function); did you mean ‘_t25478’? |
test/push_subscription_test | 17 | 0 | 17 | never linked — /tmp/spinel_split_OgcTSL/sp_part7.c:2585: error: ‘_t25487’ undeclared (first use in this function); did you mean ‘_t25488’? |
test/vips_loader_policy_test | 17 | 0 | 17 | never linked — /tmp/spinel_split_G5SvtW/sp_part7.c:3199: error: ‘_t26776’ undeclared (first use in this function); did you mean ‘_t26777’? |
test/messages_controller_test | 15 | 0 | 15 | never linked — /tmp/spinel_split_k04eQg/sp_part7.c:1816: error: ‘_t25635’ undeclared (first use in this function); did you mean ‘_t25636’? |
test/messages_boosts_by_bots_controller_test | 12 | 0 | 12 | never linked — /tmp/spinel_split_3fSDHN/sp_part7.c:3391: error: ‘_t25491’ undeclared (first use in this function); did you mean ‘_t25492’? |
test/opengraph_fetch_test | 11 | 0 | 11 | never linked — /tmp/spinel_split_OVJmuD/sp_part7.c:2939: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/opengraph_metadata_test | 11 | 0 | 11 | never linked — /tmp/spinel_split_gUhoyr/sp_part7.c:2877: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/sessions_controller_test | 10 | 0 | 10 | never linked — /tmp/spinel_split_FwNsMj/sp_part7.c:2908: error: ‘_t25525’ undeclared (first use in this function); did you mean ‘_t25526’? |
test/action_text_attachment_opengraph_embed_test | 9 | 0 | 9 | never linked — /tmp/spinel_split_vEyN02/sp_part7.c:3169: error: ‘_t25477’ undeclared (first use in this function); did you mean ‘_t25478’? |
test/membership_test | 9 | 0 | 9 | never linked — /tmp/spinel_split_TpyxVX/sp_part7.c:3369: error: ‘_t25485’ undeclared (first use in this function); did you mean ‘_t25486’? |
test/rooms_closeds_controller_test | 9 | 0 | 9 | never linked — /tmp/spinel_split_Rg7WoU/sp_part7.c:3124: error: ‘_t25587’ undeclared (first use in this function); did you mean ‘_t25588’? |
test/rooms_opens_controller_test | 9 | 0 | 9 | never linked — /tmp/spinel_split_LnMgHa/sp_part7.c:3061: error: ‘_t25584’ undeclared (first use in this function); did you mean ‘_t25585’? |
test/rooms_controller_test | 8 | 0 | 8 | never linked — /tmp/spinel_split_OAIIS9/sp_part7.c:3189: error: ‘_t25495’ undeclared (first use in this function); did you mean ‘_t25496’? |
test/opengraph_location_test | 7 | 0 | 7 | never linked — /tmp/spinel_split_N7rkat/sp_part7.c:3348: error: ‘_t25483’ undeclared (first use in this function); did you mean ‘_t25484’? |
test/unfurl_links_controller_test | 7 | 0 | 7 | never linked — /tmp/spinel_split_uvoTSp/sp_part7.c:3189: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/users_bans_controller_test | 7 | 0 | 7 | never linked — /tmp/spinel_split_4XH8U0/sp_part7.c:3432: error: ‘_t25568’ undeclared (first use in this function); did you mean ‘_t25569’? |
test/accounts_logos_controller_test | 6 | 0 | 6 | never linked — /tmp/spinel_split_eQM42n/sp_part7.c:3373: error: ‘_t25568’ undeclared (first use in this function); did you mean ‘_t25569’? |
test/log_scrubbing_formatter_test | 6 | 0 | 6 | never linked — /tmp/spinel_split_XQDtqX/sp_part7.c:3470: error: ‘_t25477’ undeclared (first use in this function); did you mean ‘_t25478’? |
test/presence_channel_test | 6 | 0 | 6 | never linked — /tmp/spinel_split_ODHuDv/sp_part7.c:3448: error: ‘_t25788’ undeclared (first use in this function); did you mean ‘_t25789’? |
test/room_messages_channel_test | 6 | 0 | 6 | never linked — /tmp/spinel_split_ABy4nI/sp_part7.c:3470: error: ‘_t25700’ undeclared (first use in this function); did you mean ‘_t25701’? |
test/room_test | 6 | 0 | 6 | never linked — /tmp/spinel_split_rtDnQa/sp_part7.c:3549: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/rooms_directs_controller_test | 6 | 0 | 6 | never linked — /tmp/spinel_split_iv84Yo/sp_part7.c:3491: error: ‘_t25566’ undeclared (first use in this function); did you mean ‘_t25567’? |
test/users_controller_test | 6 | 0 | 6 | never linked — /tmp/spinel_split_T7Y2t4/sp_part7.c:3427: error: ‘_t25479’ undeclared (first use in this function); did you mean ‘_t25480’? |
test/users_push_subscriptions_controller_test | 6 | 0 | 6 | never linked — /tmp/spinel_split_bFTGhc/sp_part7.c:3440: error: ‘_t25566’ undeclared (first use in this function); did you mean ‘_t25567’? |
test/webhook_test | 6 | 0 | 6 | never linked — /tmp/spinel_split_Hf1xsg/sp_part7.c:4429: error: ‘_t25835’ undeclared (first use in this function); did you mean ‘_t25836’? |
test/accounts_bots_controller_test | 5 | 0 | 5 | never linked — /tmp/spinel_split_Edcuo3/sp_part7.c:3440: error: ‘_t25568’ undeclared (first use in this function); did you mean ‘_t25569’? |
test/room_push_test | 5 | 0 | 5 | never linked — /tmp/spinel_split_CP4aAl/sp_part7.c:3404: error: ‘_t25482’ undeclared (first use in this function); did you mean ‘_t25483’? |
test/rooms_involvements_controller_test | 5 | 0 | 5 | never linked — /tmp/spinel_split_m7QXpH/sp_part7.c:3474: error: ‘_t25572’ undeclared (first use in this function); did you mean ‘_t25573’? |
test/searches_controller_test | 5 | 0 | 5 | never linked — /tmp/spinel_split_oXVB5K/sp_part7.c:3059: error: ‘_t25478’ undeclared (first use in this function); did you mean ‘_t25479’? |
test/account_test | 4 | 0 | 4 | never linked — /tmp/spinel_split_mjfWCG/sp_part7.c:3612: error: ‘_t25577’ undeclared (first use in this function); did you mean ‘_t25578’? |
test/accounts_controller_test | 4 | 0 | 4 | never linked — /tmp/spinel_split_7gVLlm/sp_part7.c:3348: error: ‘_t25478’ undeclared (first use in this function); did you mean ‘_t25479’? |
test/active_storage_authentication_test | 4 | 0 | 4 | never linked — /tmp/spinel_split_xrR2NQ/sp_part7.c:3391: error: ‘_t25478’ undeclared (first use in this function); did you mean ‘_t25479’? |
test/autocompletable_users_controller_test | 4 | 0 | 4 | never linked — /tmp/spinel_split_zKXLUu/sp_part7.c:3470: error: ‘_t25488’ undeclared (first use in this function); did you mean ‘_t25489’? |
test/first_runs_controller_test | 4 | 0 | 4 | never linked — /tmp/spinel_split_NTW36J/sp_part7.c:3545: error: ‘_t25526’ undeclared (first use in this function); did you mean ‘_t25527’? |
test/rich_text_helper_test | 4 | 0 | 4 | never linked — /tmp/spinel_split_PCU8PD/sp_part7.c:3688: error: ‘_t25477’ undeclared (first use in this function); did you mean ‘_t25478’? |
test/user_bot_test | 4 | 0 | 4 | never linked — /tmp/spinel_split_VB9LXs/sp_part7.c:3587: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/user_test | 4 | 0 | 4 | never linked — app/models/message.rb:505: error: ‘_t25566’ undeclared (first use in this function); did you mean ‘_t25567’? |
test/users_avatars_controller_test | 4 | 0 | 4 | never linked — /tmp/spinel_split_YVmcsN/sp_part7.c:3340: error: ‘_t25478’ undeclared (first use in this function); did you mean ‘_t25479’? |
test/accounts_custom_styles_controller_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_VyqPpy/sp_part7.c:3545: error: ‘_t25478’ undeclared (first use in this function); did you mean ‘_t25479’? |
test/accounts_users_controller_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_jaIXz3/sp_part7.c:3570: error: ‘_t25566’ undeclared (first use in this function); did you mean ‘_t25567’? |
test/action_text__attachment_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_qjulNj/sp_part7.c:6633: error: ‘_t25930’ undeclared (first use in this function); did you mean ‘_t25931’? |
test/action_text_attachment_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_JhT8e9/sp_part7.c:3816: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/application_cable_connection_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_Oqc1KT/sp_part7.c:3816: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/block_banned_requests_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_SvYIxr/sp_part7.c:3545: error: ‘_t25481’ undeclared (first use in this function); did you mean ‘_t25482’? |
test/first_run_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_0kCh5h/sp_part7.c:3752: error: ‘_t25523’ undeclared (first use in this function); did you mean ‘_t25524’? |
test/message_attachment_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_GwfQsZ/sp_part7.c:3716: error: ‘_t25566’ undeclared (first use in this function); did you mean ‘_t25567’? |
test/message_searchable_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_DcDYv0/sp_part7.c:3733: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/message_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_LKt9Ua/sp_part7.c:3658: error: ‘_t25478’ undeclared (first use in this function); did you mean ‘_t25479’? |
test/messages_helper_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_C5QmLE/sp_part7.c:3775: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/opengraph_document_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_mB5I9m/sp_part7.c:3816: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/rooms_direct_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_zU1wQZ/sp_part7.c:3820: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/unread_rooms_channel_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_ls9GfE/sp_part7.c:3616: error: ‘_t25794’ undeclared (first use in this function); did you mean ‘_t25795’? |
test/user_avatar_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_QvtsaU/sp_part7.c:3816: error: ‘_t25478’ undeclared (first use in this function); did you mean ‘_t25479’? |
test/user_role_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_nTChE2/sp_part7.c:3816: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/users_profiles_controller_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_JCBAVh/sp_part7.c:3510: error: ‘_t25568’ undeclared (first use in this function); did you mean ‘_t25569’? |
test/users_sidebars_controller_test | 3 | 0 | 3 | never linked — /tmp/spinel_split_rCUurb/sp_part7.c:3348: error: ‘_t25478’ undeclared (first use in this function); did you mean ‘_t25479’? |
test/account_joinable_test | 2 | 0 | 2 | never linked — /tmp/spinel_split_Vcf9Kr/sp_part7.c:3852: error: ‘_t25613’ undeclared (first use in this function); did you mean ‘_t25614’? |
test/accounts_join_codes_controller_test | 2 | 0 | 2 | never linked — /tmp/spinel_split_2uGWLz/sp_part7.c:3744: error: ‘_t25566’ undeclared (first use in this function); did you mean ‘_t25567’? |
test/messages_boosts_controller_test | 2 | 0 | 2 | never linked — /tmp/spinel_split_TQ42MO/sp_part7.c:3816: error: ‘_t25487’ undeclared (first use in this function); did you mean ‘_t25488’? |
test/room_messages_via_stock_turbo_channel_test | 2 | 0 | 2 | never linked — /tmp/spinel_split_K7qiQZ/sp_part7.c:3816: error: ‘_t25691’ undeclared (first use in this function); did you mean ‘_t25692’? |
test/rooms_open_test | 2 | 0 | 2 | never linked — /tmp/spinel_split_BMUkVF/sp_part7.c:3877: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/sessions_transfers_controller_test | 2 | 0 | 2 | never linked — /tmp/spinel_split_Jf3oY8/sp_part7.c:3775: error: ‘_t25479’ undeclared (first use in this function); did you mean ‘_t25480’? |
test/web_push_persistent_request_test | 2 | 0 | 2 | never linked — /tmp/spinel_split_FHXQ9d/sp_part7.c:3816: error: ‘_t25476’ undeclared (first use in this function); did you mean ‘_t25477’? |
test/welcome_controller_test | 2 | 0 | 2 | never linked — /tmp/spinel_split_QI8dKY/sp_part7.c:3752: error: ‘_t25478’ undeclared (first use in this function); did you mean ‘_t25479’? |
test/accounts_bots_keys_controller_test | 1 | 0 | 1 | never linked — /tmp/spinel_split_z4Tozm/sp_part7.c:3805: error: ‘_t25566’ undeclared (first use in this function); did you mean ‘_t25567’? |
test/qr_code_controller_test | 1 | 0 | 1 | never linked — /tmp/spinel_split_8mWcgU/sp_part7.c:3877: error: ‘_t25478’ undeclared (first use in this function); did you mean ‘_t25479’? |
test/rooms_refreshes_controller_test | 1 | 0 | 1 | never linked — /tmp/spinel_split_AsirDS/sp_part7.c:3071: error: ‘_t25482’ undeclared (first use in this function); did you mean ‘_t25483’? |
From the transpile that produced the tree under test: 1,264 files, 0 errors, 590 warnings. Warnings are a modeling-debt ledger rather than a failure — the Ruby target emits through its gaps — so the COUNTS are not comparable to the test failures above.
They are not independent of them either. send_dispatch_failed in particular names a call the analyzer could not resolve, and three of the fixes on this lane came out of those lines before the suite reached them at all — the analyzer had already written the diagnosis. Read the emit log before the fail log.
| Diagnostic | Count |
|---|---|
gradual_untyped | 261 |
unresolved_type | 193 |
lower_residue | 132 |
blank_unlowered | 2 |
unsupported | 1 |
missing_preload | 1 |