Summary
lib/plugins/Label_20_CFB.01.ts is not imported anywhere (no export * from './Label_20_CFB.01' in lib/plugins/official.ts, no reference in MessageDecoder.pluginClasses). Even if it were wired up, it can never match its intended payload: the qualifier preamble is #CFB.01 while the regex is anchored ^IN02,…, so the preamble filter and the body regex are mutually exclusive. Separately, the tail of decode() sets decoded = true; decodeLevel = 'full' outside the if (results?.groups) block, meaning any input that survived the preamble filter would emit a fake full decode with zero populated fields — the same anti-pattern already filed against Label_8E (#463), Label_H2_02E (#476), Label_ColonComma (#483), and Label_MA (#486).
Location
lib/plugins/Label_20_CFB.01.ts:13,26,65-66
Reproduction
grep -r 'CFB.01' lib/ | grep -v Label_20_CFB.01 → no matches.
- Registering the plugin and sending
{ label: '20', text: '#CFB.01 anything' } would produce decoded: true, decodeLevel: 'full' with no fields populated.
Impact
Chore-level today (dead code, no production effect), but a latent silent-wrong-output waiting for the day someone adds export * from './Label_20_CFB.01'; without noticing the always-true tail.
Suggested fix
Pick one of:
- Delete the file (and its test, if any).
- Fix the qualifier vs. regex mismatch (either preamble
IN and regex ^IN02,…, or preamble #CFB.01 and regex matching what actually follows), guard the decoded = true / decodeLevel = 'full' inside the if (results?.groups) block, register the plugin in official.ts + MessageDecoder.ts.
Also consider renaming the file to avoid the dot in Label_20_CFB.01.ts for consistency with the rest of lib/plugins/.
Summary
lib/plugins/Label_20_CFB.01.tsis not imported anywhere (noexport * from './Label_20_CFB.01'inlib/plugins/official.ts, no reference inMessageDecoder.pluginClasses). Even if it were wired up, it can never match its intended payload: the qualifier preamble is#CFB.01while the regex is anchored^IN02,…, so the preamble filter and the body regex are mutually exclusive. Separately, the tail ofdecode()setsdecoded = true; decodeLevel = 'full'outside theif (results?.groups)block, meaning any input that survived the preamble filter would emit a fake full decode with zero populated fields — the same anti-pattern already filed againstLabel_8E(#463),Label_H2_02E(#476),Label_ColonComma(#483), andLabel_MA(#486).Location
lib/plugins/Label_20_CFB.01.ts:13,26,65-66Reproduction
grep -r 'CFB.01' lib/ | grep -v Label_20_CFB.01→ no matches.{ label: '20', text: '#CFB.01 anything' }would producedecoded: true, decodeLevel: 'full'with no fields populated.Impact
Chore-level today (dead code, no production effect), but a latent silent-wrong-output waiting for the day someone adds
export * from './Label_20_CFB.01';without noticing the always-true tail.Suggested fix
Pick one of:
INand regex^IN02,…, or preamble#CFB.01and regex matching what actually follows), guard thedecoded = true/decodeLevel = 'full'inside theif (results?.groups)block, register the plugin inofficial.ts+MessageDecoder.ts.Also consider renaming the file to avoid the dot in
Label_20_CFB.01.tsfor consistency with the rest oflib/plugins/.