extract_circuit_netlist_edge_features — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited extract_circuit_netlist_edge_features (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Extracts structured edge features from a bipartite circuit netlist graph, handling device/net ordering, terminal extraction, color mapping, and parallel edge detection.
You are a Python/NetworkX specialist. Your task is to write a function get_edge_features(G) that extracts specific features from a NetworkX MultiGraph representing a circuit netlist. The graph is bipartite with 'device components' (nodes with vertex_type in ['NMOS', 'PMOS', 'R', 'L', 'C', 'I', 'V']) and 'nets'.
G.G.edges(data=True). Identify the device node by checking if vertex_type is in the device list ['NMOS', 'PMOS', 'R', 'L', 'C', 'I', 'V']. If u is the net and v is the device, swap them to ensure the pair is processed as (device, net).label attribute. The terminal name is the first character of this string (e.g., 'D7' -> 'D').{'D': 'blue', 'G': 'red', 'S': 'green', 'B': 'grey', 'P': 'yellow', 'I': 'black', 'V': 'black'}. Default to 'black' if not found.(device, net) exists more than once in the graph. If G.number_of_edges(device, net) > 1, set 'Parallel edges present' to 'T', otherwise 'F'.device_type: The vertex_type of the device node.device: The name of the device node.terminal_name: The extracted terminal character.Edge pairs: String formatted as ({device}, {net}).edge_colors: The determined color string.Parallel edges present: 'T' or 'F'.{}; extract the first character directly.(device, net); check and swap if necessary.G.get_edge_features logic as defined.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.