feat(uscg): add 33 CFR 183.425 Table 5 amperage and correction factors - #17
Conversation
Public-domain US Coast Guard regulation for recreational boats, double-sourced from eCFR, Cornell LII, govinfo 2025 and the 1977 Federal Register final rule, all identical. The amperages, bundling factors and 75-200 C engine-space factors are E-11 Table 6A's; the test pins that agreement so a correction to one file cannot silently orphan the other. e11.json's provenance now records that its values also appear in federal regulation. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 59 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (7)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Claude finished @mark-brannan's task in 4m 3s —— View job Independent review
What I checked and ran:
Finding (data/documentation accuracy): the PR body, Nit: the README's Everything else — schema shape, ascending-value invariants, provenance URLs, license reasoning, |
| "bundle_factors_50v_and_above": [ | ||
| { "max_conductors": 2, "factor": 1.0 }, | ||
| { "max_conductors": 3, "factor": 0.7 }, | ||
| { "max_conductors": 6, "factor": 0.6 }, | ||
| { "max_conductors": 24, "factor": 0.5 }, | ||
| { "max_conductors": null, "factor": 0.4 } | ||
| ] |
There was a problem hiding this comment.
Correctness: the "bundling ladder is identical" claim is contradicted by this file's own data.
cross_check (line 12) says: "the bundling factors ... are identical to the ABYC E-11 Table 6A values ... the one difference is 60 C in engine spaces." The same "one difference" framing is repeated in the PR body, README.md, and data/e11.json's new also_in_law field.
But this array's first band is { "max_conductors": 2, "factor": 1.0 }, while data/e11.json's bundle_factors_dc first band is { "max_conductors": 1, "factor": 1.0 }. Using the same lookup logic the test suite uses elsewhere (first band where bundle <= max_conductors), that's not a cosmetic difference — for exactly 2 bundled conductors:
- E-11: falls past the
max:1band intomax:3, factor:0.7→ derated to 70%. - This file: falls into
max:2, factor:1.0→ no derate.
test/uscg.test.mjs line ~91 even flags awareness of this ("E-11 has no explicit 1-2 conductor band") but then sidesteps it by comparing .slice(1), so nothing actually asserts which value is correct — the divergence is silently excluded from the cross-check test rather than resolved.
This is either (a) a second real, uncited difference between the two tables that should be documented the same way the 60 °C exception is, or (b) a transcription slip where this array should start at max_conductors: 1 to genuinely match E-11. Since this repository's entire value proposition is "traceable, cross-checked numbers," and the copyright argument in the PR leans on E-11 and the CFR being "identical" data, this is worth resolving against the actual regulatory text (33 CFR 183.435(b) note 2) before merge, not left as an untested edge.
I don't have network access in this review session to check the eCFR text directly — flagging as a data/documentation discrepancy for the author to verify, not asserting which value is wrong.
| insulation temperature rating; engine-space correction factors; bundling | ||
| factors for circuits of 50 V or more. A work of the US Government, so | ||
| public domain. The numbers are E-11 Table 6A's, with one difference: the | ||
| regulation permits 60 °C conductors in engine spaces at 0.58, E-11 does not. |
There was a problem hiding this comment.
Minor/nit: the new data/uscg-33cfr183.json bullet (lines 17-22) is added to the top file list, but the ## Provenance section further down (lines 32-49) only got summary bullets for ABYC E-11 and the NEC when those were added — no equivalent bullet was added here for 33 CFR 183 sourcing (the eCFR/Cornell/govinfo/Federal-Register cross-check). Not blocking, since the JSON's own provenance block carries it, but it breaks the pattern the other two standards follow in this same doc.
Adds
data/uscg-33cfr183.json,fixtures/uscg-fixtures.jsonandtest/uscg.test.mjs: the US Coast Guard's allowable-amperage table for recreational boats (33 CFR 183.425 Table 5), its engine-space correction factors (note 1) and its bundling factors for circuits of 50 V or more (note 2, via 183.435(b)).Copyright: a work of the US Government, 17 U.S.C. §105, not subject to copyright. Verdict LOW.
Sources, all agreeing on every cell:
Relation to E-11: the amperages, the bundling ladder and the 75–200 °C engine-space factors are identical to
data/e11.json; the one difference is 60 °C in engine spaces (E-11: not permitted; CFR: 0.58). The new test asserts that agreement, ande11.jsonprovenance gains analso_in_lawline pointing at the regulation, which materially strengthens the copyright footing of the existing ABYC data.Depends-On: #14
Stacked on #14 because that PR rewrites README, CONTRIBUTING and package.json from ABYC-only to multi-standard; this PR adds one entry to each. Merge #14 first; GitHub retargets this one.
🤖 Generated with Claude Code