Add USB-C, Ethernet, and PoE interface class certifiers (2.61.0).

Dedicated deterministic engines certify class and connection integrity
(CC1/CC2, Rd 5.1 kΩ, VBUS/GND, SuperSpeed if USB3; 10/100 vs GbE
magnetics; PoE only with evidence). Missing evidence is INSUFFICIENT
or N/A, never invented PoE, SuperSpeed, Z, or I. No FEM, no via IPC.
This commit is contained in:
2026-09-21 11:52:44 +02:00
parent 07ad5c72fa
commit 6dc04b5cc7
20 changed files with 1575 additions and 14 deletions
+13 -2
View File
@@ -154,7 +154,15 @@ async def test_concurrency_bounded_by_knob_and_charging_isolated(workspace, monk
assert len(shared.entries) == sum(entries_for.values()) == 15
report = json.loads(workspace["report"].read_text())
assert report["summary"]["total"] == len(IC_MPNS) # all 5 reviewed
review_n = sum(
1 for f in report["findings"] if f.get("source") in (None, "review")
)
assert review_n == len(IC_MPNS) # all 5 reviewed
if_ids = {
f.get("rule_id") for f in report["findings"]
if (f.get("rule_id") or "").startswith(("PE-USBC", "PE-ETH", "PE-POE"))
}
assert "PE-USBC-001" in if_ids # N/A certifier, not a 6th IC review
@pytest.mark.asyncio
@@ -220,4 +228,7 @@ async def test_gate_trip_stops_new_reviews(workspace, monkeypatch):
# Report is marked partial because a gate tripped.
report = json.loads(workspace["report"].read_text())
assert report.get("partial") is True
assert report["summary"]["total"] == LIMIT
review_n = sum(
1 for f in report["findings"] if f.get("source") in (None, "review")
)
assert review_n == LIMIT